diff --git a/base/applications/notepad/lang/bg-BG.rc b/base/applications/notepad/lang/bg-BG.rc index 478f854596b..339f5751bc5 100644 --- a/base/applications/notepad/lang/bg-BG.rc +++ b/base/applications/notepad/lang/bg-BG.rc @@ -180,7 +180,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Възпроизводствено право 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/cs-CZ.rc b/base/applications/notepad/lang/cs-CZ.rc index 11cf195af20..bbc8dfe1be8 100644 --- a/base/applications/notepad/lang/cs-CZ.rc +++ b/base/applications/notepad/lang/cs-CZ.rc @@ -181,7 +181,7 @@ paměti." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Textový dokument" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/da-DK.rc b/base/applications/notepad/lang/da-DK.rc index c632169f151..f2c11dcdcab 100644 --- a/base/applications/notepad/lang/da-DK.rc +++ b/base/applications/notepad/lang/da-DK.rc @@ -181,7 +181,7 @@ hukommelse, og prøv så igen." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/de-DE.rc b/base/applications/notepad/lang/de-DE.rc index 24bc433fbf4..69563a41a2c 100644 --- a/base/applications/notepad/lang/de-DE.rc +++ b/base/applications/notepad/lang/de-DE.rc @@ -181,7 +181,7 @@ Anwendungen, um den verfügbaren Arbeitsspeicher zu\nerhöhen." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Textdokument" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/el-GR.rc b/base/applications/notepad/lang/el-GR.rc index 86e75214323..2c39b8f1a07 100644 --- a/base/applications/notepad/lang/el-GR.rc +++ b/base/applications/notepad/lang/el-GR.rc @@ -181,7 +181,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/en-US.rc b/base/applications/notepad/lang/en-US.rc index 64b250ba8dd..e3ac960f3f8 100644 --- a/base/applications/notepad/lang/en-US.rc +++ b/base/applications/notepad/lang/en-US.rc @@ -180,7 +180,7 @@ Close one or more applications to increase the amount of\nfree memory." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/es-ES.rc b/base/applications/notepad/lang/es-ES.rc index b6e7f3b3c27..b71b53fe284 100644 --- a/base/applications/notepad/lang/es-ES.rc +++ b/base/applications/notepad/lang/es-ES.rc @@ -183,7 +183,7 @@ aumentar la cantidad\nde memoria libre." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Documento de texto" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/et-EE.rc b/base/applications/notepad/lang/et-EE.rc index 18a65ed2dea..7eedae84d5a 100644 --- a/base/applications/notepad/lang/et-EE.rc +++ b/base/applications/notepad/lang/et-EE.rc @@ -187,7 +187,7 @@ käsu lõpetamiseks.\nSulge üks või enam rakendust, et suurendada\nvaba mälu STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Tekstidokument" STRING_NOTEPAD_AUTHORS "Autoriõigus 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/eu-ES.rc b/base/applications/notepad/lang/eu-ES.rc index c9719f4fbc6..9f37499c78e 100644 --- a/base/applications/notepad/lang/eu-ES.rc +++ b/base/applications/notepad/lang/eu-ES.rc @@ -181,7 +181,7 @@ memoria librearen\nkopurua handitzeko." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/fi-FI.rc b/base/applications/notepad/lang/fi-FI.rc index 6b4a58d4878..964cba37694 100644 --- a/base/applications/notepad/lang/fi-FI.rc +++ b/base/applications/notepad/lang/fi-FI.rc @@ -181,7 +181,7 @@ muistia." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/fr-FR.rc b/base/applications/notepad/lang/fr-FR.rc index 6216cd8804b..0a7a23365d2 100644 --- a/base/applications/notepad/lang/fr-FR.rc +++ b/base/applications/notepad/lang/fr-FR.rc @@ -181,7 +181,7 @@ de la mémoire." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Document Texte" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/he-IL.rc b/base/applications/notepad/lang/he-IL.rc index c3312dfa326..dc7bfe0682d 100644 --- a/base/applications/notepad/lang/he-IL.rc +++ b/base/applications/notepad/lang/he-IL.rc @@ -183,7 +183,7 @@ task.\nClose one or more applications to increase the amount of\nfree memory." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/hi-IN.rc b/base/applications/notepad/lang/hi-IN.rc index ef2cf6b0686..88ab9cbdf87 100644 --- a/base/applications/notepad/lang/hi-IN.rc +++ b/base/applications/notepad/lang/hi-IN.rc @@ -187,7 +187,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "टेक्स्ट डॉक्यूमॅन्ट" STRING_NOTEPAD_AUTHORS "कॉपीराइट 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/hr-HR.rc b/base/applications/notepad/lang/hr-HR.rc index 997c967c856..cb65ac582b2 100644 --- a/base/applications/notepad/lang/hr-HR.rc +++ b/base/applications/notepad/lang/hr-HR.rc @@ -187,7 +187,7 @@ zadatak.\nZatvorite jednu ili više aplikacija da povećate\nslobodnu memoriju." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Tekstni dokument" STRING_NOTEPAD_AUTHORS "Copyright 1997, 98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/hy-AM.rc b/base/applications/notepad/lang/hy-AM.rc index b273e56cbbf..f6f7d9d08d1 100644 --- a/base/applications/notepad/lang/hy-AM.rc +++ b/base/applications/notepad/lang/hy-AM.rc @@ -180,7 +180,7 @@ Would you like to save the changes?" STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/id-ID.rc b/base/applications/notepad/lang/id-ID.rc index bbd4256c956..c5eb6ac4dfc 100644 --- a/base/applications/notepad/lang/id-ID.rc +++ b/base/applications/notepad/lang/id-ID.rc @@ -180,7 +180,7 @@ ini.\nTutup satu atau lebih aplikasi untuk meningkatkan jumlah\nmemori bebas." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Teks Dokumen" STRING_NOTEPAD_AUTHORS "Hak Cipta 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/it-IT.rc b/base/applications/notepad/lang/it-IT.rc index 1402e2cca32..ebf7177fc03 100644 --- a/base/applications/notepad/lang/it-IT.rc +++ b/base/applications/notepad/lang/it-IT.rc @@ -181,7 +181,7 @@ di memoria libera." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Documento di testo" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/lt-LT.rc b/base/applications/notepad/lang/lt-LT.rc index 08f847765b0..4f9cd7eee36 100644 --- a/base/applications/notepad/lang/lt-LT.rc +++ b/base/applications/notepad/lang/lt-LT.rc @@ -180,7 +180,7 @@ Ar norite išsaugoti pakeitimus?" STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "(C) 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/ms-MY.rc b/base/applications/notepad/lang/ms-MY.rc index 23d34acde83..e661e2fbfc2 100644 --- a/base/applications/notepad/lang/ms-MY.rc +++ b/base/applications/notepad/lang/ms-MY.rc @@ -182,7 +182,7 @@ tugas ini.\nTutup satu atau lebih aplikasi untuk menambah jumlah\ningatan kosong STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/nl-NL.rc b/base/applications/notepad/lang/nl-NL.rc index 2a41af6b02c..7690b9a827e 100644 --- a/base/applications/notepad/lang/nl-NL.rc +++ b/base/applications/notepad/lang/nl-NL.rc @@ -180,7 +180,7 @@ Wilt u de wijzigingen opslaan?" STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/no-NO.rc b/base/applications/notepad/lang/no-NO.rc index fc907a5a743..bde57272672 100644 --- a/base/applications/notepad/lang/no-NO.rc +++ b/base/applications/notepad/lang/no-NO.rc @@ -180,7 +180,7 @@ Avslutt en eller mere applikasjoner for øke mengden av\nledig minne." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Enerett 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/pl-PL.rc b/base/applications/notepad/lang/pl-PL.rc index 883f661e0e5..99392fe8a2d 100644 --- a/base/applications/notepad/lang/pl-PL.rc +++ b/base/applications/notepad/lang/pl-PL.rc @@ -175,7 +175,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Dokument tekstowy" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/pt-BR.rc b/base/applications/notepad/lang/pt-BR.rc index 202130aa474..7fe97b63d27 100644 --- a/base/applications/notepad/lang/pt-BR.rc +++ b/base/applications/notepad/lang/pt-BR.rc @@ -180,7 +180,7 @@ tarefa.\nFeche uma ou mais aplicações para aumentar a quantidade de memória l STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/pt-PT.rc b/base/applications/notepad/lang/pt-PT.rc index adc7ab342c6..fe92f9c3794 100644 --- a/base/applications/notepad/lang/pt-PT.rc +++ b/base/applications/notepad/lang/pt-PT.rc @@ -180,7 +180,7 @@ tarefa.\nFeche uma ou mais aplicações para aumentar a quantidade de memória l STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Documento de texto" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/sk-SK.rc b/base/applications/notepad/lang/sk-SK.rc index 45084fe8061..8adcfb1dda2 100644 --- a/base/applications/notepad/lang/sk-SK.rc +++ b/base/applications/notepad/lang/sk-SK.rc @@ -182,7 +182,7 @@ alebo viac aplikácií, aby sa uvoľnila pamäť a skúste to znova." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/sq-AL.rc b/base/applications/notepad/lang/sq-AL.rc index 79340ced5ad..cae2455f552 100644 --- a/base/applications/notepad/lang/sq-AL.rc +++ b/base/applications/notepad/lang/sq-AL.rc @@ -182,7 +182,7 @@ detyrë.\nMbyll nje ose me shume programe te rrisesh shumën e\nmemories." STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/sv-SE.rc b/base/applications/notepad/lang/sv-SE.rc index 55ed5312c5a..f54b27c163e 100644 --- a/base/applications/notepad/lang/sv-SE.rc +++ b/base/applications/notepad/lang/sv-SE.rc @@ -180,7 +180,7 @@ den här åtgärden.\nAvsluta ett eller flera program för att frigöra mer minn STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/th-TH.rc b/base/applications/notepad/lang/th-TH.rc index 3bf2b721583..6dad84fe384 100644 --- a/base/applications/notepad/lang/th-TH.rc +++ b/base/applications/notepad/lang/th-TH.rc @@ -175,7 +175,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/tr-TR.rc b/base/applications/notepad/lang/tr-TR.rc index be2ee95dc73..184a04a442e 100644 --- a/base/applications/notepad/lang/tr-TR.rc +++ b/base/applications/notepad/lang/tr-TR.rc @@ -178,7 +178,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Metin Belgesi" STRING_NOTEPAD_AUTHORS "Telif Hakları: 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/uk-UA.rc b/base/applications/notepad/lang/uk-UA.rc index 06afd58c11a..3e7e356f2a9 100644 --- a/base/applications/notepad/lang/uk-UA.rc +++ b/base/applications/notepad/lang/uk-UA.rc @@ -180,7 +180,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Текстовий документ" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/uz-UZ.rc b/base/applications/notepad/lang/uz-UZ.rc index 4ea02231662..e10af5f70e9 100644 --- a/base/applications/notepad/lang/uz-UZ.rc +++ b/base/applications/notepad/lang/uz-UZ.rc @@ -180,7 +180,7 @@ O‘zgarishlarni saqlashni istaysizmi?" STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "Text Document" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/zh-CN.rc b/base/applications/notepad/lang/zh-CN.rc index c798f26e061..832c19980f5 100644 --- a/base/applications/notepad/lang/zh-CN.rc +++ b/base/applications/notepad/lang/zh-CN.rc @@ -188,7 +188,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "文本文档" STRING_NOTEPAD_AUTHORS "版权所有 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/zh-HK.rc b/base/applications/notepad/lang/zh-HK.rc index 4cd38466cd1..8782d76a9e5 100644 --- a/base/applications/notepad/lang/zh-HK.rc +++ b/base/applications/notepad/lang/zh-HK.rc @@ -189,7 +189,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "純文字檔案" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/notepad/lang/zh-TW.rc b/base/applications/notepad/lang/zh-TW.rc index 860f644594f..489e5a43a38 100644 --- a/base/applications/notepad/lang/zh-TW.rc +++ b/base/applications/notepad/lang/zh-TW.rc @@ -188,7 +188,7 @@ BEGIN STRING_PRINTCANCELING "The print job is being canceled..." STRING_PRINTCOMPLETE "Printing is successfully done." STRING_PRINTCANCELED "Printing has been canceled." - STRING_PRINTFAILED "Printing is failed." + STRING_PRINTFAILED "Printing failed." STRING_TEXT_DOCUMENT "純文字檔案" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" diff --git a/base/applications/regedit/lang/bg-BG.rc b/base/applications/regedit/lang/bg-BG.rc index c2690ce34d9..f092077ff1c 100644 --- a/base/applications/regedit/lang/bg-BG.rc +++ b/base/applications/regedit/lang/bg-BG.rc @@ -695,7 +695,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Добре", IDOK, 107, 114, 50, 14 PUSHBUTTON "Отказ", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Избор на любимки:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/cs-CZ.rc b/base/applications/regedit/lang/cs-CZ.rc index 99604f96dd2..9eaac9781d5 100644 --- a/base/applications/regedit/lang/cs-CZ.rc +++ b/base/applications/regedit/lang/cs-CZ.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Storno", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Vyberte Oblíbené:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/de-DE.rc b/base/applications/regedit/lang/de-DE.rc index 5e3327535f2..365c9c605d9 100644 --- a/base/applications/regedit/lang/de-DE.rc +++ b/base/applications/regedit/lang/de-DE.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "A&bbrechen", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Favorit(en) auswählen:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/el-GR.rc b/base/applications/regedit/lang/el-GR.rc index f5f3cd91139..ac29c176722 100644 --- a/base/applications/regedit/lang/el-GR.rc +++ b/base/applications/regedit/lang/el-GR.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Ακύρωση", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Επιλογή Αγαπημένου(ων):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/en-US.rc b/base/applications/regedit/lang/en-US.rc index 54e5f7c4602..ec285c944a8 100644 --- a/base/applications/regedit/lang/en-US.rc +++ b/base/applications/regedit/lang/en-US.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/es-ES.rc b/base/applications/regedit/lang/es-ES.rc index e98fd21153a..598cd3cbb82 100644 --- a/base/applications/regedit/lang/es-ES.rc +++ b/base/applications/regedit/lang/es-ES.rc @@ -693,7 +693,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 7, 114, 50, 14 - CONTROL "Lista1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Seleccionar favoritos:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/fr-FR.rc b/base/applications/regedit/lang/fr-FR.rc index 298eb640b3d..3a145cf5f93 100644 --- a/base/applications/regedit/lang/fr-FR.rc +++ b/base/applications/regedit/lang/fr-FR.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Annuler", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Sélectionnez le(s) favori(s) :", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/he-IL.rc b/base/applications/regedit/lang/he-IL.rc index bf7e3e6920f..c454595aa7c 100644 --- a/base/applications/regedit/lang/he-IL.rc +++ b/base/applications/regedit/lang/he-IL.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "אישור", IDOK, 107, 114, 50, 14 PUSHBUTTON "ביטול", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "בחירת מועדפים:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/hu-HU.rc b/base/applications/regedit/lang/hu-HU.rc index 082423cda65..fb88103f6a1 100644 --- a/base/applications/regedit/lang/hu-HU.rc +++ b/base/applications/regedit/lang/hu-HU.rc @@ -80,7 +80,7 @@ END IDR_REGEDIT_MENU MENU BEGIN - POPUP "&File" + POPUP "&File" //FIXME: accelerator collision &F BEGIN MENUITEM "&Import Registry File...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Export Registry File...", ID_REGISTRY_EXPORTREGISTRYFILE @@ -128,7 +128,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Refresh\tF5", ID_VIEW_REFRESH END - POPUP "&Favorites" + POPUP "&Favorites" //FIXME: accelerator collision &F BEGIN MENUITEM "&Add to Favorites", ID_FAVOURITES_ADDTOFAVOURITES, GRAYED MENUITEM "&Remove Favorite", ID_FAVOURITES_REMOVEFAVOURITE, GRAYED @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/id-ID.rc b/base/applications/regedit/lang/id-ID.rc index 806eb79529b..b4967bad88a 100644 --- a/base/applications/regedit/lang/id-ID.rc +++ b/base/applications/regedit/lang/id-ID.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Batal", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Pilih Favorit:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/it-IT.rc b/base/applications/regedit/lang/it-IT.rc index 17df808fa6d..74d744ec515 100644 --- a/base/applications/regedit/lang/it-IT.rc +++ b/base/applications/regedit/lang/it-IT.rc @@ -565,7 +565,7 @@ END STRINGTABLE BEGIN - IDS_IMPORT_PROMPT "Aggiungendo informazioni si possono involontariamente modificare o eliminare i valori e causare il giusto funzionamente dei componenti.\n Se non si considera attendibile la fonte di queste informazioni in '%s', non aggiungere al Registro di sistema.\n\n Si desidera continuare? " + IDS_IMPORT_PROMPT "Aggiungendo informazioni si possono involontariamente modificare o eliminare i valori e causare il giusto funzionamente dei componenti.\nSe non si considera attendibile la fonte di queste informazioni in '%s', non aggiungere al Registro di sistema.\n\nSi desidera continuare?" IDS_IMPORT_OK "Le chiavi e i valori contenuti in '%s' sono stati correttamente aggiunti al Registro di sistema." IDS_IMPORT_ERROR "Impossibile importare '%s': Errore durante l'apertura del file. Ci può essere un disco, file cdanneggiati o il file non esiste." IDS_EXPORT_ERROR "Impossibile esportare '%s': Errore durante la creazione o la scrittura del file. Ci può essere un disco o un file di sistema danneggiato." @@ -698,7 +698,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Annulla", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Scegli preferiti:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/ja-JP.rc b/base/applications/regedit/lang/ja-JP.rc index 01a6eb3e2cf..41a937298a7 100644 --- a/base/applications/regedit/lang/ja-JP.rc +++ b/base/applications/regedit/lang/ja-JP.rc @@ -690,7 +690,7 @@ FONT 9, "MS UI Gothic" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "キャンセル", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "お気に入りの選択:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/ko-KR.rc b/base/applications/regedit/lang/ko-KR.rc index 6489368522e..b48f52b580a 100644 --- a/base/applications/regedit/lang/ko-KR.rc +++ b/base/applications/regedit/lang/ko-KR.rc @@ -692,7 +692,7 @@ FONT 9, "굴림" BEGIN DEFPUSHBUTTON "확인", IDOK, 107, 114, 50, 14 PUSHBUTTON "취소", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "즐겨찾기를 선택:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/nl-NL.rc b/base/applications/regedit/lang/nl-NL.rc index fbd13c5b03a..e355dd26f04 100644 --- a/base/applications/regedit/lang/nl-NL.rc +++ b/base/applications/regedit/lang/nl-NL.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/no-NO.rc b/base/applications/regedit/lang/no-NO.rc index 69249a0d730..55ac8c8b72e 100644 --- a/base/applications/regedit/lang/no-NO.rc +++ b/base/applications/regedit/lang/no-NO.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Avbryt", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Velg favoritt(er):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/pl-PL.rc b/base/applications/regedit/lang/pl-PL.rc index 150be323306..ff74ec1c317 100644 --- a/base/applications/regedit/lang/pl-PL.rc +++ b/base/applications/regedit/lang/pl-PL.rc @@ -700,7 +700,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Anuluj", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Wybierz ulubione:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/pt-BR.rc b/base/applications/regedit/lang/pt-BR.rc index 61d052a4473..56f2c80ef51 100644 --- a/base/applications/regedit/lang/pt-BR.rc +++ b/base/applications/regedit/lang/pt-BR.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Selecionar favorito(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/pt-PT.rc b/base/applications/regedit/lang/pt-PT.rc index b162805e7d3..83aa764b46e 100644 --- a/base/applications/regedit/lang/pt-PT.rc +++ b/base/applications/regedit/lang/pt-PT.rc @@ -145,11 +145,11 @@ IDR_POPUP_MENUS MENU BEGIN POPUP "" BEGIN - MENUITEM "&Modificar", ID_EDIT_MODIFY + MENUITEM "&Modificar", ID_EDIT_MODIFY //FIXME: accelerator collision &M MENUITEM "Modificar dados binários", ID_EDIT_MODIFY_BIN MENUITEM SEPARATOR MENUITEM "&Excluir\tDel", ID_EDIT_DELETE - MENUITEM "&Mudar o nome", ID_EDIT_RENAME + MENUITEM "&Mudar o nome", ID_EDIT_RENAME //FIXME: accelerator collision &M END POPUP "" BEGIN @@ -179,10 +179,10 @@ BEGIN END MENUITEM "&Localizar...", ID_EDIT_FIND MENUITEM SEPARATOR - MENUITEM "&Eliminar", ID_TREE_DELETE + MENUITEM "&Eliminar", ID_TREE_DELETE //FIXME: accelerator collision &E MENUITEM "&Mudar o nome", ID_TREE_RENAME MENUITEM SEPARATOR - MENUITEM "&Exportar", ID_TREE_EXPORT + MENUITEM "&Exportar", ID_TREE_EXPORT //FIXME: accelerator collision &E MENUITEM "&Permissões...", ID_TREE_PERMISSIONS MENUITEM SEPARATOR MENUITEM "&Copiar chave 'Nome'", ID_EDIT_COPYKEYNAME @@ -198,8 +198,8 @@ BEGIN POPUP "" BEGIN MENUITEM "C&ortar", ID_HEXEDIT_CUT - MENUITEM "&Copiar", ID_HEXEDIT_COPY - MENUITEM "&Colar", ID_HEXEDIT_PASTE + MENUITEM "&Copiar", ID_HEXEDIT_COPY //FIXME: accelerator collision &C + MENUITEM "&Colar", ID_HEXEDIT_PASTE //FIXME: accelerator collision &C MENUITEM "&Excluir", ID_HEXEDIT_DELETE MENUITEM SEPARATOR MENUITEM "Seleccionar &Tudo", ID_HEXEDIT_SELECT_ALL @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Seleccione Favorito(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/ro-RO.rc b/base/applications/regedit/lang/ro-RO.rc index 37a9980d72f..2cd35df02af 100644 --- a/base/applications/regedit/lang/ro-RO.rc +++ b/base/applications/regedit/lang/ro-RO.rc @@ -700,7 +700,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Con&firmă", IDOK, 107, 114, 50, 14 PUSHBUTTON "A&nulează", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Alege favorit(e):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/ru-RU.rc b/base/applications/regedit/lang/ru-RU.rc index 87875a88a27..ca36a8da08e 100644 --- a/base/applications/regedit/lang/ru-RU.rc +++ b/base/applications/regedit/lang/ru-RU.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Отмена", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Выберите удаляемое:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/sk-SK.rc b/base/applications/regedit/lang/sk-SK.rc index 536ebc07727..578c7170942 100644 --- a/base/applications/regedit/lang/sk-SK.rc +++ b/base/applications/regedit/lang/sk-SK.rc @@ -695,7 +695,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Zrušiť", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/sl-SI.rc b/base/applications/regedit/lang/sl-SI.rc index f280dfa036c..f28052edd40 100644 --- a/base/applications/regedit/lang/sl-SI.rc +++ b/base/applications/regedit/lang/sl-SI.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/sq-AL.rc b/base/applications/regedit/lang/sq-AL.rc index a2f99fc3d72..c24aa2dafc8 100644 --- a/base/applications/regedit/lang/sq-AL.rc +++ b/base/applications/regedit/lang/sq-AL.rc @@ -694,7 +694,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Anulo", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/sv-SE.rc b/base/applications/regedit/lang/sv-SE.rc index 47e58c3f22c..969313dc717 100644 --- a/base/applications/regedit/lang/sv-SE.rc +++ b/base/applications/regedit/lang/sv-SE.rc @@ -690,7 +690,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Avbryt", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Välj Favorit(er):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/th-TH.rc b/base/applications/regedit/lang/th-TH.rc index aadae1ed5a9..84dae45e7dd 100644 --- a/base/applications/regedit/lang/th-TH.rc +++ b/base/applications/regedit/lang/th-TH.rc @@ -692,7 +692,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Select Favorite(s):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/tr-TR.rc b/base/applications/regedit/lang/tr-TR.rc index a512828a3f3..d1c6c4afc16 100644 --- a/base/applications/regedit/lang/tr-TR.rc +++ b/base/applications/regedit/lang/tr-TR.rc @@ -82,7 +82,7 @@ END IDR_REGEDIT_MENU MENU BEGIN - POPUP "&Dosya" + POPUP "&Dosya" //FIXME: accelerator collision &D. If you decide to change this then please keep it in sync with the "&Dosya" in IDC_REGEDIT MENU BEGIN MENUITEM "&Al...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Ver...", ID_REGISTRY_EXPORTREGISTRYFILE @@ -97,7 +97,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Çıkış", ID_REGISTRY_EXIT END - POPUP "&Düzen" + POPUP "&Düzen" //FIXME: accelerator collision &D BEGIN MENUITEM "&Değiştir...", ID_EDIT_MODIFY MENUITEM SEPARATOR @@ -159,7 +159,7 @@ BEGIN BEGIN MENUITEM "&Anahtar", ID_EDIT_NEW_KEY MENUITEM SEPARATOR - MENUITEM "D&izi Değeri", ID_EDIT_NEW_STRINGVALUE + MENUITEM "D&ize Değeri", ID_EDIT_NEW_STRINGVALUE MENUITEM "İ&kili Değer", ID_EDIT_NEW_BINARYVALUE MENUITEM "&DWORD Değeri", ID_EDIT_NEW_DWORDVALUE MENUITEM "&Çoklu Dize Değeri", ID_EDIT_NEW_MULTISTRINGVALUE @@ -199,8 +199,8 @@ BEGIN END POPUP "" BEGIN - MENUITEM "&Kes", ID_HEXEDIT_CUT - MENUITEM "&Kopyala", ID_HEXEDIT_COPY + MENUITEM "&Kes", ID_HEXEDIT_CUT //FIXME: accelerator collision &K + MENUITEM "&Kopyala", ID_HEXEDIT_COPY //FIXME: accelerator collision &K MENUITEM "&Yapıştır", ID_HEXEDIT_PASTE MENUITEM "&Sil", ID_HEXEDIT_DELETE MENUITEM SEPARATOR @@ -692,7 +692,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Tamam", IDOK, 107, 114, 50, 14 PUSHBUTTON "İptal", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Yer imlerini seçiniz.", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/uk-UA.rc b/base/applications/regedit/lang/uk-UA.rc index 4200106f525..8a3ee5e6d79 100644 --- a/base/applications/regedit/lang/uk-UA.rc +++ b/base/applications/regedit/lang/uk-UA.rc @@ -692,7 +692,7 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK", IDOK, 107, 114, 50, 14 PUSHBUTTON "Скасувати", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "Оберіть імена для видалення:", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/zh-CN.rc b/base/applications/regedit/lang/zh-CN.rc index f37ad69cb5d..41b1dae67a5 100644 --- a/base/applications/regedit/lang/zh-CN.rc +++ b/base/applications/regedit/lang/zh-CN.rc @@ -700,7 +700,7 @@ FONT 9, "宋体" BEGIN DEFPUSHBUTTON "确定", IDOK, 107, 114, 50, 14 PUSHBUTTON "取消", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "选择收藏(&S):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/zh-HK.rc b/base/applications/regedit/lang/zh-HK.rc index d16f34a90b7..a61da1d01c1 100644 --- a/base/applications/regedit/lang/zh-HK.rc +++ b/base/applications/regedit/lang/zh-HK.rc @@ -698,7 +698,7 @@ FONT 9, "新細明體" BEGIN DEFPUSHBUTTON "確定", IDOK, 107, 114, 50, 14 PUSHBUTTON "取消", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "選擇資料夾(&S):", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/regedit/lang/zh-TW.rc b/base/applications/regedit/lang/zh-TW.rc index 573740d7221..8055445a313 100644 --- a/base/applications/regedit/lang/zh-TW.rc +++ b/base/applications/regedit/lang/zh-TW.rc @@ -699,7 +699,7 @@ FONT 9, "新細明體" BEGIN DEFPUSHBUTTON "確定", IDOK, 107, 114, 50, 14 PUSHBUTTON "取消", IDCANCEL, 7, 114, 50, 14 - CONTROL "List1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | + CONTROL "", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 LTEXT "選擇收藏夾(&S)︰", IDC_STATIC, 7, 7, 99, 12 END diff --git a/base/applications/utilman/umandlg/lang/ro-RO.rc b/base/applications/utilman/umandlg/lang/ro-RO.rc index 527c588670e..ebc28fec86c 100644 --- a/base/applications/utilman/umandlg/lang/ro-RO.rc +++ b/base/applications/utilman/umandlg/lang/ro-RO.rc @@ -2,7 +2,8 @@ * PROJECT: Windivs Utility Manager Resources DLL (UManDlg.dll) * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: Romanian resource file - * TRANSLATOR: Copyright 2019 George Bișoc + * TRANSLATORS: Copyright 2019 George Bișoc + * Copyright 2024 Andrei Miloiu */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -17,12 +18,12 @@ BEGIN CONTROL "", IDC_GROUPBOX, "Button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 3, 62, 275, 92 CONTROL "Start", IDC_START, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 14, 76, 45, 16 CONTROL "Oprire", IDC_STOP, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 69, 76, 45, 16 - CONTROL "Pornire automată la Log in", IDC_START_LOG_IN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 101, 206, 14 - CONTROL "Pornire automată la blocarea spațiului de lucru", IDC_START_DESKTOP, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 118, 212, 14 - CONTROL "Pornire automată la pornirea Managerului utilități", IDC_START_UTILMAN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 134, 212, 13 - CONTROL "&OK", IDC_OK, "Button", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 161, 50, 14 - CONTROL "&Revocare", IDC_CANCEL, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 221, 161, 50, 14 - CONTROL "&Ajutor", IDC_HELP_TOPICS, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 98, 161, 50, 14 + CONTROL "Pornire automată la &Log in", IDC_START_LOG_IN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 101, 206, 14 + CONTROL "Pornire automată la blocarea &desktopului", IDC_START_DESKTOP, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 118, 212, 14 + CONTROL "Pornire automată la pornirea Managerului &utilităţi", IDC_START_UTILMAN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 134, 212, 13 + CONTROL "OK", IDC_OK, "Button", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 161, 50, 14 + CONTROL "Revocare", IDC_CANCEL, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 221, 161, 50, 14 + CONTROL "Ajutor", IDC_HELP_TOPICS, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 98, 161, 50, 14 END STRINGTABLE @@ -40,7 +41,7 @@ END STRINGTABLE BEGIN - IDM_ABOUT "Despre Managerul utilitare..." + IDM_ABOUT "Despre Managerul utilitare" IDS_APP_NAME "Manager utilitare" IDS_AUTHORS "Drept de autor 2019 George Bișoc, Hermes Belusca-Maito" END diff --git a/base/shell/explorer/tbsite.cpp b/base/shell/explorer/tbsite.cpp index 387cdb4d188..a842509d5da 100644 --- a/base/shell/explorer/tbsite.cpp +++ b/base/shell/explorer/tbsite.cpp @@ -459,7 +459,7 @@ class CTrayBandSite : /* Enumerate all bands */ while (SUCCEEDED(m_BandSite->EnumBands(uBand, &dwBandID))) { - if (SUCCEEDED(m_BandSite->GetBandObject(dwBandID, IID_PPV_ARG(IPersist, &pBand)))) + if (dwBandID && SUCCEEDED(m_BandSite->GetBandObject(dwBandID, IID_PPV_ARG(IPersist, &pBand)))) { if (SUCCEEDED(pBand->GetClassID(&BandCLSID))) { diff --git a/dll/ntdll/CMakeLists.txt b/dll/ntdll/CMakeLists.txt index 3fee0a79ce1..f416bb85ed7 100644 --- a/dll/ntdll/CMakeLists.txt +++ b/dll/ntdll/CMakeLists.txt @@ -62,6 +62,9 @@ set_subsystem(ntdll console) ################# END HACK ################# target_link_libraries(ntdll csrlib rtl rtl_um rtl_vista ntdllsys libcntpr uuid ${PSEH_LIB}) +if(DLL_EXPORT_VERSION GREATER_EQUAL 0x600) + target_link_libraries(ntdll cryptlib) +endif() if (STACK_PROTECTOR) target_sources(ntdll PRIVATE $) diff --git a/dll/ntdll/def/ntdll.spec b/dll/ntdll/def/ntdll.spec index d4ad13d38bc..aa1cf0ca734 100644 --- a/dll/ntdll/def/ntdll.spec +++ b/dll/ntdll/def/ntdll.spec @@ -10,9 +10,9 @@ @ stdcall -arch=i386 ExpInterlockedPopEntrySListEnd() @ stdcall -arch=i386 ExpInterlockedPopEntrySListFault() @ stdcall -arch=i386 ExpInterlockedPopEntrySListResume() -@ stdcall -stub -version=0x600+ A_SHAFinal(ptr ptr) -@ stdcall -stub -version=0x600+ A_SHAInit(ptr) -@ stdcall -stub -version=0x600+ A_SHAUpdate(ptr ptr long) +@ stdcall -version=0x600+ A_SHAFinal(ptr ptr) +@ stdcall -version=0x600+ A_SHAInit(ptr) +@ stdcall -version=0x600+ A_SHAUpdate(ptr ptr long) @ stdcall -stub -version=0x600+ AlpcAdjustCompletionListConcurrencyCount(ptr long) @ stdcall -stub -version=0x600+ AlpcFreeCompletionListMessage(ptr ptr) @ stdcall -stub -version=0x600+ AlpcGetCompletionListLastMessageInformation(ptr ptr ptr) @@ -191,12 +191,12 @@ @ stub -version=0x600+ LdrpResGetMappingSize @ stub -version=0x600+ LdrpResGetRCConfig @ stub -version=0x600+ LdrpResGetResourceDirectory -@ stdcall -stub -version=0x600+ MD4Final(ptr) -@ stdcall -stub -version=0x600+ MD4Init(ptr) -@ stdcall -stub -version=0x600+ MD4Update(ptr ptr long) -@ stdcall -stub -version=0x600+ MD5Final(ptr) -@ stdcall -stub -version=0x600+ MD5Init(ptr) -@ stdcall -stub -version=0x600+ MD5Update(ptr ptr long) +@ stdcall -version=0x600+ MD4Final(ptr) +@ stdcall -version=0x600+ MD4Init(ptr) +@ stdcall -version=0x600+ MD4Update(ptr ptr long) +@ stdcall -version=0x600+ MD5Final(ptr) +@ stdcall -version=0x600+ MD5Init(ptr) +@ stdcall -version=0x600+ MD5Update(ptr ptr long) @ extern NlsAnsiCodePage @ extern NlsMbCodePageTag @ extern NlsMbOemCodePageTag diff --git a/dll/shellext/shellbtrfs/recv.cpp b/dll/shellext/shellbtrfs/recv.cpp index 673df5c42fb..a1e09591043 100644 --- a/dll/shellext/shellbtrfs/recv.cpp +++ b/dll/shellext/shellbtrfs/recv.cpp @@ -27,6 +27,9 @@ #ifndef _MSC_VER +#ifdef __REACTOS__ +#define __cpuidex __cpuidex_ // prevent redeclaration +#endif #include #else #include diff --git a/dll/shellext/stobject/lang/ro-RO.rc b/dll/shellext/stobject/lang/ro-RO.rc index cd2be4f82b0..e2fdcd14390 100644 --- a/dll/shellext/stobject/lang/ro-RO.rc +++ b/dll/shellext/stobject/lang/ro-RO.rc @@ -3,7 +3,7 @@ * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * PURPOSE: Romanian resource file * TRANSLATORS: Copyright 2018 Ștefan Fulea - * Copyright 2023 Andrei Miloiu + * Copyright 2023-2024 Andrei Miloiu */ LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT @@ -11,50 +11,50 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT IDD_POWER_METER DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Consum de energie" +CAPTION "Contor" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Stare", 1001, "Button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 9, 20, 234, 189 - CONTROL "&Afișează pictogramă în bara de activități.", 1002, "Button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 6, 6, 120, 10 - CONTROL "Afișează detalii pentru fiecare &baterie.", 1003, "Button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 135, 6, 120, 8 + CONTROL "Stare încărcare", 1001, "Button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 9, 20, 234, 189 + CONTROL "&Afişare pictograme pe bara de activităţi.", 1002, "Button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 6, 6, 120, 10 + CONTROL "Se afişează detalii pentru fiecare &baterie.", 1003, "Button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 135, 6, 120, 8 CONTROL "", 1000, "Static", SS_LEFT | WS_CHILD | WS_GROUP, 11, 29, 229, 178 END STRINGTABLE BEGIN //Power related strings - IDS_PWR_PROPERTIES "&Ajustare proprietăți de consum energie" - IDS_PWR_METER "&Deschide Contor de energie" + IDS_PWR_PROPERTIES "&Reglare proprietăţi alimentare" + IDS_PWR_METER "&Deschidere Contor" IDS_PWR_RUN "shell32.dll,Control_RunDLL PowerCfg.cpl" - IDS_PWR_PERCENT_REMAINING "Au mai rămas %u%%" - IDS_PWR_CHARGING "%u%% and charging" - IDS_PWR_UNKNOWN_REMAINING "Nu este disponibil cât a mai rămas" - IDS_PWR_AC "În rețea de CA" - IDS_PWR_HOURS_REMAINING "Au mai rămas %1!u!:%2!02u! ore (%3!u!%%)" - IDS_PWR_MINUTES_REMAINING "Au mai rămas %1!u! min (%2!u!%%)" + IDS_PWR_PERCENT_REMAINING "%u%% rămase" + IDS_PWR_CHARGING "%u%% și se încarcă" + IDS_PWR_UNKNOWN_REMAINING "Nu se ştie cât a mai rămas" + IDS_PWR_AC "Când există sursă CA" + IDS_PWR_HOURS_REMAINING "%1!u!:%2!02u! ore (%3!u!%%) rămase" + IDS_PWR_MINUTES_REMAINING "%1!u! minute (%2!u!%%) rămase" //Hotplug related strings - IDS_HOTPLUG_REMOVE_1 "Scoate în siguranță acest dispozitiv" - IDS_HOTPLUG_REMOVE_2 "S&coate în siguranță acest dispozitiv" - IDS_HOTPLUG_REMOVE_3 "Scoate în siguranță %s" + IDS_HOTPLUG_REMOVE_1 "Eliminarea în siguranţă a unui dispozitiv hardware" + IDS_HOTPLUG_REMOVE_2 "&Eliminarea în siguranţă a unui dispozitiv hardware" + IDS_HOTPLUG_REMOVE_3 "Eliminare în siguranţă a %s" IDS_HOTPLUG_RUN "shell32.dll,Control_RunDLL hotplug.dll" IDS_HOTPLUG_COMMA ", " - IDS_HOTPLUG_DRIVE " - unitate (%s)" - IDS_HOTPLUG_DRIVES " - unități (%s)" + IDS_HOTPLUG_DRIVE " - Unitatea(%s)" + IDS_HOTPLUG_DRIVES " - Unităţile(%s)" IDS_HOTPLUG_A "A:" - IDS_HOTPLUG_REQUIRES "Acest dispozitiv necesită „Scoatere în siguranță”" - IDS_HOTPLUG_CLICK "Înainte de a scoate acest dispozitiv, apăsați pe această pictogramă și selectați dispozitivul pe care doriți să-l scoateți." + IDS_HOTPLUG_REQUIRES "Acest dispozitiv hardware necesită ""Eliminare în siguranţă""" + IDS_HOTPLUG_CLICK "Înainte de a elimina acest dispozitiv hardware, faceţi clic pe această pictogramă şi selectaţi dispozitivul hardware pe care îl eliminaţi." //Volume related strings IDS_VOL_VOLUME "Volum" - IDS_VOL_ADJUST "&Ajustează proprietăți audio" - IDS_VOL_OPEN "&Deschide control de volum" + IDS_VOL_ADJUST "&Reglare proprietăţi audio" + IDS_VOL_OPEN "&Deschidere control volum" IDS_VOL_RUN "SNDVOL32.EXE" IDS_VOL_MUTED "Volum (mut)" //Keyboard-Mouse related strings - IDS_KEYS_STICKY "TasteLipicioase" - IDS_KEYS_MOUSE "TasteMouse" - IDS_KEYS_FILTER "FiltruTaste" + IDS_KEYS_STICKY "TasteAdezive" + IDS_KEYS_MOUSE "TasteMaus" + IDS_KEYS_FILTER "TasteFiltrare" END diff --git a/dll/win32/advapi32/advapi32.spec b/dll/win32/advapi32/advapi32.spec index e158d6a5c48..e79390f57ba 100644 --- a/dll/win32/advapi32/advapi32.spec +++ b/dll/win32/advapi32/advapi32.spec @@ -1,7 +1,10 @@ 1 stdcall I_ScGetCurrentGroupStateW(ptr wstr ptr) -@ stdcall A_SHAFinal(ptr ptr) -@ stdcall A_SHAInit(ptr) -@ stdcall A_SHAUpdate(ptr ptr long) +@ stdcall -version=0x502 A_SHAFinal(ptr ptr) +@ stdcall -version=0x600+ A_SHAFinal(ptr ptr) ntdll.A_SHAFinal +@ stdcall -version=0x502 A_SHAInit(ptr) +@ stdcall -version=0x600+ A_SHAInit(ptr) ntdll.A_SHAInit +@ stdcall -version=0x502 A_SHAUpdate(ptr ptr long) +@ stdcall -version=0x600+ A_SHAUpdate(ptr ptr long) ntdll.A_SHAUpdate @ stdcall AbortSystemShutdownA(ptr) @ stdcall AbortSystemShutdownW(ptr) @ stdcall AccessCheck(ptr long long ptr ptr ptr ptr ptr) @@ -405,12 +408,18 @@ @ stdcall LsaSetTrustedDomainInfoByName(ptr ptr long ptr) @ stdcall LsaSetTrustedDomainInformation(ptr ptr long ptr) @ stdcall LsaStorePrivateData(ptr ptr ptr) -@ stdcall MD4Final(ptr) -@ stdcall MD4Init(ptr) -@ stdcall MD4Update(ptr ptr long) -@ stdcall MD5Final(ptr) -@ stdcall MD5Init(ptr) -@ stdcall MD5Update(ptr ptr long) +@ stdcall -version=0x502 MD4Final(ptr) +@ stdcall -version=0x600+ MD4Final(ptr) ntdll.MD4Final +@ stdcall -version=0x502 MD4Init(ptr) +@ stdcall -version=0x600+ MD4Init(ptr) ntdll.MD4Init +@ stdcall -version=0x502 MD4Update(ptr ptr long) +@ stdcall -version=0x600+ MD4Update(ptr ptr long) ntdll.MD4Update +@ stdcall -version=0x502 MD5Final(ptr) +@ stdcall -version=0x600+ MD5Final(ptr) ntdll.MD5Final +@ stdcall -version=0x502 MD5Init(ptr) +@ stdcall -version=0x600+ MD5Init(ptr) ntdll.MD5Init +@ stdcall -version=0x502 MD5Update(ptr ptr long) +@ stdcall -version=0x600+ MD5Update(ptr ptr long) ntdll.MD5Update @ stub MSChapSrvChangePassword2 @ stub MSChapSrvChangePassword @ stdcall MakeAbsoluteSD2(ptr ptr) diff --git a/dll/win32/browseui/parsecmdline.cpp b/dll/win32/browseui/parsecmdline.cpp index 720b3084c5a..56e68f127ef 100644 --- a/dll/win32/browseui/parsecmdline.cpp +++ b/dll/win32/browseui/parsecmdline.cpp @@ -252,9 +252,8 @@ SHExplorerParseCmdLine(_Out_ PEXPLORER_CMDLINE_PARSE_RESULTS pInfo) PCWSTR strNextArg = _FindFirstField(strFieldArray); - BOOL hasNext = TRUE; + BOOL hasNext = _ReadNextArg(&strNextArg, strField, _countof(strField)); - hasNext = _ReadNextArg(&strNextArg, strField, _countof(strField)); while (TRUE) { // Basic flags-only params first @@ -319,9 +318,6 @@ SHExplorerParseCmdLine(_Out_ PEXPLORER_CMDLINE_PARSE_RESULTS pInfo) TRACE("CmdLine Parser: Found %S flag\n", strField); - if (!pInfo->pidlPath) - return FALSE; - if (!hasNext) return FALSE; @@ -414,7 +410,6 @@ SHExplorerParseCmdLine(_Out_ PEXPLORER_CMDLINE_PARSE_RESULTS pInfo) TRACE("CmdLine Parser: Parsed target path. dwFlags=%08lx, strPath=%S\n", pInfo->dwFlags, field); } } - } } diff --git a/dll/win32/comdlg32/lang/cdlg_Bg.rc b/dll/win32/comdlg32/lang/cdlg_Bg.rc index 16ad5b98878..ca8cd625d58 100644 --- a/dll/win32/comdlg32/lang/cdlg_Bg.rc +++ b/dll/win32/comdlg32/lang/cdlg_Bg.rc @@ -31,7 +31,7 @@ STRINGTABLE Искате ли да го замените?" IDS_INVALID_FILENAME_TITLE "Невалидни знаци в пътя" IDS_INVALID_FILENAME "Името на файла не може да съдържа следните символи:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Пътят не съществува" IDS_FILENOTEXISTING "Файлът не съществува" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -458,7 +458,7 @@ FONT 8, "MS Shell Dlg" LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "&Име на файл:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY + LTEXT "&Файл:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63,110,150,150 @@ -474,28 +474,28 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Отвори" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "М&ясто:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Файл:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "&Тип файлове:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Само за &четене", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Отвори", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Отмени", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Помощ", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Ca.rc b/dll/win32/comdlg32/lang/cdlg_Ca.rc index 8a9c9f07595..ef0239a2140 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ca.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ca.rc @@ -31,7 +31,7 @@ El voleu crear?" El voleu reemplaçar?" IDS_INVALID_FILENAME_TITLE "Hi ha caràcters invàlids en la ruta" IDS_INVALID_FILENAME "Un nom de fitxer no pot contenir cualsevol dels caràcters següents:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "La ruta no existeix" IDS_FILENOTEXISTING "El fitxer no existeix" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" diff --git a/dll/win32/comdlg32/lang/cdlg_Cs.rc b/dll/win32/comdlg32/lang/cdlg_Cs.rc index d2af78bd5de..6fd87456eed 100644 --- a/dll/win32/comdlg32/lang/cdlg_Cs.rc +++ b/dll/win32/comdlg32/lang/cdlg_Cs.rc @@ -31,7 +31,7 @@ Chcete ho vytvořit?" Chcete ho přepsat novým?" IDS_INVALID_FILENAME_TITLE "Nedovolený(é) znak(y) v cestě k souboru" IDS_INVALID_FILENAME "Název souboru nesmí obsahovat žádný z následujících znaků:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Adresář neexistuje" IDS_FILENOTEXISTING "Soubor neexistuje" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -458,7 +458,7 @@ FONT 8, "MS Shell Dlg" LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "&Název souboru:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY + LTEXT "&Název souboru:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY //FIXME: accelerator collision &N EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63,110,150,150 @@ -469,15 +469,15 @@ FONT 8, "MS Shell Dlg" DEFPUSHBUTTON "&Otevřít", IDOK,222,110,54,14 PUSHBUTTON "Storno", IDCANCEL,222,128,54,14 - PUSHBUTTON "&Nápověda", pshHelp,222,145,54,14 + PUSHBUTTON "&Nápověda", pshHelp,222,145,54,14 //FIXME: accelerator collision &N } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Otevřít" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Náh&led:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE @@ -488,13 +488,13 @@ FONT 8, "MS Shell Dlg" EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Soubory &typu:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Jen ke čt&ení", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 + DEFPUSHBUTTON "&Otevřít", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Storno", IDCANCEL, 310, 198, 54, 14 PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 } @@ -504,7 +504,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS CAPTION "Otevřít" FONT 8, "MS Shell Dlg" { - LTEXT "&Název souboru:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS + LTEXT "&Název souboru:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS //FIXME: accelerator collision &N EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS | ES_AUTOHSCROLL LTEXT "Soubory &typu:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS @@ -518,5 +518,5 @@ FONT 8, "MS Shell Dlg" BS_CHECKBOX | BS_PUSHLIKE, 342, 240, 8, 14 PUSHBUTTON "Storno", IDCANCEL, 395, 240, 40, 14, WS_CLIPSIBLINGS - PUSHBUTTON "&Nápověda", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS + PUSHBUTTON "&Nápověda", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS //FIXME: accelerator collision &N } diff --git a/dll/win32/comdlg32/lang/cdlg_Da.rc b/dll/win32/comdlg32/lang/cdlg_Da.rc index 6d25889524b..959f38d23e3 100644 --- a/dll/win32/comdlg32/lang/cdlg_Da.rc +++ b/dll/win32/comdlg32/lang/cdlg_Da.rc @@ -31,7 +31,7 @@ Vil du oprette filen?" Vil du erstatte den?" IDS_INVALID_FILENAME_TITLE "Der er et eller flere Ugyldige tegn i stien" IDS_INVALID_FILENAME "Et filnavn må ikke indeholde følgende tegn:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Stien eksisterer ikke." IDS_FILENOTEXISTING "Filen eksisterer ikke." IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -474,28 +474,28 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Åben" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Kig &i:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Filnavn:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Fil&type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Åbn", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Annuller", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Hjælp", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_De.rc b/dll/win32/comdlg32/lang/cdlg_De.rc index 25c3ab0fc39..59f57c187fd 100644 --- a/dll/win32/comdlg32/lang/cdlg_De.rc +++ b/dll/win32/comdlg32/lang/cdlg_De.rc @@ -31,7 +31,7 @@ Wollen Sie sie neu anlegen?" Wollen Sie sie überschreiben?" IDS_INVALID_FILENAME_TITLE "Unzulässige Zeichen im Pfad" IDS_INVALID_FILENAME "Ein Dateiname darf folgende Zeichen nicht enthalten:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Der Pfad existiert nicht" IDS_FILENOTEXISTING "Die Datei existiert nicht" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -160,7 +160,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "&Laufwerke:", stc4, 110, 104, 92, 9 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Öffnen", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Ö&ffnen", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Abbrechen", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Hilfe", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP CHECKBOX "&Schreibgeschützt", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP @@ -232,7 +232,7 @@ FONT 8, "MS Shell Dlg" ICON "PORTRAIT", stc11, 10, 95, 32, 32 GROUPBOX "Papier", grp3, 116, 82, 178, 50, BS_GROUPBOX LTEXT "&Größe", stc2, 126, 95, 35, 9 - LTEXT "P&apierquelle", stc3, 126, 110, 35, 9 + LTEXT "&Zufuhr", stc3, 126, 110, 35, 9 COMBOBOX cmb2, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP COMBOBOX cmb3, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP } @@ -467,35 +467,35 @@ FONT 8, "MS Shell Dlg" CONTROL "Schreibgeschüt&zt",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 - DEFPUSHBUTTON "&Öffnen", IDOK,222,110,54,14 + DEFPUSHBUTTON "Ö&ffnen", IDOK,222,110,54,14 PUSHBUTTON "Abbrechen", IDCANCEL,222,128,54,14 PUSHBUTTON "&Hilfe", pshHelp,222,145,54,14 } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Öffnen" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "&Suche in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "Datei&name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Datei&typen:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Schreibgeschüt&zt", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "Ö&ffnen", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Abbrechen", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Hilfe", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 @@ -504,14 +504,14 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS CAPTION "Öffnen" FONT 8, "MS Shell Dlg" { - LTEXT "Dateiname:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS + LTEXT "Datei&name:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS | ES_AUTOHSCROLL - LTEXT "Dateien vom Typ:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS + LTEXT "Datei&typen:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS COMBOBOX IDC_FILETYPE, 226, 256, 100, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST - DEFPUSHBUTTON "&Öffnen", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS + DEFPUSHBUTTON "Ö&ffnen", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS /* drop-down menu for open button */ CONTROL "6", psh1, "Button", WS_CHILD | WS_CLIPSIBLINGS | WS_GROUP | WS_TABSTOP | diff --git a/dll/win32/comdlg32/lang/cdlg_El.rc b/dll/win32/comdlg32/lang/cdlg_El.rc index 77301d0f946..7784bfab731 100644 --- a/dll/win32/comdlg32/lang/cdlg_El.rc +++ b/dll/win32/comdlg32/lang/cdlg_El.rc @@ -31,7 +31,7 @@ STRINGTABLE Θέλετε να το αντικαταστήσετε;" IDS_INVALID_FILENAME_TITLE "Μη έγγυρος(οι) χαρακτήρας(ες) στο μονοπάτι" IDS_INVALID_FILENAME "Ένα όνομα αρχείο δε μπορεί να περιέχει κάποιον από τους παρακάτω χαρακτήρες:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Το μονοπάτι δεν υπάρχει" IDS_FILENOTEXISTING "Το αρχείο δεν υπάρχει" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" diff --git a/dll/win32/comdlg32/lang/cdlg_En.rc b/dll/win32/comdlg32/lang/cdlg_En.rc index e0fbad88c09..a906672ae64 100644 --- a/dll/win32/comdlg32/lang/cdlg_En.rc +++ b/dll/win32/comdlg32/lang/cdlg_En.rc @@ -31,7 +31,7 @@ Do you want to create file?" Do you want to replace it?" IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path" IDS_INVALID_FILENAME "A filename cannot contain any of the following characters:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Path does not exist" IDS_FILENOTEXISTING "File does not exist" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" diff --git a/dll/win32/comdlg32/lang/cdlg_Eo.rc b/dll/win32/comdlg32/lang/cdlg_Eo.rc index 10f42bc3def..3038ed63f95 100644 --- a/dll/win32/comdlg32/lang/cdlg_Eo.rc +++ b/dll/win32/comdlg32/lang/cdlg_Eo.rc @@ -31,7 +31,7 @@ STRINGTABLE Ĉu vi volas superskribi ĝin?" IDS_INVALID_FILENAME_TITLE "Nekorekta(j) tipo(j) en vojo" IDS_INVALID_FILENAME "La dosiernomo ne povas enhavi la jenajn tipojn:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Vojo estas neekzistanta" IDS_FILENOTEXISTING "Dosiero estas neekzistanta" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -477,25 +477,25 @@ STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPC CAPTION "Open" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Serĉu &en:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "Dosier&nomo:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Dosier&speco:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Nur &legebla", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + PUSHBUTTON "Rezigni", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Helpo", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Es.rc b/dll/win32/comdlg32/lang/cdlg_Es.rc index e9f4c6dabfd..c006a5d14e3 100644 --- a/dll/win32/comdlg32/lang/cdlg_Es.rc +++ b/dll/win32/comdlg32/lang/cdlg_Es.rc @@ -37,7 +37,7 @@ STRINGTABLE ¿Desea reemplazarlo?" IDS_INVALID_FILENAME_TITLE "Caracter(es) inválidos en la ruta" IDS_INVALID_FILENAME "Un nombre de archivo no puede contener ninguno de los siguientes caracteres:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "La ruta no existe" IDS_FILENOTEXISTING "El archivo no existe" IDS_INVALID_FOLDERNAME "La selección contiene algún elemento que no es una carpeta" @@ -156,7 +156,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Abrir" FONT 8, "MS Shell Dlg" { - LTEXT "&Nombre de archivo:", stc3, 6, 6, 76, 9 + LTEXT "&Nombre de archivo:", stc3, 6, 6, 76, 9 //FIXME: accelerator collision &N EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "&Directorios:", -1, 110, 6, 92, 9 @@ -164,7 +164,7 @@ FONT 8, "MS Shell Dlg" LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "Mostrar archivos de &tipo:", stc2, 6, 104, 90, 9 COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "U&nidades:", stc4, 110, 104, 92, 9 + LTEXT "U&nidades:", stc4, 110, 104, 92, 9 //FIXME: accelerator collision &N COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "&Abrir", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP @@ -188,7 +188,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "U&nidades:", stc4, 110, 104, 92, 9 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "&Guardar como", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Guardar como", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "A&yuda", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP CHECKBOX "Sólo &lectura", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP @@ -324,7 +324,7 @@ FONT 8, "MS Shell Dlg" CONTROL "A&bajo", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 DEFPUSHBUTTON "Buscar &siguiente", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "&Cancelar", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "A&yuda", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP } @@ -344,7 +344,7 @@ FONT 8, "MS Shell Dlg" DEFPUSHBUTTON "Buscar &siguiente", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "&Reemplazar", psh1 , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Reemplazar &todo", psh2 , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Cancelar", IDCANCEL , 212, 60, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL , 212, 60, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "A&yuda", pshHelp , 212, 78, 60, 14, WS_GROUP | WS_TABSTOP } diff --git a/dll/win32/comdlg32/lang/cdlg_Et.rc b/dll/win32/comdlg32/lang/cdlg_Et.rc index a937d200232..651e2972dd5 100644 --- a/dll/win32/comdlg32/lang/cdlg_Et.rc +++ b/dll/win32/comdlg32/lang/cdlg_Et.rc @@ -32,7 +32,7 @@ Kas soovite luua selle faili?" Kas soovite asendada selle?" IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path" IDS_INVALID_FILENAME "Failinimi ei tohi sisaldada järgmisi märke:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Koht ei eksisteeri" IDS_FILENOTEXISTING "Fail ei eksisteeri" IDS_INVALID_FOLDERNAME "Valik sisaldab muid objekte kui kausti." @@ -390,7 +390,7 @@ CAPTION "Printimise seadistus" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK",IDOK,176,156,50,14,WS_GROUP - PUSHBUTTON "Cancel",IDCANCEL,230,156,50,14 + PUSHBUTTON "Loobu",IDCANCEL,230,156,50,14 /* PUSHBUTTON "Network...", psh5, 284,156,48,14 */ GROUPBOX "Printer", grp4, 8, 4, 272,84, WS_GROUP @@ -475,7 +475,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Ava" FONT 8, "MS Shell Dlg" { LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY @@ -495,8 +495,8 @@ FONT 8, "MS Shell Dlg" CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + PUSHBUTTON "Loobu", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Abi", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Fi.rc b/dll/win32/comdlg32/lang/cdlg_Fi.rc index da2e258a7c7..3693591d14d 100644 --- a/dll/win32/comdlg32/lang/cdlg_Fi.rc +++ b/dll/win32/comdlg32/lang/cdlg_Fi.rc @@ -31,7 +31,7 @@ Haluatko luoda sen?" Haluatko ylikirjoitaa sen?" IDS_INVALID_FILENAME_TITLE "Kansio sisältää epäkelpoja merkkejä" IDS_INVALID_FILENAME "Tiedoston nimi ei voi sisältää näitä merkkejä:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Kansiota ei ole" IDS_FILENOTEXISTING "Tiedostoa ei ole" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -158,11 +158,11 @@ FONT 8, "MS Shell Dlg" LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "&Luettele tiedostot tyypeittäin:", stc2, 6, 104, 90, 9 COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Asemat:", stc4, 110, 104, 92, 9 + LTEXT "&Asemat:", stc4, 110, 104, 92, 9 //FIXME: accelerator collision &A COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Avaa", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Peruuta", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Apua", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Apua", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A CHECKBOX "&Vain luku", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -180,11 +180,11 @@ FONT 8, "MS Shell Dlg" LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "&Luettele tiedostot tyypeittäin:", stc2, 6, 104, 90, 9 COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Asemat:", stc4, 110, 104, 92, 9 + LTEXT "&Asemat:", stc4, 110, 104, 92, 9 //FIXME: accelerator collision &A COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Tallenna nimellä", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Peruuta", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Apua", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Apua", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A CHECKBOX "&Vain luku", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -315,11 +315,11 @@ FONT 8, "MS Shell Dlg" CHECKBOX "Kirjaink&oko", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP GROUPBOX "Suunta", grp1, 147, 21, 58, 38 CONTROL "&Ylös", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 - CONTROL "&Alas", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 + CONTROL "&Alas", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 //FIXME: accelerator collision &A DEFPUSHBUTTON "Etsi &seuraava", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Peruuta", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Apua", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Apua", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A } @@ -336,10 +336,10 @@ FONT 8, "MS Shell Dlg" CHECKBOX "Kirjaink&oko", chx2, 5, 62, 120, 12, BS_AUTOCHECKBOX | WS_TABSTOP DEFPUSHBUTTON "Etsi &seuraava", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Korv&aa", psh1 , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Korv&aa", psh1 , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A PUSHBUTTON "Korvaa ka&ikki", psh2 , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Peruuta", IDCANCEL , 212, 60, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Apua", pshHelp , 212, 78, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Apua", pshHelp , 212, 78, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A } @@ -467,9 +467,9 @@ FONT 8, "MS Shell Dlg" CONTROL "Avaa vain &lukuoikeuksilla",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 - DEFPUSHBUTTON "&Avaa", IDOK,222,110,54,14 + DEFPUSHBUTTON "&Avaa", IDOK,222,110,54,14 //FIXME: accelerator collision &A PUSHBUTTON "Peruuta", IDCANCEL,222,128,54,14 - PUSHBUTTON "&Apua", pshHelp,222,145,54,14 + PUSHBUTTON "&Apua", pshHelp,222,145,54,14 //FIXME: accelerator collision &A } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 @@ -484,18 +484,18 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Nimi:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "&Tyyppi:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + PUSHBUTTON "Peruuta", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Apua", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 @@ -504,19 +504,19 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS CAPTION "Avaa" FONT 8, "MS Shell Dlg" { - LTEXT "&Tiedosto", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS + LTEXT "&Nimi", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS | ES_AUTOHSCROLL LTEXT "&Tyyppi:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS COMBOBOX IDC_FILETYPE, 226, 256, 100, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST - DEFPUSHBUTTON "&Avaa", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS + DEFPUSHBUTTON "&Avaa", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS //FIXME: accelerator collision &A /* drop-down menu for open button */ CONTROL "6", psh1, "Button", WS_CHILD | WS_CLIPSIBLINGS | WS_GROUP | WS_TABSTOP | BS_CHECKBOX | BS_PUSHLIKE, 342, 240, 8, 14 PUSHBUTTON "Peruuta", IDCANCEL, 395, 240, 40, 14, WS_CLIPSIBLINGS - PUSHBUTTON "&Apua", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS + PUSHBUTTON "&Apua", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS //FIXME: accelerator collision &A } diff --git a/dll/win32/comdlg32/lang/cdlg_Fr.rc b/dll/win32/comdlg32/lang/cdlg_Fr.rc index 27e291cfe8e..aa5bf815e27 100644 --- a/dll/win32/comdlg32/lang/cdlg_Fr.rc +++ b/dll/win32/comdlg32/lang/cdlg_Fr.rc @@ -31,7 +31,7 @@ Souhaitez-vous le créer ?" Voulez-vous le remplacer ?" IDS_INVALID_FILENAME_TITLE "Le chemin d'accès contient des caractères invalides" IDS_INVALID_FILENAME "Un nom de fichier ne peut contenir aucun des caractères suivants :\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Le chemin d'accès n'existe pas" IDS_FILENOTEXISTING "Le fichier n'existe pas" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" diff --git a/dll/win32/comdlg32/lang/cdlg_He.rc b/dll/win32/comdlg32/lang/cdlg_He.rc index a587f7d1302..9d20216508b 100644 --- a/dll/win32/comdlg32/lang/cdlg_He.rc +++ b/dll/win32/comdlg32/lang/cdlg_He.rc @@ -31,7 +31,7 @@ STRINGTABLE האם ברצונך להחליף אותו?" IDS_INVALID_FILENAME_TITLE "תווים שגויים בנתיב" IDS_INVALID_FILENAME "שם קובץ לא יכול להכיל אף אחד מהתווים הבאים:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "הנתיב אינו קיים" IDS_FILENOTEXISTING "הקובץ אינו קיים" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" diff --git a/dll/win32/comdlg32/lang/cdlg_Hi.rc b/dll/win32/comdlg32/lang/cdlg_Hi.rc index 891ee7f3f6c..c99318ac44d 100644 --- a/dll/win32/comdlg32/lang/cdlg_Hi.rc +++ b/dll/win32/comdlg32/lang/cdlg_Hi.rc @@ -2,7 +2,7 @@ * PROJECT: Comdlg32 Hindi Translation * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: Hindi translation of Comdlg32 - * COPYRIGHT: Copyright 2019 Arnav Bhatt (arnavbhatt2004@gmail.com) + * COPYRIGHT: Copyright 2019 Arnav Bhatt */ LANGUAGE LANG_HINDI, SUBLANG_HINDI_INDIA @@ -17,7 +17,7 @@ STRINGTABLE क्या आप इसे बदलना चाहते हैं?" IDS_INVALID_FILENAME_TITLE "पथ में अमान्य कैरेक्टर" IDS_INVALID_FILENAME "फ़ाइलनेम में निम्न में से कोई भी कैरेक्टर नहीं हो सकता है:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "पथ मौजूद नहीं है" IDS_FILENOTEXISTING "फ़ाइल मौजूद नहीं है" IDS_INVALID_FOLDERNAME "चयन में एक गैर-फ़ोल्डर ऑब्जेक्ट है" diff --git a/dll/win32/comdlg32/lang/cdlg_Hu.rc b/dll/win32/comdlg32/lang/cdlg_Hu.rc index ff2df2f7b4d..dfe759b218f 100644 --- a/dll/win32/comdlg32/lang/cdlg_Hu.rc +++ b/dll/win32/comdlg32/lang/cdlg_Hu.rc @@ -31,7 +31,7 @@ Létrehozza a fájlt?" Cseréli a fájlt?" IDS_INVALID_FILENAME_TITLE "Érvénytelen karakter(ek) van(nak) az útvonalban" IDS_INVALID_FILENAME "A fájlnév nem tartalmazhatja ezeket a karaktereket:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Útvonal nem létezik" IDS_FILENOTEXISTING "Fájl nem létezik" IDS_INVALID_FOLDERNAME "A kijelölés egy mappától eltérő objektumot tartalmaz" diff --git a/dll/win32/comdlg32/lang/cdlg_Id.rc b/dll/win32/comdlg32/lang/cdlg_Id.rc index 9ce8054197d..347d0da0743 100644 --- a/dll/win32/comdlg32/lang/cdlg_Id.rc +++ b/dll/win32/comdlg32/lang/cdlg_Id.rc @@ -32,7 +32,7 @@ Ingin buat berkas?" Ingin mengganti berkas?" IDS_INVALID_FILENAME_TITLE "Karakter pada jalur tidak valid" IDS_INVALID_FILENAME "Nama file tidak boleh berisi salah satu karakter berikut:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Jalur tidak tersedia" IDS_FILENOTEXISTING "Berkas tidak tersedia" IDS_INVALID_FOLDERNAME "Pilihan ini berisi obyek non-folder" diff --git a/dll/win32/comdlg32/lang/cdlg_It.rc b/dll/win32/comdlg32/lang/cdlg_It.rc index 88fde82524e..ce044444232 100644 --- a/dll/win32/comdlg32/lang/cdlg_It.rc +++ b/dll/win32/comdlg32/lang/cdlg_It.rc @@ -31,7 +31,7 @@ Creare il file" Sovrascriverlo?" IDS_INVALID_FILENAME_TITLE "Caratteri invalidi nel percorso" IDS_INVALID_FILENAME "Il nome di un file non può contenere i seguenti caratteri:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Il percorso specificato non esiste" IDS_FILENOTEXISTING "Il file non esiste" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -254,8 +254,8 @@ FONT 8, "MS Shell Dlg" WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT DEFPUSHBUTTON "Ok",IDOK,218,6,50,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Annulla",IDCANCEL,218,23,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Applica", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Aiuto" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Applica", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A + PUSHBUTTON "&Aiuto" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A GROUPBOX "Effetti",grp1,6,92,84,36,WS_GROUP CHECKBOX "&Barrato", chx1, 10,102,78,10, BS_AUTOCHECKBOX | WS_TABSTOP CHECKBOX "S&ottolineato", chx2, 10,114,78,10, BS_AUTOCHECKBOX @@ -351,7 +351,7 @@ FONT 8, "MS Shell Dlg" { DEFPUSHBUTTON "Ok", IDOK, 176,164, 50,14, WS_GROUP | BS_DEFPUSHBUTTON PUSHBUTTON "Annulla", IDCANCEL, 230,164, 50,14, WS_GROUP - PUSHBUTTON "&Aiuto", pshHelp, 50, 161, 50,14, WS_GROUP + PUSHBUTTON "&Aiuto", pshHelp, 50, 161, 50,14, WS_GROUP //FIXME: accelerator collision &A GROUPBOX "Stampante", grp4, 8, 4, 272,84, WS_GROUP CONTROL "Stampa su fi&le", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,185,36,90,16 @@ -380,7 +380,7 @@ FONT 8, "MS Shell Dlg" EDITTEXT edt1, 73,122, 26,12, WS_GROUP | ES_NUMBER EDITTEXT edt2, 120,122, 26,12, WS_GROUP | ES_NUMBER RTEXT "&da:", stc2, 52,124, 20,8 - RTEXT "&a:", stc3, 99,124, 20,8 + RTEXT "&a:", stc3, 99,124, 20,8 //FIXME: accelerator collision &A } PRINT32_SETUP DIALOG 32, 32, 288, 178 @@ -467,9 +467,9 @@ FONT 8, "MS Shell Dlg" CONTROL "Apri in &sola lettura",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 - DEFPUSHBUTTON "&Apri", IDOK,222,110,54,14 + DEFPUSHBUTTON "&Apri", IDOK,222,110,54,14 //FIXME: acclerator collision &A PUSHBUTTON "Annulla", IDCANCEL,222,128,54,14 - PUSHBUTTON "&Aiuto", pshHelp,222,145,54,14 + PUSHBUTTON "&Aiuto", pshHelp,222,145,54,14 //FIXME: accelerator collision &A } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 diff --git a/dll/win32/comdlg32/lang/cdlg_Ja.rc b/dll/win32/comdlg32/lang/cdlg_Ja.rc index 3baeb3b7d4a..ca0fc8ccaf0 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ja.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ja.rc @@ -31,7 +31,7 @@ STRINGTABLE 上書きしますか?" IDS_INVALID_FILENAME_TITLE "ファイル名に使えない文字" IDS_INVALID_FILENAME "ファイル名には以下の文字は使えません:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "パスが見つかりません" IDS_FILENOTEXISTING "ファイルが見つかりません" IDS_INVALID_FOLDERNAME "フォルダ以外のオブジェクトを選択しています" diff --git a/dll/win32/comdlg32/lang/cdlg_Ko.rc b/dll/win32/comdlg32/lang/cdlg_Ko.rc index 2b474f48789..089794d0734 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ko.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ko.rc @@ -31,7 +31,7 @@ STRINGTABLE 덮어쓰겠습니까?" IDS_INVALID_FILENAME_TITLE "경로에 올바르지 않은 문자가 있습니다h" IDS_INVALID_FILENAME "파일이름에는 다음 문자만 포함될 수 있습니다:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "경로가 존재하지 않습니다." IDS_FILENOTEXISTING "파일이 존재하지 않습니다" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -474,28 +474,28 @@ FONT 9, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" -FONT 8, "MS Shell Dlg" +CAPTION "열기" +FONT 9, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "보기(&I):", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "파일 이름(&N):", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "파일 형식(&T):", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "읽기 전용으로 열기(&R)", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "열기(&O)", IDOK, 310, 180, 54, 14 + PUSHBUTTON "취소", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "도움말(&H)", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Lt.rc b/dll/win32/comdlg32/lang/cdlg_Lt.rc index b713e2fab33..b2d4c1b87ed 100644 --- a/dll/win32/comdlg32/lang/cdlg_Lt.rc +++ b/dll/win32/comdlg32/lang/cdlg_Lt.rc @@ -31,7 +31,7 @@ Ar norite sukurti failą?" Ar norite jį pakeisti?" IDS_INVALID_FILENAME_TITLE "Kelyje yra netinkamų simbolių" IDS_INVALID_FILENAME "Failo vardas negali turėti šių simbolių:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Kelias neegzistuoja" IDS_FILENOTEXISTING "Failas neegzistuoja" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -314,12 +314,12 @@ FONT 8, "MS Shell Dlg" CHECKBOX "Tenkina tik &visas žodis", chx1, 4, 26, 140, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "Skirti raidžių &dydį", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP GROUPBOX "Kryptis", grp1, 147, 21, 58, 38 - CONTROL "&Žemyn", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 + CONTROL "&Žemyn", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 //FIXME: accelerator collision &Z CONTROL "&Aukštyn", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 DEFPUSHBUTTON "Ieškoti &kito", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Atsisakyti", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Žinynas", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Žinynas", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision } @@ -474,7 +474,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Atverti" FONT 8, "MS Shell Dlg" { LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY @@ -484,17 +484,17 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Failo vardas:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Failų &tipai:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Atverti tik &skaitymui", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 + DEFPUSHBUTTON "&Atverti", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Atsisakyti", IDCANCEL, 310, 198, 54, 14 PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 } diff --git a/dll/win32/comdlg32/lang/cdlg_Nl.rc b/dll/win32/comdlg32/lang/cdlg_Nl.rc index 8b4809206cf..d746a540b02 100644 --- a/dll/win32/comdlg32/lang/cdlg_Nl.rc +++ b/dll/win32/comdlg32/lang/cdlg_Nl.rc @@ -31,7 +31,7 @@ Wilt u het bestand aanmaken?" Wilt u het vervangen?" IDS_INVALID_FILENAME_TITLE "De naam van het pad bevat ongeldige tekens" IDS_INVALID_FILENAME "De volgende tekens mogen niet in de bestandsnaam voorkomen:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Het pad bestaat niet" IDS_FILENOTEXISTING "Kan het bestand niet vinden" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -181,7 +181,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "Schij&ven:", stc4, 110, 104, 92, 9 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "&Opslaan als", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Opslaan als", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Annuleren", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Help", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP CHECKBOX "A&lleen-lezen", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP @@ -506,7 +506,7 @@ FONT 8, "MS Shell Dlg" LTEXT "Bestandsnaam:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS | ES_AUTOHSCROLL - LTEXT "Bestanden van het type:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS + LTEXT "Bestands&typen:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS COMBOBOX IDC_FILETYPE, 226, 256, 100, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST diff --git a/dll/win32/comdlg32/lang/cdlg_No.rc b/dll/win32/comdlg32/lang/cdlg_No.rc index c543f7fc5e3..071de101386 100644 --- a/dll/win32/comdlg32/lang/cdlg_No.rc +++ b/dll/win32/comdlg32/lang/cdlg_No.rc @@ -31,7 +31,7 @@ Skal den opprettes?" Skal den overskrives?" IDS_INVALID_FILENAME_TITLE "Ugyldige tegn i filnavnet" IDS_INVALID_FILENAME "Et filnavn kan ikke inneholder følgende tegn:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Stien finnes ikke" IDS_FILENOTEXISTING "Filen finnes ikke" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -474,28 +474,28 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Åpne" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Se &i:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "Fil&navn:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Fil&type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Åpne", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Hjelp", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Pl.rc b/dll/win32/comdlg32/lang/cdlg_Pl.rc index fb1091b4b32..1fd1d3ed7bd 100644 --- a/dll/win32/comdlg32/lang/cdlg_Pl.rc +++ b/dll/win32/comdlg32/lang/cdlg_Pl.rc @@ -32,7 +32,7 @@ Czy chcesz go utworzyć?" Czy chcesz go zastąpić?" IDS_INVALID_FILENAME_TITLE "Błędny(e) znak(i) w nazwie" IDS_INVALID_FILENAME "Nazwa pliku nie może zawierać znaków:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Katalog nie istnieje" IDS_FILENOTEXISTING "Plik nie istnieje" IDS_INVALID_FOLDERNAME "Wybór nie zawiera folderu" @@ -148,7 +148,7 @@ STRINGTABLE OPEN_FILE DIALOG 36, 24, 285, 135 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Otwieranie" +CAPTION "Otwórz" FONT 8, "MS Shell Dlg" { LTEXT "&Nazwa pliku:", stc3, 6, 6, 76, 9 @@ -462,7 +462,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Otwieranie" +CAPTION "Otwórz" FONT 8, "MS Shell Dlg" { LTEXT "&Szukaj w:", IDC_LOOKINSTATIC, 4, 6, 57, 8, SS_NOTIFY diff --git a/dll/win32/comdlg32/lang/cdlg_Pt.rc b/dll/win32/comdlg32/lang/cdlg_Pt.rc index 8f5cba17dce..e148b6fec27 100644 --- a/dll/win32/comdlg32/lang/cdlg_Pt.rc +++ b/dll/win32/comdlg32/lang/cdlg_Pt.rc @@ -31,7 +31,8 @@ STRINGTABLE IDS_CREATEFILE "O ficheiro não existe.\nGostaria de o criar?" IDS_OVERWRITEFILE "O ficheiro já existe.\nGostaria de o substituir?" IDS_INVALID_FILENAME_TITLE "Caracter(es) inválidos na localização" - IDS_INVALID_FILENAME "Um nome de ficheiro não pode conter quaisquer dos seguintes caracteres:\n / : < > |" + IDS_INVALID_FILENAME "Um nome de ficheiro não pode conter quaisquer dos seguintes caracteres:\n\ +/ : < > |" IDS_PATHNOTEXISTING "A localização não existe" IDS_FILENOTEXISTING "O ficheiro não existe" IDS_INVALID_FOLDERNAME "A sua selecção não contém nenhuma pasta" @@ -159,8 +160,8 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Abrir", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajuda", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP - CHECKBOX "&Apenas de leitura", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Ajuda", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A, I guess this should be &j + CHECKBOX "&Apenas de leitura", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A } SAVE_FILE DIALOG 36, 24, 275, 134 @@ -179,7 +180,7 @@ FONT 8, "MS Shell Dlg" LTEXT "Con&troladores:", stc4, 110, 104, 92, 9 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Guardar Como", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Cancelar", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Ajuda", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP CHECKBOX "Apenas de &leitura", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -196,7 +197,7 @@ FONT 8, "MS Shell Dlg" RADIOBUTTON "S&elecção", rad2, 16, 60, 60, 12 RADIOBUTTON "&Páginas", rad3, 16, 75, 60, 12 DEFPUSHBUTTON "&Imprimir", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Cancelar", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Con&figurar", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP LTEXT "De:", stc3, 60, 80, 30, 9 LTEXT "Até:", stc4, 120, 80, 30, 9 @@ -217,7 +218,7 @@ FONT 8, "MS Shell Dlg" RADIOBUTTON "Impressora &específica", rad2, 16, 44, 150, 12 COMBOBOX cmb1, 35, 58, 145, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "&OK", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Cancelar", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Con&figurar", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP GROUPBOX "Orientação", grp2, 6, 82, 100, 50, BS_GROUPBOX RADIOBUTTON "&Retrato", rad3, 50, 95, 50, 12 @@ -246,7 +247,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb3, 179, 13, 32, 76, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT DEFPUSHBUTTON "&OK", IDOK, 218, 6, 50, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "&Cancelar", IDCANCEL, 218, 23, 50, 14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL, 218, 23, 50, 14,WS_GROUP | WS_TABSTOP PUSHBUTTON "&Aplicar", psh3, 218, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "A&juda" , pshHelp, 218, 57, 50, 14, WS_GROUP | WS_TABSTOP GROUPBOX "Efeitos", grp1, 6, 92, 84, 36, WS_GROUP @@ -269,7 +270,7 @@ FONT 8, "MS Shell Dlg" { LTEXT "Cores &básicas:", stc1, 4, 4, 140, 10 LTEXT "&Cores do utilizador:", stc2, 4, 106, 140, 10 - LTEXT "Colorido|sólid&o", stc3, 150, 151, 48, 10 + LTEXT "Colorido|sólid&o", stc3, 150, 151, 48, 10 //FIXME: accelerator collision &O LTEXT "Ver&melho:", IDC_COLOR_RL /*1094*/, 247, 126, 27, 10 EDITTEXT IDC_COLOR_EDIT_R, 275, 124, 21, 12, WS_BORDER | WS_GROUP | WS_TABSTOP LTEXT "&Verde:", IDC_COLOR_GL /*1095*/, 247, 140, 27, 10 @@ -287,8 +288,8 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_COLOR_GRAPH, "STATIC", WS_BORDER | SS_SIMPLE | WS_TABSTOP | WS_GROUP, 152, 4, 118, 116 CONTROL "", IDC_COLOR_LUMBAR, "STATIC", SS_SIMPLE | WS_TABSTOP | WS_GROUP, 278, 4, 8, 116 CONTROL "", IDC_COLOR_RESULT, "STATIC", SS_SIMPLE | WS_TABSTOP | WS_GROUP, 152, 124, 40, 26 - DEFPUSHBUTTON "&OK", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Cancelar", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&OK", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP //FIXME:accelerator collision &O + PUSHBUTTON "Cancelar", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "A&juda", pshHelp, 100, 166, 44, 14 PUSHBUTTON "&Adicionar cor personalizada", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Definir cores personalizadas >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP @@ -300,16 +301,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Procurar" FONT 8, "MS Shell Dlg" { - LTEXT "&Procurar:", -1, 4, 8, 52, 8 + LTEXT "&Procurar:", -1, 4, 8, 52, 8 //FIXME: accelerator collision &P EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP CHECKBOX "Palavra &inteira", chx1, 4, 26, 140, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "&Maiúsculas/minúsculas", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP GROUPBOX "Direcção", grp1, 147, 21, 58, 38 - CONTROL "&Acima", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 + CONTROL "&Acima", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 //FIXME: accelerator collision &A CONTROL "A&baixo", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 - DEFPUSHBUTTON "&Procurar", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + DEFPUSHBUTTON "&Procurar", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON //FIXME: accelerator collision &P PUSHBUTTON "Cancelar", IDCANCEL, 212, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Ajuda", pshHelp, 212, 42, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Ajuda", pshHelp, 212, 42, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &A } REPLACEDLGORD DIALOG 36, 24, 276, 94 @@ -317,13 +318,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Substituir" FONT 8, "MS Shell Dlg" { - LTEXT "&Procurar:", -1, 4, 8, 52, 8 + LTEXT "&Procurar:", -1, 4, 8, 52, 8 //FIXME: accelerator collision &P EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP LTEXT "Substituir po&r:", -1, 4, 26, 52, 8 EDITTEXT edt2, 57, 24, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP CHECKBOX "Palavra &inteira", chx1, 5, 46, 120, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "&Maiúsculas/minúsculas", chx2, 5, 62, 120, 12, BS_AUTOCHECKBOX | WS_TABSTOP - DEFPUSHBUTTON "&Procurar", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + DEFPUSHBUTTON "&Procurar", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON //FIXME: accelerator collision &P PUSHBUTTON "&Substituir", psh1, 212, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Substituir &tudo", psh2 , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 212, 60, 60, 14, WS_GROUP | WS_TABSTOP @@ -337,7 +338,7 @@ FONT 8, "MS Shell Dlg" { DEFPUSHBUTTON "OK", IDOK, 176, 164, 50, 14, WS_GROUP | BS_DEFPUSHBUTTON PUSHBUTTON "Cancelar", IDCANCEL, 230, 164, 50, 14, WS_GROUP - PUSHBUTTON "&Ajuda", pshHelp, 50, 161, 50,14, WS_GROUP + PUSHBUTTON "&Ajuda", pshHelp, 50, 161, 50,14, WS_GROUP //FIXME: accelerator collision &A. Should this be &j? GROUPBOX "Impressora", grp4, 8, 4, 272, 84, WS_GROUP CONTROL "Para &ficheiro", chx1, "Button", BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 185, 36, 90, 16 PUSHBUTTON "&Propriedades", psh2, 212, 17, 60,14, WS_GROUP @@ -354,7 +355,7 @@ FONT 8, "MS Shell Dlg" GROUPBOX "Cópias", grp2, 160, 92, 120, 64, WS_GROUP LTEXT "Número de &cópias:", stc5, 168, 105, 68, 8 ICON "", ico3, 210, 131, 76, 24, WS_GROUP - CONTROL "&Agrupar", chx2, "Button", BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 168, 118, 100, 12 + CONTROL "&Agrupar", chx2, "Button", BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 168, 118, 100, 12 //FIXME: accelerator collision &A EDITTEXT edt3, 240, 103, 32, 12, WS_GROUP | ES_NUMBER GROUPBOX "Faixa de impressão", grp1, 8, 92, 144, 64, WS_GROUP CONTROL "&Todos", rad1,"Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 16, 106, 64, 12 @@ -363,7 +364,7 @@ FONT 8, "MS Shell Dlg" EDITTEXT edt1, 73, 122, 26, 12, WS_GROUP | ES_NUMBER EDITTEXT edt2, 120, 122, 26, 12, WS_GROUP | ES_NUMBER RTEXT "&de:", stc2, 52, 124, 20, 8 - RTEXT "&até", stc3, 99, 124, 20, 8 + RTEXT "&até", stc3, 99, 124, 20, 8 //FIXME: accelerator collision &A } PRINT32_SETUP DIALOG 32, 32, 288, 178 @@ -375,7 +376,7 @@ BEGIN PUSHBUTTON "Cancelar", IDCANCEL, 230, 156, 50, 14 /* PUSHBUTTON "Network...", psh5, 284,156,48,14 */ GROUPBOX "Impressora", grp4, 8, 4, 272, 84, WS_GROUP - PUSHBUTTON "&Propriedades", psh2, 212, 17, 60, 14, WS_GROUP + PUSHBUTTON "&Propriedades", psh2, 212, 17, 60, 14, WS_GROUP //FIXME: accelerator collision &P LTEXT "&Nome:", stc6, 16, 20, 36, 8 COMBOBOX cmb1, 52, 18, 152, 152, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP LTEXT "Status:", stc8, 16, 36, 47, 10, SS_NOPREFIX @@ -394,7 +395,7 @@ BEGIN GROUPBOX "Orientação", grp1, 180, 92, 100, 56, WS_GROUP ICON "", ico1, 195, 112, 18, 20, WS_GROUP CONTROL "&Retrato", rad1,"Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 224, 106, 52, 12 - CONTROL "&Paisagem", rad2,"Button", BS_AUTORADIOBUTTON, 224, 126, 52, 12 + CONTROL "&Paisagem", rad2,"Button", BS_AUTORADIOBUTTON, 224, 126, 52, 12 //FIXME: accelerator collision &P END PAGESETUPDLGORD DIALOG 32, 32, 240, 240 @@ -432,7 +433,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS CAPTION "Abrir" FONT 8, "MS Shell Dlg" { - LTEXT "&Examinar:", IDC_LOOKINSTATIC, 4, 6, 43, 8, SS_NOTIFY + LTEXT "Ver &em:", IDC_LOOKINSTATIC, 4, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 49, 3, 132, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "", IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE LISTBOX IDC_SHELLSTATIC, 4, 20, 272, 85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE @@ -441,10 +442,10 @@ FONT 8, "MS Shell Dlg" CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63, 110, 150, 150 LTEXT "Ficheiros do &tipo:", IDC_FILETYPESTATIC, 5, 130, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 63, 128, 150, 53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Abrir como &apenas-leitura", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 63, 148, 150, 10 - DEFPUSHBUTTON "&Abrir", IDOK, 222, 110, 54, 14 + CONTROL "Abrir como &apenas-leitura", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 63, 148, 150, 10 //FIXME: accelerator collision &A + DEFPUSHBUTTON "&Abrir", IDOK, 222, 110, 54, 14 //FIXME: accelerator collision &A PUSHBUTTON "Cancelar", IDCANCEL, 222, 128, 54, 14 - PUSHBUTTON "&Ajuda", pshHelp, 222, 145, 54, 14 + PUSHBUTTON "&Ajuda", pshHelp, 222, 145, 54, 14 //FIXME: accelerator collision &A, I do guess this one should have &j } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 @@ -478,10 +479,10 @@ FONT 8, "MS Shell Dlg" LTEXT "Ficheiros do &tipo:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS COMBOBOX IDC_FILETYPE, 226, 256, 100, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST - DEFPUSHBUTTON "&Abrir", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS + DEFPUSHBUTTON "&Abrir", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS //FIXME: accelerator collision &A /* drop-down menu for open button */ CONTROL "6", psh1, "Button", WS_CHILD | WS_CLIPSIBLINGS | WS_GROUP | WS_TABSTOP | BS_CHECKBOX | BS_PUSHLIKE, 342, 240, 8, 14 PUSHBUTTON "Cancelar", IDCANCEL, 395, 240, 40, 14, WS_CLIPSIBLINGS - PUSHBUTTON "&Ajuda", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS + PUSHBUTTON "&Ajuda", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS //FIXME: accelerator collision &A, I do guess this one should have &j } diff --git a/dll/win32/comdlg32/lang/cdlg_Ro.rc b/dll/win32/comdlg32/lang/cdlg_Ro.rc index 8aae6419ac9..f8a0c0cceae 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ro.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ro.rc @@ -34,7 +34,7 @@ Doriți crearea acest fișier?" Doriți să îl suprascrieți?" IDS_INVALID_FILENAME_TITLE "Caracter(e) nevalid(e) în cale" IDS_INVALID_FILENAME "Numele de fișier nu poate conține caracterele următoare:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Calea nu există" IDS_FILENOTEXISTING "Fișierul nu există" IDS_INVALID_FOLDERNAME "Selecția nu conține un folder" @@ -150,7 +150,7 @@ STRINGTABLE OPEN_FILE DIALOG 36, 24, 275, 134 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Deschidere fișier" +CAPTION "Deschide" FONT 8, "MS Shell Dlg" { LTEXT "N&ume fișier:", stc3, 6, 6, 76, 9 @@ -185,7 +185,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "Dis&curi:", stc4, 110, 104, 92, 9 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "&Salvează", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Salvează", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "A&nulează", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Manual…", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP CHECKBOX "Nem&odificabil", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP @@ -452,7 +452,7 @@ END NEWFILEOPENORD DIALOG 0, 0, 280, 164 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Deschidere fișier" +CAPTION "Deschide" FONT 8, "MS Shell Dlg" { LTEXT "&Caută în:",IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY diff --git a/dll/win32/comdlg32/lang/cdlg_Ru.rc b/dll/win32/comdlg32/lang/cdlg_Ru.rc index f5761dfaec7..00966b73503 100644 --- a/dll/win32/comdlg32/lang/cdlg_Ru.rc +++ b/dll/win32/comdlg32/lang/cdlg_Ru.rc @@ -31,7 +31,7 @@ STRINGTABLE Заменить его?" IDS_INVALID_FILENAME_TITLE "Некорректный символ(ы) в записи пути" IDS_INVALID_FILENAME "Имя файла не может содержать следующие символы:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Путь не существует" IDS_FILENOTEXISTING "Файл не существует" IDS_INVALID_FOLDERNAME "Выбор содержит объект не являющийся папкой" diff --git a/dll/win32/comdlg32/lang/cdlg_Si.rc b/dll/win32/comdlg32/lang/cdlg_Si.rc index 0a2d7193c06..d2505f70355 100644 --- a/dll/win32/comdlg32/lang/cdlg_Si.rc +++ b/dll/win32/comdlg32/lang/cdlg_Si.rc @@ -31,7 +31,7 @@ Ali jo želite ustvariti?" Ali jo želite zamenjati?" IDS_INVALID_FILENAME_TITLE "Neveljavni znaki v poti" IDS_INVALID_FILENAME "Ime datoteke ne sme vsebovati naslednjih znakov:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Pot ne obstaja" IDS_FILENOTEXISTING "Datoteka ne obstaja" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -474,10 +474,10 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Odpri" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "&Išči v:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE @@ -488,14 +488,14 @@ FONT 8, "MS Shell Dlg" EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "Vrsta da&totek:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "&Samo za branje", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Odpri", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Prekliči", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "Pomo&č", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Sk.rc b/dll/win32/comdlg32/lang/cdlg_Sk.rc index f7f0d13b287..c18ea80b67a 100644 --- a/dll/win32/comdlg32/lang/cdlg_Sk.rc +++ b/dll/win32/comdlg32/lang/cdlg_Sk.rc @@ -31,7 +31,7 @@ Do you want to create file?" Do you want to replace it?" IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path" IDS_INVALID_FILENAME "Názov súboru nemôže obsahovať žiadny z nasledovných znakov:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Cesta neexistuje" IDS_FILENOTEXISTING "Súbor neexistuje" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -243,7 +243,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Písmo" FONT 8, "MS Shell Dlg" { - LTEXT "&Písmo:",stc1 ,6,3,90,9 + LTEXT "&Písmo:",stc1 ,6,3,90,9 //FIXME: accelerator collision &P COMBOBOX cmb1, 6,13,94,76, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE LTEXT "Š&týl písma:",stc2 ,108,3,60,9 @@ -254,11 +254,11 @@ FONT 8, "MS Shell Dlg" WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT DEFPUSHBUTTON "OK",IDOK,218,6,50,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Zrušiť",IDCANCEL,218,23,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Použiť", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoc" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Použiť", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &P + PUSHBUTTON "&Pomoc" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &P GROUPBOX "Efekty",grp1,6,92,84,36,WS_GROUP CHECKBOX "P&rečiarknuté", chx1, 10,102,78,10, BS_AUTOCHECKBOX | WS_TABSTOP - CHECKBOX "&Podčiarknuté", chx2, 10,114,78,10, BS_AUTOCHECKBOX + CHECKBOX "&Podčiarknuté", chx2, 10,114,78,10, BS_AUTOCHECKBOX //FIXME: accelerator collision &P LTEXT "&Farba:", stc4 ,6,134,80,9 COMBOBOX cmb4,6,144,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP @@ -297,7 +297,7 @@ FONT 8, "MS Shell Dlg" CONTROL "" , IDC_COLOR_RESULT, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26 DEFPUSHBUTTON "OK", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Zrušiť", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Pomocník", pshHelp,100,166, 44, 14 + PUSHBUTTON "Pomoc", pshHelp,100,166, 44, 14 PUSHBUTTON "Prid&ať medzi vlastné farby", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Definovať vlastné farby >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Farba | Pl&ná", IDC_COLOR_RES, 300,200,4,14 /* just a dummy */ @@ -458,7 +458,7 @@ FONT 8, "MS Shell Dlg" LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "&Názov súboru:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY + LTEXT "&Súbor:",IDC_FILENAMESTATIC,5,112,56,16, SS_NOTIFY EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63,110,150,150 @@ -467,35 +467,35 @@ FONT 8, "MS Shell Dlg" CONTROL "Otvo&riť iba na čítanie",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 - DEFPUSHBUTTON "&Otvoriť...", IDOK,222,110,54,14 + DEFPUSHBUTTON "&Otvoriť", IDOK,222,110,54,14 PUSHBUTTON "Zrušiť", IDCANCEL,222,128,54,14 PUSHBUTTON "&Pomoc", pshHelp,222,145,54,14 } NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Otvoriť" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Hľadať &v:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Súbor:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "&Typ súborov:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Otvoriť", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Zrušiť", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Pomoc", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 @@ -511,7 +511,7 @@ FONT 8, "MS Shell Dlg" COMBOBOX IDC_FILETYPE, 226, 256, 100, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST - DEFPUSHBUTTON "&Otvoriť...", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS + DEFPUSHBUTTON "&Otvoriť", IDOK, 350, 240, 40, 14, WS_GROUP | WS_CLIPSIBLINGS /* drop-down menu for open button */ CONTROL "6", psh1, "Button", WS_CHILD | WS_CLIPSIBLINGS | WS_GROUP | WS_TABSTOP | diff --git a/dll/win32/comdlg32/lang/cdlg_Sq.rc b/dll/win32/comdlg32/lang/cdlg_Sq.rc index 46d2a67924f..834d29ec00e 100644 --- a/dll/win32/comdlg32/lang/cdlg_Sq.rc +++ b/dll/win32/comdlg32/lang/cdlg_Sq.rc @@ -20,9 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "cdlg.h" -#include "filedlgbrowser.h" - LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL STRINGTABLE @@ -35,7 +32,7 @@ Doni ta krijoni dokumentin?" Doni ta zevendesoni?" IDS_INVALID_FILENAME_TITLE "Karatere te pavlere ne rruge" IDS_INVALID_FILENAME "Nje emer dokumentin nuk mund te permbaje kararakteret e meposhtme:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Rruga nuk ekziston" IDS_FILENOTEXISTING "Dokumenti nuk ekziston" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -466,7 +463,7 @@ FONT 8, "MS Shell Dlg" EDITTEXT IDC_FILENAME,63,110,150,12,ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 63,110,150,150 - LTEXT "Dokumenta te &tipit:",IDC_FILETYPESTATIC,5,130,56,16, SS_NOTIFY + LTEXT "&Tipe dokumenti:",IDC_FILETYPESTATIC,5,130,56,16, SS_NOTIFY COMBOBOX IDC_FILETYPE,63,128,150,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Hap si &read-only",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,63,148,150,10 @@ -478,7 +475,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Hap" FONT 8, "MS Shell Dlg" { LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY @@ -495,11 +492,11 @@ FONT 8, "MS Shell Dlg" LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 + CONTROL "Hap si &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 //FIXME: should be "Hap". Actually it must be "&Hap", but that needs a better translation for "&Help" to frees the &H accelerator + PUSHBUTTON "Anulo", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 //FIXME: should be "Ndihmë" but I don't know which accelerator to use here } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Sr.rc b/dll/win32/comdlg32/lang/cdlg_Sr.rc index a1bcf4c6200..8d6c3229d2d 100644 --- a/dll/win32/comdlg32/lang/cdlg_Sr.rc +++ b/dll/win32/comdlg32/lang/cdlg_Sr.rc @@ -31,7 +31,7 @@ STRINGTABLE Želite li da je zamenite?" IDS_INVALID_FILENAME_TITLE "Neispravan znak u putanji" IDS_INVALID_FILENAME "Naziv datoteke ne sme sadržati sledeće znakove:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Putanja ne postoji" IDS_FILENOTEXISTING "Datoteka ne postoji" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -254,8 +254,8 @@ FONT 8, "MS Shell Dlg" WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT DEFPUSHBUTTON "U redu",IDOK,218,6,50,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Otkaži",IDCANCEL,218,23,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Primeni", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Pomoć" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Primeni", psh3,218,40,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &P + PUSHBUTTON "&Pomoć" , pshHelp,218,57,50,14,WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &P GROUPBOX "Effects",grp1,6,92,84,36,WS_GROUP CHECKBOX "Stri&keout", chx1, 10,102,78,10, BS_AUTOCHECKBOX | WS_TABSTOP CHECKBOX "&Underline", chx2, 10,114,78,10, BS_AUTOCHECKBOX @@ -474,7 +474,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Otvori" FONT 8, "MS Shell Dlg" { LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY @@ -484,18 +484,18 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "&Datoteka:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "&Fajl:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 - PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 + DEFPUSHBUTTON "&Otvori", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Otkaži", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "&Pomoć", pshHelp, 310, 215, 54, 14 } NEWFILEOPENV3ORD DIALOG 0, 0, 440, 300 diff --git a/dll/win32/comdlg32/lang/cdlg_Sv.rc b/dll/win32/comdlg32/lang/cdlg_Sv.rc index d3f11956a78..4f40beb6281 100644 --- a/dll/win32/comdlg32/lang/cdlg_Sv.rc +++ b/dll/win32/comdlg32/lang/cdlg_Sv.rc @@ -31,7 +31,7 @@ Vill du skapa fil?" Vill du ersätta den?" IDS_INVALID_FILENAME_TITLE "Illegalt tecken i sökväg" IDS_INVALID_FILENAME "Ett filnamn kan inte innehålla någon av följande tecken:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Sökvägen finns inte" IDS_FILENOTEXISTING "Filen finns inte" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -308,15 +308,15 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Sök" FONT 8, "MS Shell Dlg" { - LTEXT "&Sök efter:", -1, 4, 8, 52, 8 + LTEXT "&Sök efter:", -1, 4, 8, 52, 8 //FIXME: accelerator collision &S EDITTEXT edt1, 57, 7, 148, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP CHECKBOX "&Bara hela ord", chx1, 4, 26, 140, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "&Skillnad på stora/små bokstäver", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP + CHECKBOX "&Skillnad på stora/små bokstäver", chx2, 4, 42, 140, 12, BS_AUTOCHECKBOX | WS_TABSTOP //FIXME: accelerator collision &S GROUPBOX "Riktning", grp1, 147, 21, 58, 38 CONTROL "&Upp", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 151, 30, 48, 12 CONTROL "&Ner", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 151, 44, 48, 12 - DEFPUSHBUTTON "&Sök efter nästa", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + DEFPUSHBUTTON "&Sök efter nästa", IDOK, 212, 6, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON //FIXME: accelerator collision &S PUSHBUTTON "Avbryt", IDCANCEL , 212, 24, 60, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Hjälp", pshHelp , 212, 42, 60, 14, WS_GROUP | WS_TABSTOP } @@ -473,27 +473,27 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "Öppna" FONT 8, "MS Shell Dlg" { - LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY + LTEXT "Leta &i:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY COMBOBOX IDC_LOOKIN, 64, 3, 150, 100, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "" , IDC_TOOLBARSTATIC, 209, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "File &name:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "Fil&namn:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 - LTEXT "Files of &type:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY + LTEXT "&Filformat:", IDC_FILETYPESTATIC, 65, 200, 56, 16, SS_NOTIFY COMBOBOX IDC_FILETYPE, 123, 198, 180, 53, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 + DEFPUSHBUTTON "&Öppna", IDOK, 310, 180, 54, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 310, 198, 54, 14 PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 } diff --git a/dll/win32/comdlg32/lang/cdlg_Th.rc b/dll/win32/comdlg32/lang/cdlg_Th.rc index a38e73eb5a9..0d0ebde45dc 100644 --- a/dll/win32/comdlg32/lang/cdlg_Th.rc +++ b/dll/win32/comdlg32/lang/cdlg_Th.rc @@ -31,7 +31,7 @@ Do you want to create file?" Do you want to replace it?" IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path" IDS_INVALID_FILENAME "ในชื่อแฟ้มใช้ไมได้ต้วนี้:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "ไม่พบไดเรกทอรี" IDS_FILENOTEXISTING "ไม่พบแฟ้ม" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -473,7 +473,7 @@ FONT 8, "MS Shell Dlg" NEWFILEOPENV2ORD DIALOG 0, 0, 370, 237 STYLE DS_MODALFRAME | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN -CAPTION "Open" +CAPTION "เปิด" FONT 8, "MS Shell Dlg" { LTEXT "Look &in:", IDC_LOOKINSTATIC, 28, 6, 43, 8, SS_NOTIFY @@ -493,7 +493,7 @@ FONT 8, "MS Shell Dlg" CONTROL "Open as &read-only", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 DEFPUSHBUTTON "&Open", IDOK, 310, 180, 54, 14 - PUSHBUTTON "Cancel", IDCANCEL, 310, 198, 54, 14 + PUSHBUTTON "ยกเลิก", IDCANCEL, 310, 198, 54, 14 PUSHBUTTON "&Help", pshHelp, 310, 215, 54, 14 } diff --git a/dll/win32/comdlg32/lang/cdlg_Tr.rc b/dll/win32/comdlg32/lang/cdlg_Tr.rc index 7819d2a1767..e256a4a2bd4 100644 --- a/dll/win32/comdlg32/lang/cdlg_Tr.rc +++ b/dll/win32/comdlg32/lang/cdlg_Tr.rc @@ -30,7 +30,7 @@ Dosya oluşturmak ister misiniz?" Onu değiştirmek ister misiniz?" IDS_INVALID_FILENAME_TITLE "Yolda geçersiz işaret ya da işaretler var." IDS_INVALID_FILENAME "Bir dosya adı aşağıdaki işaretlerin rastgele birini içeremez:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Dosya yolu yok." IDS_FILENOTEXISTING "Dosya yok." IDS_INVALID_FOLDERNAME "Seçim dizin olmayan bir nesne içeriyor." @@ -149,10 +149,10 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Aç" FONT 8, "MS Shell Dlg" { - LTEXT "&Dosya Adı:", stc3, 6, 6, 76, 9 + LTEXT "&Dosya Adı:", stc3, 6, 6, 76, 9 //FIXME: accelerator collision &D EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Dizinler:", -1, 110, 6, 92, 9 + LTEXT "&Dizinler:", -1, 110, 6, 92, 9 //FIXME: accelerator collision &D LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "Şu Türden D&osyaları Listele:", stc2, 6, 104, 90, 9 @@ -171,10 +171,10 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Farklı Kaydet" FONT 8, "MS Shell Dlg" { - LTEXT "&Dosya Adı:", stc3, 6, 6, 76, 9 + LTEXT "&Dosya Adı:", stc3, 6, 6, 76, 9 //FIXME: accelerator collision &D EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP LISTBOX lst1, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP - LTEXT "&Dizinler:", -1, 110, 6, 92, 9 + LTEXT "&Dizinler:", -1, 110, 6, 92, 9 //FIXME: accelerator collision &D LTEXT "", stc1, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "Şu türden D&osyaları Listele:", stc2, 6, 104, 90, 9 @@ -279,7 +279,7 @@ FONT 8, "MS Shell Dlg" LTEXT "Renk | D&üz", stc3, 150, 151, 48, 10 LTEXT "&Kırmızı:", IDC_COLOR_RL /*1094*/,247,126,27,10 EDITTEXT IDC_COLOR_EDIT_R, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP - LTEXT "Y&eşil:", IDC_COLOR_GL /*1095*/,247,140,27,10 + LTEXT "Y&eşil:", IDC_COLOR_GL /*1095*/,247,140,27,10 //FIXME: accelerator collision &E EDITTEXT IDC_COLOR_EDIT_G, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP LTEXT "&Mavi:", IDC_COLOR_BL /*1096*/,247,154,27,10 EDITTEXT IDC_COLOR_EDIT_B, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP @@ -298,7 +298,7 @@ FONT 8, "MS Shell Dlg" PUSHBUTTON "İptal", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "&Yardım", pshHelp,100,166, 44, 14 PUSHBUTTON "Ö&zel Renklere Ekle", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Öz&el Renkleri Belirle >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Öz&el Renkleri Belirle >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &E PUSHBUTTON "Renk | Düz", IDC_COLOR_RES, 300,200,4,14 /* just a dummy */ } @@ -483,7 +483,7 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_TOOLBARPLACES, "ToolbarWindow32", 0x800 | CCS_NORESIZE | CCS_TOP | CCS_NOPARENTALIGN | CCS_NODIVIDER, 4, 20, 56, 192 LISTBOX IDC_SHELLSTATIC, 64, 20, 300, 155, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE - LTEXT "Dosya &adı:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY + LTEXT "Dosya &adı:", IDC_FILENAMESTATIC, 65, 182, 56, 16, SS_NOTIFY //FIXME: accelerator collision &A EDITTEXT IDC_FILENAME, 123, 180, 180, 12, ES_AUTOHSCROLL CONTROL "", cmb13, "ComboBoxEx32", CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP, 123, 180, 180, 150 @@ -492,7 +492,7 @@ FONT 8, "MS Shell Dlg" CONTROL "&Salt okunur olarak aç", IDC_OPENREADONLY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 218, 150, 10 - DEFPUSHBUTTON "&Aç", IDOK, 310, 180, 54, 14 + DEFPUSHBUTTON "&Aç", IDOK, 310, 180, 54, 14 //FIXME: accelerator collision &A PUSHBUTTON "İptal", IDCANCEL, 310, 198, 54, 14 PUSHBUTTON "&Yardım", pshHelp, 310, 215, 54, 14 } diff --git a/dll/win32/comdlg32/lang/cdlg_Uk.rc b/dll/win32/comdlg32/lang/cdlg_Uk.rc index f462d7e0185..b7a975c3749 100644 --- a/dll/win32/comdlg32/lang/cdlg_Uk.rc +++ b/dll/win32/comdlg32/lang/cdlg_Uk.rc @@ -31,7 +31,7 @@ STRINGTABLE Замінити його?" IDS_INVALID_FILENAME_TITLE "Невірний символ в записі шляху" IDS_INVALID_FILENAME "Ім'я файлу не може містити наступні символи:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "Шлях не існує" IDS_FILENOTEXISTING "Файл не існує" IDS_INVALID_FOLDERNAME "The selection contains a non-folder object" @@ -158,11 +158,11 @@ FONT 8, "MS Shell Dlg" LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "Показувати файли &типу:", stc2, 6, 104, 90, 9 COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Диски:", stc4, 110, 104, 92, 9 + LTEXT "&Диски:", stc4, 110, 104, 92, 9 //FIXME: accelerator collision &Д COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Відкрити", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Скасувати", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Довідка", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Довідка", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &Д CHECKBOX "&Лише для читання", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -180,11 +180,11 @@ FONT 8, "MS Shell Dlg" LISTBOX lst2, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP LTEXT "Показувати файли &типу:", stc2, 6, 104, 90, 9 COMBOBOX cmb1, 6, 114, 90, 60, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "&Диски:", stc4, 110, 104, 92, 9 + LTEXT "&Диски:", stc4, 110, 104, 92, 9 //FIXME: accelerator collision &Д COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "Зберегти як", IDOK, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Скасувати", IDCANCEL, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Довідка", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Довідка", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &Д CHECKBOX "&Лише для читання", chx1, 208, 68, 65, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -297,8 +297,8 @@ FONT 8, "MS Shell Dlg" CONTROL "" , IDC_COLOR_RESULT, "STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26 DEFPUSHBUTTON "OK", IDOK, 4, 167, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP PUSHBUTTON "Скасувати", IDCANCEL, 58, 167, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "&Довідка", pshHelp,100,166, 44, 14 - PUSHBUTTON "&Додати до набору", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Довідка", pshHelp,100,166, 44, 14 //FIXME: accelerator collision &Д + PUSHBUTTON "&Додати до набору", IDC_COLOR_ADD /*1024*/, 152, 167, 144, 14, WS_GROUP | WS_TABSTOP //FIXME: accelerator collision &Д PUSHBUTTON "&Визначити колір >>", IDC_COLOR_DEFINE /*1025*/, 4, 149, 142, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON "Колір|За&ливка", IDC_COLOR_RES, 300,200,4,14 /* just a dummy */ } diff --git a/dll/win32/comdlg32/lang/cdlg_Zh.rc b/dll/win32/comdlg32/lang/cdlg_Zh.rc index b859934b5d6..10024633655 100644 --- a/dll/win32/comdlg32/lang/cdlg_Zh.rc +++ b/dll/win32/comdlg32/lang/cdlg_Zh.rc @@ -35,7 +35,7 @@ STRINGTABLE 是否替换?" IDS_INVALID_FILENAME_TITLE "路径中包含无效字符" IDS_INVALID_FILENAME "文件名中不能包含任何以下字符::\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "路径不存在" IDS_FILENOTEXISTING "文件不存在" IDS_INVALID_FOLDERNAME "所选内容包含一个非文件夹物体" @@ -537,7 +537,7 @@ STRINGTABLE 您要取代它嗎?" IDS_INVALID_FILENAME_TITLE "檔案名稱含有無效的字元" IDS_INVALID_FILENAME "檔案名稱中不能包含以下任何一個字元:\n\ - / : < > |" +/ : < > |" IDS_PATHNOTEXISTING "路徑不存在" IDS_FILENOTEXISTING "檔案不存在" IDS_INVALID_FOLDERNAME "已選項目包含非資料夾物件" @@ -875,7 +875,7 @@ FONT 9, "新細明體" GROUPBOX "份數", grp2, 160, 92, 120,64, WS_GROUP LTEXT "份數(&C):",stc5,168,105,68,8 - ICON "", ico3, 170,131, 76,24, WS_GROUP | SS_CENTERIMAGE + ICON "", ico3, 210,131, 76,24, WS_GROUP CONTROL "自動分頁(&O)", chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,168,118,100,12 EDITTEXT edt3, 240,103, 32,12, WS_GROUP | ES_NUMBER diff --git a/dll/win32/devmgr/precomp.h b/dll/win32/devmgr/precomp.h index 1ca2f4b1111..2165d4bf12b 100644 --- a/dll/win32/devmgr/precomp.h +++ b/dll/win32/devmgr/precomp.h @@ -76,6 +76,8 @@ OUT LPDWORD lpReboot); #include #include +#define DYNAMIC_FIELD_OFFSET(Type, Field) ((LONG)(LONG_PTR)&(((Type*) 0)->Field)) + //WINE_DEFAULT_DEBUG_CHANNEL(devmgr); -#endif \ No newline at end of file +#endif diff --git a/dll/win32/devmgr/properties/hwpage.cpp b/dll/win32/devmgr/properties/hwpage.cpp index 8fb4161c910..9bd2c7ab05a 100644 --- a/dll/win32/devmgr/properties/hwpage.cpp +++ b/dll/win32/devmgr/properties/hwpage.cpp @@ -1030,8 +1030,8 @@ DeviceCreateHardwarePageEx(IN HWND hWndParent, failure cases! */ hpd = (PHARDWARE_PAGE_DATA)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - FIELD_OFFSET(HARDWARE_PAGE_DATA, - ClassDevInfo[uNumberOfGuids])); + DYNAMIC_FIELD_OFFSET(HARDWARE_PAGE_DATA, + ClassDevInfo[uNumberOfGuids])); if (hpd != NULL) { HWND hWnd; diff --git a/dll/win32/shell32/CDefaultContextMenu.cpp b/dll/win32/shell32/CDefaultContextMenu.cpp index 31231af1db9..2bd9b833c46 100644 --- a/dll/win32/shell32/CDefaultContextMenu.cpp +++ b/dll/win32/shell32/CDefaultContextMenu.cpp @@ -493,13 +493,12 @@ CDefaultContextMenu::AddStaticContextMenusToMenu( UINT uFlags) { UINT ntver = RosGetProcessEffectiveVersion(); - MENUITEMINFOW mii; + MENUITEMINFOW mii = { sizeof(mii) }; UINT idResource; WCHAR wszVerb[40]; UINT fState; UINT cIds = 0, indexFirst = *pIndexMenu; - mii.cbSize = sizeof(mii); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE | MIIM_DATA; mii.fType = MFT_STRING; mii.dwTypeData = NULL; diff --git a/dll/win32/shell32/CShellDispatch.cpp b/dll/win32/shell32/CShellDispatch.cpp index 7df94e0ae04..848318b7d35 100644 --- a/dll/win32/shell32/CShellDispatch.cpp +++ b/dll/win32/shell32/CShellDispatch.cpp @@ -4,6 +4,7 @@ * PURPOSE: IShellDispatch implementation * COPYRIGHT: Copyright 2015-2018 Mark Jansen (mark.jansen@reactos.org) * Copyright 2018 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com) + * Copyright 2023 Whindmar Saksit (whindsaks@proton.me) */ #include "precomp.h" @@ -12,6 +13,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); +EXTERN_C DWORD WINAPI SHGetRestriction(LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue); + +static HRESULT PostTrayCommand(UINT cmd) +{ + HWND hTrayWnd = FindWindowW(L"Shell_TrayWnd", NULL); + return hTrayWnd && PostMessageW(hTrayWnd, WM_COMMAND, cmd, 0) ? S_OK : S_FALSE; +} + CShellDispatch::CShellDispatch() { } @@ -54,7 +63,7 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::get_Parent(IDispatch **ppid) HRESULT VariantToIdlist(VARIANT* var, LPITEMIDLIST* idlist) { - HRESULT hr = S_FALSE; + HRESULT hr = E_FAIL; if(V_VT(var) == VT_I4) { hr = SHGetSpecialFolderLocation(NULL, V_I4(var), idlist); @@ -83,7 +92,7 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::NameSpace(VARIANT vDir, Folder **ppsdf CComHeapPtr idlist; hr = VariantToIdlist(&vDir, &idlist); - if (!SUCCEEDED(hr) || !idlist) + if (!SUCCEEDED(hr)) return S_FALSE; return ShellObjectCreatorInit(static_cast(idlist), IID_PPV_ARG(Folder, ppsdf)); @@ -100,13 +109,14 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::BrowseForFolder(LONG Hwnd, BSTR Title, *ppsdf = NULL; - if (!is_optional_argument(&RootFolder)) - FIXME("root folder is ignored\n"); - BROWSEINFOW bi = { 0 }; bi.hwndOwner = reinterpret_cast(LongToHandle(Hwnd)); bi.lpszTitle = Title; - bi.ulFlags = Options; + bi.ulFlags = Options | BIF_NEWDIALOGSTYLE; + + CComHeapPtr idlist; + if (!is_optional_argument(&RootFolder) && VariantToIdlist(&RootFolder, &idlist) == S_OK) + bi.pidlRoot = idlist; CComHeapPtr selection; selection.Attach(SHBrowseForFolderW(&bi)); @@ -119,58 +129,82 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::BrowseForFolder(LONG Hwnd, BSTR Title, HRESULT STDMETHODCALLTYPE CShellDispatch::Windows(IDispatch **ppid) { TRACE("(%p, %p)\n", this, ppid); + return CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER, IID_PPV_ARG(IDispatch, ppid)); +} - *ppid = NULL; +static HRESULT SHELL_OpenFolder(LPCITEMIDLIST pidl, LPCWSTR verb = NULL) +{ + SHELLEXECUTEINFOW sei; + sei.cbSize = sizeof(sei); + sei.fMask = SEE_MASK_IDLIST | SEE_MASK_FLAG_DDEWAIT; + sei.hwnd = NULL; + sei.lpVerb = verb; + sei.lpFile = sei.lpParameters = sei.lpDirectory = NULL; + sei.nShow = SW_SHOW; + sei.lpIDList = const_cast(pidl); + if (ShellExecuteExW(&sei)) + return S_OK; + DWORD error = GetLastError(); + return HRESULT_FROM_WIN32(error); +} - return E_NOTIMPL; +static HRESULT OpenFolder(VARIANT vDir, LPCWSTR verb = NULL) +{ + CComHeapPtr idlist; + HRESULT hr = VariantToIdlist(&vDir, &idlist); + if (hr == S_OK && SHELL_OpenFolder(idlist, verb) == S_OK) + { + return S_OK; + } + return S_FALSE; } HRESULT STDMETHODCALLTYPE CShellDispatch::Open(VARIANT vDir) { TRACE("(%p, %s)\n", this, debugstr_variant(&vDir)); - return E_NOTIMPL; + return OpenFolder(vDir); } HRESULT STDMETHODCALLTYPE CShellDispatch::Explore(VARIANT vDir) { TRACE("(%p, %s)\n", this, debugstr_variant(&vDir)); - return E_NOTIMPL; + return OpenFolder(vDir, L"explore"); } HRESULT STDMETHODCALLTYPE CShellDispatch::MinimizeAll() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_MINIMIZE_ALL); } HRESULT STDMETHODCALLTYPE CShellDispatch::UndoMinimizeALL() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_RESTORE_ALL); } HRESULT STDMETHODCALLTYPE CShellDispatch::FileRun() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_RUN_DIALOG); } HRESULT STDMETHODCALLTYPE CShellDispatch::CascadeWindows() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_CASCADE); } HRESULT STDMETHODCALLTYPE CShellDispatch::TileVertically() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_TILE_V); } HRESULT STDMETHODCALLTYPE CShellDispatch::TileHorizontally() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_TILE_H); } HRESULT STDMETHODCALLTYPE CShellDispatch::ShutdownWindows() @@ -194,31 +228,31 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::EjectPC() HRESULT STDMETHODCALLTYPE CShellDispatch::SetTime() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_DATE_AND_TIME); } HRESULT STDMETHODCALLTYPE CShellDispatch::TrayProperties() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_TASKBAR_PROPERTIES); } HRESULT STDMETHODCALLTYPE CShellDispatch::Help() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_HELP_AND_SUPPORT); } HRESULT STDMETHODCALLTYPE CShellDispatch::FindFiles() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_SEARCH_FILES); } HRESULT STDMETHODCALLTYPE CShellDispatch::FindComputer() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(TRAYCMD_SEARCH_COMPUTERS); } HRESULT STDMETHODCALLTYPE CShellDispatch::RefreshMenu() @@ -230,7 +264,7 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::RefreshMenu() HRESULT STDMETHODCALLTYPE CShellDispatch::ControlPanelItem(BSTR szDir) { TRACE("(%p, %ls)\n", this, szDir); - return E_NOTIMPL; + return SHRunControlPanel(szDir, NULL) ? S_OK : S_FALSE; } @@ -238,7 +272,11 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::ControlPanelItem(BSTR szDir) HRESULT STDMETHODCALLTYPE CShellDispatch::IsRestricted(BSTR group, BSTR restriction, LONG *value) { TRACE("(%p, %ls, %ls, %p)\n", this, group, restriction, value); - return E_NOTIMPL; + + if (!value) + return E_INVALIDARG; + *value = SHGetRestriction(NULL, group, restriction); + return S_OK; } HRESULT STDMETHODCALLTYPE CShellDispatch::ShellExecute(BSTR file, VARIANT v_args, VARIANT v_dir, VARIANT v_op, VARIANT v_show) @@ -281,19 +319,109 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::FindPrinter(BSTR name, BSTR location, HRESULT STDMETHODCALLTYPE CShellDispatch::GetSystemInformation(BSTR name, VARIANT *ret) { TRACE("(%p, %ls, %p)\n", this, name, ret); + + if (!lstrcmpiW(name, L"ProcessorArchitecture")) + { + SYSTEM_INFO si; + GetSystemInfo(&si); + V_VT(ret) = VT_I4; + V_UI4(ret) = si.wProcessorArchitecture; + return S_OK; + } + + UINT os = 0; + if (!lstrcmpiW(name, L"IsOS_Professional")) + os = OS_PROFESSIONAL; + else if (!lstrcmpiW(name, L"IsOS_Personal")) + os = OS_HOME; + else if (!lstrcmpiW(name, L"IsOS_DomainMember")) + os = OS_DOMAINMEMBER; + if (os) + { + V_VT(ret) = VT_BOOL; + V_BOOL(ret) = IsOS(os) ? VARIANT_TRUE : VARIANT_FALSE; + return S_OK; + } + return E_NOTIMPL; } +static HRESULT OpenServiceHelper(LPCWSTR name, DWORD access, SC_HANDLE &hSvc) +{ + hSvc = NULL; + SC_HANDLE hScm = OpenSCManagerW(NULL, NULL, SC_MANAGER_CONNECT); + if (!hScm) + return HResultFromWin32(GetLastError()); + HRESULT hr = S_OK; + hSvc = OpenServiceW(hScm, name, access); + if (!hSvc) + hr = HResultFromWin32(GetLastError()); + CloseServiceHandle(hScm); + return hr; +} + +static HRESULT SHELL32_ControlService(BSTR name, DWORD control, VARIANT &persistent) +{ + BOOL persist = V_VT(&persistent) == VT_BOOL && V_BOOL(&persistent); + DWORD access = persist ? SERVICE_CHANGE_CONFIG : 0; + switch (control) + { + case 0: + access |= SERVICE_START; + break; + case SERVICE_CONTROL_STOP: + access |= SERVICE_STOP; + break; + } + SC_HANDLE hSvc; + HRESULT hr = OpenServiceHelper(name, access, hSvc); + if (SUCCEEDED(hr)) + { + BOOL success; + DWORD error, already; + if (control) + { + SERVICE_STATUS ss; + success = ControlService(hSvc, control, &ss); + error = GetLastError(); + already = ERROR_SERVICE_NOT_ACTIVE; + } + else + { + success = StartService(hSvc, 0, NULL); + error = GetLastError(); + already = ERROR_SERVICE_ALREADY_RUNNING; + } + hr = success ? S_OK : error == already ? S_FALSE : HRESULT_FROM_WIN32(error); + if (SUCCEEDED(hr) && persist) + { + ChangeServiceConfigW(hSvc, SERVICE_NO_CHANGE, + control ? SERVICE_DEMAND_START : SERVICE_AUTO_START, + SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + } + CloseServiceHandle(hSvc); + } + return hr; +} + HRESULT STDMETHODCALLTYPE CShellDispatch::ServiceStart(BSTR service, VARIANT persistent, VARIANT *ret) { TRACE("(%p, %ls, %s, %p)\n", this, service, wine_dbgstr_variant(&persistent), ret); - return E_NOTIMPL; + + HRESULT hr = SHELL32_ControlService(service, 0, persistent); + V_VT(ret) = VT_BOOL; + V_BOOL(ret) = (hr == S_OK ? VARIANT_TRUE : VARIANT_FALSE); + return hr == S_OK ? S_OK : S_FALSE; } HRESULT STDMETHODCALLTYPE CShellDispatch::ServiceStop(BSTR service, VARIANT persistent, VARIANT *ret) { TRACE("(%p, %ls, %s, %p)\n", this, service, wine_dbgstr_variant(&persistent), ret); - return E_NOTIMPL; + + HRESULT hr = SHELL32_ControlService(service, SERVICE_CONTROL_STOP, persistent); + V_VT(ret) = VT_BOOL; + V_BOOL(ret) = (hr == S_OK ? VARIANT_TRUE : VARIANT_FALSE); + return hr == S_OK ? S_OK : S_FALSE; } HRESULT STDMETHODCALLTYPE CShellDispatch::IsServiceRunning(BSTR name, VARIANT *running) @@ -343,7 +471,14 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::IsServiceRunning(BSTR name, VARIANT *r HRESULT STDMETHODCALLTYPE CShellDispatch::CanStartStopService(BSTR service, VARIANT *ret) { TRACE("(%p, %ls, %p)\n", this, service, ret); - return E_NOTIMPL; + + SC_HANDLE hSvc; + HRESULT hr = OpenServiceHelper(service, SERVICE_START | SERVICE_STOP, hSvc); + if (SUCCEEDED(hr)) + CloseServiceHandle(hSvc); + V_VT(ret) = VT_BOOL; + V_BOOL(ret) = (hr == S_OK ? VARIANT_TRUE : VARIANT_FALSE); + return S_OK; } HRESULT STDMETHODCALLTYPE CShellDispatch::ShowBrowserBar(BSTR clsid, VARIANT show, VARIANT *ret) @@ -357,25 +492,29 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::ShowBrowserBar(BSTR clsid, VARIANT sho HRESULT STDMETHODCALLTYPE CShellDispatch::AddToRecent(VARIANT file, BSTR category) { TRACE("(%p, %s, %ls)\n", this, wine_dbgstr_variant(&file), category); - return E_NOTIMPL; + + CComHeapPtr idlist; + HRESULT hr = VariantToIdlist(&file, &idlist); + if (hr == S_OK) + SHAddToRecentDocs(SHARD_PIDL, (LPCITEMIDLIST)idlist); + else + hr = S_FALSE; + return hr; } // *** IShellDispatch4 methods *** +#define IDM_SECURITY 5001 // From base/shell/explorer/resource.h HRESULT STDMETHODCALLTYPE CShellDispatch::WindowsSecurity() { TRACE("(%p)\n", this); - return E_NOTIMPL; + return PostTrayCommand(IDM_SECURITY); } HRESULT STDMETHODCALLTYPE CShellDispatch::ToggleDesktop() { TRACE("(%p)\n", this); - - HWND hTrayWnd = FindWindowW(L"Shell_TrayWnd", NULL); - PostMessageW(hTrayWnd, WM_COMMAND, TRAYCMD_TOGGLE_DESKTOP, 0); - - return S_OK; + return PostTrayCommand(TRAYCMD_TOGGLE_DESKTOP); } HRESULT STDMETHODCALLTYPE CShellDispatch::ExplorerPolicy(BSTR policy, VARIANT *value) @@ -384,10 +523,35 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::ExplorerPolicy(BSTR policy, VARIANT *v return E_NOTIMPL; } +#ifndef SSF_SERVERADMINUI +#define SSF_SERVERADMINUI 4 +#endif HRESULT STDMETHODCALLTYPE CShellDispatch::GetSetting(LONG setting, VARIANT_BOOL *result) { TRACE("(%p, %lu, %p)\n", this, setting, result); - return E_NOTIMPL; + + int flag = -1; + SHELLSTATE ss = { }; + SHGetSetSettings(&ss, setting, FALSE); + switch (setting) + { + case SSF_SHOWALLOBJECTS: flag = ss.fShowAllObjects; break; + case SSF_SHOWEXTENSIONS: flag = ss.fShowExtensions; break; + case SSF_SHOWSYSFILES: flag = ss.fShowSysFiles; break; + case SSF_DONTPRETTYPATH: flag = ss.fDontPrettyPath; break; + case SSF_NOCONFIRMRECYCLE: flag = ss.fNoConfirmRecycle; break; + case SSF_SHOWSUPERHIDDEN: flag = ss.fShowSuperHidden; break; + case SSF_SEPPROCESS: flag = ss.fSepProcess; break; + case SSF_STARTPANELON: flag = ss.fStartPanelOn; break; + case SSF_SERVERADMINUI: flag = IsOS(OS_SERVERADMINUI); break; + } + if (flag >= 0) + { + *result = flag ? VARIANT_TRUE : VARIANT_FALSE; + return S_OK; + } + + return S_FALSE; } diff --git a/dll/win32/shell32/folders/CDesktopFolder.cpp b/dll/win32/shell32/folders/CDesktopFolder.cpp index 37dc4cb6118..54f3206ef5c 100644 --- a/dll/win32/shell32/folders/CDesktopFolder.cpp +++ b/dll/win32/shell32/folders/CDesktopFolder.cpp @@ -24,6 +24,118 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); +STDMETHODIMP +CDesktopFolder::ShellUrlParseDisplayName( + HWND hwndOwner, + LPBC pbc, + LPOLESTR lpszDisplayName, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes) +{ + LPWSTR pch; + INT cch, csidl; + HRESULT hr = HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND); + PARSEDURLW ParsedURL = { sizeof(ParsedURL) }; + + ::ParseURLW(lpszDisplayName, &ParsedURL); + + DWORD attrs = (pdwAttributes ? *pdwAttributes : 0) | SFGAO_STREAM; + if (ParsedURL.pszSuffix[0] == L':' && ParsedURL.pszSuffix[1] == L':') // It begins from "::" + { + CComPtr psfDesktop; + hr = SHGetDesktopFolder(&psfDesktop); + if (SUCCEEDED(hr)) + { + CComPtr pBindCtx; + hr = ::CreateBindCtx(0, &pBindCtx); + if (SUCCEEDED(hr)) + { + BIND_OPTS BindOps = { sizeof(BindOps) }; + BindOps.grfMode = STGM_CREATE; + pBindCtx->SetBindOptions(&BindOps); + hr = psfDesktop->ParseDisplayName(hwndOwner, pBindCtx, + (LPWSTR)ParsedURL.pszSuffix, + pchEaten, ppidl, &attrs); + } + } + } + else + { + csidl = Shell_ParseSpecialFolder(ParsedURL.pszSuffix, &pch, &cch); + if (csidl == -1) + { + ERR("\n"); + return hr; + } + + CComHeapPtr pidlLocation; + hr = SHGetFolderLocation(hwndOwner, (csidl | CSIDL_FLAG_CREATE), NULL, 0, &pidlLocation); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + if (pch && *pch) + { + CComPtr psfFolder; + hr = SHBindToObject(NULL, pidlLocation, IID_PPV_ARG(IShellFolder, &psfFolder)); + if (SUCCEEDED(hr)) + { + CComHeapPtr pidlNew; + hr = psfFolder->ParseDisplayName(hwndOwner, pbc, pch, pchEaten, &pidlNew, &attrs); + if (SUCCEEDED(hr)) + { + hr = SHILCombine(pidlLocation, pidlNew, ppidl); + if (pchEaten) + *pchEaten += cch; + } + } + } + else + { + if (attrs) + hr = SHGetNameAndFlagsW(pidlLocation, 0, NULL, 0, &attrs); + + if (SUCCEEDED(hr)) + { + if (pchEaten) + *pchEaten = cch; + *ppidl = pidlLocation.Detach(); + } + } + } + + // FIXME: SHWindowsPolicy + if (SUCCEEDED(hr) && (attrs & SFGAO_STREAM) && + !BindCtx_ContainsObject(pbc, STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS)) + { + ILFree(*ppidl); + *ppidl = NULL; + hr = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); + } + + if (pdwAttributes) + *pdwAttributes = attrs; + + // FIXME: SHWindowsPolicy + if (FAILED(hr) && !Shell_FailForceReturn(hr)) + hr = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); + + return hr; +} + +STDMETHODIMP +CDesktopFolder::HttpUrlParseDisplayName( + HWND hwndOwner, + LPBC pbc, + LPOLESTR lpszDisplayName, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes) +{ + FIXME("\n"); + return E_NOTIMPL; // FIXME +} + /* CDesktopFolder should create two file system folders internally, one representing the user's desktop folder, and the other representing the common desktop folder. It should @@ -270,6 +382,116 @@ HRESULT CDesktopFolder::_GetSFFromPidl(LPCITEMIDLIST pidl, IShellFolder2** psf) return m_DesktopFSFolder->QueryInterface(IID_PPV_ARG(IShellFolder2, psf)); } +HRESULT CDesktopFolder::_ParseDisplayNameByParent( + HWND hwndOwner, + LPBC pbc, + LPOLESTR lpszDisplayName, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes) +{ + if (pchEaten) + *pchEaten = 0; + + CComHeapPtr pidlParent; + BOOL bPath = FALSE; + WCHAR wch = *lpszDisplayName; + if (((L'A' <= wch && wch <= L'Z') || (L'a' <= wch && wch <= L'z')) && + (lpszDisplayName[1] == L':')) + { + // "C:..." + bPath = TRUE; + pidlParent.Attach(_ILCreateMyComputer()); + } + else if (PathIsUNCW(lpszDisplayName)) // "\\\\..." + { + bPath = TRUE; + pidlParent.Attach(_ILCreateNetwork()); + } + + if (bPath) + { + if (!pidlParent) + return E_OUTOFMEMORY; + + CComPtr pParentFolder; + SHBindToObject(NULL, pidlParent, IID_PPV_ARG(IShellFolder, &pParentFolder)); + + CComHeapPtr pidlChild; + HRESULT hr = pParentFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, + pchEaten, &pidlChild, pdwAttributes); + if (FAILED(hr)) + return hr; + + *ppidl = ILCombine(pidlParent, pidlChild); + return (*ppidl ? S_OK : E_OUTOFMEMORY); + } + + if (!UrlIsW(lpszDisplayName, URLIS_URL) || SHSkipJunctionBinding(pbc, NULL)) + return E_INVALIDARG; + + // Now lpszDisplayName is a URL + PARSEDURLW ParsedURL = { sizeof(ParsedURL) }; + ::ParseURLW(lpszDisplayName, &ParsedURL); + + switch (ParsedURL.nScheme) + { + case URL_SCHEME_FILE: // "file:..." + { + // Convert "file://..." to a normal path + WCHAR szPath[MAX_PATH]; + DWORD cchPath = _countof(szPath); + HRESULT hr = PathCreateFromUrlW(lpszDisplayName, szPath, &cchPath, 0); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + CComPtr psfDesktop; + hr = SHGetDesktopFolder(&psfDesktop); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + // Parse by desktop folder + return psfDesktop->ParseDisplayName(hwndOwner, pbc, szPath, pchEaten, ppidl, + pdwAttributes); + } + case URL_SCHEME_HTTP: // "http:..." + case URL_SCHEME_HTTPS: // "https:..." + { + if (!BindCtx_ContainsObject(pbc, STR_PARSE_PREFER_FOLDER_BROWSING)) + return E_INVALIDARG; + + return HttpUrlParseDisplayName(hwndOwner, + pbc, + lpszDisplayName, + pchEaten, + ppidl, + pdwAttributes); + } + case URL_SCHEME_SHELL: // "shell:..." + { + return ShellUrlParseDisplayName(hwndOwner, + pbc, + lpszDisplayName, + pchEaten, + ppidl, + pdwAttributes); + } + case URL_SCHEME_MSSHELLROOTED: + case URL_SCHEME_MSSHELLIDLIST: + { + WARN("We don't support 'ms-shell-rooted:' and 'ms-shell-idlist:' schemes\n"); + break; + } + default: + { + TRACE("Scheme: %u\n", ParsedURL.nScheme); + break; + } + } + + return E_INVALIDARG; +} + /************************************************************************** * CDesktopFolder::ParseDisplayName * @@ -285,11 +507,6 @@ HRESULT WINAPI CDesktopFolder::ParseDisplayName( PIDLIST_RELATIVE *ppidl, DWORD *pdwAttributes) { - LPCWSTR szNext = NULL; - LPITEMIDLIST pidlTemp = NULL; - PARSEDURLW urldata; - HRESULT hr = S_OK; - TRACE ("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this, hwndOwner, pbc, lpszDisplayName, debugstr_w(lpszDisplayName), pchEaten, ppidl, pdwAttributes); @@ -302,78 +519,85 @@ HRESULT WINAPI CDesktopFolder::ParseDisplayName( if (!lpszDisplayName) return E_INVALIDARG; - if (pchEaten) - *pchEaten = 0; /* strange but like the original */ - - urldata.cbSize = sizeof(urldata); - - if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':') + if (!*lpszDisplayName) { - return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes); + *ppidl = _ILCreateMyComputer(); + return (*ppidl ? S_OK : E_OUTOFMEMORY); } - else if (PathGetDriveNumberW (lpszDisplayName) >= 0) - { - /* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */ - pidlTemp = _ILCreateMyComputer (); - szNext = lpszDisplayName; - } - else if (PathIsUNCW(lpszDisplayName)) - { - pidlTemp = _ILCreateNetwork(); - szNext = lpszDisplayName; - } - else if( (pidlTemp = SHELL32_CreatePidlFromBindCtx(pbc, lpszDisplayName)) ) + + if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':') { - *ppidl = pidlTemp; - return S_OK; + return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, + pdwAttributes); } - else if (SUCCEEDED(ParseURLW(lpszDisplayName, &urldata))) + + HRESULT hr = _ParseDisplayNameByParent(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, + pdwAttributes); + if (SUCCEEDED(hr)) { - if (urldata.nScheme == URL_SCHEME_SHELL) /* handle shell: urls */ + if (BindCtx_ContainsObject(pbc, STR_PARSE_TRANSLATE_ALIASES)) { - TRACE ("-- shell url: %s\n", debugstr_w(urldata.pszSuffix)); - pidlTemp = _ILCreateGuidFromStrW(urldata.pszSuffix + 2); + CComHeapPtr pidlAlias; + if (SUCCEEDED(Shell_TranslateIDListAlias(*ppidl, NULL, &pidlAlias, 0xFFFF))) + { + ILFree(*ppidl); + *ppidl = pidlAlias.Detach(); + } } - else - return IEParseDisplayNameWithBCW(CP_ACP, lpszDisplayName, pbc, ppidl); + + TRACE ("(%p)->(-- ret=0x%08x)\n", this, hr); + return hr; } - else - { - if (*lpszDisplayName) - { - /* it's a filesystem path on the desktop. Let a FSFolder parse it */ - hr = m_DesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes); - if (SUCCEEDED(hr)) - return hr; - return m_SharedDesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes); - } - else - pidlTemp = _ILCreateMyComputer(); + if (Shell_FailForceReturn(hr)) + return hr; + + if (BindCtx_ContainsObject(pbc, STR_DONT_PARSE_RELATIVE)) + return E_INVALIDARG; - szNext = NULL; + if (SHIsFileSysBindCtx(pbc, NULL) == S_OK) + return hr; + + BIND_OPTS BindOps = { sizeof(BindOps) }; + BOOL bCreate = FALSE; + if (pbc && SUCCEEDED(pbc->GetBindOptions(&BindOps)) && (BindOps.grfMode & STGM_CREATE)) + { + BindOps.grfMode &= ~STGM_CREATE; + bCreate = TRUE; + pbc->SetBindOptions(&BindOps); } - if (SUCCEEDED(hr) && pidlTemp) + if (m_DesktopFSFolder) { - if (szNext && *szNext) - { - hr = SHELL32_ParseNextElement(this, hwndOwner, pbc, - &pidlTemp, (LPOLESTR) szNext, pchEaten, pdwAttributes); - } - else - { - if (pdwAttributes && *pdwAttributes) - { - GetAttributesOf(1, &pidlTemp, pdwAttributes); - } - } + hr = m_DesktopFSFolder->ParseDisplayName(hwndOwner, + pbc, + lpszDisplayName, + pchEaten, + ppidl, + pdwAttributes); } - if (SUCCEEDED(hr)) - *ppidl = pidlTemp; - else - *ppidl = NULL; + if (FAILED(hr) && m_SharedDesktopFSFolder) + { + hr = m_SharedDesktopFSFolder->ParseDisplayName(hwndOwner, + pbc, + lpszDisplayName, + pchEaten, + ppidl, + pdwAttributes); + } + + if (FAILED(hr) && bCreate && m_DesktopFSFolder) + { + BindOps.grfMode |= STGM_CREATE; + pbc->SetBindOptions(&BindOps); + hr = m_DesktopFSFolder->ParseDisplayName(hwndOwner, + pbc, + lpszDisplayName, + pchEaten, + ppidl, + pdwAttributes); + } TRACE ("(%p)->(-- ret=0x%08x)\n", this, hr); diff --git a/dll/win32/shell32/folders/CDesktopFolder.h b/dll/win32/shell32/folders/CDesktopFolder.h index 4d77cb672f8..7a9b498d240 100644 --- a/dll/win32/shell32/folders/CDesktopFolder.h +++ b/dll/win32/shell32/folders/CDesktopFolder.h @@ -42,6 +42,32 @@ class CDesktopFolder : HRESULT _GetSFFromPidl(LPCITEMIDLIST pidl, IShellFolder2** psf); + HRESULT _ParseDisplayNameByParent( + HWND hwndOwner, + LPBC pbc, + LPOLESTR pszPath, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes); + + STDMETHODIMP + ShellUrlParseDisplayName( + HWND hwndOwner, + LPBC pbc, + LPOLESTR lpszDisplayName, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes); + + STDMETHODIMP + HttpUrlParseDisplayName( + HWND hwndOwner, + LPBC pbc, + LPOLESTR lpszDisplayName, + DWORD *pchEaten, + PIDLIST_RELATIVE *ppidl, + DWORD *pdwAttributes); + public: CDesktopFolder(); ~CDesktopFolder(); diff --git a/dll/win32/shell32/folders/CDrivesFolder.cpp b/dll/win32/shell32/folders/CDrivesFolder.cpp index ba1a3d10160..04d0c080814 100644 --- a/dll/win32/shell32/folders/CDrivesFolder.cpp +++ b/dll/win32/shell32/folders/CDrivesFolder.cpp @@ -4,7 +4,7 @@ * Copyright 1997 Marcus Meissner * Copyright 1998, 1999, 2002 Juergen Schmied * Copyright 2009 Andrew Hill - * Copyright 2017-2019 Katayama Hirofumi MZ + * Copyright 2017-2024 Katayama Hirofumi MZ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -658,67 +658,70 @@ HRESULT WINAPI CDrivesFolder::ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLEST DWORD * pchEaten, PIDLIST_RELATIVE * ppidl, DWORD * pdwAttributes) { HRESULT hr = E_INVALIDARG; - LPCWSTR szNext = NULL; - LPITEMIDLIST pidlTemp = NULL; - INT nDriveNumber; TRACE("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this, hwndOwner, pbc, lpszDisplayName, debugstr_w (lpszDisplayName), pchEaten, ppidl, pdwAttributes); - *ppidl = 0; - if (pchEaten) - *pchEaten = 0; /* strange but like the original */ + if (!ppidl) + return hr; - /* handle CLSID paths */ - if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':') - return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes); + *ppidl = NULL; - nDriveNumber = PathGetDriveNumberW(lpszDisplayName); - if (nDriveNumber < 0) - return E_INVALIDARG; + if (!lpszDisplayName) + return hr; - /* check if this drive actually exists */ - if ((::GetLogicalDrives() & (1 << nDriveNumber)) == 0) + /* handle CLSID paths */ + if (lpszDisplayName[0] == L':' && lpszDisplayName[1] == L':') { - return HRESULT_FROM_WIN32(ERROR_INVALID_DRIVE); + return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, + pdwAttributes); } - pidlTemp = _ILCreateDrive(lpszDisplayName); - if (!pidlTemp) - return E_OUTOFMEMORY; - - if (lpszDisplayName[2] == L'\\') + if (lpszDisplayName[0] && + ((L'A' <= lpszDisplayName[0] && lpszDisplayName[0] <= L'Z') || + (L'a' <= lpszDisplayName[0] && lpszDisplayName[0] <= L'z')) && + lpszDisplayName[1] == L':' && lpszDisplayName[2] == L'\\') { - szNext = &lpszDisplayName[3]; - } + // "C:\..." + WCHAR szRoot[8]; + PathBuildRootW(szRoot, ((*lpszDisplayName - 1) & 0x1F)); - if (szNext && *szNext) - { - hr = SHELL32_ParseNextElement (this, hwndOwner, pbc, &pidlTemp, - (LPOLESTR) szNext, pchEaten, pdwAttributes); - } - else - { - hr = S_OK; - if (pdwAttributes && *pdwAttributes) + if (SHIsFileSysBindCtx(pbc, NULL) != S_OK && !(BindCtx_GetMode(pbc, 0) & STGM_CREATE)) { - if (_ILIsDrive(pidlTemp)) - { - *pdwAttributes &= dwDriveAttributes; + if (::GetDriveType(szRoot) == DRIVE_NO_ROOT_DIR) + return HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND); + } - if (_ILGetDriveType(pidlTemp) == DRIVE_CDROM) - *pdwAttributes &= ~SFGAO_CANRENAME; // CD-ROM drive cannot rename - } - else if (_ILIsSpecialFolder(pidlTemp)) - m_regFolder->GetAttributesOf(1, &pidlTemp, pdwAttributes); - else - ERR("Got unknown pidl\n"); + CComHeapPtr pidlTemp(_ILCreateDrive(szRoot)); + if (!pidlTemp) + return E_OUTOFMEMORY; + + if (lpszDisplayName[3]) + { + CComPtr pChildFolder; + hr = BindToObject(pidlTemp, pbc, IID_PPV_ARG(IShellFolder, &pChildFolder)); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + ULONG chEaten; + CComHeapPtr pidlChild; + hr = pChildFolder->ParseDisplayName(hwndOwner, pbc, &lpszDisplayName[3], &chEaten, + &pidlChild, pdwAttributes); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + hr = SHILCombine(pidlTemp, pidlChild, ppidl); + } + else + { + *ppidl = pidlTemp.Detach(); + if (pdwAttributes && *pdwAttributes) + GetAttributesOf(1, (PCUITEMID_CHILD_ARRAY)ppidl, pdwAttributes); + hr = S_OK; } } - *ppidl = pidlTemp; - TRACE("(%p)->(-- ret=0x%08x)\n", this, hr); return hr; diff --git a/dll/win32/shell32/folders/CFSFolder.cpp b/dll/win32/shell32/folders/CFSFolder.cpp index 978b0d440fd..f6546dc23bf 100644 --- a/dll/win32/shell32/folders/CFSFolder.cpp +++ b/dll/win32/shell32/folders/CFSFolder.cpp @@ -4,7 +4,7 @@ * PURPOSE: file system folder * COPYRIGHT: Copyright 1997 Marcus Meissner * Copyright 1998, 1999, 2002 Juergen Schmied - * Copyright 2019 Katayama Hirofumi MZ + * Copyright 2019-2024 Katayama Hirofumi MZ * Copyright 2020 Mark Jansen (mark.jansen@reactos.org) */ @@ -539,46 +539,6 @@ static const shvheader GenericSFHeader[] = { #define GENERICSHELLVIEWCOLUMNS 6 -/************************************************************************** - * SHELL32_CreatePidlFromBindCtx [internal] - * - * If the caller bound File System Bind Data, assume it is the - * find data for the path. - * This allows binding of paths that don't exist. - */ -LPITEMIDLIST SHELL32_CreatePidlFromBindCtx(IBindCtx *pbc, LPCWSTR path) -{ - IFileSystemBindData *fsbd = NULL; - LPITEMIDLIST pidl = NULL; - IUnknown *param = NULL; - WIN32_FIND_DATAW wfd; - HRESULT r; - - TRACE("%p %s\n", pbc, debugstr_w(path)); - - if (!pbc) - return NULL; - - /* see if the caller bound File System Bind Data */ - r = pbc->GetObjectParam((LPOLESTR)STR_FILE_SYS_BIND_DATA, ¶m); - if (FAILED(r)) - return NULL; - - r = param->QueryInterface(IID_PPV_ARG(IFileSystemBindData,&fsbd)); - if (SUCCEEDED(r)) - { - r = fsbd->GetFindData(&wfd); - if (SUCCEEDED(r)) - { - lstrcpynW(&wfd.cFileName[0], path, MAX_PATH); - pidl = _ILCreateFromFindDataW(&wfd); - } - fsbd->Release(); - } - - return pidl; -} - static HRESULT SHELL32_GetCLSIDForDirectory(LPCWSTR pwszDir, LPCWSTR KeyName, CLSID* pclsidFolder) { WCHAR wszCLSIDValue[CHARS_IN_GUID]; @@ -705,6 +665,91 @@ HRESULT SHELL32_GetFSItemAttributes(IShellFolder * psf, LPCITEMIDLIST pidl, LPDW return S_OK; } +HRESULT CFSFolder::_ParseSimple( + _In_ LPOLESTR lpszDisplayName, + _Out_ WIN32_FIND_DATAW *pFind, + _Out_ LPITEMIDLIST *ppidl) +{ + HRESULT hr; + LPWSTR pchNext = lpszDisplayName; + + *ppidl = NULL; + + LPITEMIDLIST pidl; + for (hr = S_OK; SUCCEEDED(hr); hr = SHILAppend(pidl, ppidl)) + { + hr = Shell_NextElement(&pchNext, pFind->cFileName, _countof(pFind->cFileName), FALSE); + if (hr != S_OK) + break; + + if (pchNext) + pFind->dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY; + + pidl = _ILCreateFromFindDataW(pFind); + if (!pidl) + { + hr = E_OUTOFMEMORY; + break; + } + } + + if (SUCCEEDED(hr)) + return S_OK; + + if (*ppidl) + { + ILFree(*ppidl); + *ppidl = NULL; + } + + return hr; +} + +BOOL CFSFolder::_GetFindDataFromName(_In_ LPCWSTR pszName, _Out_ WIN32_FIND_DATAW *pFind) +{ + WCHAR szPath[MAX_PATH]; + lstrcpynW(szPath, m_sPathTarget, _countof(szPath)); + PathAppendW(szPath, pszName); + + HANDLE hFind = ::FindFirstFileW(szPath, pFind); + if (hFind == INVALID_HANDLE_VALUE) + return FALSE; + + ::FindClose(hFind); + return TRUE; +} + +HRESULT CFSFolder::_CreateIDListFromName(LPCWSTR pszName, DWORD attrs, IBindCtx *pbc, LPITEMIDLIST *ppidl) +{ + *ppidl = NULL; + + if (PathIsDosDevice(pszName)) + return HRESULT_FROM_WIN32(ERROR_BAD_DEVICE); + + WIN32_FIND_DATAW FindData = { 0 }; + + HRESULT hr = S_OK; + if (attrs == ULONG_MAX) // Invalid attributes + { + if (!_GetFindDataFromName(pszName, &FindData)) + hr = HRESULT_FROM_WIN32(::GetLastError()); + } + else // Pretend as an item of attrs + { + StringCchCopyW(FindData.cFileName, _countof(FindData.cFileName), pszName); + FindData.dwFileAttributes = attrs; + } + + if (FAILED(hr)) + return hr; + + *ppidl = _ILCreateFromFindDataW(&FindData); + if (!*ppidl) + return E_OUTOFMEMORY; + + return S_OK; +} + /************************************************************************** * CFSFolder::ParseDisplayName {SHELL32} * @@ -736,13 +781,6 @@ HRESULT WINAPI CFSFolder::ParseDisplayName(HWND hwndOwner, DWORD *pchEaten, PIDLIST_RELATIVE *ppidl, DWORD *pdwAttributes) { - HRESULT hr = E_INVALIDARG; - LPCWSTR szNext = NULL; - WCHAR szElement[MAX_PATH]; - WCHAR szPath[MAX_PATH]; - LPITEMIDLIST pidlTemp = NULL; - DWORD len; - TRACE ("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this, hwndOwner, pbc, lpszDisplayName, debugstr_w (lpszDisplayName), pchEaten, ppidl, pdwAttributes); @@ -750,68 +788,85 @@ HRESULT WINAPI CFSFolder::ParseDisplayName(HWND hwndOwner, if (!ppidl) return E_INVALIDARG; + *ppidl = NULL; + if (!lpszDisplayName) - { - *ppidl = NULL; return E_INVALIDARG; - } - *ppidl = NULL; - - if (pchEaten) - *pchEaten = 0; /* strange but like the original */ + HRESULT hr; + WIN32_FIND_DATAW FindData; + if (SHIsFileSysBindCtx(pbc, &FindData) == S_OK) + { + CComHeapPtr pidlTemp; + hr = _ParseSimple(lpszDisplayName, &FindData, &pidlTemp); + if (SUCCEEDED(hr) && pdwAttributes && *pdwAttributes) + { + LPCITEMIDLIST pidlLast = ILFindLastID(pidlTemp); + GetAttributesOf(1, &pidlLast, pdwAttributes); + } - if (*lpszDisplayName) + if (SUCCEEDED(hr)) + *ppidl = pidlTemp.Detach(); + } + else { - /* get the next element */ - szNext = GetNextElementW (lpszDisplayName, szElement, MAX_PATH); + INT cchElement = lstrlenW(lpszDisplayName) + 1; + LPWSTR pszElement = (LPWSTR)alloca(cchElement * sizeof(WCHAR)); + LPWSTR pchNext = lpszDisplayName; + hr = Shell_NextElement(&pchNext, pszElement, cchElement, TRUE); + if (FAILED(hr)) + return hr; - pidlTemp = SHELL32_CreatePidlFromBindCtx(pbc, szElement); - if (pidlTemp != NULL) + hr = _CreateIDListFromName(pszElement, ULONG_MAX, pbc, ppidl); + if (FAILED(hr)) { - /* We are creating an id list without ensuring that the items exist. - If we have a remaining path, this must be a folder. - We have to do it now because it is set as a file by default */ - if (szNext) + if (pchNext) // Is there the next element? { - pidlTemp->mkid.abID[0] = PT_FOLDER; + // pszElement seems like a directory + if (_GetFindDataFromName(pszElement, &FindData) && + (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) + { + hr = _CreateIDListFromName(pszElement, FILE_ATTRIBUTE_DIRECTORY, pbc, ppidl); + } + } + else + { + // pszElement seems like a non-directory + if ((hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) || + hr == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)) && + (BindCtx_GetMode(pbc, 0) & STGM_CREATE)) + { + // Pretend like a normal file + hr = _CreateIDListFromName(pszElement, FILE_ATTRIBUTE_NORMAL, pbc, ppidl); + } } - hr = S_OK; - } - else - { - /* build the full pathname to the element */ - lstrcpynW(szPath, m_sPathTarget, MAX_PATH - 1); - PathAddBackslashW(szPath); - len = wcslen(szPath); - lstrcpynW(szPath + len, szElement, MAX_PATH - len); - - /* get the pidl */ - hr = _ILCreateFromPathW(szPath, &pidlTemp); } if (SUCCEEDED(hr)) { - if (szNext && *szNext) + if (pchNext) // Is there next? { - /* try to analyse the next element */ - hr = SHELL32_ParseNextElement(this, hwndOwner, pbc, - &pidlTemp, (LPOLESTR) szNext, pchEaten, pdwAttributes); + CComPtr psfChild; + hr = BindToObject(*ppidl, pbc, IID_PPV_ARG(IShellFolder, &psfChild)); + if (FAILED(hr)) + return hr; + + DWORD chEaten; + CComHeapPtr pidlChild; + hr = psfChild->ParseDisplayName(hwndOwner, pbc, pchNext, &chEaten, &pidlChild, + pdwAttributes); + + // Append pidlChild to ppidl + if (SUCCEEDED(hr)) + hr = SHILAppend(pidlChild.Detach(), ppidl); } - else + else if (pdwAttributes && *pdwAttributes) { - /* it's the last element */ - if (pdwAttributes && *pdwAttributes) - hr = SHELL32_GetFSItemAttributes(this, pidlTemp, pdwAttributes); + GetAttributesOf(1, (LPCITEMIDLIST*)ppidl, pdwAttributes); } } } - if (SUCCEEDED(hr)) - *ppidl = pidlTemp; - else - *ppidl = NULL; - TRACE("(%p)->(-- pidl=%p ret=0x%08x)\n", this, ppidl ? *ppidl : 0, hr); return hr; diff --git a/dll/win32/shell32/folders/CFSFolder.h b/dll/win32/shell32/folders/CFSFolder.h index 924dd9bd893..8d29c4d3479 100644 --- a/dll/win32/shell32/folders/CFSFolder.h +++ b/dll/win32/shell32/folders/CFSFolder.h @@ -33,6 +33,14 @@ class CFSFolder : HRESULT _CreateExtensionUIObject(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppvOut); HRESULT _GetDropTarget(LPCITEMIDLIST pidl, LPVOID *ppvOut); HRESULT _GetIconHandler(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppvOut); + + HRESULT _ParseSimple( + _In_ LPOLESTR lpszDisplayName, + _Out_ WIN32_FIND_DATAW *pFind, + _Out_ LPITEMIDLIST *ppidl); + BOOL _GetFindDataFromName(_In_ LPCWSTR pszName, _Out_ WIN32_FIND_DATAW *pFind); + HRESULT _CreateIDListFromName(LPCWSTR pszName, DWORD attrs, IBindCtx *pbc, LPITEMIDLIST *ppidl); + public: CFSFolder(); ~CFSFolder(); diff --git a/dll/win32/shell32/folders/CRegFolder.cpp b/dll/win32/shell32/folders/CRegFolder.cpp index 5965039c147..57e0dc9aa3a 100644 --- a/dll/win32/shell32/folders/CRegFolder.cpp +++ b/dll/win32/shell32/folders/CRegFolder.cpp @@ -313,6 +313,8 @@ class CRegFolder : CComHeapPtr m_pidlRoot; HRESULT GetGuidItemAttributes (LPCITEMIDLIST pidl, LPDWORD pdwAttributes); + BOOL _IsInNameSpace(_In_ LPCITEMIDLIST pidl); + public: CRegFolder(); ~CRegFolder(); @@ -401,46 +403,76 @@ HRESULT CRegFolder::GetGuidItemAttributes (LPCITEMIDLIST pidl, LPDWORD pdwAttrib return S_OK; } +BOOL CRegFolder::_IsInNameSpace(_In_ LPCITEMIDLIST pidl) +{ + CLSID clsid = *_ILGetGUIDPointer(pidl); + if (IsEqualGUID(clsid, CLSID_Printers)) + return TRUE; + if (IsEqualGUID(clsid, CLSID_ConnectionFolder)) + return TRUE; + FIXME("Check registry\n"); + return TRUE; +} + HRESULT WINAPI CRegFolder::ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, ULONG *pchEaten, PIDLIST_RELATIVE *ppidl, ULONG *pdwAttributes) { - LPITEMIDLIST pidl; - - if (!lpszDisplayName || !ppidl) + if (!ppidl) return E_INVALIDARG; - *ppidl = 0; + *ppidl = NULL; - if (pchEaten) - *pchEaten = 0; + if (!lpszDisplayName) + return E_INVALIDARG; - UINT cch = wcslen(lpszDisplayName); - if (cch < 39 || lpszDisplayName[0] != L':' || lpszDisplayName[1] != L':') + if (lpszDisplayName[0] != L':' || lpszDisplayName[1] != L':') + { + FIXME("What should we do here?\n"); return E_FAIL; + } - pidl = _ILCreateGuidFromStrW(lpszDisplayName + 2); - if (pidl == NULL) + LPWSTR pch, pchNextOfComma = NULL; + for (pch = &lpszDisplayName[2]; *pch && *pch != L'\\'; ++pch) + { + if (*pch == L',' && !pchNextOfComma) + pchNextOfComma = pch + 1; + } + + CLSID clsid; + if (!GUIDFromStringW(&lpszDisplayName[2], &clsid)) + return CO_E_CLASSSTRING; + + if (pchNextOfComma) + { + FIXME("Delegate folder\n"); return E_FAIL; + } + + CComHeapPtr pidlTemp(_ILCreateGuid(PT_GUID, clsid)); + if (!pidlTemp) + return E_OUTOFMEMORY; - if (cch < 41) + if (!_IsInNameSpace(pidlTemp) && !(BindCtx_GetMode(pbc, 0) & STGM_CREATE)) + return E_INVALIDARG; + + *ppidl = pidlTemp.Detach(); + + if (!*pch) { - *ppidl = pidl; if (pdwAttributes && *pdwAttributes) - { GetGuidItemAttributes(*ppidl, pdwAttributes); - } + + return S_OK; } - else + + HRESULT hr = SHELL32_ParseNextElement(this, hwndOwner, pbc, ppidl, pch + 1, pchEaten, + pdwAttributes); + if (FAILED(hr)) { - HRESULT hr = SHELL32_ParseNextElement(this, hwndOwner, pbc, &pidl, lpszDisplayName + 41, pchEaten, pdwAttributes); - if (SUCCEEDED(hr)) - { - *ppidl = pidl; - } - return hr; + ILFree(*ppidl); + *ppidl = NULL; } - - return S_OK; + return hr; } HRESULT WINAPI CRegFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index 8ecaf242f28..87774b632d0 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -10,16 +10,16 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT MENU_001 MENUEX BEGIN - MENUITEM "Picto&grame mari", FCIDM_SHVIEW_BIGICON - MENUITEM "&Pictograme mici", FCIDM_SHVIEW_SMALLICON - MENUITEM "&Listă", FCIDM_SHVIEW_LISTVIEW + MENUITEM "Dal&e", FCIDM_SHVIEW_BIGICON + MENUITEM "&Miniaturi", FCIDM_SHVIEW_SMALLICON + MENUITEM "&Listare", FCIDM_SHVIEW_LISTVIEW MENUITEM "&Detalii", FCIDM_SHVIEW_REPORTVIEW MENUITEM "", -1, MFT_SEPARATOR - POPUP "&Ordonare după", FCIDM_SHVIEW_ARRANGE + POPUP "Aranjare &Miniaturi după", FCIDM_SHVIEW_ARRANGE BEGIN MENUITEM "", -1, MFT_SEPARATOR - MENUITEM "Criteriu &automat", FCIDM_SHVIEW_AUTOARRANGE - MENUITEM "Aliniază la &grilă", FCIDM_SHVIEW_ALIGNTOGRID + MENUITEM "&Aranjare automată", FCIDM_SHVIEW_AUTOARRANGE + MENUITEM "Aliniere la &grilă", FCIDM_SHVIEW_ALIGNTOGRID END END @@ -28,42 +28,42 @@ MENU_002 MENUEX BEGIN POPUP "" BEGIN - POPUP "&Afișare", FCIDM_SHVIEW_VIEW + POPUP "&Vizualizare", FCIDM_SHVIEW_VIEW BEGIN - MENUITEM "D&ale", FCIDM_SHVIEW_BIGICON - MENUITEM "&Pictograme", FCIDM_SHVIEW_SMALLICON - MENUITEM "&Listă", FCIDM_SHVIEW_LISTVIEW - MENUITEM "&Detailii", FCIDM_SHVIEW_REPORTVIEW + MENUITEM "Dal&e", FCIDM_SHVIEW_BIGICON + MENUITEM "&Miniaturi", FCIDM_SHVIEW_SMALLICON + MENUITEM "&Listare", FCIDM_SHVIEW_LISTVIEW + MENUITEM "&Detalii", FCIDM_SHVIEW_REPORTVIEW END MENUITEM "", -1, MFT_SEPARATOR - POPUP "&Ordonare după", FCIDM_SHVIEW_ARRANGE + POPUP "Aranjare &Miniaturi după", FCIDM_SHVIEW_ARRANGE BEGIN MENUITEM "", -1, MFT_SEPARATOR - MENUITEM "Criteriu &automat", FCIDM_SHVIEW_AUTOARRANGE - MENUITEM "Aliniază la &grilă", FCIDM_SHVIEW_ALIGNTOGRID + MENUITEM "&Aranjare automată", FCIDM_SHVIEW_AUTOARRANGE + MENUITEM "Aliniere la &grilă", FCIDM_SHVIEW_ALIGNTOGRID END - MENUITEM "Împ&rospătează", FCIDM_SHVIEW_REFRESH + MENUITEM "&Reîmprospătare", FCIDM_SHVIEW_REFRESH MENUITEM "", -1, MFT_SEPARATOR - MENUITEM "&Lipește", FCIDM_SHVIEW_INSERT - MENUITEM "Lipește ca sc&urtătură", FCIDM_SHVIEW_INSERTLINK + MENUITEM "&Lipire", FCIDM_SHVIEW_INSERT + MENUITEM "Lipire c&omandă rapidă", FCIDM_SHVIEW_INSERTLINK END END /* menubar EDIT menu */ MENU_003 MENU BEGIN - MENUITEM "&Revocare\tCtrl+Z", FCIDM_SHVIEW_UNDO + MENUITEM "&Anulare\tCtrl+Z", FCIDM_SHVIEW_UNDO MENUITEM SEPARATOR - MENUITEM "&Decupează\tCtrl+X", FCIDM_SHVIEW_CUT - MENUITEM "&Copie\tCtrl+C", FCIDM_SHVIEW_COPY - MENUITEM "&Lipește\tCtrl+V", FCIDM_SHVIEW_INSERT - MENUITEM "Lipește sc&urtătură", FCIDM_SHVIEW_INSERTLINK + MENUITEM "&Decupare\tCtrl+X", FCIDM_SHVIEW_CUT + MENUITEM "&Copiere\tCtrl+C", FCIDM_SHVIEW_COPY + MENUITEM "&Lipire\tCtrl+V", FCIDM_SHVIEW_INSERT + MENUITEM "Lipire c&omandă rapidă", FCIDM_SHVIEW_INSERTLINK MENUITEM SEPARATOR - MENUITEM "Copi&ere în folderul…", FCIDM_SHVIEW_COPYTO - MENUITEM "&Mutare în folderul…", FCIDM_SHVIEW_MOVETO + MENUITEM "Copiere în &folderul…", FCIDM_SHVIEW_COPYTO + MENUITEM "M&utare în folderul…", FCIDM_SHVIEW_MOVETO MENUITEM SEPARATOR - MENUITEM "Selectează t&ot\tCtrl+A", FCIDM_SHVIEW_SELECTALL - MENUITEM "Inversea&ză selecția", FCIDM_SHVIEW_INVERTSELECTION + MENUITEM "Selectare &totală\tCtrl+A", FCIDM_SHVIEW_SELECTALL + MENUITEM "In&versare selecţie", FCIDM_SHVIEW_INVERTSELECTION END /* shellview item menu */ @@ -72,15 +72,15 @@ BEGIN POPUP "" BEGIN MENUITEM SEPARATOR - MENUITEM "&Decupează", IDM_CUT - MENUITEM "&Copiază", IDM_COPY - MENUITEM "&Lipește", IDM_INSERT + MENUITEM "&Decupare", IDM_CUT + MENUITEM "&Copiere", IDM_COPY + MENUITEM "&Lipire", IDM_INSERT MENUITEM SEPARATOR - MENUITEM "Crează sc&urtătură", IDM_CREATELINK - MENUITEM "Șt&erge", IDM_DELETE - MENUITEM "&Redenumește", IDM_RENAME + MENUITEM "Creare c&omandă rapidă", IDM_CREATELINK + MENUITEM "Ş&tergere", IDM_DELETE + MENUITEM "Redenu&mire", IDM_RENAME MENUITEM SEPARATOR - MENUITEM "&Proprietăți", IDM_PROPERTIES + MENUITEM "Prop&rietăţi", IDM_PROPERTIES END END @@ -88,8 +88,8 @@ IDM_DRAGFILE MENU BEGIN POPUP "" BEGIN - MENUITEM "&Copiază aici", IDM_COPYHERE - MENUITEM "&Mută aici", IDM_MOVEHERE + MENUITEM "&Copiere în acest loc", IDM_COPYHERE + MENUITEM "&Mutare în acest loc", IDM_MOVEHERE MENUITEM "Crea&ză scurtătură aici", IDM_LINKHERE MENUITEM SEPARATOR MENUITEM "Revocare", 0 @@ -101,8 +101,8 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Specificare folder" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "Con&firmă", 1, 60, 175, 60, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Re&vocare", 2, 125, 175, 60, 15, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "OK", 1, 60, 175, 60, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Revocare", 2, 125, 175, 60, 15, WS_GROUP | WS_TABSTOP LTEXT "", IDC_BROWSE_FOR_FOLDER_TITLE, 4, 4, 180, 24 LTEXT "", IDC_BROWSE_FOR_FOLDER_STATUS, 4, 25, 180, 12 CONTROL "", IDC_BROWSE_FOR_FOLDER_TREEVIEW, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | WS_BORDER | WS_TABSTOP, 4, 40, 180, 120 @@ -118,8 +118,8 @@ BEGIN EDITTEXT IDC_BROWSE_FOR_FOLDER_FOLDER_TEXT, 12, 38, 194, 14, ES_AUTOHSCROLL | WS_GROUP CONTROL "", IDC_BROWSE_FOR_FOLDER_TREEVIEW, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_EDITLABELS | TVS_LINESATROOT | TVS_HASLINES | TVS_HASBUTTONS | WS_BORDER | WS_TABSTOP, 12, 58, 194, 105 PUSHBUTTON "&Creare folder nou", IDC_BROWSE_FOR_FOLDER_NEW_FOLDER, 12, 174, 77, 14, WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "Con&firmă", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Re&vocare", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "OK", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Revocare", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP END IDD_YESTOALL_MSGBOX DIALOGEX 200, 100, 280, 90 @@ -127,10 +127,10 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "Mesaj" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "D&a", IDYES, 34, 69, 53, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "Da pentru t&oate", IDC_YESTOALL, 92, 69, 65, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "N&u", IDNO, 162, 69, 53, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "A&nulează", IDCANCEL, 220, 69, 53, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "&Da", IDYES, 34, 69, 53, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "D&a pentru tot", IDC_YESTOALL, 92, 69, 65, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Nu", IDNO, 162, 69, 53, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Revocare", IDCANCEL, 220, 69, 53, 14, WS_GROUP | WS_TABSTOP ICON "", IDC_YESTOALL_ICON, 10, 10, 16, 16 LTEXT "", IDC_YESTOALL_MESSAGE, 40, 10, 238, 52, 0 END @@ -147,13 +147,13 @@ BEGIN LTEXT COPYRIGHT_YEAR, IDC_STATIC, 103, 75, 17, 10 LTEXT " Echipa Windivs\0", IDC_STATIC, 120, 75, 53, 10 LTEXT "", IDC_ABOUT_OTHERSTUFF, 35, 90, 180, 20, SS_NOPREFIX - LTEXT "Versiune înregistrată pentru:", IDC_ABOUT_REG_TO, 35, 115, 180, 10 + LTEXT "Această versiune ReactOS este înregistrată pentru:", IDC_ABOUT_REG_TO, 35, 115, 180, 10 LTEXT "", IDC_ABOUT_REG_USERNAME, 45, 125, 180, 10, SS_NOPREFIX LTEXT "", IDC_ABOUT_REG_ORGNAME, 45, 135, 180, 10, SS_NOPREFIX LTEXT "", IDC_STATIC, 35, 147, 235, 1, SS_ETCHEDHORZ LTEXT "Memorie fizică instalată:", IDC_STATIC, 35, 152, 130, 10 LTEXT "", IDC_ABOUT_PHYSMEM, 167, 152, 88, 10 - DEFPUSHBUTTON "Î&nchide", IDOK, 220, 178, 50, 14 + DEFPUSHBUTTON "OK", IDOK, 220, 178, 50, 14 PUSHBUTTON "", IDC_ABOUT_AUTHORS, 5, 178, 70, 14 END @@ -171,71 +171,71 @@ CAPTION "Executare" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_RUNDLG_ICON, 7, 11, 18, 20, WS_VISIBLE - LTEXT "Tastați numele unui program, folder, document, sau a unei resurse de Internet, în vederea deschiderii în Windivs.", 12289, 36, 4, 185, 26 - LTEXT "&Deschide:", 12305, 7, 39, 33, 10 + LTEXT "Tastaţi numele unui program, folder, document sau al unei resurse Internet, iar ReactOS îl va deschide.", 12289, 36, 4, 185, 26 + LTEXT "&Deschidere:", 12305, 7, 39, 33, 10 CONTROL "", IDC_RUNDLG_EDITPATH, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_AUTOHSCROLL | CBS_DROPDOWN, 41, 37, 179, 100 - DEFPUSHBUTTON "Con&firmă", IDOK, 36, 70, 59, 14, WS_TABSTOP - PUSHBUTTON "A&nulează", IDCANCEL, 98, 70, 59, 14, WS_TABSTOP - PUSHBUTTON "Spe&cificare…", 12288, 160, 70, 59, 14, WS_TABSTOP + DEFPUSHBUTTON "OK", IDOK, 36, 70, 59, 14, WS_TABSTOP + PUSHBUTTON "Revocare", IDCANCEL, 98, 70, 59, 14, WS_TABSTOP + PUSHBUTTON "&Răsfoire…", 12288, 160, 70, 59, 14, WS_TABSTOP END IDD_SHORTCUT_PROPERTIES DIALOGEX 0, 0, 235, 215 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Scurtătură" +CAPTION "Comandă rapidă" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", IDC_SHORTCUT_ICON, 8, 8, 21, 20, WS_VISIBLE EDITTEXT IDC_SHORTCUT_TEXT, 49, 10, 180, 14, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "", -1, 8, 31, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE - LTEXT "Tipul destinației:", IDC_SHORTCUT_TYPE, 8, 38, 68, 10 + LTEXT "Tip ţintă:", IDC_SHORTCUT_TYPE, 8, 38, 68, 10 EDITTEXT IDC_SHORTCUT_TYPE_EDIT, 79, 37, 150, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "Locația destinației:", IDC_SHORTCUT_LOCATION, 8, 55, 68, 10 + LTEXT "Amplasare ţintă:", IDC_SHORTCUT_LOCATION, 8, 55, 68, 10 EDITTEXT IDC_SHORTCUT_LOCATION_EDIT, 79, 53, 150, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "D&estinația:", IDC_SHORTCUT_TARGET, 8, 71, 68, 10 + LTEXT "Ţi&ntă:", IDC_SHORTCUT_TARGET, 8, 71, 68, 10 EDITTEXT IDC_SHORTCUT_TARGET_TEXT, 79, 69, 150, 14, ES_AUTOHSCROLL LTEXT "", -1, 8, 88, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE - LTEXT "C&alea de lansare:", IDC_SHORTCUT_START_IN, 8, 98, 68, 10 + LTEXT "&Start în:", IDC_SHORTCUT_START_IN, 8, 98, 68, 10 EDITTEXT IDC_SHORTCUT_START_IN_EDIT, 79, 96, 150, 14, ES_AUTOHSCROLL - LTEXT "Taste &rapide:", IDC_SHORTCUT_KEY, 8, 117, 68, 10 + LTEXT "&Tastă de comandă rapidă:", IDC_SHORTCUT_KEY, 8, 117, 68, 10 CONTROL "", IDC_SHORTCUT_KEY_HOTKEY, "msctls_hotkey32", WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP, 79, 115, 150, 14 - LTEXT "E&xecuție:", IDC_SHORTCUT_RUN, 8, 136, 68, 10 + LTEXT "E&xecutare:", IDC_SHORTCUT_RUN, 8, 136, 68, 10 COMBOBOX IDC_SHORTCUT_RUN_COMBO, 79, 134, 150, 54, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP - LTEXT "&Comentariu:", IDC_SHORTCUT_COMMENT, 8, 154, 68, 10 + LTEXT "C&omentariu:", IDC_SHORTCUT_COMMENT, 8, 154, 68, 10 EDITTEXT IDC_SHORTCUT_COMMENT_EDIT, 79, 152, 150, 14, ES_AUTOHSCROLL - PUSHBUTTON "&Locul țintei", IDC_SHORTCUT_FIND, 9, 172, 70, 14, ES_LEFT - PUSHBUTTON "&Pictogramă…", IDC_SHORTCUT_CHANGE_ICON, 84, 172, 70, 14, ES_LEFT - PUSHBUTTON "A&vansate…", IDC_SHORTCUT_ADVANCED, 159, 172, 70, 14, ES_LEFT + PUSHBUTTON "&Găsire ţintă…", IDC_SHORTCUT_FIND, 9, 172, 70, 14, ES_LEFT + PUSHBUTTON "Sc&himbare pictogramă…", IDC_SHORTCUT_CHANGE_ICON, 84, 172, 70, 14, ES_LEFT + PUSHBUTTON "&Complex", IDC_SHORTCUT_ADVANCED, 159, 172, 70, 14, ES_LEFT END IDD_SHORTCUT_EXTENDED_PROPERTIES DIALOGEX 0, 0, 230, 150 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION -CAPTION "Proprietăți avansate" +CAPTION "Proprietăţi complexe" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON IDI_SHELL_EXTENDED_PROPERTIES, IDI_SHELL_EXTENDED_PROPERTIES, 5, 5, 21, 20, SS_ICON - LTEXT "Specificați proprietăți avansate pentru această scurtătură.", -1, 5, 30, 210, 10 - CHECKBOX "Execută sub o i&dentitate explicită", IDC_SHORTEX_RUN_DIFFERENT, 25, 50, 150, 10 - LTEXT "Această opțiune vă permite execuția scurtăturii sub autoritatea unui alt utilizator sau continuarea folosirii scurtăturii în mod securizat, protejând astfel calculatorul de activități neautorizate.", -1, 50, 60, 175, 40 - CHECKBOX "Execută în sp&ațiu de memorie separat", IDC_SHORTEX_RUN_SEPARATE, 25, 100, 150, 10, WS_DISABLED - PUSHBUTTON "Con&firmă", IDOK, 63, 124, 50, 15, WS_VISIBLE - PUSHBUTTON "A&nulează", IDCANCEL, 120, 124, 50, 15, WS_VISIBLE + LTEXT "Alegeţi proprietăţile complexe pentru această comandă rapidă.", -1, 5, 30, 210, 10 + CHECKBOX "&Executare cu alte acreditări", IDC_SHORTEX_RUN_DIFFERENT, 25, 50, 150, 10 + LTEXT "Această opţiune permite executarea acestei comenzi rapide ca alt utilizator sau continuarea folosirii contului personal, protejând totodată computerul şi datele faţă de programe neautorizate.", -1, 50, 60, 175, 40 + CHECKBOX "Executare într-un spaţiu separat de &memorie", IDC_SHORTEX_RUN_SEPARATE, 25, 100, 150, 10, WS_DISABLED + PUSHBUTTON "OK", IDOK, 63, 124, 50, 15, WS_VISIBLE + PUSHBUTTON "Revocare", IDCANCEL, 120, 124, 50, 15, WS_VISIBLE END IDD_FOLDER_PROPERTIES DIALOGEX 0, 0, 240, 205 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Generale" +CAPTION "General" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", 14000, 16, 7, 32, 32, WS_VISIBLE EDITTEXT 14001, 58, 9, 170, 14, ES_LEFT - LTEXT "Tip fișier:", 14004, 8, 40, 55, 10 + LTEXT "Tip fişier:", 14004, 8, 40, 55, 10 CONTROL "Folder", 14005, "edit", ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL, 58, 40, 170, 10 LTEXT "", -1, 8, 31, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE - LTEXT "Locație:", 14008, 8, 56, 55, 10 + LTEXT "Amplasare:", 14008, 8, 56, 55, 10 EDITTEXT 14009, 58, 56, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP LTEXT "Dimensiune:", 14010, 8, 72, 55, 10 EDITTEXT 14011, 58, 72, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "Spațiu ocupat:", 140101, 8, 88, 55, 10 + LTEXT "Dimensiune pe disc:", 140101, 8, 88, 55, 10 EDITTEXT 14012, 58, 88, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Conține:", 14026, 8, 104, 55, 10 EDITTEXT 14027, 58, 104, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL @@ -244,15 +244,15 @@ BEGIN EDITTEXT 14015, 58, 128, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "", -1, 8, 144, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE LTEXT "Atribute:", 14020, 8, 152, 46, 10 - AUTOCHECKBOX "Nem&odificabil", 14021, 58, 151, 68, 10 + AUTOCHECKBOX "&Doar în citire", 14021, 58, 151, 68, 10 AUTOCHECKBOX "Asc&uns", 14022, 126, 151, 55, 10 - AUTOCHECKBOX "Ar&hivabil", 14023, 181, 151, 59, 10 - PUSHBUTTON "A&vansate…", 14028, 158, 170, 70, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + AUTOCHECKBOX "Ar&hivare", 14023, 181, 151, 59, 10 + PUSHBUTTON "&Complex", 14028, 158, 170, 70, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP END IDD_FILE_PROPERTIES DIALOGEX 0, 0, 240, 205 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Generale" +CAPTION "General" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", 14000, 16, 7, 32, 32, WS_VISIBLE @@ -260,16 +260,16 @@ BEGIN LTEXT "", -1, 8, 29, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE LTEXT "Tip fișier:", 14004, 8, 35, 50, 10 CONTROL "Fișier", 14005, "edit", ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP, 58, 35, 170, 10 - LTEXT "Va fi deschis cu:", 14006, 8, 53, 50, 10 + LTEXT "Se deschide cu:", 14006, 8, 53, 50, 10 ICON "", 14025, 58, 52, 11, 10, NOT WS_VISIBLE - PUSHBUTTON "Spe&cificare…", 14024, 168, 50, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Răsfoire…", 14024, 168, 50, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP EDITTEXT 14007, 58, 53, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP LTEXT "", -1, 8, 68, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE - LTEXT "Locație:", 14008, 8, 75, 45, 10 + LTEXT "Amplasare:", 14008, 8, 75, 45, 10 EDITTEXT 14009, 58, 75, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP LTEXT "Dimensiune:", 14010, 8, 91, 45, 10 EDITTEXT 14011, 58, 91, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - LTEXT "Spațiu ocupat:", 140112, 8, 107, 55, 10 + LTEXT "Dimensiune pe disc:", 140112, 8, 107, 55, 10 EDITTEXT 14012, 58, 107, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "", -1, 8, 123, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE LTEXT "Creat:", 14014, 8, 131, 45, 10 @@ -280,10 +280,10 @@ BEGIN EDITTEXT 14019, 58, 163, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "", -1, 8, 179, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE LTEXT "Atribute:", 14020, 8, 189, 45, 10 - AUTOCHECKBOX "Nem&odificabil", 14021, 58, 188, 67, 10 - AUTOCHECKBOX "Asc&uns", 14022, 126, 188, 50, 10 - AUTOCHECKBOX "Ar&hivabil", 14023, 181, 188, 49, 10 - PUSHBUTTON "A&vansate…", 14028, 180, 185, 50, 15, WS_TABSTOP + AUTOCHECKBOX "&Doar în citire", 14021, 58, 188, 67, 10 + AUTOCHECKBOX "&Ascuns", 14022, 126, 188, 50, 10 + AUTOCHECKBOX "Ar&hivare", 14023, 181, 188, 49, 10 + PUSHBUTTON "&Complex", 14028, 180, 185, 50, 15, WS_TABSTOP END IDD_FILE_VERSION DIALOGEX 0, 0, 235, 215 @@ -291,13 +291,13 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION CAPTION "Versiune" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Versiune fișier:", 14000, 10, 10, 55, 10 + LTEXT "Versiune fişier:", 14000, 10, 10, 55, 10 EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Descriere:", 14002, 10, 27, 45, 10 EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Drept de autor:", 14004, 10, 46, 66, 10 EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER - GROUPBOX "Alte informații", 14006, 6, 70, 222, 115 + GROUPBOX "Alte informaţii despre versiune", 14006, 6, 70, 222, 115 LTEXT "Nume element:", 14007, 13, 82, 50, 10 LTEXT "Valoare:", 14008, 112, 82, 45, 10 LISTBOX 14009, 12, 94, 94, 83, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY @@ -306,7 +306,7 @@ END IDD_DRIVE_PROPERTIES DIALOGEX 0, 0, 240, 220 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Generale" +CAPTION "General" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", 14016, 10, 9, 32, 32, WS_VISIBLE @@ -318,11 +318,11 @@ BEGIN EDITTEXT 14002, 110, 51, 120, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "", -1, 8, 64, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE CONTROL "", 14013, "Static", SS_SUNKEN | SS_OWNERDRAW, 8, 69, 10, 10 - LTEXT "Spațiu folosit:", -1, 25, 69, 80, 10 + LTEXT "Spaţiu utilizat:", -1, 25, 69, 80, 10 EDITTEXT 14003, 110, 69, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL EDITTEXT 14004, 197, 69, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL CONTROL "", 14014, "Static", SS_SUNKEN | SS_OWNERDRAW, 8, 82, 10, 10 - LTEXT "Spațiu liber:", -1, 25, 82, 80, 10 + LTEXT "Spaţiu liber:", -1, 25, 82, 80, 10 EDITTEXT 14005, 110, 82, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL EDITTEXT 14006, 197, 82, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "", -1, 8, 97, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE @@ -330,11 +330,11 @@ BEGIN EDITTEXT 14007, 110, 103, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL EDITTEXT 14008, 197, 103, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL CONTROL "", 14015, "Static", SS_OWNERDRAW, 70, 116, 100, 40 - CTEXT "Partiție %c", 14009, 95, 162, 50, 10 - PUSHBUTTON "Curățare &disc…", 14010, 160, 159, 70, 15, WS_TABSTOP + CTEXT "Disc %c", 14009, 95, 162, 50, 10 + PUSHBUTTON "Curăţare &disc", 14010, 160, 159, 70, 15, WS_TABSTOP LTEXT "", -1, 8, 176, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE - CHECKBOX "&Comprimă volumul pentru a economisi spațiu", 14011, 8, 190, 222, 10, WS_DISABLED - CHECKBOX "Permite „Serviciu de inde&xare” pentru accelerarea căutărilor", 14012, 8, 204, 222, 10, WS_DISABLED + CHECKBOX "&Comprimare unitate pentru economie de spaţiu-disc", 14011, 8, 190, 222, 10, WS_DISABLED + CHECKBOX "Serviciul de Indexare va &indexa acest disc pentru căutare rapidă", 14012, 8, 204, 222, 10, WS_DISABLED END IDD_DRIVE_TOOLS DIALOGEX 0, 0, 240, 220 @@ -342,23 +342,23 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION CAPTION "Instrumente" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Verificarea erorilor", -1, 5, 5, 230, 60 + GROUPBOX "Verificare erori", -1, 5, 5, 230, 60 ICON IDI_SHELL_TOOLS_CHKDSK, IDC_STATIC, 13, 25, 21, 20 - LTEXT "Această opțiune va verifica acest volum pentru eventuale erori în sistemul de fișiere.", -1, 40, 25, 180, 20 - PUSHBUTTON "&Verificare…", 14000, 130, 45, 90, 15, WS_TABSTOP - GROUPBOX "&Defragmentare", -1, 5, 65, 230, 60 + LTEXT "Această opţiune va verifica volumul pentru erori.", -1, 40, 25, 180, 20 + PUSHBUTTON "&Verificare acum…", 14000, 130, 45, 90, 15, WS_TABSTOP + GROUPBOX "Defragmentare", -1, 5, 65, 230, 60 ICON IDI_SHELL_TOOLS_DEFRAG, IDC_STATIC, 13, 85, 21, 20 - LTEXT "Această opțiune presupune ordonarea fragmentelor de fișiere pentru a îmbunătăți viteza de citire.", -1, 40, 85, 180, 20 - PUSHBUTTON "Defragmentare…", 14001, 130, 105, 90, 15, WS_TABSTOP + LTEXT "Această opţiune va defragmenta fişierele din volum.", -1, 40, 85, 180, 20 + PUSHBUTTON "&Defragmentare acum…", 14001, 130, 105, 90, 15, WS_TABSTOP GROUPBOX "Copie de rezervă", -1, 5, 130, 230, 60 ICON IDI_SHELL_TOOLS_BACKUP, IDC_STATIC, 13, 150, 21, 20 - LTEXT "Această opțiune va crea o copie de siguranță a fișierelor de pe această partiție.", -1, 40, 150, 180, 20 - PUSHBUTTON "&Creare rezervă…", 14002, 130, 170, 90, 15, WS_TABSTOP + LTEXT "Această opţiune va efectua copii de rezervă ale fişierelor din volum.", -1, 40, 150, 180, 20 + PUSHBUTTON "&Copiere de rezervă acum…", 14002, 130, 170, 90, 15, WS_TABSTOP END IDD_DRIVE_HARDWARE DIALOGEX 0, 0, 240, 220 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Componente fizice" +CAPTION "Hardware" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN END @@ -368,33 +368,33 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION CAPTION "Executare ca" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Ce cont de utilizator este folosit pentru a executa?", -1, 10, 20, 220, 20 - CHECKBOX "Utilizator curent: %s", 14000, 10, 45, 150, 10 - LTEXT "Protejare calculator de activiăți neautorizate", -1, 25, 57, 200, 10, WS_DISABLED - CHECKBOX "Această opțiune vă poate proteja calculatorul de activități care pot fi dăunătoare dar poate de asemenea duce la funcționarea incorectă a programului.", 14001, 25, 68, 200, 30, WS_DISABLED | BS_MULTILINE - CHECKBOX "Următorul utilizator:", 14002, 10, 100, 90, 10 + LTEXT "Ce cont de utilizator alegeţi pentru a executa acest program?", -1, 10, 20, 220, 20 + CHECKBOX "Utilizatorul &curent (%s)", 14000, 10, 45, 150, 10 + LTEXT "&Protejează computerul şi datele faţă de programe neautorizate", -1, 25, 57, 200, 10, WS_DISABLED + CHECKBOX "Această opţiune poate preveni daunele provocate computerului şi datelor personale de către viruşi, dar selectarea acesteia poate cauza funcţionarea necorespunzătoare a programului.", 14001, 25, 68, 200, 30, WS_DISABLED | BS_MULTILINE + CHECKBOX "&Acest utilizator:", 14002, 10, 100, 90, 10 LTEXT "Nume utilizator:", -1, 20, 118, 54, 10 COMBOBOX 14003, 75, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP PUSHBUTTON "…", 14004, 180, 115, 30, 14, WS_TABSTOP LTEXT "Parolă:", -1, 20, 143, 53, 10 EDITTEXT 14005, 74, 140, 100, 14, ES_LEFT | WS_BORDER | WS_GROUP PUSHBUTTON "…", 14006, 180, 140, 30, 14, WS_TABSTOP - PUSHBUTTON "Con&firmă", 14007, 57, 170, 60, 14, WS_TABSTOP - PUSHBUTTON "A&nulează", 14008, 122, 170, 60, 14, WS_TABSTOP + PUSHBUTTON "OK", 14007, 57, 170, 60, 14, WS_TABSTOP + PUSHBUTTON "Revocare", 14008, 122, 170, 60, 14, WS_TABSTOP END IDD_RECYCLE_BIN_PROPERTIES DIALOGEX 0, 0, 240, 190 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Generale" +CAPTION "General" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN CONTROL "", 14000, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 10, 10, 220, 50 GROUPBOX "Preferințe pentru locația aleasă", -1, 10, 72, 220, 70 RADIOBUTTON "&Dimensiune specificată:", 14001, 20, 90, 88, 10, WS_TABSTOP EDITTEXT 14002, 116, 103, 50, 14, WS_TABSTOP | ES_NUMBER - LTEXT "Dimensiune maximă (Mo):", -1, 20, 105, 84, 10 - RADIOBUTTON "N&u arunca fișierele în Coșul de reciclare, elimină-le direct.", 14003, 20, 117, 200, 20, BS_MULTILINE | WS_TABSTOP - AUTOCHECKBOX "Afișea&ză dialog de confirmare pentru ștergeri", 14004, 20, 155, 140, 10, WS_TABSTOP + LTEXT "Dimensiune maximă (MO):", -1, 20, 105, 84, 10 + RADIOBUTTON "&Nu se aruncă fișierele în Coșul de reciclare, elimină-le direct.", 14003, 20, 117, 200, 20, BS_MULTILINE | WS_TABSTOP + AUTOCHECKBOX "&Afișare casetă de dialog pentru ștergeri", 14004, 20, 155, 140, 10, WS_TABSTOP END IDD_OPEN_WITH DIALOGEX 0, 0, 264, 256 @@ -403,100 +403,100 @@ CAPTION "Deschidere cu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON IDI_SHELL_OPEN_WITH, -1, 8, 12, 21, 20 - LTEXT "Specificați programul folosit pentru deschiderea acestui fișier:", -1, 44, 12, 211, 10 + LTEXT "Alegeţi programul pentru a deschide acest fişier:", -1, 44, 12, 211, 10 LTEXT "Fișier: ", 14001, 44, 25, 188, 20 GROUPBOX "&Programe", -1, 7, 42, 249, 187 - CONTROL "Programs", 14002, WC_TREEVIEW, WS_BORDER | WS_TABSTOP | TVS_SHOWSELALWAYS, 16 ,57, 230, 130 - AUTOCHECKBOX "&Utilizează întotdeauna această aplicație", 14003, 16, 193, 232, 10 - PUSHBUTTON "Spe&cificare…", 14004, 188, 207, 60, 14 - DEFPUSHBUTTON "Con&firmă", IDOK, 150, 236, 50, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 206, 236, 50, 14 + CONTROL "Programe", 14002, WC_TREEVIEW, WS_BORDER | WS_TABSTOP | TVS_SHOWSELALWAYS, 16 ,57, 230, 130 + AUTOCHECKBOX "Pr&ogramul selectat va deschide întotdeauna acest tip de fişier", 14003, 16, 193, 232, 10 + PUSHBUTTON "&Răsfoire…", 14004, 188, 207, 60, 14 + DEFPUSHBUTTON "OK", IDOK, 150, 236, 50, 14 + PUSHBUTTON "Revocare", IDCANCEL, 206, 236, 50, 14 END IDD_FOLDER_OPTIONS_GENERAL DIALOGEX 0, 0, 264, 220 STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION -CAPTION "Generale" +CAPTION "General" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "Activități", -1, 7, 10, 249, 40 CONTROL "", IDC_FOLDER_OPTIONS_TASKICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 20, 21, 20 - AUTORADIOBUTTON "Incl&ude în ferestrele folderelor și activiățile comune", IDC_FOLDER_OPTIONS_COMMONTASKS, 40, 20, 210, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "Prefer aspectul &clasic pentru foldere", IDC_FOLDER_OPTIONS_CLASSICFOLDERS, 40, 32, 210, 10 - GROUPBOX "Parcurgere foldere", -1, 7, 60, 249, 40, WS_TABSTOP + AUTORADIOBUTTON "&Afişare activităţi comune în foldere", IDC_FOLDER_OPTIONS_COMMONTASKS, 40, 20, 210, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "&Utilizare foldere ReactOS clasice", IDC_FOLDER_OPTIONS_CLASSICFOLDERS, 40, 32, 210, 10 + GROUPBOX "Răsfoire foldere", -1, 7, 60, 249, 40, WS_TABSTOP CONTROL "", IDC_FOLDER_OPTIONS_FOLDERICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 70, 21, 20 - AUTORADIOBUTTON "&Parcurge folderele în aceiași fereastră", IDC_FOLDER_OPTIONS_SAMEWINDOW, 40, 70, 210, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "D&eschide fiecare folder în fereastră proprie", IDC_FOLDER_OPTIONS_OWNWINDOW, 40, 82, 210, 10 - GROUPBOX "Interacțiune elemente", -1, 7, 110, 249, 64 + AUTORADIOBUTTON "Se &deschide fiecare folder în aceeaşi fereastră", IDC_FOLDER_OPTIONS_SAMEWINDOW, 40, 70, 210, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "Se deschide &fiecare folder în propria sa fereastră", IDC_FOLDER_OPTIONS_OWNWINDOW, 40, 82, 210, 10 + GROUPBOX "Comportament clic", -1, 7, 110, 249, 64 CONTROL "", IDC_FOLDER_OPTIONS_CLICKICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 120, 21, 20 - AUTORADIOBUTTON "Deschide prin acțiune si&mplă (selecare prin indicare)", IDC_FOLDER_OPTIONS_SINGLECLICK, 40, 120, 210, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "Deschide prin acțiune &dublă (selectare prin una simplă)", IDC_FOLDER_OPTIONS_DOUBLECLICK, 40, 156, 210, 10 - AUTORADIOBUTTON "Subliniază titlurile la fel ca adresele &web", IDC_FOLDER_OPTIONS_ULBROWSER, 50, 132, 200, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "Subliniază titlurile doar la pre&zența indicatorului", IDC_FOLDER_OPTIONS_ULPOINT, 50, 144, 200, 10 - PUSHBUTTON "&Restabilește opțiunile implicite", IDC_FOLDER_OPTIONS_RESTORE, 147, 178, 110, 14, WS_TABSTOP + AUTORADIOBUTTON "&Se face un singur clic pentru deschiderea unui element (se indică selectare)", IDC_FOLDER_OPTIONS_SINGLECLICK, 40, 120, 210, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "Se face du&blu clic pentru deschiderea unui element (un singur clic pentru selectare)", IDC_FOLDER_OPTIONS_DOUBLECLICK, 40, 156, 210, 10 + AUTORADIOBUTTON "Sublinierea titlurilor de pictograme consistentă cu bro&wserul", IDC_FOLDER_OPTIONS_ULBROWSER, 50, 132, 200, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "Sublinierea titlurilor de pictograme numai când se &indică", IDC_FOLDER_OPTIONS_ULPOINT, 50, 144, 200, 10 + PUSHBUTTON "R&estabilire valori implicite", IDC_FOLDER_OPTIONS_RESTORE, 147, 178, 110, 14, WS_TABSTOP END IDD_FOLDER_OPTIONS_VIEW DIALOGEX 0, 0, 264, 220 STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION -CAPTION "Afișare" +CAPTION "Vizualizare" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Afișare foldere", -1, 7, 10, 249, 60 + GROUPBOX "Vizualizări folder", -1, 7, 10, 249, 60 ICON IDI_SHELL_PROGRAMS_FOLDER2, IDC_STATIC, 14, 20, 21, 20 - LTEXT "Puteți aplica afișarea curentă (ce include Detalii sau Pictograme mari) pentru toate folderele.", -1, 40, 20, 213, 20 - PUSHBUTTON "Apli&că pentru toate", IDC_VIEW_APPLY_TO_ALL, 15, 50, 115, 14, WS_TABSTOP - PUSHBUTTON "Restabilește t&oate", IDC_VIEW_RESET_ALL, 135, 50, 115, 14, WS_TABSTOP - LTEXT "Opțiuni avansate:", -1, 7, 80, 100, 10 + LTEXT "Aveţi posibilitatea să aplicaţi vizualizarea utilizată pentru acest folder (ca Detalii sau Dale), la toate folderele.", -1, 40, 20, 213, 20 + PUSHBUTTON "Se aplică la t&oate folderele", IDC_VIEW_APPLY_TO_ALL, 15, 50, 115, 14, WS_TABSTOP + PUSHBUTTON "&Resetare toate folderele", IDC_VIEW_RESET_ALL, 135, 50, 115, 14, WS_TABSTOP + LTEXT "Setări complexe:", -1, 7, 80, 100, 10 CONTROL "", IDC_VIEW_TREEVIEW, "SysTreeView32", WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | TVS_DISABLEDRAGDROP | TVS_LINESATROOT, 7, 90, 249, 111 - PUSHBUTTON "&Restabilește opțiunile implicite", IDC_VIEW_RESTORE_DEFAULTS, 147, 204, 110, 14, WS_TABSTOP + PUSHBUTTON "R&estabilire valori implicite", IDC_VIEW_RESTORE_DEFAULTS, 147, 204, 110, 14, WS_TABSTOP END IDD_FOLDER_OPTIONS_FILETYPES DIALOGEX 0, 0, 264, 220 STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION -CAPTION "Tipuri de fișiere" +CAPTION "Tipuri de fişier" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Tipurile de fișiere înregistrate:", -1, 7, 10, 180, 10 + LTEXT "&Tipuri de fişier înregistrate:", -1, 7, 10, 180, 10 CONTROL "", IDC_FILETYPES_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 20, 249, 99 - PUSHBUTTON "N&ou…", IDC_FILETYPES_NEW, 140, 123, 55, 14, WS_TABSTOP - PUSHBUTTON "&Elimină", IDC_FILETYPES_DELETE, 200, 123, 55, 14, WS_TABSTOP - GROUPBOX "Detalii pentru extensia „%s”", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 143, 249, 70 - LTEXT "Va fi deschis cu:", -1, 12, 153, 55, 10 + PUSHBUTTON "No&u", IDC_FILETYPES_NEW, 140, 123, 55, 14, WS_TABSTOP + PUSHBUTTON "Şt&ergere", IDC_FILETYPES_DELETE, 200, 123, 55, 14, WS_TABSTOP + GROUPBOX "Detalii pentru extensia '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 143, 249, 70 + LTEXT "Se deschide cu:", -1, 12, 153, 55, 10 CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 153, 10, 10 LTEXT "", IDC_FILETYPES_APPNAME, 100, 153, 80, 10 - PUSHBUTTON "Spe&cificare", IDC_FILETYPES_CHANGE, 200, 153, 50, 14, WS_TABSTOP + PUSHBUTTON "&Răsfoire", IDC_FILETYPES_CHANGE, 200, 153, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 168, 160, 40 - PUSHBUTTON "A&vansate…", IDC_FILETYPES_ADVANCED, 200, 188, 50, 14, WS_TABSTOP + PUSHBUTTON "&Complex", IDC_FILETYPES_ADVANCED, 200, 188, 50, 14, WS_TABSTOP END IDD_CONFIRM_FILE_REPLACE DIALOGEX 0, 0, 282, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Confirmare înlocuire fișier" +CAPTION "Confirmare înlocuire fişier" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "D&a", IDYES, 20, 122, 60, 14 - PUSHBUTTON "Da pentru t&oate", 12807, 85, 122, 60, 14 - PUSHBUTTON "N&u", IDNO, 150, 122, 60, 14 - PUSHBUTTON "Re&vocare", IDCANCEL, 215, 122, 60, 14 + DEFPUSHBUTTON "&Da", IDYES, 20, 122, 60, 14 + PUSHBUTTON "D&a pentru tot", 12807, 85, 122, 60, 14 + PUSHBUTTON "&Nu", IDNO, 150, 122, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 215, 122, 60, 14 ICON 146, -1, 11, 10, 21, 20, SS_REALSIZECONTROL - LTEXT "Folderul curent deja conține un fișier cu numele „%2”.", 12291, 44, 10, 231, 22, SS_NOPREFIX - LTEXT "Folderul curent deja conține un fișier nemodificabil cu numele „%2”.", 12292, 41, 10, 222, 22, SS_NOPREFIX - LTEXT "Folderul curent deja conține un fișier de sistem cu numele „%2”.", 12293, 41, 10, 222, 22, SS_NOPREFIX - LTEXT "Doriți să înlocuiți acest fișier?", -1, 44, 35, 228, 10, SS_NOPREFIX - LTEXT "(mărime/dată necunoscută)", 12302, 79, 51, 198, 20, SS_NOPREFIX + LTEXT "Acest folder conţine deja un fişier de sistem cu numele '%2'.", 12291, 44, 10, 231, 22, SS_NOPREFIX + LTEXT "Folderul curent deja conține un fișier Doar în citire cu numele '%2'.", 12292, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "Folderul curent deja conține un fișier de sistem cu numele '%2'.", 12293, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "Înlocuiţi fişierul existent", -1, 44, 35, 228, 10, SS_NOPREFIX + LTEXT "(dată şi mărime necunoscute)", 12302, 79, 51, 198, 20, SS_NOPREFIX ICON "", 12300, 50, 49, 21, 20, SS_REALSIZECONTROL LTEXT "cu acesta?", -1, 44, 75, 228, 10, SS_NOPREFIX - LTEXT "(mărime/dată necunoscută)", 12303, 79, 91, 198, 20, SS_NOPREFIX + LTEXT "(dată şi mărime necunoscute)", 12303, 79, 91, 198, 20, SS_NOPREFIX ICON "", 12301, 50, 89, 21, 20, SS_REALSIZECONTROL END IDD_LOG_OFF DIALOGEX 0, 0, 188, 60 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION -CAPTION "Deautentificare" +CAPTION "Log Off" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_SHELL_LOGOFF, IDC_STATIC, 8, 6, 21, 20 - LTEXT "Sigur doriți să vă deautentificați?", -1, 49, 15, 132, 8 - DEFPUSHBUTTON "&Deautentifică", IDOK, 49, 38, 53, 14 + LTEXT "Sigur faceţi Log Off?", -1, 49, 15, 132, 8 + DEFPUSHBUTTON "&Log Off", IDOK, 49, 38, 53, 14 PUSHBUTTON "Revocare", IDCANCEL, 109, 38, 53, 14 END @@ -506,23 +506,23 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL IDB_DLG_BG, IDC_STATIC, "STATIC", SS_BITMAP | SS_REALSIZECONTROL, 0, 0, 208, 122 CONTROL IDB_REACTOS_FLAG, IDC_STATIC, "STATIC", SS_BITMAP, 176, 1, 32, 26 - PUSHBUTTON "&Schimbă utilizatorul", IDC_SWITCH_USER_BUTTON, 55, 46, 22, 20, BS_OWNERDRAW | WS_DISABLED | WS_GROUP - PUSHBUTTON "&Deautentifică", IDC_LOG_OFF_BUTTON, 132, 46, 22, 20, BS_OWNERDRAW - PUSHBUTTON "A&nulează", IDCANCEL, 162, 103, 40, 12, WS_GROUP | BS_FLAT - LTEXT "Deautentificare", IDC_LOG_OFF_TEXT_STATIC, 4, 7, 130, 19 - CTEXT "Schimbă utilizatorul", IDC_SWITCH_USER_STATIC, 11, 70, 82, 11 - CTEXT "Deautentifică", IDC_LOG_OFF_STATIC, 118, 70, 51, 11 + PUSHBUTTON "&Comutare utilizatori", IDC_SWITCH_USER_BUTTON, 55, 46, 22, 20, BS_OWNERDRAW | WS_DISABLED | WS_GROUP + PUSHBUTTON "&Log Off", IDC_LOG_OFF_BUTTON, 132, 46, 22, 20, BS_OWNERDRAW + PUSHBUTTON "Revocare", IDCANCEL, 162, 103, 40, 12, WS_GROUP | BS_FLAT + LTEXT "Log Off din ReactOS", IDC_LOG_OFF_TEXT_STATIC, 4, 7, 130, 19 + CTEXT "Comutare utilizatori", IDC_SWITCH_USER_STATIC, 11, 70, 82, 11 + CTEXT "Log Off", IDC_LOG_OFF_STATIC, 118, 70, 51, 11 END IDD_DISCONNECT DIALOGEX 0, 0, 188, 60 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION -CAPTION "Deconectare" +CAPTION "Deconectare ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_SHELL_DISCONN, IDC_STATIC, 8, 6, 21, 20 - LTEXT "Sigur doriți să vă deconectați?", -1, 49, 15, 131, 8 - DEFPUSHBUTTON "&Deconectează", IDOK, 47, 38, 47, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 99, 38, 47, 14 + LTEXT "Sigur vă deconectaţi?", -1, 49, 15, 131, 8 + DEFPUSHBUTTON "&Deconectare", IDOK, 47, 38, 47, 14 + PUSHBUTTON "Revocare", IDCANCEL, 99, 38, 47, 14 END IDD_AUTOPLAY1 DIALOGEX 0, 0, 227, 218 @@ -530,13 +530,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLIN CAPTION "Autolansare" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Alegeți un tip de conținut și acțiunea executată automat în cazul tipului respectiv utilizat în acest dispozitiv:", 1000, 7, 7, 215, 20 + LTEXT "&Selectaţi un tip de conţinut, apoi alegeţi o acţiune pe care ReactOS o va efectua automat când tipul respectiv este utilizat în acest dispozitiv:", 1000, 7, 7, 215, 20 CONTROL "", 1001, "COMBOBOXEX32", WS_TABSTOP | 0x00000043, 7, 27, 212, 200 - GROUPBOX "Acțiuni", -1, 7, 45, 212, 146 - AUTORADIOBUTTON "Înt&otdeauna o anume acțiune bine specificată:", 1005, 14, 54, 202, 10, WS_GROUP + GROUPBOX "Acţiuni", -1, 7, 45, 212, 146 + AUTORADIOBUTTON "S&e selectează o acţiune de efectuat:", 1005, 14, 54, 202, 10, WS_GROUP CONTROL "", 1002, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 22, 66, 192, 107 - AUTORADIOBUTTON "&Doresc să fiu consultat la moment în vederea acțiunilor întreprinse", 1006, 14, 177, 202, 10 - PUSHBUTTON "&Restabilește implicite", 1008, 108, 197, 110, 14, WS_DISABLED + AUTORADIOBUTTON "Se întreabă &de fiecare dată pentru alegerea unei acţiuni", 1006, 14, 177, 202, 10 + PUSHBUTTON "Resta&bilire valori implicite", 1008, 108, 197, 110, 14, WS_DISABLED END IDD_MIXED_CONTENT1 DIALOGEX 0, 0, 227, 207 @@ -545,11 +545,11 @@ CAPTION "Conținut mixt" FONT 8, "MS Shell Dlg" BEGIN ICON "", 1000, 5, 7, 21, 20 - LTEXT "Acest disc sau dispozitiv conține mai mult de un singur tip de conținut.", 1001, 32, 7, 191, 20 - LTEXT "Ce acțiune doriți să fie îndeplinită?", 1002, 32, 31, 188, 8 + LTEXT "Acest disc sau dispozitiv prezintă mai multe tipuri de conţinut.", 1001, 32, 7, 191, 20 + LTEXT "Ce să facă ReactOS?", 1002, 32, 31, 188, 8 CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 43, 188, 139 - DEFPUSHBUTTON "Con&firmă", IDOK, 96, 186, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 160, 186, 60, 14 + DEFPUSHBUTTON "OK", IDOK, 96, 186, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 160, 186, 60, 14 END IDD_MIXED_CONTENT2 DIALOGEX 0, 0, 227, 206 @@ -558,28 +558,28 @@ CAPTION "Conținut mixt" FONT 8, "MS Shell Dlg" BEGIN ICON "", 1000, 5, 7, 21, 20 - LTEXT "Specificați acțiunea ce va fi executată de fiecare dată la introducerea unui disc sau conectarea unui dispozitiv cu acest conținut:", 1001, 30, 7, 193, 20 + LTEXT "ReactOS poate să efectueze aceeaşi acţiune de fiecare dată când se inserează un disc sau se conectează un dispozitiv la acest tip de fişier:", 1001, 30, 7, 193, 20 ICON "", 1005, 32, 27, 11, 10, SS_REALSIZECONTROL EDITTEXT 1006, 49, 28, 177, 14, ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - LTEXT "Ce acțiune doriți să fie îndeplinită?", 1002, 32, 41, 190, 8 + LTEXT "Ce să facă ReactOS?", 1002, 32, 41, 190, 8 CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 55, 188, 112 - AUTOCHECKBOX "&Efectuează mereu aceeși acțiune", 1004, 32, 171, 190, 10 - DEFPUSHBUTTON "Con&firmă", IDOK, 96, 185, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 160, 185, 60, 14 + AUTOCHECKBOX "Întotdeauna se efectuează acţiunea selectată.", 1004, 32, 171, 190, 10 + DEFPUSHBUTTON "OK", IDOK, 96, 185, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 160, 185, 60, 14 END IDD_AUTOPLAY2 DIALOGEX 0, 0, 227, 181 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION -CAPTION "Autolansare" +CAPTION "Redare automată" FONT 8, "MS Shell Dlg" BEGIN ICON "", 1000, 5, 7, 21, 20 - LTEXT "Puteți specifica o acțiune pentru a fi executată de fiecare dată când conectați acest dispozitiv.", 1001, 32, 7, 190, 22 - LTEXT "&Ce acțiune doriți să fie îndeplinită?", 1002, 32, 31, 190, 8 + LTEXT "ReactOS poate să efectueze această acţiune de fiecare dată când conectaţi acest dispozitiv.", 1001, 32, 7, 190, 22 + LTEXT "&Ce să facă ReactOS?", 1002, 32, 31, 190, 8 CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 43, 187, 96 AUTOCHECKBOX "&Efectuează mereu aceeași acțiune", 1004, 32, 143, 190, 8 - DEFPUSHBUTTON "Con&firmă", IDOK, 94, 160, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 159, 160, 60, 14 + DEFPUSHBUTTON "OK", IDOK, 94, 160, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 159, 160, 60, 14 END IDD_SHUTDOWN DIALOGEX 0, 0, 211, 103 @@ -588,61 +588,61 @@ CAPTION "Închidere Windivs" FONT 8, "MS Shell Dlg" BEGIN ICON 8240, -1, 6, 6, 21, 20, SS_REALSIZECONTROL | WS_GROUP - LTEXT "Ce doriți să se întâmple?", -1, 39, 7, 167, 10 + LTEXT "Ce acţiune va face computerul?", -1, 39, 7, 167, 10 COMBOBOX 8224, 39, 20, 165, 200, CBS_DROPDOWNLIST | WS_VSCROLL - LTEXT "Aceasta va menține sesiunea de lucru, păstrând calculatorul pe consum redus, cu toate datele în memorie. Calculatorul își va reveni când veți apăsa o tastă sau veți acționa dispozitivul de indicare.", 8225, 39, 40, 167, 37 - DEFPUSHBUTTON "Con&firmă", 1, 7, 82, 60, 14, WS_GROUP - PUSHBUTTON "A&nulează", IDCANCEL, 75, 82, 60, 14 - PUSHBUTTON "&Manual…", IDHELP, 144, 82, 60, 14 + LTEXT "Menţine sesiunea deschisă, lăsând computerul să funcţioneze la un nivel de energie scăzut, datele rămânând în memorie. Computerul se reactivează când se apasă o tastă sau când se acţionează mausul.", 8225, 39, 40, 167, 37 + DEFPUSHBUTTON "OK", 1, 7, 82, 60, 14, WS_GROUP + PUSHBUTTON "Revocare", IDCANCEL, 75, 82, 60, 14 + PUSHBUTTON "Aj&utor", IDHELP, 144, 82, 60, 14 END IDD_FORMAT_DRIVE DIALOGEX 50, 50, 184, 218 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Formatare unitate de stocare" +CAPTION "Format" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&Formatează", IDOK, 53, 198, 60, 14 - PUSHBUTTON "Î&nchide", IDCANCEL, 118, 198, 60, 14 + DEFPUSHBUTTON "&Start", IDOK, 53, 198, 60, 14 + PUSHBUTTON "Î&nchidere", IDCANCEL, 118, 198, 60, 14 LTEXT "&Capacitate:", -1, 7, 6, 169, 9 COMBOBOX 28673, 7, 17, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP - LTEXT "Sist&em de fișiere", -1, 7, 35, 170, 9 + LTEXT "Sistem de &fişiere", -1, 7, 35, 170, 9 COMBOBOX 28677, 7, 46, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP CONTROL "", 28678, "MSCTLS_PROGRESS32", 0, 7, 181, 170, 8 - LTEXT "&Dimensiunea unității de alocare", -1, 7, 64, 170, 9 + LTEXT "Mărime &unitate de alocare", -1, 7, 64, 170, 9 COMBOBOX 28680, 7, 75, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP - LTEXT "N&ume volum", -1, 7, 93, 170, 9 + LTEXT "&Etichetă volum", -1, 7, 93, 170, 9 EDITTEXT 28679, 7, 103, 170, 13, ES_AUTOHSCROLL - GROUPBOX "Opțiuni formatare", 4610, 7, 121, 170, 49 + GROUPBOX "&Opţiuni de formatare", 4610, 7, 121, 170, 49 AUTOCHECKBOX "Formatare &rapidă", 28674, 16, 135, 155, 10 - AUTOCHECKBOX "Co&mpresie", 28675, 16, 152, 155, 10 + AUTOCHECKBOX "&Activare comprimare", 28675, 16, 152, 155, 10 END IDD_CHECK_DISK DIALOGEX 50, 50, 194, 115 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Verificare unitate de stocare" +CAPTION "Verificare disc" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "&Pornește", IDOK, 63, 95, 60, 14 - GROUPBOX "Opțiuni de verificare", -1, 7, 6, 179, 40 - PUSHBUTTON "A&nulează", IDCANCEL, 128, 95, 60, 14 - AUTOCHECKBOX "&Repară erorile în mod automat", 14000, 12, 15, 155, 10 - AUTOCHECKBOX "&Analizează și repară înregistrările eronate", 14001, 12, 30, 165, 10 + DEFPUSHBUTTON "&Start", IDOK, 63, 95, 60, 14 + GROUPBOX "Opţiuni verificare disc", -1, 7, 6, 179, 40 + PUSHBUTTON "Revocare", IDCANCEL, 128, 95, 60, 14 + AUTOCHECKBOX "Reparare &automată a erorilor de sistem", 14000, 12, 15, 155, 10 + AUTOCHECKBOX "Sca&nare şi recuperare sectoare defecte", 14001, 12, 30, 165, 10 CONTROL "", 14002, "MSCTLS_PROGRESS32", 16, 7, 50, 179, 8 LTEXT "", 14003, 60, 80, 170, 10 END IDD_PICK_ICON DIALOGEX 0, 0, 193, 200 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Schimbare pictogramă" +CAPTION "Modificare pictogramă" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - LTEXT "Caută pictograme în fișierul:", -1, 7, 7, 179, 10 - PUSHBUTTON "Spe&cificare…", IDC_BUTTON_PATH, 135, 17, 50, 14 + LTEXT "Căutare pictograme în fișierul:", -1, 7, 7, 179, 10 + PUSHBUTTON "&Răsfoire…", IDC_BUTTON_PATH, 135, 17, 50, 14 EDITTEXT IDC_EDIT_PATH, 7, 17, 123, 14, ES_AUTOHSCROLL LTEXT "Selectați o pictogramă din lista de mai jos:", -1, 7, 36, 179, 10 LISTBOX IDC_PICKICON_LIST, 7, 47, 181, 122, LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | LBS_DISABLENOSCROLL | WS_HSCROLL | WS_TABSTOP - DEFPUSHBUTTON "Con&firmă", IDOK, 81, 179, 50, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 135, 179, 50, 14 + DEFPUSHBUTTON "OK", IDOK, 81, 179, 50, 14 + PUSHBUTTON "Revocare", IDCANCEL, 135, 179, 50, 14 END IDD_NOOPEN DIALOGEX 0, 0, 240, 75 @@ -655,22 +655,22 @@ BEGIN operare sau de o oarecare aplicație. Modificând acest fișier\n\ riscați să cauzați daune în sistem.\n\n\ Sigur doriți să deschideți acest fișier?", IDC_STATIC, 35, 5, 230, 60 - DEFPUSHBUTTON "D&a", IDYES, 125, 55, 50, 14 - PUSHBUTTON "N&u", IDNO, 180, 55, 50, 14 + DEFPUSHBUTTON "&Da", IDYES, 125, 55, 50, 14 + PUSHBUTTON "&Nu", IDNO, 180, 55, 50, 14 END IDD_NEWEXTENSION DIALOGEX 0, 0, 260, 75 -CAPTION "Crează o nouă extensie" +CAPTION "Creare extensie nouă" STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" BEGIN LTEXT "E&xtensie fișier:", -1, 10, 10, 85, 14 EDITTEXT IDC_NEWEXT_EDIT, 105, 8, 60, 14 - PUSHBUTTON "<< A&vansate", IDC_NEWEXT_ADVANCED, 185, 8, 65, 15 + PUSHBUTTON "<< &Complex", IDC_NEWEXT_ADVANCED, 185, 8, 65, 15 LTEXT "Tip de fișier &asociat:", IDC_NEWEXT_ASSOC, 10, 34, 85, 14 COMBOBOX IDC_NEWEXT_COMBOBOX, 105, 32, 145, 120, CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "Con&firmă", IDOK, 125, 55, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 190, 55, 60, 14 + DEFPUSHBUTTON "OK", IDOK, 125, 55, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 190, 55, 60, 14 END IDD_EDITTYPE DIALOG 0, 0, 225, 190 @@ -683,15 +683,15 @@ BEGIN PUSHBUTTON "S&chimbare pictogramă…", IDC_EDITTYPE_CHANGE_ICON, 150, 10, 70, 14 LTEXT "&Acțiuni:", -1, 5, 37, 70, 10 LISTBOX IDC_EDITTYPE_LISTBOX, 5, 50, 140, 60, LBS_NOINTEGRALHEIGHT | LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | LBS_NOTIFY | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "N&ou…", IDC_EDITTYPE_NEW, 150, 50, 70, 14 + PUSHBUTTON "No&u", IDC_EDITTYPE_NEW, 150, 50, 70, 14 PUSHBUTTON "&Editare…", IDC_EDITTYPE_EDIT_BUTTON, 150, 65, 70, 14 - PUSHBUTTON "Eli&mină", IDC_EDITTYPE_REMOVE, 150, 80, 70, 14 + PUSHBUTTON "Eli&minare", IDC_EDITTYPE_REMOVE, 150, 80, 70, 14 PUSHBUTTON "&Implicit", IDC_EDITTYPE_SET_DEFAULT, 150, 95, 70, 14 - AUTOCHECKBOX "Consimte &deschidere după descărcare", IDC_EDITTYPE_CONFIRM_OPEN, 5, 115, 150, 14 - AUTOCHECKBOX "Afișează e&xtensiea întotdeauna", IDC_EDITTYPE_SHOW_EXT, 5, 130, 150, 14 - AUTOCHECKBOX "Ca&ută în aceeași fereastră", IDC_EDITTYPE_SAME_WINDOW, 5, 145, 150, 14 - DEFPUSHBUTTON "Con&firmă", IDOK, 95, 170, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 160, 170, 60, 14 + AUTOCHECKBOX "Confirmare &deschiderere după descărcare", IDC_EDITTYPE_CONFIRM_OPEN, 5, 115, 150, 14 + AUTOCHECKBOX "Se afișează întotdeauna extensia", IDC_EDITTYPE_SHOW_EXT, 5, 130, 150, 14 + AUTOCHECKBOX "Căuta&re în aceeași fereastră", IDC_EDITTYPE_SAME_WINDOW, 5, 145, 150, 14 + DEFPUSHBUTTON "OK", IDOK, 95, 170, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 160, 170, 60, 14 END IDD_ACTION DIALOG 0, 0, 225, 95 @@ -704,9 +704,9 @@ BEGIN LTEXT "Apli&cația utilizată pentru efectuarea acțiunii:", -1, 5, 42, 150, 10 EDITTEXT IDC_ACTION_APP, 5, 55, 150, 14, ES_AUTOHSCROLL PUSHBUTTON "Sp&ecificare…", IDC_ACTION_BROWSE, 160, 60, 60, 14 - AUTOCHECKBOX "Folosește &DDE", IDC_ACTION_USE_DDE, 10, 75, 103, 14 - DEFPUSHBUTTON "Con&firmă", IDOK, 160, 20, 60, 14 - PUSHBUTTON "A&nulează", IDCANCEL, 160, 40, 60, 14 + AUTOCHECKBOX "Folosire &DDE", IDC_ACTION_USE_DDE, 10, 75, 103, 14 + DEFPUSHBUTTON "OK", IDOK, 160, 20, 60, 14 + PUSHBUTTON "Revocare", IDCANCEL, 160, 40, 60, 14 END IDD_FOLDER_CUSTOMIZE DIALOGEX 0, 0, 240, 220 @@ -720,12 +720,12 @@ BEGIN AUTOCHECKBOX "Aplică acest șa&blon pentru toate subfolderele sale", IDC_FOLDERCUST_CHECKBOX, 15, 50, 210, 15 GROUPBOX "Folder de imagini", IDC_STATIC, 5, 75, 230, 85, WS_TABSTOP LTEXT "Pentru aspect cu miniaturi puteți pune o imagine în acest folder care să vă amintească de conținutul său.", IDC_STATIC, 15, 87, 115, 33 - PUSHBUTTON "Spe&cificare imagine…", IDC_FOLDERCUST_CHOOSE_PIC, 15, 120, 115, 15 - PUSHBUTTON "&Restabilește implicite", IDC_FOLDERCUST_RESTORE_DEFAULTS, 15, 139, 115, 15 + PUSHBUTTON "&Răsfoire imagine…", IDC_FOLDERCUST_CHOOSE_PIC, 15, 120, 115, 15 + PUSHBUTTON "Resta&bilire valori implicite", IDC_FOLDERCUST_RESTORE_DEFAULTS, 15, 139, 115, 15 LTEXT "Previzualizare:", IDC_STATIC, 139, 85, 81, 11 CONTROL "", IDC_FOLDERCUST_PREVIEW_BITMAP, "STATIC", SS_BITMAP | WS_GROUP, 150, 100, 60, 60 GROUPBOX "Pictograme de folder", IDC_STATIC, 5, 165, 230, 50, WS_TABSTOP - LTEXT "Pentru alte aspecte în afara miniaturilor, puteți schimba pictograma „folder” cu altceva.", IDC_STATIC, 15, 175, 210, 25 + LTEXT "Pentru alte aspecte în afara miniaturilor, puteți schimba pictograma folder cu altceva.", IDC_STATIC, 15, 175, 210, 25 ICON 0, IDC_FOLDERCUST_ICON, 175, 194, 32, 30 PUSHBUTTON "Schi&mbare pictogramă…", IDC_FOLDERCUST_CHANGE_ICON, 15, 195, 75, 15 END @@ -736,11 +736,11 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" BEGIN ICON 0, IDC_LINK_PROBLEM_ICON, 5, 5, 0, 0 - LTEXT "Elementul „%s” la care această scurtătură face referire a fost schimbată sau mutată, așa că scurtătura nu va mai funcționa corect.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35 + LTEXT "Elementul '%s' la care această scurtătură face referire a fost schimbată sau mutată, așa că scurtătura nu va mai funcționa corect.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35 LTEXT "Cea mai apropiată potrivire, bazată pe nume, tip, mărime și dată:", IDC_LINK_PROBLEM_LABEL2, 35, 45, 210, 35 - LTEXT "Vreți să reparați scurtătura pentru a atinge ținta sau doar vreți să o ștergeți?", -1, 35, 85, 210, 30 - DEFPUSHBUTTON "&Repar-o", IDOK, 55, 120, 60, 15, WS_DISABLED - PUSHBUTTON "&Șterge-o", IDYES, 120, 120, 60, 15 + LTEXT "Reparați scurtătura pentru a atinge ținta sau doar vreți să o ștergeți?", -1, 35, 85, 210, 30 + DEFPUSHBUTTON "&Reparare", IDOK, 55, 120, 60, 15, WS_DISABLED + PUSHBUTTON "&Ștergere", IDYES, 120, 120, 60, 15 PUSHBUTTON "Revocare", IDCANCEL, 185, 120, 60, 15 END @@ -749,8 +749,8 @@ BEGIN /* columns in the shellview */ IDS_SHV_COLUMN_NAME "Nume" IDS_SHV_COLUMN_SIZE "Dimensiune" - IDS_SHV_COLUMN_TYPE "Tip obiect" - IDS_SHV_COLUMN_MODIFIED "Dată modificare" + IDS_SHV_COLUMN_TYPE "Tip" + IDS_SHV_COLUMN_MODIFIED "Data modificării" IDS_SHV_COLUMN_ATTRIBUTES "Atribute" IDS_SHV_COLUMN_DISK_CAPACITY "Capacitate" IDS_SHV_COLUMN_DISK_AVAILABLE "Disponibil" @@ -758,7 +758,7 @@ BEGIN IDS_SHV_COLUMN_GROUP "Grup" IDS_SHV_COLUMN_FILENAME "Nume fișier" IDS_SHV_COLUMN_CATEGORY "Categorie" - IDS_SHV_COLUMN_DELFROM "Locație originală" + IDS_SHV_COLUMN_DELFROM "Amplasare iniţială" IDS_SHV_COLUMN_DELDATE "Data ștergerii" IDS_SHV_COLUMN_FONTTYPE "Tip font" IDS_SHV_COLUMN_WORKGROUP "Grup de lucru" @@ -771,68 +771,68 @@ BEGIN /* special folders */ IDS_DESKTOP "Desktop" - IDS_MYCOMPUTER "Calculatorul meu" + IDS_MYCOMPUTER "Computerul meu" IDS_RECYCLEBIN_FOLDER_NAME "Coș de reciclare" - IDS_CONTROLPANEL "Panoul de control" - IDS_ADMINISTRATIVETOOLS "Instrumente administrative" + IDS_CONTROLPANEL "Panou de control" + IDS_ADMINISTRATIVETOOLS "Instrumente de administrare" /* special folders descriptions */ - IDS_ADMINISTRATIVETOOLS_DESCRIPTION "Configurarea administrativă a calculatorului." - IDS_FOLDER_OPTIONS_DESCRIPTION "Particularizarea afișării de fișiere și foldere și definirea asocierilor tipurilor de fișiere." - IDS_FONTS_DESCRIPTION "Adăugarea, modificarea, și gestiunea fonturilor din calculator." - IDS_PRINTERS_DESCRIPTION "Prezentarea imprimantelor și faxurilor, precum și asistență la instalarea unora noi." + IDS_ADMINISTRATIVETOOLS_DESCRIPTION "Configurare setări de administrare pe acest computer." + IDS_FOLDER_OPTIONS_DESCRIPTION "Se particularizează afişarea fişierelor şi folderelor, se modifică asocierile de fişiere şi se pun la dispoziţie fişiere din reţea în mod neconectat." + IDS_FONTS_DESCRIPTION "Adăugare, modificare şi gestionare fonturi pe computer." + IDS_PRINTERS_DESCRIPTION "Se vizualizează lista imprimantelor şi imprimantelor fax instalate." /* About shell dialog version string */ IDS_ABOUT_VERSION_STRING "Versiune %S (%S)" /* context menus */ - IDS_VIEW_LARGE "D&ale" - IDS_VIEW_SMALL "&Pictograme" - IDS_VIEW_LIST "&Listă" - IDS_VIEW_DETAILS "&Detalii" - IDS_SELECT "Selectea&ză" - IDS_OPEN "&Deschide" - IDS_CREATELINK "Creează sc&urtătură" - IDS_COPY "&Copiază" - IDS_DELETE "Șt&erge" - IDS_PROPERTIES "&Proprietăți" - IDS_CUT "&Decupează" - IDS_RESTORE "&Restabilește" + IDS_VIEW_LARGE "Pictograme mari" + IDS_VIEW_SMALL "Pictograme mici" + IDS_VIEW_LIST "Listare" + IDS_VIEW_DETAILS "Detalii" + IDS_SELECT "&Selectare" + IDS_OPEN "&Deschidere" + IDS_CREATELINK "C&reare comandă rapidă" + IDS_COPY "&Copiere" + IDS_DELETE "Ş&tergere" + IDS_PROPERTIES "Prop&rietăţi" + IDS_CUT "&Decupare" + IDS_RESTORE "Resta&bilire" IDS_FORMATDRIVE "F&ormatare…" - IDS_RENAME "Rede&numește" - IDS_PASTE "&Lipește" - IDS_EJECT "S&coate" - IDS_DISCONNECT "Deconectea&ză" - IDS_OPENFILELOCATION "&Deschide locația fișierului" - IDS_SENDTO_MENU "T&rimitere la" - IDS_COPYASPATHMENU "Copy as path" - - IDS_MOVEERRORTITLE "Nu s-a putut muta fișierul sau folderul" - IDS_COPYERRORTITLE "Nu s-a putut copia fișierul sau folderul" - IDS_MOVEERRORSAMEFOLDER "Nu se poate muta „%s”: Folderul destinație este identic cu folderul sursă." - IDS_MOVEERRORSAME "Nu se poate muta „%s”: Numele de fișier al sursei și destinației sunt identice." - IDS_COPYERRORSAME "Nu se poate copia „%s”: Numele de fișier al sursei și destinației sunt identice." - IDS_MOVEERRORSUBFOLDER "Nu se poate muta „%s”: Folderul destinație este un subfolder al folderului sursă." - IDS_COPYERRORSUBFOLDER "Nu se poate copia „%s”: Folderul destinație este un subfolder al folderului sursă." - IDS_MOVEERROR "Nu se poate muta „%s”: %s" - IDS_COPYERROR "Nu se poate copia „%s”: %s" - - IDS_CREATEFILE_DENIED "Nu s-a putut crea fișierul %1" - IDS_CREATEFILE_CAPTION "Nu s-a putut crea fișierul" - IDS_CREATEFOLDER_DENIED "Nu poate fi creat un folder cu numele „%1”" - IDS_CREATEFOLDER_CAPTION "Nu poate fi creat folder" - IDS_DELETEITEM_CAPTION "Confirmarea ștergerii fișierului" - IDS_DELETEFOLDER_CAPTION "Confirmarea ștergerii folderului" - IDS_DELETEITEM_TEXT "Sigur doriți să ștergeți „%1”?" + IDS_RENAME "Redenu&mire" + IDS_PASTE "&Lipire" + IDS_EJECT "S&coatere" + IDS_DISCONNECT "&Deconectare" + IDS_OPENFILELOCATION "&Deschidere locație fișier" + IDS_SENDTO_MENU "Trimitere &la" + IDS_COPYASPATHMENU "Copiere ca țintă" + + IDS_MOVEERRORTITLE "Imposibil de mutat fișierul sau folderul" + IDS_COPYERRORTITLE "Imposibil de copiat fișierul sau folderul" + IDS_MOVEERRORSAMEFOLDER "Imposibil de mutat '%s': Folderul destinație este identic cu folderul sursă." + IDS_MOVEERRORSAME "Imposibil de mutat '%s': Numele de fişier al sursei şi destinaţiei sunt identice." + IDS_COPYERRORSAME "Imposibil de copiat '%s': Numele de fișier al sursei și destinației sunt identice." + IDS_MOVEERRORSUBFOLDER "Imposibil de mutat '%s': Folderul destinație este un subfolder al folderului sursă." + IDS_COPYERRORSUBFOLDER "Imposibil de copiat '%s': Folderul destinație este un subfolder al folderului sursă." + IDS_MOVEERROR "Imposibil de mutat '%s': %s" + IDS_COPYERROR "Imposibil de copiat '%s': %s" + + IDS_CREATEFILE_DENIED "Imposibil de creat fișierul %1" + IDS_CREATEFILE_CAPTION "Imposibil de creat fișierul" + IDS_CREATEFOLDER_DENIED "Imposibil de creat un folder cu numele '%1'" + IDS_CREATEFOLDER_CAPTION "Imposibil de creat folder" + IDS_DELETEITEM_CAPTION "Confirmare ştergere fişier" + IDS_DELETEFOLDER_CAPTION "Confirmare ştergere folder" + IDS_DELETEITEM_TEXT "Sigur doriți să ștergeți '%1'?" IDS_DELETEMULTIPLE_TEXT "Sigur doriți să ștergeți aceste %1 elemente?" IDS_DELETESELECTED_TEXT "Sigur doriți să ștergeți acest(e) element(e) selectat(e)?" - IDS_TRASHITEM_TEXT "Sigur doriți să aruncați „%1” în Coșul de reciclare?" - IDS_TRASHFOLDER_TEXT "Sigur doriți să aruncați folderul „%1” cu tot conținutul său la Coșul de reciclare?" - IDS_TRASHMULTIPLE_TEXT "Sigur doriți să aruncați aceste %1 elemente la Coșul de reciclare?" - IDS_CANTTRASH_TEXT "Elementul „%1” nu poate fi aruncat la reciclare. Doriți să-l ștergeți definitiv?" - IDS_OVERWRITEFILE_TEXT "Acest folder deja conține un fișier numit „%1”.\n\nDoriți să îl înlocuiți" - IDS_OVERWRITEFILE_CAPTION "Confirmarea înlocuirii fișierului" - IDS_OVERWRITEFOLDER_TEXT "Acest folder deja conține un sub-folder cu numele „%1”.\n\nDacă fișierele din folderul de destinație au același nume ca cele din\nfolderul selectat, ele vor fi înlocuite. Sigur doriți să copiați sau\nsă mutați folderul?" + IDS_TRASHITEM_TEXT "Sigur doriți să aruncați '%1' în Coșul de reciclare?" + IDS_TRASHFOLDER_TEXT "Sigur trimiteţi folderul '%1' cu tot conținutul său la Coșul de reciclare?" + IDS_TRASHMULTIPLE_TEXT "Sigur trimiteţi %1 elemente la Coșul de reciclare?" + IDS_CANTTRASH_TEXT "Elementul '%1' nu poate fi aruncat la reciclare. Doriți să-l ștergeți definitiv?" + IDS_OVERWRITEFILE_TEXT "Acest folder deja conține un fișier numit '%1'.\n\nDoriți să îl înlocuiți" + IDS_OVERWRITEFILE_CAPTION "Confirmarea înlocuire fișier" + IDS_OVERWRITEFOLDER_TEXT "Acest folder deja conține un sub-folder cu numele '%1'.\n\nDacă fișierele din folderul de destinație au același nume ca cele din\nfolderul selectat, ele vor fi înlocuite. Sigur doriți să copiați sau\nsă mutați folderul?" IDS_FILEOOP_COPYING "În curs de copiere…" IDS_FILEOOP_MOVING "În curs de mutare…" @@ -843,24 +843,24 @@ BEGIN /* message box strings */ IDS_RESTART_TITLE "Repornire" - IDS_RESTART_PROMPT "Doriți să reporniți sistemul?" + IDS_RESTART_PROMPT "Reporniți sistemul?" IDS_SHUTDOWN_TITLE "Închidere" - IDS_SHUTDOWN_PROMPT "Doriți să închideți calculatorul?" + IDS_SHUTDOWN_PROMPT "Închideți calculatorul?" /* Format Dialog Strings */ IDS_FORMAT_TITLE "Formatare disc local" - IDS_FORMAT_WARNING "AVERTISMENT: Formatarea va șterge TOATE datele de pe acest disc.\nConfirmați pentru a formata, anulați pentru a ieși." - IDS_FORMAT_COMPLETE "Formatare completă." + IDS_FORMAT_WARNING "AVERTISMENT: Formatarea va şterge TOATE datele de pe acest disc.\nPentru a formata discul, faceţi clic pe OK. Pentru a ieşi, faceţi clic pe REVOCARE." + IDS_FORMAT_COMPLETE "Formatare terminată." /* Warning format system drive dialog strings */ - IDS_NO_FORMAT_TITLE "Nu a putut fi formatat volumul" - IDS_NO_FORMAT "Nu a putut fi formatat acest volum! Conține fișiere de sistem importante care să facă Windivs să meargă." + IDS_NO_FORMAT_TITLE "Imposibil de formatat volumul" + IDS_NO_FORMAT "Imposibil de formatat acest volum! Conține fișiere de sistem importante care fac ReactOS să funcționeze." /* Run File dialog */ - IDS_RUNDLG_ERROR "„Executare fișier” nu a putut fi deschis (eroare internă)" - IDS_RUNDLG_BROWSE_ERROR "„Specificare fișiere” nu a putut fi deschisă (eroare internă)" + IDS_RUNDLG_ERROR "Imposibil de mutat acest folder (eroare internă)." + IDS_RUNDLG_BROWSE_ERROR "Imposibil de mutat acest fișier (eroare internă)" IDS_RUNDLG_BROWSE_CAPTION "Specificare fișiere" - IDS_RUNDLG_BROWSE_FILTER "Fișiere executabile (*.exe)\0*.exe\0Orice fișier (*.*)\0*.*\0" + IDS_RUNDLG_BROWSE_FILTER "Programe (*.exe)\0*.exe\0Toate fişier (*.*)\0*.*\0" /* Shortcut property sheet */ IDS_SHORTCUT_RUN_NORMAL "Fereastră normală" @@ -875,7 +875,7 @@ BEGIN IDS_RECENT "Recente" IDS_SENDTO "Trimitere" IDS_STARTMENU "Meniul Pornire" - IDS_MYMUSIC "Audio" + IDS_MYMUSIC "Muzică" IDS_MYVIDEO "Video" IDS_DESKTOPDIRECTORY "Desktop" IDS_NETHOOD "Rețele" @@ -891,7 +891,7 @@ BEGIN IDS_PROGRAM_FILES_COMMON "Fișiere de program\\Fișiere comune" IDS_COMMON_DOCUMENTS "Documentele mele" IDS_ADMINTOOLS "Meniul Pornire\\Programe\\Administrative" - IDS_COMMON_MUSIC "Documentele mele\\Audio" + IDS_COMMON_MUSIC "Documentele mele\\Muzică" IDS_COMMON_PICTURES "Documentele mele\\Imagini" IDS_COMMON_VIDEO "Documentele mele\\Video" IDS_CDBURN_AREA "Preferințe locale\\Date de aplicație\\Microsoft\\Inscripționare CD" @@ -902,9 +902,9 @@ BEGIN IDS_DRIVE_FIXED "Disc local" IDS_DRIVE_CDROM "Unitate CD" - IDS_DRIVE_NETWORK "Disc din rețea" + IDS_DRIVE_NETWORK "Unitate de reţea" IDS_DRIVE_FLOPPY "Dischetă de 3,5" - IDS_DRIVE_REMOVABLE "Disc detașabil" + IDS_DRIVE_REMOVABLE "Disc amovibil" IDS_FS_UNKNOWN "Nespecificat" /* Open With */ @@ -917,20 +917,20 @@ BEGIN IDS_SHELL_ABOUT_BACK "< Înap&oi" FCIDM_SHVIEW_NEW "&Crează" /* A menu item with an ampersand */ FCIDM_SHVIEW_NEWFOLDER "&Folder" - FCIDM_SHVIEW_NEWLINK "Sc&urtătură" + FCIDM_SHVIEW_NEWLINK "&Comandă rapidă" IDS_FOLDER_OPTIONS "Opțiuni foldere" IDS_RECYCLEBIN_LOCATION "Locația pentru Coșul de reciclare" IDS_RECYCLEBIN_DISKSPACE "Spațiul disponibil" - IDS_EMPTY_BITBUCKET "Golește Coșul de reciclare" - IDS_PICK_ICON_TITLE "Alegerea pictogramei" + IDS_EMPTY_BITBUCKET "Golire Coş de reciclare" + IDS_PICK_ICON_TITLE "Alegere pictogramă" IDS_PICK_ICON_FILTER "Fișiere pictogramă (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Orice fișier (*.*)\0*.*\0" - IDS_OPEN_WITH_FILTER "Fișiere executabile (*.exe)\0*.exe\0Orice fișier (*.*)\0*.*\0" + IDS_OPEN_WITH_FILTER "Programe (*.exe)\0*.exe\0Toate fișier (*.*)\0*.*\0" - IDS_CANTLOCKVOLUME "Eșec la prinderea volumului (Cod de eroare: %lu)." - IDS_CANTDISMOUNTVOLUME "Eșec la eliberarea volumului (Cod de eroare: %lu)." - IDS_CANTEJECTMEDIA "Eșec la scoaterea mediului de stocare (Cod de eroare: %lu)." - IDS_CANTSHOWPROPERTIES "Eșec la inspecția proprietăților (Cod de eroare: %lu)." - IDS_CANTDISCONNECT "Eșec la deconectare (Cod de eroare: %lu)." + IDS_CANTLOCKVOLUME "Imposibil de blocat volumul (Cod de eroare: %lu)." + IDS_CANTDISMOUNTVOLUME "Imposibil de demontat volumul (Cod de eroare: %lu)." + IDS_CANTEJECTMEDIA "Imposibil de scos mediului de stocare (Cod de eroare: %lu)." + IDS_CANTSHOWPROPERTIES "Imposibil de afișat proprietățile (Cod de eroare: %lu)." + IDS_CANTDISCONNECT "Imposibil de deconectat (Cod de eroare: %lu)." IDS_NONE "(Nimic)" /* Friendly File Type Names */ @@ -962,13 +962,13 @@ BEGIN IDS_VXD_FILE "Driver de dispozitiv virtual" IDS_ANY_FILE "Fișier-%s" - IDS_OPEN_VERB "Deschide" - IDS_EXPLORE_VERB "Explorează" + IDS_OPEN_VERB "Deschidere" + IDS_EXPLORE_VERB "Explorare" IDS_RUNAS_VERB "Executare ca…" - IDS_EDIT_VERB "Editează" - IDS_FIND_VERB "Caută" - IDS_PRINT_VERB "Imprimă" - IDS_CMD_VERB "Deschide Panoul de control aici" + IDS_EDIT_VERB "Editare" + IDS_FIND_VERB "Căutare" + IDS_PRINT_VERB "Imprimare" + IDS_CMD_VERB "Deschidere Panou de control aici" IDS_FILE_FOLDER "%u fișiere, %u foldere" IDS_PRINTERS "Imprimante" @@ -980,8 +980,8 @@ BEGIN IDS_SHLEXEC_NOASSOC "Nu există nici un program configurat pentru a deschide acest tip de fișier." - IDS_FILE_DETAILS "Detalii pentru extensia „%s”" - IDS_FILE_DETAILSADV "Fișierele cu extensia „%s” sunt de tipul „%s”. Pentru a modifica opțiunile care vor afecta toate fișierele „%s”, apăsați „Avansate”." + IDS_FILE_DETAILS "Detalii pentru extensia '%s'" + IDS_FILE_DETAILSADV "Fișierele cu extensia '%s' sunt de tipul '%s'. Pentru a modifica opțiunile care vor afecta toate fișierele '%s', apăsați Complex." IDS_FILE_TYPES "Tipuri" IDS_COLUMN_EXTENSION "Extensii" @@ -997,72 +997,72 @@ BEGIN IDS_OBJECTS "%d Obiecte" IDS_OBJECTS_SELECTED "%d Obiecte selectate" - IDS_TITLE_MYCOMP "Calculatorul meu" + IDS_TITLE_MYCOMP "Computerul meu" IDS_TITLE_MYNET "Locații în rețea" - IDS_TITLE_BIN_1 "Coșul de reciclare (plin)" - IDS_TITLE_BIN_0 "Coșul de reciclare (gol)" - - IDS_ADVANCED_FOLDER "Fișiere și Foldere" - IDS_ADVANCED_NET_CRAWLER "Caută automat în rețea foldere și imprimante" - IDS_ADVANCED_FOLDER_SIZE_TIP "Afișează dimensiunea fișierulor la indicii de folder" - IDS_ADVANCED_FRIENDLY_TREE "Permite afișare simplă de foldere pentru lista folderelor în Explorator" - IDS_ADVANCED_WEB_VIEW_BARRICADE "Afișează conținutul folderelor de sistem" - IDS_ADVANCED_SHOW_FULL_PATH_ADDRESS "Afișează cale completă în bara de adrese" - IDS_ADVANCED_SHOW_FULL_PATH "Afișează cale completă în bara de titlu" - IDS_ADVANCED_DISABLE_THUMB_CACHE "Nu prememora miniaturi" - IDS_ADVANCED_HIDDEN "Fișiere și foldere ascunse" - IDS_ADVANCED_DONT_SHOW_HIDDEN "Nu afișa fișierele și folderele ascunse" - IDS_ADVANCED_SHOW_HIDDEN "Afișează fișierele și folderele ascunse" - IDS_ADVANCED_HIDE_FILE_EXT "Ascunde extensiile pentru tipurile cunoscute de fișiere" - IDS_ADVANCED_SUPER_HIDDEN "Ascunde fișierele protejate ale sistemului de operare (este recomandat)" - IDS_ADVANCED_DESKTOP_PROCESS "Lansează ferestrele de folder în procese separate" - IDS_ADVANCED_CLASSIC_VIEW_STATE "Păstrează particularitățile fiecărei afișări de folder" - IDS_ADVANCED_PERSIST_BROWSERS "Redeschide la autentificare folderele precedente" - IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Afișează Panoul de control în Calculatorul meu" - IDS_ADVANCED_SHOW_COMP_COLOR "Afișează în culori fișierele NTFS criptate sau comprimate" - IDS_ADVANCED_SHOW_INFO_TIP "Permite descriere prin indicii pentru foldere și elemente de desktop" - IDS_ADVANCED_DISPLAY_FAVORITES "Display Favorites" - IDS_ADVANCED_DISPLAY_LOG_OFF "Display Log Off" - IDS_ADVANCED_EXPAND_CONTROL_PANEL "Expand Control Panel" - IDS_ADVANCED_EXPAND_MY_DOCUMENTS "Expand My Documents" - IDS_ADVANCED_EXPAND_PRINTERS "Expand Printers" - IDS_ADVANCED_EXPAND_MY_PICTURES "Expand My Pictures" - IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections" - IDS_ADVANCED_DISPLAY_RUN "Display Run" - IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools" - IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu" - - IDS_NEWEXT_ADVANCED_LEFT "<< A&vansate" - IDS_NEWEXT_ADVANCED_RIGHT "A&vansate >>" - IDS_NEWEXT_NEW "" - IDS_NEWEXT_SPECIFY_EXT "Trebuie să specificați o extensie." - IDS_NEWEXT_ALREADY_ASSOC "Extensia %s este deja asoiată cu tipul de fișier %s. Doriți disasocierea %s cu %s și crearea unui nou tip de fișier pentru ea?" - IDS_NEWEXT_EXT_IN_USE "Extensia este în uz" - - IDS_REMOVE_EXT "Dacă eliminați o extensie înregistrată a unui nume de fișier, nu veți mai putea deschide fișiere cu această extensie prin dublu-clic pe pictograma lor.\n\nSigur doriți eliminarea acestei extensii?" - IDS_SPECIFY_ACTION "Trebuie să specificați o acțiune." - IDS_INVALID_PROGRAM "Programul specificat nu poate fi găsit. Asigurați-vă că numele și calea sunt corecte." - IDS_REMOVE_ACTION "Sigur doriți eliminarea acestei acțiuni?" - IDS_ACTION_EXISTS "Acțiunea „%s” este deja înregistrată pentru acest tip de fișier. Reîncercați cu nume diferit." - IDS_EXE_FILTER "Programe\0*.exe\0Orice fișier\0*.*\0" - IDS_EDITING_ACTION "Editează acțiune pentru tipul: " - IDS_NO_ICONS "Fișierul „%s” nu conține pictograme.\n\nAlegeți o pictogramă din listă sau specificați un alt fișier." - IDS_FILE_NOT_FOUND "Fișierul „%s” nu a fost găsit." - IDS_LINK_INVALID "Elementul „%s” ca această scurtătură face referire la faptul ca a fost schimbat sau mutat, deci această scurtătură nu va mai funcționa în mod corespunzător." - IDS_COPYTOMENU "Copiază în &folderul..." - IDS_COPYTOTITLE "Selectați locul unde vreți să copiați „%s”. Apoi, apăsați pe butonul Copiază." - IDS_COPYITEMS "Copiază elementele" - IDS_COPYBUTTON "Copiază" - IDS_MOVETOMENU "Mu&tă în folderul..." - IDS_MOVETOTITLE "Selectați locul în care vreți să mutați „%s”. Apoi, apăsați butonul Mută." - IDS_MOVEITEMS "Mută elementele" - IDS_MOVEBUTTON "Mută" + IDS_TITLE_BIN_1 "Coş de reciclare (plin)" + IDS_TITLE_BIN_0 "Coş de reciclare (gol)" + + IDS_ADVANCED_FOLDER "Fişiere şi foldere" + IDS_ADVANCED_NET_CRAWLER "Căutare automată foldere şi imprimante în reţea" + IDS_ADVANCED_FOLDER_SIZE_TIP "Se afişează informaţii privind dimensiunea fişierului în sfaturile pentru folder" + IDS_ADVANCED_FRIENDLY_TREE "Afişare vizualizare simplă pentru folder în lista de foldere Explorer" + IDS_ADVANCED_WEB_VIEW_BARRICADE "Afişare conţinut foldere de sistem" + IDS_ADVANCED_SHOW_FULL_PATH_ADDRESS "Se afişează calea completă în bara de adrese" + IDS_ADVANCED_SHOW_FULL_PATH "Afișare cale completă în bara de titlu" + IDS_ADVANCED_DISABLE_THUMB_CACHE "Nu se păstrează în cache miniaturile" + IDS_ADVANCED_HIDDEN "Fişiere şi foldere ascunse" + IDS_ADVANCED_DONT_SHOW_HIDDEN "Nu se afişează fişierele şi folderele ascunse" + IDS_ADVANCED_SHOW_HIDDEN "Se afişează fişierele şi folderele ascunse" + IDS_ADVANCED_HIDE_FILE_EXT "Se ascund extensiile pentru tipurile de fişiere cunoscute" + IDS_ADVANCED_SUPER_HIDDEN "Ascundere fişiere protejate ale sistemului de operare (recomandat)" + IDS_ADVANCED_DESKTOP_PROCESS "Lansare ferestre foldere într-un proces separat" + IDS_ADVANCED_CLASSIC_VIEW_STATE "Se rememorează fiecare setare de vizualizare foldere" + IDS_ADVANCED_PERSIST_BROWSERS "Se restaurează fereastra folderului precedent la deschiderea sesiunii" + IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "Afişare Panou de control în Computerul meu" + IDS_ADVANCED_SHOW_COMP_COLOR "Afişare în culori a fişierelor NTFS criptate sau comprimate" + IDS_ADVANCED_SHOW_INFO_TIP "Se afişează descrieri pop-up pentru elemente din folder şi desktop" + IDS_ADVANCED_DISPLAY_FAVORITES "Afișare Favorite" + IDS_ADVANCED_DISPLAY_LOG_OFF "Afișare Log Off" + IDS_ADVANCED_EXPAND_CONTROL_PANEL "Se extinde Panou de control" + IDS_ADVANCED_EXPAND_MY_DOCUMENTS "Se extind Documentele mele" + IDS_ADVANCED_EXPAND_PRINTERS "Se extind Imprimante" + IDS_ADVANCED_EXPAND_MY_PICTURES "Se extind Imaginile mele" + IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Se extind Conexiuni de rețea" + IDS_ADVANCED_DISPLAY_RUN "Se afișează Executare" + IDS_ADVANCED_DISPLAY_ADMINTOOLS "Se afișează Instrumente de administrare" + IDS_ADVANCED_SMALL_START_MENU "Se afișează Pictograme mici în Meniul Start" + + IDS_NEWEXT_ADVANCED_LEFT "<< &Complex" + IDS_NEWEXT_ADVANCED_RIGHT "&Complex >>" + IDS_NEWEXT_NEW "" + IDS_NEWEXT_SPECIFY_EXT "Specificaţi o extensie." + IDS_NEWEXT_ALREADY_ASSOC "Extensia %s este deja utilizată de tipul de fişier %s. Asociaţi %s cu %s și creați unui nou tip de fișier pentru ea?" + IDS_NEWEXT_EXT_IN_USE "Extensia este utilizată" + + IDS_REMOVE_EXT "Dacă eliminaţi o extensie de fişier înregistrată, nu veţi avea posibilitatea să deschideţi\nfişierele cu această extensie efectuând dublu clic pe pictogramele lor.\n\nSigur eliminaţi această extensie?" + IDS_SPECIFY_ACTION "Trebuie să specificaţi o acţiune." + IDS_INVALID_PROGRAM "Programul specificat nu s-a găsit. Verificaţi dacă numele şi calea fişierului sunt corecte." + IDS_REMOVE_ACTION "Sigur eliminaţi această acţiune?" + IDS_ACTION_EXISTS "Acțiunea '%s' este deja înregistrată pentru a cest tip de fişier. Introduceţi un nume nou, apoi încercaţi din nou." + IDS_EXE_FILTER "Programe\0*.exe\0Toate fişierel\0*.*\0" + IDS_EDITING_ACTION "Editare acţiune pentru tipul:" + IDS_NO_ICONS "Fișierul '%s' nu conţine pictograme.\n\nAlegeţi o pictogramă din listă sau specificaţi un alt fişier." + IDS_FILE_NOT_FOUND "Fișierul '%s' nu a fost găsit." + IDS_LINK_INVALID "Elementul '%s' la care se referă această comandă rapidă s-a modificat sau s-a mutat, astfel încât această comandă rapidă nu va mai funcţiona corespunzător.\n\nŞtergeţi această comandă rapidă?" + IDS_COPYTOMENU "Copiere în &folderul…" + IDS_COPYTOTITLE "Selectaţi locul unde se va copia '%s'. Apoi faceţi clic pe butonul Copiere." + IDS_COPYITEMS "Copiere elemente" + IDS_COPYBUTTON "Copiere" + IDS_MOVETOMENU "Mu&tare în folderul…" + IDS_MOVETOTITLE "Selectaţi locul unde se va muta '%s'. Apoi faceţi clic pe butonul Mutare." + IDS_MOVEITEMS "Mutare elemente" + IDS_MOVEBUTTON "Mutare" IDS_SYSTEMFOLDER "Folder de sistem" /* For IDD_LOG_OFF_FANCY */ - IDS_LOG_OFF_DESC "Vă închide programele și vă încheie sesiunea Windivs." - IDS_SWITCH_USER_DESC "Permite altui utilizator să fie logat, în timp ce programele dumneavoastră rămân deschise.\r\n\r\n(Puteți de asemenea, să schimbați utilizatorii apăsând tasta cu sigla Windows + L.)" - IDS_LOG_OFF_TITLE "Deautentifică" - IDS_SWITCH_USER_TITLE "Schimbă utilizatorul" + IDS_LOG_OFF_DESC "Închide programele şi încheie sesiunea ReactOS." + IDS_SWITCH_USER_DESC "Permite unui alt utilizator să facă Log on în timp ce programele şi fişierele vă rămân deschise.\r\n\r\n(De asemenea, este posibil să comutaţi între utilizatori apăsând tasta Windows logo + L.)" + IDS_LOG_OFF_TITLE "&Log Off" + IDS_SWITCH_USER_TITLE "Comutare utilizatori" END diff --git a/dll/win32/shell32/precomp.h b/dll/win32/shell32/precomp.h index e0d4196f646..e2666561515 100644 --- a/dll/win32/shell32/precomp.h +++ b/dll/win32/shell32/precomp.h @@ -154,4 +154,68 @@ class CStubWindow32 : public CWindowImpl END_MSG_MAP() }; +HRESULT +Shell_TranslateIDListAlias( + _In_ LPCITEMIDLIST pidl, + _In_ HANDLE hToken, + _Out_ LPITEMIDLIST *ppidlAlias, + _In_ DWORD dwFlags); + +BOOL BindCtx_ContainsObject(_In_ IBindCtx *pBindCtx, _In_ LPCWSTR pszName); +DWORD BindCtx_GetMode(_In_ IBindCtx *pbc, _In_ DWORD dwDefault); +BOOL SHSkipJunctionBinding(_In_ IBindCtx *pbc, _In_ CLSID *pclsid); +HRESULT SHIsFileSysBindCtx(_In_ IBindCtx *pBindCtx, _Out_opt_ WIN32_FIND_DATAW *pFindData); +BOOL Shell_FailForceReturn(_In_ HRESULT hr); + +EXTERN_C INT +Shell_ParseSpecialFolder(_In_ LPCWSTR pszStart, _Out_ LPWSTR *ppch, _Out_ INT *pcch); + +HRESULT +Shell_DisplayNameOf( + _In_ IShellFolder *psf, + _In_ LPCITEMIDLIST pidl, + _In_ DWORD dwFlags, + _Out_ LPWSTR pszBuf, + _In_ UINT cchBuf); + +HRESULT SHBindToObject( + _In_opt_ IShellFolder *psf, + _In_ LPCITEMIDLIST pidl, + _In_ REFIID riid, + _Out_ void **ppvObj); + +HRESULT +SHBindToObjectEx( + _In_opt_ IShellFolder *pShellFolder, + _In_ LPCITEMIDLIST pidl, + _In_opt_ IBindCtx *pBindCtx, + _In_ REFIID riid, + _Out_ void **ppvObj); + +DWORD +SHGetAttributes(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwAttributes); +HRESULT SHCoInitializeAnyApartment(VOID); + +HRESULT +SHGetNameAndFlagsW( + _In_ LPCITEMIDLIST pidl, + _In_ DWORD dwFlags, + _Out_opt_ LPWSTR pszText, + _In_ UINT cchBuf, + _Inout_opt_ DWORD *pdwAttributes); + +EXTERN_C HWND BindCtx_GetUIWindow(_In_ IBindCtx *pBindCtx); + +EXTERN_C HRESULT +BindCtx_RegisterObjectParam( + _In_ IBindCtx *pBindCtx, + _In_ LPOLESTR pszKey, + _In_opt_ IUnknown *punk, + _Out_ LPBC *ppbc); + +BOOL PathIsDotOrDotDotW(_In_ LPCWSTR pszPath); +BOOL PathIsValidElement(_In_ LPCWSTR pszPath); +BOOL PathIsDosDevice(_In_ LPCWSTR pszName); +HRESULT SHILAppend(_Inout_ LPITEMIDLIST pidl, _Inout_ LPITEMIDLIST *ppidl); + #endif /* _PRECOMP_H__ */ diff --git a/dll/win32/shell32/shfldr.h b/dll/win32/shell32/shfldr.h index bb67f1f2bee..64e236a5d73 100644 --- a/dll/win32/shell32/shfldr.h +++ b/dll/win32/shell32/shfldr.h @@ -36,14 +36,18 @@ typedef struct { #define GET_SHGDN_FOR(dwFlags) ((DWORD)dwFlags & (DWORD)0x0000FF00) #define GET_SHGDN_RELATION(dwFlags) ((DWORD)dwFlags & (DWORD)0x000000FF) -LPCWSTR GetNextElementW (LPCWSTR pszNext, LPWSTR pszOut, DWORD dwOut); +HRESULT +Shell_NextElement( + _Inout_ LPWSTR *ppch, + _Out_ LPWSTR pszOut, + _In_ INT cchOut, + _In_ BOOL bValidate); + HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc, LPITEMIDLIST * pidlInOut, LPOLESTR szNext, DWORD * pEaten, DWORD * pdwAttributes); HRESULT SHELL32_GetDisplayNameOfChild (IShellFolder2 * psf, LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet); -LPITEMIDLIST SHELL32_CreatePidlFromBindCtx(IBindCtx *pbc, LPCWSTR path); - HRESULT SHELL32_GetFSItemAttributes(IShellFolder * psf, LPCITEMIDLIST pidl, LPDWORD pdwAttributes); HRESULT SHELL32_CompareDetails(IShellFolder2* isf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); @@ -72,7 +76,7 @@ HRESULT SH_GetApidlFromDataObject(IDataObject *pDataObject, PIDLIST_ABSOLUTE* pp static __inline int SHELL32_GUIDToStringA (REFGUID guid, LPSTR str) { - return sprintf(str, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", + return sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); @@ -81,10 +85,10 @@ static __inline int SHELL32_GUIDToStringA (REFGUID guid, LPSTR str) static __inline int SHELL32_GUIDToStringW (REFGUID guid, LPWSTR str) { static const WCHAR fmtW[] = - { '{','%','0','8','l','x','-','%','0','4','x','-','%','0','4','x','-', - '%','0','2','x','%','0','2','x','-', - '%','0','2','x','%','0','2','x','%','0','2','x','%','0','2','x', - '%','0','2','x','%','0','2','x','}',0 }; + { '{','%','0','8','l','X','-','%','0','4','X','-','%','0','4','X','-', + '%','0','2','X','%','0','2','X','-', + '%','0','2','X','%','0','2','X','%','0','2','X','%','0','2','X', + '%','0','2','X','%','0','2','X','}',0 }; return swprintf(str, fmtW, guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], diff --git a/dll/win32/shell32/shlfolder.cpp b/dll/win32/shell32/shlfolder.cpp index 283cf76ce8b..3a396e5fc60 100644 --- a/dll/win32/shell32/shlfolder.cpp +++ b/dll/win32/shell32/shlfolder.cpp @@ -26,45 +26,54 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); -/*************************************************************************** - * GetNextElement (internal function) - * - * Gets a part of a string till the first backslash. - * - * PARAMETERS - * pszNext [IN] string to get the element from - * pszOut [IN] pointer to buffer which receives string - * dwOut [IN] length of pszOut - * - * RETURNS - * LPSTR pointer to first, not yet parsed char - */ - -LPCWSTR GetNextElementW (LPCWSTR pszNext, LPWSTR pszOut, DWORD dwOut) +HRESULT +Shell_NextElement( + _Inout_ LPWSTR *ppch, + _Out_ LPWSTR pszOut, + _In_ INT cchOut, + _In_ BOOL bValidate) { - LPCWSTR pszTail = pszNext; - DWORD dwCopy; + *pszOut = UNICODE_NULL; - TRACE ("(%s %p 0x%08x)\n", debugstr_w (pszNext), pszOut, dwOut); + if (!*ppch) + return S_FALSE; - *pszOut = 0x0000; + HRESULT hr; + LPWSTR pchNext = wcschr(*ppch, L'\\'); + if (pchNext) + { + if (*ppch < pchNext) + { + /* Get an element */ + StringCchCopyNW(pszOut, cchOut, *ppch, pchNext - *ppch); + ++pchNext; - if (!pszNext || !*pszNext) - return NULL; + if (!*pchNext) + pchNext = NULL; /* No next */ - while (*pszTail && (*pszTail != (WCHAR) '\\')) - pszTail++; + hr = S_OK; + } + else /* Double backslashes found? */ + { + pchNext = NULL; + hr = E_INVALIDARG; + } + } + else /* No more next */ + { + StringCchCopyW(pszOut, cchOut, *ppch); + hr = S_OK; + } - dwCopy = pszTail - pszNext + 1; - lstrcpynW (pszOut, pszNext, (dwOut < dwCopy) ? dwOut : dwCopy); + *ppch = pchNext; /* Go next */ - if (*pszTail) - pszTail++; - else - pszTail = NULL; + if (hr == S_OK && bValidate && !PathIsValidElement(pszOut)) + { + *pszOut = UNICODE_NULL; + hr = E_INVALIDARG; + } - TRACE ("--(%s %s 0x%08x %p)\n", debugstr_w (pszNext), debugstr_w (pszOut), dwOut, pszTail); - return pszTail; + return hr; } HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc, diff --git a/dll/win32/shell32/utils.cpp b/dll/win32/shell32/utils.cpp index 9f9309b645c..ae028bf6272 100644 --- a/dll/win32/shell32/utils.cpp +++ b/dll/win32/shell32/utils.cpp @@ -9,6 +9,68 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); +BOOL PathIsDotOrDotDotW(_In_ LPCWSTR pszPath) +{ + if (pszPath[0] != L'.') + return FALSE; + return !pszPath[1] || (pszPath[1] == L'.' && !pszPath[2]); +} + +#define PATH_VALID_ELEMENT ( \ + PATH_CHAR_CLASS_DOT | PATH_CHAR_CLASS_SEMICOLON | PATH_CHAR_CLASS_COMMA | \ + PATH_CHAR_CLASS_SPACE | PATH_CHAR_CLASS_OTHER_VALID \ +) + +BOOL PathIsValidElement(_In_ LPCWSTR pszPath) +{ + if (!*pszPath || PathIsDotOrDotDotW(pszPath)) + return FALSE; + + for (LPCWSTR pch = pszPath; *pch; ++pch) + { + if (!PathIsValidCharW(*pch, PATH_VALID_ELEMENT)) + return FALSE; + } + + return TRUE; +} + +BOOL PathIsDosDevice(_In_ LPCWSTR pszName) +{ + WCHAR szPath[MAX_PATH]; + StringCchCopyW(szPath, _countof(szPath), pszName); + PathRemoveExtensionW(szPath); + + if (lstrcmpiW(szPath, L"NUL") == 0 || lstrcmpiW(szPath, L"PRN") == 0 || + lstrcmpiW(szPath, L"CON") == 0 || lstrcmpiW(szPath, L"AUX") == 0) + { + return TRUE; + } + + if (_wcsnicmp(szPath, L"LPT", 3) == 0 || _wcsnicmp(szPath, L"COM", 3) == 0) + { + if ((L'0' <= szPath[3] && szPath[3] <= L'9') && szPath[4] == UNICODE_NULL) + return TRUE; + } + + return FALSE; +} + +HRESULT SHILAppend(_Inout_ LPITEMIDLIST pidl, _Inout_ LPITEMIDLIST *ppidl) +{ + LPITEMIDLIST pidlOld = *ppidl; + if (!pidlOld) + { + *ppidl = pidl; + return S_OK; + } + + HRESULT hr = SHILCombine(*ppidl, pidl, ppidl); + ILFree(pidlOld); + ILFree(pidl); + return hr; +} + static BOOL OpenEffectiveToken( _In_ DWORD DesiredAccess, @@ -31,6 +93,322 @@ OpenEffectiveToken( return ret; } +HRESULT +Shell_TranslateIDListAlias( + _In_ LPCITEMIDLIST pidl, + _In_ HANDLE hToken, + _Out_ LPITEMIDLIST *ppidlAlias, + _In_ DWORD dwFlags) +{ + return E_FAIL; //FIXME +} + +BOOL BindCtx_ContainsObject(_In_ IBindCtx *pBindCtx, _In_ LPCWSTR pszName) +{ + CComPtr punk; + if (!pBindCtx || FAILED(pBindCtx->GetObjectParam(const_cast(pszName), &punk))) + return FALSE; + return TRUE; +} + +DWORD BindCtx_GetMode(_In_ IBindCtx *pbc, _In_ DWORD dwDefault) +{ + if (!pbc) + return dwDefault; + + BIND_OPTS BindOpts = { sizeof(BindOpts) }; + HRESULT hr = pbc->GetBindOptions(&BindOpts); + if (FAILED(hr)) + return dwDefault; + + return BindOpts.grfMode; +} + +BOOL SHSkipJunctionBinding(_In_ IBindCtx *pbc, _In_ CLSID *pclsid) +{ + if (!pbc) + return FALSE; + + BIND_OPTS BindOps = { sizeof(BindOps) }; + if (SUCCEEDED(pbc->GetBindOptions(&BindOps)) && BindOps.grfFlags == OLECONTF_LINKS) + return TRUE; + + return pclsid && SHSkipJunction(pbc, pclsid); +} + +HRESULT SHIsFileSysBindCtx(_In_ IBindCtx *pBindCtx, _Out_opt_ WIN32_FIND_DATAW *pFindData) +{ + CComPtr punk; + CComPtr pBindData; + + if (!pBindCtx || FAILED(pBindCtx->GetObjectParam((LPWSTR)STR_FILE_SYS_BIND_DATA, &punk))) + return S_FALSE; + + if (FAILED(punk->QueryInterface(IID_PPV_ARG(IFileSystemBindData, &pBindData)))) + return S_FALSE; + + if (pFindData) + pBindData->GetFindData(pFindData); + + return S_OK; +} + +BOOL Shell_FailForceReturn(_In_ HRESULT hr) +{ + DWORD code = HRESULT_CODE(hr); + + switch (code) + { + case ERROR_BAD_NETPATH: + case ERROR_BAD_NET_NAME: + case ERROR_CANCELLED: + return TRUE; + + default: + return (ERROR_FILE_NOT_FOUND <= code && code <= ERROR_PATH_NOT_FOUND); + } +} + +HRESULT +SHBindToObjectEx( + _In_opt_ IShellFolder *pShellFolder, + _In_ LPCITEMIDLIST pidl, + _In_opt_ IBindCtx *pBindCtx, + _In_ REFIID riid, + _Out_ void **ppvObj) +{ + CComPtr psfDesktop; + + *ppvObj = NULL; + + if (!pShellFolder) + { + SHGetDesktopFolder(&psfDesktop); + if (!psfDesktop) + return E_FAIL; + + pShellFolder = psfDesktop; + } + + HRESULT hr; + if (_ILIsDesktop(pidl)) + hr = pShellFolder->QueryInterface(riid, ppvObj); + else + hr = pShellFolder->BindToObject(pidl, pBindCtx, riid, ppvObj); + + if (SUCCEEDED(hr) && !*ppvObj) + hr = E_FAIL; + + return hr; +} + +HRESULT SHBindToObject( + _In_opt_ IShellFolder *psf, + _In_ LPCITEMIDLIST pidl, + _In_ REFIID riid, + _Out_ void **ppvObj) +{ + return SHBindToObjectEx(psf, pidl, NULL, riid, ppvObj); +} + +HRESULT +Shell_DisplayNameOf( + _In_ IShellFolder *psf, + _In_ LPCITEMIDLIST pidl, + _In_ DWORD dwFlags, + _Out_ LPWSTR pszBuf, + _In_ UINT cchBuf) +{ + *pszBuf = UNICODE_NULL; + STRRET sr; + HRESULT hr = psf->GetDisplayNameOf(pidl, dwFlags, &sr); + if (FAILED(hr)) + return hr; + return StrRetToBufW(&sr, pidl, pszBuf, cchBuf); +} + +DWORD +SHGetAttributes(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwAttributes) +{ + LPCITEMIDLIST pidlLast; + + if (psf) + { + psf->AddRef(); + pidlLast = pidl; + } + else + { + SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlLast); + } + + if (!psf) + return 0; + + DWORD oldAttrs = dwAttributes; + if (FAILED(psf->GetAttributesOf(1, &pidlLast, &dwAttributes))) + dwAttributes = 0; + else + dwAttributes &= oldAttrs; + + if ((dwAttributes & SFGAO_FOLDER) && + (dwAttributes & SFGAO_STREAM) && + !(dwAttributes & SFGAO_STORAGEANCESTOR) && + (oldAttrs & SFGAO_STORAGEANCESTOR) && + (SHGetObjectCompatFlags(psf, NULL) & 0x200)) + { + dwAttributes &= ~(SFGAO_STREAM | SFGAO_STORAGEANCESTOR); + dwAttributes |= SFGAO_STORAGEANCESTOR; + } + + if (psf) + psf->Release(); + + return dwAttributes; +} + +HRESULT SHCoInitializeAnyApartment(VOID) +{ + HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); + if (FAILED(hr)) + hr = CoInitializeEx(NULL, COINIT_DISABLE_OLE1DDE); + return hr; +} + +HRESULT +SHGetNameAndFlagsW( + _In_ LPCITEMIDLIST pidl, + _In_ DWORD dwFlags, + _Out_opt_ LPWSTR pszText, + _In_ UINT cchBuf, + _Inout_opt_ DWORD *pdwAttributes) +{ + if (pszText) + *pszText = UNICODE_NULL; + + HRESULT hrCoInit = SHCoInitializeAnyApartment(); + + CComPtr psfFolder; + LPCITEMIDLIST ppidlLast; + HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psfFolder), &ppidlLast); + if (SUCCEEDED(hr)) + { + if (pszText) + hr = Shell_DisplayNameOf(psfFolder, ppidlLast, dwFlags, pszText, cchBuf); + + if (SUCCEEDED(hr)) + { + if (pdwAttributes) + *pdwAttributes = SHGetAttributes(psfFolder, ppidlLast, *pdwAttributes); + } + } + + if (SUCCEEDED(hrCoInit)) + CoUninitialize(); + + return hr; +} + +EXTERN_C HWND +BindCtx_GetUIWindow(_In_ IBindCtx *pBindCtx) +{ + HWND hWnd = NULL; + + CComPtr punk; + if (pBindCtx && SUCCEEDED(pBindCtx->GetObjectParam((LPWSTR)L"UI During Binding", &punk))) + IUnknown_GetWindow(punk, &hWnd); + + return hWnd; +} + +class CDummyOleWindow : public IOleWindow +{ +protected: + LONG m_cRefs; + HWND m_hWnd; + +public: + CDummyOleWindow() : m_cRefs(1), m_hWnd(NULL) { } + virtual ~CDummyOleWindow() { } + + // IUnknown methods + STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppvObj) override + { + static const QITAB c_tab[] = + { + QITABENT(CDummyOleWindow, IOleWindow), + { NULL } + }; + return ::QISearch(this, c_tab, riid, ppvObj); + } + STDMETHODIMP_(ULONG) AddRef() override + { + return ++m_cRefs; + } + STDMETHODIMP_(ULONG) Release() override + { + if (--m_cRefs == 0) + { + delete this; + return 0; + } + return m_cRefs; + } + + // IOleWindow methods + STDMETHODIMP GetWindow(HWND *phWnd) override + { + *phWnd = m_hWnd; + if (!m_hWnd) + return E_NOTIMPL; + return S_OK; + } + STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode) override + { + return E_NOTIMPL; + } +}; + +EXTERN_C HRESULT +BindCtx_RegisterObjectParam( + _In_ IBindCtx *pBindCtx, + _In_ LPOLESTR pszKey, + _In_opt_ IUnknown *punk, + _Out_ LPBC *ppbc) +{ + HRESULT hr = S_OK; + CDummyOleWindow *pUnknown = NULL; + + *ppbc = pBindCtx; + + if (pBindCtx) + { + pBindCtx->AddRef(); + } + else + { + hr = CreateBindCtx(0, ppbc); + if (FAILED(hr)) + return hr; + } + + if (!punk) + punk = pUnknown = new CDummyOleWindow(); + + hr = (*ppbc)->RegisterObjectParam(pszKey, punk); + + if (pUnknown) + pUnknown->Release(); + + if (FAILED(hr)) + { + (*ppbc)->Release(); + *ppbc = NULL; + } + + return hr; +} + /************************************************************************* * SHSetFolderPathA (SHELL32.231) * diff --git a/dll/win32/shell32/wine/pidl.c b/dll/win32/shell32/wine/pidl.c index 7279737c8eb..824af18984a 100644 --- a/dll/win32/shell32/wine/pidl.c +++ b/dll/win32/shell32/wine/pidl.c @@ -54,6 +54,15 @@ extern BOOL WINAPI Free(LPVOID); static LPSTR _ILGetSTextPointer(LPCITEMIDLIST pidl); static LPWSTR _ILGetTextPointerW(LPCITEMIDLIST pidl); +EXTERN_C HWND BindCtx_GetUIWindow(_In_ IBindCtx *pBindCtx); + +EXTERN_C HRESULT +BindCtx_RegisterObjectParam( + _In_ IBindCtx *pBindCtx, + _In_ LPOLESTR pszKey, + _In_opt_ IUnknown *punk, + _Out_ LPBC *ppbc); + /************************************************************************* * ILGetDisplayNameExA * @@ -1396,39 +1405,59 @@ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCI HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut) { + HRESULT hr; + LPWSTR pszNameDup; IShellFolder *psfDesktop; - HRESULT hr=E_FAIL; - ULONG dwAttr=sfgaoIn; + IBindCtx *pBindCtx = NULL; - if(!ppidl) - return E_INVALIDARG; + TRACE("(%s, %p, %p, 0x%X, %p)\n", pszName, pbc, ppidl, sfgaoIn, psfgaoOut); - if (!pszName) - { - *ppidl = NULL; - return E_INVALIDARG; - } + *ppidl = NULL; + + if (psfgaoOut) + *psfgaoOut = 0; + + pszNameDup = StrDupW(pszName); + if (!pszNameDup) + return E_OUTOFMEMORY; + psfDesktop = NULL; hr = SHGetDesktopFolder(&psfDesktop); if (FAILED(hr)) { - *ppidl = NULL; + LocalFree(pszNameDup); return hr; } - hr = IShellFolder_ParseDisplayName(psfDesktop, (HWND)NULL, pbc, (LPOLESTR)pszName, (ULONG *)NULL, ppidl, &dwAttr); - - IShellFolder_Release(psfDesktop); - - if (SUCCEEDED(hr)) + if (!pbc) { - if (psfgaoOut) *psfgaoOut = dwAttr; + hr = BindCtx_RegisterObjectParam(NULL, STR_PARSE_TRANSLATE_ALIASES, NULL, &pBindCtx); + pbc = pBindCtx; } - else + + if (SUCCEEDED(hr)) { - *ppidl = NULL; + ULONG sfgao = sfgaoIn, cchEaten; + HWND hwndUI = BindCtx_GetUIWindow(pbc); + hr = psfDesktop->lpVtbl->ParseDisplayName(psfDesktop, + hwndUI, + pbc, + pszNameDup, + &cchEaten, + ppidl, + (psfgaoOut ? &sfgao : NULL)); + if (SUCCEEDED(hr) && psfgaoOut) + *psfgaoOut = (sfgao & sfgaoIn); } + LocalFree(pszNameDup); + + if (psfDesktop) + psfDesktop->lpVtbl->Release(psfDesktop); + + if (pBindCtx) + pBindCtx->lpVtbl->Release(pBindCtx); + return hr; } diff --git a/dll/win32/shell32/wine/shellord.c b/dll/win32/shell32/wine/shellord.c index 3779b2e7e56..b02da92b1bf 100644 --- a/dll/win32/shell32/wine/shellord.c +++ b/dll/win32/shell32/wine/shellord.c @@ -1889,8 +1889,14 @@ DWORD WINAPI DoEnvironmentSubstAW(LPVOID x, UINT y) */ BOOL WINAPI GUIDFromStringA(LPCSTR str, LPGUID guid) { - TRACE("GUIDFromStringA() stub\n"); - return FALSE; + ANSI_STRING ansi_str; + WCHAR szWide[40]; + UNICODE_STRING guid_str = { 0, sizeof(szWide), szWide }; + if (*str != '{') + return FALSE; + RtlInitAnsiString(&ansi_str, str); + return !RtlAnsiStringToUnicodeString(&guid_str, &ansi_str, FALSE) && + !RtlGUIDFromString(&guid_str, guid); } /************************************************************************* @@ -1899,7 +1905,8 @@ BOOL WINAPI GUIDFromStringA(LPCSTR str, LPGUID guid) BOOL WINAPI GUIDFromStringW(LPCWSTR str, LPGUID guid) { UNICODE_STRING guid_str; - + if (!str || *str != L'{') + return FALSE; RtlInitUnicodeString(&guid_str, str); return !RtlGUIDFromString(&guid_str, guid); } diff --git a/dll/win32/shell32/wine/shellpath.c b/dll/win32/shell32/wine/shellpath.c index 160e25c03d1..dc4e94e2716 100644 --- a/dll/win32/shell32/wine/shellpath.c +++ b/dll/win32/shell32/wine/shellpath.c @@ -1104,14 +1104,14 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x03 - CSIDL_CONTROLS (.CPL files) */ &FOLDERID_ControlPanelFolder, CSIDL_Type_SystemPath, - NULL, + L"ControlPanelFolder", NULL, -IDI_SHELL_CONTROL_PANEL }, { /* 0x04 - CSIDL_PRINTERS */ &FOLDERID_PrintersFolder, CSIDL_Type_SystemPath, - NULL, + L"PrintersFolder", NULL, -IDI_SHELL_PRINTERS_FOLDER }, @@ -1151,7 +1151,7 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x0a - CSIDL_BITBUCKET - Recycle Bin */ &FOLDERID_RecycleBinFolder, CSIDL_Type_Disallowed, - NULL, + L"RecycleBinFolder", NULL }, { /* 0x0b - CSIDL_STARTMENU */ @@ -1210,14 +1210,14 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x11 - CSIDL_DRIVES */ &FOLDERID_ComputerFolder, CSIDL_Type_Disallowed, - NULL, + L"MyComputerFolder", NULL, -IDI_SHELL_COMPUTER_FOLDER }, { /* 0x12 - CSIDL_NETWORK */ &FOLDERID_NetworkFolder, CSIDL_Type_Disallowed, - NULL, + L"NetworkPlacesFolder", NULL, -IDI_SHELL_NETWORK_FOLDER }, @@ -1341,21 +1341,21 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x24 - CSIDL_WINDOWS */ &FOLDERID_Windows, CSIDL_Type_WindowsPath, - NULL, + L"Windows", NULL, -IDI_SHELL_SYSTEM_GEAR }, { /* 0x25 - CSIDL_SYSTEM */ &FOLDERID_System, CSIDL_Type_SystemPath, - NULL, + L"System", NULL, -IDI_SHELL_SYSTEM_GEAR }, { /* 0x26 - CSIDL_PROGRAM_FILES */ &FOLDERID_ProgramFiles, CSIDL_Type_CurrVer, - L"ProgramFilesDir", + L"ProgramFiles", MAKEINTRESOURCEW(IDS_PROGRAM_FILES), #ifdef __REACTOS__ 0 @@ -1390,21 +1390,21 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x2a - CSIDL_PROGRAM_FILESX86 */ &FOLDERID_ProgramFilesX86, CSIDL_Type_CurrVer, - L"ProgramFilesDir (x86)", + L"ProgramFilesX86", L"Program Files (x86)", -IDI_SHELL_PROGRAMS_FOLDER }, { /* 0x2b - CSIDL_PROGRAM_FILES_COMMON */ &FOLDERID_ProgramFilesCommon, CSIDL_Type_CurrVer, - L"CommonFilesDir", + L"ProgramFilesCommon", MAKEINTRESOURCEW(IDS_PROGRAM_FILES_COMMON), -IDI_SHELL_PROGRAMS_FOLDER }, { /* 0x2c - CSIDL_PROGRAM_FILES_COMMONX86 */ &FOLDERID_ProgramFilesCommonX86, CSIDL_Type_CurrVer, - L"CommonFilesDir (x86)", + L"ProgramFilesCommonX86", L"Program Files (x86)\\Common Files", -IDI_SHELL_PROGRAMS_FOLDER }, @@ -1436,7 +1436,7 @@ static const CSIDL_DATA CSIDL_Data[] = { /* 0x31 - CSIDL_CONNECTIONS */ &FOLDERID_ConnectionsFolder, CSIDL_Type_Disallowed, - NULL, + L"ConnectionsFolder", NULL, -IDI_SHELL_NETWORK_CONNECTIONS }, @@ -1842,6 +1842,43 @@ static const CSIDL_DATA CSIDL_Data[] = #endif }; +INT SHGetSpecialFolderID(_In_ LPCWSTR pszName) +{ + UINT csidl; + + for (csidl = 0; csidl < _countof(CSIDL_Data); ++csidl) + { + const CSIDL_DATA *pData = &CSIDL_Data[csidl]; + if (pData->szValueName && lstrcmpiW(pszName, pData->szValueName) == 0) + return csidl; + } + + return -1; +} + +INT Shell_ParseSpecialFolder(_In_ LPCWSTR pszStart, _Out_ LPWSTR *ppch, _Out_ INT *pcch) +{ + LPCWSTR pszPath, pchBackslash; + WCHAR szPath[MAX_PATH]; + + pchBackslash = StrChrW(pszStart, L'\\'); + if (pchBackslash) + { + *ppch = (LPWSTR)(pchBackslash + 1); + *pcch = (pchBackslash - pszStart) + 1; + StrCpyNW(szPath, pszStart, max(*pcch, _countof(szPath))); + pszPath = szPath; + } + else + { + *ppch = NULL; + *pcch = lstrlenW(pszStart); + pszPath = pszStart; + } + + return SHGetSpecialFolderID(pszPath); +} + #ifndef __REACTOS__ static HRESULT _SHExpandEnvironmentStrings(LPCWSTR szSrc, LPWSTR szDest); #else diff --git a/dll/win32/shlwapi/lang/ro-RO.rc b/dll/win32/shlwapi/lang/ro-RO.rc index 86a2684a913..d31911ba7ec 100644 --- a/dll/win32/shlwapi/lang/ro-RO.rc +++ b/dll/win32/shlwapi/lang/ro-RO.rc @@ -4,6 +4,7 @@ * Copyright 2004 Jon Griffiths * Copyright 2008 Michael Stefaniuc * 2011 Ștefan Fulea + * 2024 Andrei Miloiu * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,12 +32,12 @@ STRINGTABLE IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" #ifdef __REACTOS__ - IDS_KB_FORMAT "%s KB" - IDS_MB_FORMAT "%s MB" - IDS_GB_FORMAT "%s GB" - IDS_TB_FORMAT "%s TB" - IDS_PB_FORMAT "%s PB" - IDS_EB_FORMAT "%s EB" + IDS_KB_FORMAT "%s KO" + IDS_MB_FORMAT "%s MO" + IDS_GB_FORMAT "%s GO" + IDS_TB_FORMAT "%s TO" + IDS_PB_FORMAT "%s PO" + IDS_EB_FORMAT "%s EO" #endif } @@ -47,9 +48,9 @@ FONT 8, "MS Shell Dlg" { LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 - CHECKBOX "Nu dor&esc recurența acestui mesaj", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Con&firmă", IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "A&nulează", IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "D&a", IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "N&u", IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + CHECKBOX "&În viitor, nu se va afişa această casetă de dialog", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "OK", IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Revocare", IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Da", IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Nu", IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP } diff --git a/dll/win32/shlwapi/string.c b/dll/win32/shlwapi/string.c index 6dc9ff8e59d..0285f6cd58a 100644 --- a/dll/win32/shlwapi/string.c +++ b/dll/win32/shlwapi/string.c @@ -1068,6 +1068,10 @@ LPSTR WINAPI StrDupA(LPCSTR lpszStr) TRACE("(%s)\n",debugstr_a(lpszStr)); +#ifdef __REACTOS__ + if (!lpszStr) + return NULL; +#endif iLen = lpszStr ? strlen(lpszStr) + 1 : 1; lpszRet = LocalAlloc(LMEM_FIXED, iLen); @@ -1093,6 +1097,10 @@ LPWSTR WINAPI StrDupW(LPCWSTR lpszStr) TRACE("(%s)\n",debugstr_w(lpszStr)); +#ifdef __REACTOS__ + if (!lpszStr) + return NULL; +#endif iLen = (lpszStr ? strlenW(lpszStr) + 1 : 1) * sizeof(WCHAR); lpszRet = LocalAlloc(LMEM_FIXED, iLen); diff --git a/dll/win32/wdmaud.drv/legacy.c b/dll/win32/wdmaud.drv/legacy.c index 00c9507341d..f1ada7cdd3b 100644 --- a/dll/win32/wdmaud.drv/legacy.c +++ b/dll/win32/wdmaud.drv/legacy.c @@ -506,7 +506,7 @@ WdmAudSetWaveDeviceFormatByLegacy( ZeroMemory(&DeviceInfo, sizeof(WDMAUD_DEVICE_INFO)); DeviceInfo.DeviceType = DeviceType; DeviceInfo.DeviceIndex = DeviceId; - DeviceInfo.u.WaveFormatEx.cbSize = sizeof(WAVEFORMATEX); //WaveFormat->cbSize; + DeviceInfo.u.WaveFormatEx.cbSize = WaveFormat->cbSize; DeviceInfo.u.WaveFormatEx.wFormatTag = WaveFormat->wFormatTag; #ifdef USERMODE_MIXER DeviceInfo.u.WaveFormatEx.nChannels = 2; @@ -546,7 +546,7 @@ WdmAudSetWaveDeviceFormatByLegacy( } /* store details */ - Instance->WaveFormatEx.cbSize = sizeof(WAVEFORMATEX); + Instance->WaveFormatEx.cbSize = WaveFormat->cbSize; Instance->WaveFormatEx.wBitsPerSample = (DeviceInfo.u.WaveFormatEx.nAvgBytesPerSec * 8) / (DeviceInfo.u.WaveFormatEx.nSamplesPerSec * DeviceInfo.u.WaveFormatEx.nChannels); /* Store sound device handle instance handle */ diff --git a/drivers/filesystems/udfs/udffs.h b/drivers/filesystems/udfs/udffs.h index fd310f25fb5..e51a2cfef51 100644 --- a/drivers/filesystems/udfs/udffs.h +++ b/drivers/filesystems/udfs/udffs.h @@ -107,10 +107,8 @@ // Common include files - should be in the include dir of the MS supplied IFS Kit #ifndef _CONSOLE extern "C" { -#pragma pack(push, 8) #include "ntifs.h" #include "ntifs_ex.h" -#pragma pack(pop) } #endif //_CONSOLE diff --git a/drivers/ksfilter/ks/connectivity.c b/drivers/ksfilter/ks/connectivity.c index ba7db56d8b5..395d5b53d63 100644 --- a/drivers/ksfilter/ks/connectivity.c +++ b/drivers/ksfilter/ks/connectivity.c @@ -43,7 +43,7 @@ KsCreatePin( PKSDATAFORMAT_WAVEFORMATEX Format = (PKSDATAFORMAT_WAVEFORMATEX)(Connect + 1); if (Format->DataFormat.FormatSize == sizeof(KSDATAFORMAT) || - Format->DataFormat.FormatSize == sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEX)) + Format->DataFormat.FormatSize == sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEX) + Format->WaveFormatEx.cbSize) { ConnectSize += Format->DataFormat.FormatSize; } diff --git a/drivers/ksfilter/ks/filter.c b/drivers/ksfilter/ks/filter.c index 59bc676745d..7dc344680ee 100644 --- a/drivers/ksfilter/ks/filter.c +++ b/drivers/ksfilter/ks/filter.c @@ -168,7 +168,7 @@ IKsProcessingObject_fnProcessingObjectWork( { /* check if the and-gate has been enabled again */ - if (&This->Gate.Count != 0) + if (This->Gate.Count != 0) { /* gate is open */ DPRINT1("processing object gate open\n"); diff --git a/hal/halx86/apic/apictrap.S b/hal/halx86/apic/apictrap.S index e62ffc0b471..417d7e70fc6 100644 --- a/hal/halx86/apic/apictrap.S +++ b/hal/halx86/apic/apictrap.S @@ -15,9 +15,9 @@ #include .code -TRAP_ENTRY HalpClockInterrupt, (TF_VOLATILES OR TF_SEND_EOI) -TRAP_ENTRY HalpClockIpi, (TF_VOLATILES OR TF_SEND_EOI) -TRAP_ENTRY HalpProfileInterrupt, (TF_VOLATILES OR TF_SEND_EOI) +TRAP_ENTRY HalpClockInterrupt, TF_SEND_EOI +TRAP_ENTRY HalpClockIpi, TF_SEND_EOI +TRAP_ENTRY HalpProfileInterrupt, TF_SEND_EOI PUBLIC ApicSpuriousService ApicSpuriousService: diff --git a/media/doc/3rd Party Files.txt b/media/doc/3rd Party Files.txt index d55807743f2..3831b7efa71 100644 --- a/media/doc/3rd Party Files.txt +++ b/media/doc/3rd Party Files.txt @@ -248,7 +248,7 @@ URL: http://www.mega-nerd.com/SRC/download.html Title: win-iconv Path: sdk/lib/3rdparty/libwin-iconv Used Version: git commit 8765259 -License: +License: "Public Domain" URL: https://github.com/win-iconv/win-iconv Title: LibXML diff --git a/modules/rostests/apitests/advapi32/CMakeLists.txt b/modules/rostests/apitests/advapi32/CMakeLists.txt index 8a9bab7abd6..45c91859cb2 100644 --- a/modules/rostests/apitests/advapi32/CMakeLists.txt +++ b/modules/rostests/apitests/advapi32/CMakeLists.txt @@ -3,6 +3,7 @@ list(APPEND SOURCE CreateService.c DuplicateTokenEx.c eventlog.c + Hash.c HKEY_CLASSES_ROOT.c IsTextUnicode.c LockServiceDatabase.c diff --git a/modules/rostests/apitests/advapi32/Hash.c b/modules/rostests/apitests/advapi32/Hash.c new file mode 100644 index 00000000000..aa4a3b8cdf4 --- /dev/null +++ b/modules/rostests/apitests/advapi32/Hash.c @@ -0,0 +1,303 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for basic hash APIs + * COPYRIGHT: Copyright 2023 Ratin Gao + */ + +#include "precomp.h" + +typedef struct _A_SHA_CTX +{ + UCHAR Buffer[64]; + ULONG State[5]; + ULONG Count[2]; +} A_SHA_CTX, *PA_SHA_CTX; + +#define A_SHA_DIGEST_LEN 20 + +typedef struct _MD5_CTX +{ + ULONG Count[2]; + ULONG State[4]; + UCHAR Buffer[64]; + UCHAR Hash[16]; +} MD5_CTX, *PMD5_CTX; + +#define MD5_DIGEST_LEN 16 + +typedef struct _MD4_CTX +{ + ULONG State[4]; + ULONG Count[2]; + UCHAR Buffer[64]; + UCHAR Hash[16]; +} MD4_CTX, *PMD4_CTX; + +#define MD4_DIGEST_LEN 16 + +#ifndef RSA32API +#define RSA32API __stdcall +#endif + +typedef +VOID +RSA32API +FN_A_SHAInit( + _Out_ PA_SHA_CTX Context); + +typedef +VOID +RSA32API +FN_A_SHAUpdate( + _Inout_ PA_SHA_CTX Context, + _In_reads_(BufferSize) PUCHAR Buffer, + _In_ ULONG BufferSize); + +typedef +VOID +RSA32API +FN_A_SHAFinal( + _Inout_ PA_SHA_CTX Context, + _Out_ PUCHAR Result); + +typedef +VOID +RSA32API +FN_MD5Init( + _Out_ PMD5_CTX Context); + +typedef +VOID +RSA32API +FN_MD5Update( + _Inout_ PMD5_CTX Context, + _In_reads_(BufferSize) PUCHAR Buffer, + _In_ ULONG BufferSize); + +typedef +VOID +RSA32API +FN_MD5Final( + _Inout_ PMD5_CTX Context); + +typedef +VOID +RSA32API +FN_MD4Init( + _Out_ PMD4_CTX Context); + +typedef +VOID +RSA32API +FN_MD4Update( + _Inout_ PMD4_CTX Context, + _In_reads_(BufferSize) PUCHAR Buffer, + _In_ ULONG BufferSize); + +typedef +VOID +RSA32API +FN_MD4Final( + _Inout_ PMD4_CTX Context); + +static HMODULE g_hAdvapi32 = NULL; +static ANSI_STRING g_TestString = RTL_CONSTANT_STRING("ReactOS Hash API Test String"); + +static ULONG g_ctxSHA1StateInit[] = { 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0 }; +static UCHAR g_aucSHA1Result[A_SHA_DIGEST_LEN] = { + 0xEC, 0x05, 0x43, 0xE7, 0xDE, 0x8A, 0xEE, 0xFF, + 0xAD, 0x72, 0x2B, 0x9D, 0x55, 0x4F, 0xCA, 0x6A, + 0x8D, 0x81, 0xF1, 0xC7 +}; + +static ULONG g_aulMD5Or4StateInit[] = { 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476 }; +static UCHAR g_aucMD5Result[MD5_DIGEST_LEN] = { + 0x3D, 0xE8, 0x23, 0x8B, 0x9D, 0xE0, 0xCE, 0x48, + 0xB1, 0x1B, 0xDD, 0xD9, 0xC6, 0x86, 0xB2, 0xDE +}; +static UCHAR g_aucMD4Result[MD4_DIGEST_LEN] = { + 0xE0, 0xE8, 0x50, 0x8A, 0x4D, 0x11, 0x02, 0xA6, + 0x6A, 0xF0, 0xA7, 0xAB, 0xD8, 0xC4, 0x40, 0xED +}; + +static void Test_SHA1(void) +{ + FN_A_SHAInit* pfnA_SHAInit; + FN_A_SHAUpdate* pfnA_SHAUpdate; + FN_A_SHAFinal* pfnA_SHAFinal; + DECLSPEC_ALIGN(4) A_SHA_CTX ctx; + UCHAR Result[A_SHA_DIGEST_LEN]; + SIZE_T ComparedSize; + + /* Load functions */ + pfnA_SHAInit = (FN_A_SHAInit*)GetProcAddress(g_hAdvapi32, "A_SHAInit"); + pfnA_SHAUpdate = (FN_A_SHAUpdate*)GetProcAddress(g_hAdvapi32, "A_SHAUpdate"); + pfnA_SHAFinal = (FN_A_SHAFinal*)GetProcAddress(g_hAdvapi32, "A_SHAFinal"); + + if (!pfnA_SHAInit || !pfnA_SHAUpdate || !pfnA_SHAFinal) + { + skip("advapi32.dll!A_SHA*** not found\n"); + return; + } + + /* Test A_SHAInit */ + pfnA_SHAInit(&ctx); + ComparedSize = RtlCompareMemory(ctx.State, + g_ctxSHA1StateInit, + RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_ulong(ctx.Count[0], 0UL); + ok_eq_ulong(ctx.Count[1], 0UL); + + /* Test A_SHAUpdate */ + pfnA_SHAUpdate(&ctx, (PUCHAR)g_TestString.Buffer, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.Buffer, + g_TestString.Buffer, + g_TestString.Length); + ok_eq_size(ComparedSize, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.State, + g_ctxSHA1StateInit, + RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_ulong(ctx.Count[0], 0UL); + ok_eq_ulong(ctx.Count[1], (ULONG)g_TestString.Length); + + /* Test A_SHAFinal */ + pfnA_SHAFinal(&ctx, Result); + ComparedSize = RtlCompareMemoryUlong(ctx.Buffer, sizeof(ctx.Buffer), 0); + ok_eq_size(ComparedSize, sizeof(ctx.Buffer)); + ComparedSize = RtlCompareMemory(ctx.State, + g_ctxSHA1StateInit, + RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(A_SHA_CTX, State)); + ok_eq_ulong(ctx.Count[0], 0UL); + ok_eq_ulong(ctx.Count[1], 0UL); + ComparedSize = RtlCompareMemory(Result, g_aucSHA1Result, A_SHA_DIGEST_LEN); + ok_eq_size(ComparedSize, A_SHA_DIGEST_LEN); +} + +static void Test_MD5(void) +{ + FN_MD5Init* pfnMD5Init; + FN_MD5Update* pfnMD5Update; + FN_MD5Final* pfnMD5Final; + DECLSPEC_ALIGN(4) MD5_CTX ctx; + SIZE_T ComparedSize; + + /* Load functions */ + pfnMD5Init = (FN_MD5Init*)GetProcAddress(g_hAdvapi32, "MD5Init"); + pfnMD5Update = (FN_MD5Update*)GetProcAddress(g_hAdvapi32, "MD5Update"); + pfnMD5Final = (FN_MD5Final*)GetProcAddress(g_hAdvapi32, "MD5Final"); + + if (!pfnMD5Init || !pfnMD5Update || !pfnMD5Final) + { + skip("advapi32.dll!MD5*** not found\n"); + return; + } + + /* Test MD5Init */ + pfnMD5Init(&ctx); + ok_eq_ulong(ctx.Count[0], 0UL); + ok_eq_ulong(ctx.Count[1], 0UL); + ComparedSize = RtlCompareMemory(ctx.State, + g_aulMD5Or4StateInit, + RTL_FIELD_SIZE(MD5_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(MD5_CTX, State)); + + /* Test MD5Update */ + pfnMD5Update(&ctx, (PUCHAR)g_TestString.Buffer, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.Buffer, + g_TestString.Buffer, + g_TestString.Length); + ok_eq_size(ComparedSize, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.State, + g_aulMD5Or4StateInit, + RTL_FIELD_SIZE(MD5_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(MD5_CTX, State)); + ok_eq_ulong(ctx.Count[0], (ULONG)g_TestString.Length * CHAR_BIT); + ok_eq_ulong(ctx.Count[1], 0UL); + + /* Test MD5Final */ + pfnMD5Final(&ctx); + ok_eq_ulong(ctx.Count[0], 0x200UL); + ok_eq_ulong(ctx.Count[1], 0UL); + ok_eq_ulong(ctx.State[0], 0x8B23E83DUL); + ok_eq_ulong(ctx.State[1], 0x48CEE09DUL); + ok_eq_ulong(ctx.State[2], 0xD9DD1BB1UL); + ok_eq_ulong(ctx.State[3], 0xDEB286C6UL); + ComparedSize = RtlCompareMemoryUlong(ctx.Buffer, sizeof(ctx.Buffer), 0); + ok_eq_size(ComparedSize, sizeof(ctx.Buffer)); + ComparedSize = RtlCompareMemory(ctx.Hash, &g_aucMD5Result, MD5_DIGEST_LEN); + ok_eq_size(ComparedSize, MD5_DIGEST_LEN); +} + +static void Test_MD4(void) +{ + FN_MD4Init* pfnMD4Init; + FN_MD4Update* pfnMD4Update; + FN_MD4Final* pfnMD4Final; + DECLSPEC_ALIGN(4) MD4_CTX ctx; + SIZE_T ComparedSize; + + /* Load functions */ + pfnMD4Init = (FN_MD4Init*)GetProcAddress(g_hAdvapi32, "MD4Init"); + pfnMD4Update = (FN_MD4Update*)GetProcAddress(g_hAdvapi32, "MD4Update"); + pfnMD4Final = (FN_MD4Final*)GetProcAddress(g_hAdvapi32, "MD4Final"); + + if (!pfnMD4Init || !pfnMD4Update || !pfnMD4Final) + { + skip("advapi32.dll!MD4*** not found\n"); + return; + } + + /* Test MD4Init */ + pfnMD4Init(&ctx); + ok_eq_ulong(ctx.Count[0], 0UL); + ok_eq_ulong(ctx.Count[1], 0UL); + ComparedSize = RtlCompareMemory(ctx.State, + g_aulMD5Or4StateInit, + RTL_FIELD_SIZE(MD4_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(MD4_CTX, State)); + + /* Test MD4Update */ + pfnMD4Update(&ctx, (PUCHAR)g_TestString.Buffer, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.Buffer, + g_TestString.Buffer, + g_TestString.Length); + ok_eq_size(ComparedSize, g_TestString.Length); + ComparedSize = RtlCompareMemory(ctx.State, + g_aulMD5Or4StateInit, + RTL_FIELD_SIZE(MD4_CTX, State)); + ok_eq_size(ComparedSize, RTL_FIELD_SIZE(MD4_CTX, State)); + ok_eq_ulong(ctx.Count[0], (ULONG)g_TestString.Length * CHAR_BIT); + ok_eq_ulong(ctx.Count[1], 0UL); + + /* Test MD4Final */ + pfnMD4Final(&ctx); + ok_eq_ulong(ctx.Count[0], 0x200UL); + ok_eq_ulong(ctx.Count[1], 0UL); + ok_eq_ulong(ctx.State[0], 0x8A50E8E0UL); + ok_eq_ulong(ctx.State[1], 0xA602114DUL); + ok_eq_ulong(ctx.State[2], 0xABA7F06AUL); + ok_eq_ulong(ctx.State[3], 0xED40C4D8UL); + ComparedSize = RtlCompareMemoryUlong(ctx.Buffer, sizeof(ctx.Buffer), 0); + ok_eq_size(ComparedSize, sizeof(ctx.Buffer)); + ComparedSize = RtlCompareMemory(ctx.Hash, &g_aucMD4Result, MD4_DIGEST_LEN); + ok_eq_size(ComparedSize, MD4_DIGEST_LEN); +} + +START_TEST(Hash) +{ + /* Load advapi32.dll */ + g_hAdvapi32 = GetModuleHandleW(L"advapi32.dll"); + if (!g_hAdvapi32) + { + skip("Module advapi32 not found\n"); + return; + } + + Test_SHA1(); + Test_MD5(); + Test_MD4(); +} diff --git a/modules/rostests/apitests/advapi32/testlist.c b/modules/rostests/apitests/advapi32/testlist.c index 67764a03204..a48b3b9d496 100644 --- a/modules/rostests/apitests/advapi32/testlist.c +++ b/modules/rostests/apitests/advapi32/testlist.c @@ -6,6 +6,7 @@ extern void func_CreateService(void); extern void func_DuplicateTokenEx(void); extern void func_eventlog(void); +extern void func_Hash(void); extern void func_HKEY_CLASSES_ROOT(void); extern void func_IsTextUnicode(void); extern void func_LockServiceDatabase(void); @@ -27,6 +28,7 @@ const struct test winetest_testlist[] = { "CreateService", func_CreateService }, { "DuplicateTokenEx", func_DuplicateTokenEx }, { "eventlog_supp", func_eventlog }, + { "Hash", func_Hash }, { "HKEY_CLASSES_ROOT", func_HKEY_CLASSES_ROOT }, { "IsTextUnicode" , func_IsTextUnicode }, { "LockServiceDatabase" , func_LockServiceDatabase }, diff --git a/modules/rostests/apitests/kernel32/QueueUserAPC.c b/modules/rostests/apitests/kernel32/QueueUserAPC.c index 72435209eae..2e54350d76a 100644 --- a/modules/rostests/apitests/kernel32/QueueUserAPC.c +++ b/modules/rostests/apitests/kernel32/QueueUserAPC.c @@ -8,7 +8,7 @@ #define MAX_RECORD 30 -static DWORD s_record_count = 0; +static LONG s_record_count = 0; static DWORD s_record[MAX_RECORD + 1] = { 0 }; static BOOL s_terminate_all = FALSE; @@ -24,9 +24,9 @@ static const SIZE_T s_expected_count = _countof(s_expected); static void AddValueToRecord(DWORD dwValue) { - s_record[s_record_count] = dwValue; - if (s_record_count < MAX_RECORD) - s_record_count++; + LONG next = InterlockedIncrement(&s_record_count) - 1; + if (next < MAX_RECORD) + s_record[next] = dwValue; } static VOID CheckRecord(void) @@ -145,8 +145,41 @@ static void TestForWaitForSingleObjectEx(void) JustDoIt(ThreadFunc2); } +static DWORD WINAPI ThreadFunc3(LPVOID arg) +{ + return 0; +} + +static void TestMultipleUserAPCs(void) +{ + HANDLE hThread; + DWORD dwThreadId; + + s_record_count = 0; + + hThread = CreateThread(NULL, 0, ThreadFunc3, NULL, CREATE_SUSPENDED, &dwThreadId); + ok(hThread != NULL, "hThread was NULL\n"); + + ok_long(QueueUserAPC(DoUserAPC1, hThread, 1), 1); + ok_long(QueueUserAPC(DoUserAPC2, hThread, 2), 1); + ok_long(QueueUserAPC(DoUserAPC3, hThread, 3), 1); + + ok_long(s_record_count, 0); + + ResumeThread(hThread); + + ok_long(WaitForSingleObject(hThread, 5 * 1000), WAIT_OBJECT_0); + ok_int(CloseHandle(hThread), TRUE); + + ok_long(s_record_count, 3); + ok_long(s_record[0], 4); + ok_long(s_record[1], 5); + ok_long(s_record[2], 6); +} + START_TEST(QueueUserAPC) { TestForSleepEx(); TestForWaitForSingleObjectEx(); + TestMultipleUserAPCs(); } diff --git a/modules/rostests/apitests/shell32/CMakeLists.txt b/modules/rostests/apitests/shell32/CMakeLists.txt index 62cbc898ee6..acd85a23c3f 100644 --- a/modules/rostests/apitests/shell32/CMakeLists.txt +++ b/modules/rostests/apitests/shell32/CMakeLists.txt @@ -17,6 +17,7 @@ list(APPEND SOURCE ExtractIconEx.cpp FindExecutable.cpp GetDisplayNameOf.cpp + GUIDFromString.cpp Int64ToString.cpp IShellFolderViewCB.cpp OpenAs_RunDLL.cpp diff --git a/modules/rostests/apitests/shell32/GUIDFromString.cpp b/modules/rostests/apitests/shell32/GUIDFromString.cpp new file mode 100644 index 00000000000..597892c755d --- /dev/null +++ b/modules/rostests/apitests/shell32/GUIDFromString.cpp @@ -0,0 +1,119 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) + * PURPOSE: Tests for GUIDFromStringA/W + * COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ + */ + +#include +#include +#include +#include + +DEFINE_GUID(invalid_guid, 0xDEADDEAD, 0xDEAD, 0xDEAD, 0xED, 0xED, 0xED, 0xED, + 0xED, 0xED, 0xED, 0xED); + +//DEFINE_GUID(IID_IShellLinkW, 0x000214F9, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x46); +//DEFINE_GUID(IID_IShellLinkW_Invalid, 0x000214F9, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0xED); + +static void TEST_GUIDFromStringA(void) +{ + GUID guid; + BOOL ret; + + guid = invalid_guid; + _SEH2_TRY + { + ret = GUIDFromStringA(NULL, &guid); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + ret = 0xDEADBEEF; + } + _SEH2_END; + + if (IsWindowsVistaOrGreater()) + ok_int(ret, FALSE); + else + ok_int(ret, 0xDEADBEEF); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringA("", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringA("{", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringA("{000214F9-0000-0000-C000-000000000046", &guid), FALSE); + //ok_int(memcmp(&guid, &IID_IShellLinkW_Invalid, sizeof(guid)) == 0, TRUE); // Ignorable corner case + + guid = invalid_guid; + ok_int(GUIDFromStringA("{000214F9-0000-0000-C000-000000000046}", &guid), TRUE); + ok_int(memcmp(&guid, &IID_IShellLinkW, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringA("{000214F9-0000-0000-C000-000000000046}g", &guid), TRUE); + ok_int(memcmp(&guid, &IID_IShellLinkW, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringA(" {000214F9-0000-0000-C000-000000000046}", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); +} + +static void TEST_GUIDFromStringW(void) +{ + GUID guid; + BOOL ret; + + guid = invalid_guid; + _SEH2_TRY + { + ret = GUIDFromStringW(NULL, &guid); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + ret = 0xDEADBEEF; + } + _SEH2_END; + + if (IsWindowsVistaOrGreater()) + ok_int(ret, 0xDEADBEEF); + else + ok_int(ret, FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringW(L"", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringW(L"{", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringW(L"{000214F9-0000-0000-C000-000000000046", &guid), FALSE); + //ok_int(memcmp(&guid, &IID_IShellLinkW_Invalid, sizeof(guid)) == 0, TRUE); // Ignorable corner case + + guid = invalid_guid; + ok_int(GUIDFromStringW(L"{000214F9-0000-0000-C000-000000000046}", &guid), TRUE); + ok_int(memcmp(&guid, &IID_IShellLinkW, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringW(L"{000214F9-0000-0000-C000-000000000046}g", &guid), TRUE); + ok_int(memcmp(&guid, &IID_IShellLinkW, sizeof(guid)) == 0, TRUE); + + guid = invalid_guid; + ok_int(GUIDFromStringW(L" {000214F9-0000-0000-C000-000000000046}", &guid), FALSE); + ok_int(memcmp(&guid, &invalid_guid, sizeof(guid)) == 0, TRUE); +} + +START_TEST(GUIDFromString) +{ + TEST_GUIDFromStringA(); + TEST_GUIDFromStringW(); +} diff --git a/modules/rostests/apitests/shell32/testlist.c b/modules/rostests/apitests/shell32/testlist.c index e3a83c19106..7e42b733569 100644 --- a/modules/rostests/apitests/shell32/testlist.c +++ b/modules/rostests/apitests/shell32/testlist.c @@ -17,6 +17,7 @@ extern void func_DragDrop(void); extern void func_ExtractIconEx(void); extern void func_FindExecutable(void); extern void func_GetDisplayNameOf(void); +extern void func_GUIDFromString(void); extern void func_Int64ToString(void); extern void func_IShellFolderViewCB(void); extern void func_menu(void); @@ -57,6 +58,7 @@ const struct test winetest_testlist[] = { "ExtractIconEx", func_ExtractIconEx }, { "FindExecutable", func_FindExecutable }, { "GetDisplayNameOf", func_GetDisplayNameOf }, + { "GUIDFromString", func_GUIDFromString }, { "Int64ToString", func_Int64ToString }, { "IShellFolderViewCB", func_IShellFolderViewCB }, { "menu", func_menu }, diff --git a/modules/rostests/apitests/shlwapi/CMakeLists.txt b/modules/rostests/apitests/shlwapi/CMakeLists.txt index 4000fd26775..7a9a57e40aa 100644 --- a/modules/rostests/apitests/shlwapi/CMakeLists.txt +++ b/modules/rostests/apitests/shlwapi/CMakeLists.txt @@ -17,6 +17,7 @@ list(APPEND SOURCE SHLoadIndirectString.c SHLoadRegUIString.c SHPropertyBag.cpp + StrDup.c StrFormatByteSizeW.c testdata.rc testlist.c) diff --git a/modules/rostests/apitests/shlwapi/StrDup.c b/modules/rostests/apitests/shlwapi/StrDup.c new file mode 100644 index 00000000000..4872b77948d --- /dev/null +++ b/modules/rostests/apitests/shlwapi/StrDup.c @@ -0,0 +1,46 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for StrDupA/W + * COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ + */ + +#include +#include +#include + +static void TEST_StrDupA(void) +{ + LPSTR ptrA; + + ptrA = StrDupA(NULL); + + if (IsWindowsXPOrGreater()) + ok_ptr(ptrA, NULL); + else + ok(ptrA && !*ptrA, "ptrA: '%s'\n", wine_dbgstr_a(ptrA)); + + if (ptrA) + LocalFree(ptrA); +} + +static void TEST_StrDupW(void) +{ + LPWSTR ptrW; + + ptrW = StrDupW(NULL); + + if (IsWindowsXPOrGreater()) + ok_ptr(ptrW, NULL); + else + ok(ptrW && !*ptrW, "ptrW: '%s'\n", wine_dbgstr_w(ptrW)); + + if (ptrW) + LocalFree(ptrW); +} + +START_TEST(StrDup) +{ + TEST_StrDupA(); + TEST_StrDupW(); +} diff --git a/modules/rostests/apitests/shlwapi/testlist.c b/modules/rostests/apitests/shlwapi/testlist.c index b497fc8836a..9f94155cf15 100644 --- a/modules/rostests/apitests/shlwapi/testlist.c +++ b/modules/rostests/apitests/shlwapi/testlist.c @@ -13,6 +13,7 @@ extern void func_SHGetRestriction(void); extern void func_SHLoadIndirectString(void); extern void func_SHLoadRegUIString(void); extern void func_SHPropertyBag(void); +extern void func_StrDup(void); extern void func_StrFormatByteSizeW(void); const struct test winetest_testlist[] = @@ -29,6 +30,7 @@ const struct test winetest_testlist[] = { "SHLoadIndirectString", func_SHLoadIndirectString }, { "SHLoadRegUIString", func_SHLoadRegUIString }, { "SHPropertyBag", func_SHPropertyBag }, + { "StrDup", func_StrDup }, { "StrFormatByteSizeW", func_StrFormatByteSizeW }, { 0, 0 } }; diff --git a/ntoskrnl/include/internal/amd64/ke.h b/ntoskrnl/include/internal/amd64/ke.h index d55bd302510..b14e3eee840 100644 --- a/ntoskrnl/include/internal/amd64/ke.h +++ b/ntoskrnl/include/internal/amd64/ke.h @@ -206,8 +206,8 @@ KeGetTrapFrameFrameRegister(PKTRAP_FRAME TrapFrame) // Macro to get trap and exception frame from a thread stack // #define KeGetTrapFrame(Thread) \ - (PKTRAP_FRAME)((ULONG_PTR)((Thread)->InitialStack) - \ - sizeof(KTRAP_FRAME)) + ((PKTRAP_FRAME)((ULONG_PTR)((Thread)->InitialStack) - \ + sizeof(KTRAP_FRAME))) // // Macro to get context switches from the PRCB @@ -474,6 +474,12 @@ KiSetTrapContext( _In_ PCONTEXT Context, _In_ KPROCESSOR_MODE RequestorMode); +// Exits to user mode, only restores the trap frame, zeroes the non-volatile registers +DECLSPEC_NORETURN +VOID +KiUserCallbackExit( + _In_ PKTRAP_FRAME TrapFrame); + #ifdef __cplusplus } // extern "C" #endif diff --git a/ntoskrnl/ke/amd64/context.c b/ntoskrnl/ke/amd64/context.c index 1e9900af11f..3c345f89052 100644 --- a/ntoskrnl/ke/amd64/context.c +++ b/ntoskrnl/ke/amd64/context.c @@ -36,11 +36,8 @@ KeContextToTrapFrame(IN PCONTEXT Context, if (ContextFlags & CONTEXT_INTEGER) { TrapFrame->Rax = Context->Rax; - TrapFrame->Rbx = Context->Rbx; TrapFrame->Rcx = Context->Rcx; TrapFrame->Rdx = Context->Rdx; - TrapFrame->Rsi = Context->Rsi; - TrapFrame->Rdi = Context->Rdi; TrapFrame->Rbp = Context->Rbp; TrapFrame->R8 = Context->R8; TrapFrame->R9 = Context->R9; @@ -48,6 +45,9 @@ KeContextToTrapFrame(IN PCONTEXT Context, TrapFrame->R11 = Context->R11; if (ExceptionFrame) { + ExceptionFrame->Rbx = Context->Rbx; + ExceptionFrame->Rsi = Context->Rsi; + ExceptionFrame->Rdi = Context->Rdi; ExceptionFrame->R12 = Context->R12; ExceptionFrame->R13 = Context->R13; ExceptionFrame->R14 = Context->R14; diff --git a/ntoskrnl/ke/amd64/trap.S b/ntoskrnl/ke/amd64/trap.S index 79b58559129..6013c5492d0 100644 --- a/ntoskrnl/ke/amd64/trap.S +++ b/ntoskrnl/ke/amd64/trap.S @@ -781,6 +781,7 @@ PUBLIC KiSystemCallEntry64 /* The unwind info pretends we have a machine frame */ .PUSHFRAME .ALLOCSTACK (KTRAP_FRAME_LENGTH + MAX_SYSCALL_PARAM_SIZE - MachineFrameLength) + .SAVEREG rbp, MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rbp .ENDPROLOG /* Swap gs to kernel, so we can access the PCR */ @@ -795,7 +796,7 @@ PUBLIC KiSystemCallEntry64 /* Allocate a TRAP_FRAME and space for parameters */ sub rsp, (KTRAP_FRAME_LENGTH + MAX_SYSCALL_PARAM_SIZE) - /* Save volatile registers in the trap frame */ + /* Save volatile registers and rbp in the trap frame */ mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rax], rax mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rip], rcx mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rdx], rdx @@ -803,6 +804,7 @@ PUBLIC KiSystemCallEntry64 mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_R9], r9 mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rcx], r10 mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_EFlags], r11 + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rbp], rbp /* Store user stack pointer in the trap frame */ mov rax, gs:[PcUserRsp] @@ -852,8 +854,34 @@ GLOBAL_LABEL KiSystemServiceExit /* Check for pending user APCs */ mov rcx, gs:[PcCurrentThread] - HANDLE_USER_APCS rcx, rsp + MAX_SYSCALL_PARAM_SIZE + cmp byte ptr [rcx + ThApcState + AsUserApcPending], 0 + jz NoUserApcPending + /* Save missing regs in the trap frame */ + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rax], rax + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rbp], rbp + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_R9], rbp + mov rax, [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rsp] + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_R8], rax + mov rax, [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rip] + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rcx], rax + mov rax, [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_EFlags] + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_R11], rax + xor rax, rax + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Rdx], rax + mov [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_R10], rax + pxor xmm0, xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm0], xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm1], xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm2], xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm3], xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm4], xmm0 + movdqa [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_Xmm5], xmm0 + + lea rcx, [rsp + MAX_SYSCALL_PARAM_SIZE] + call KiInitiateUserApc + +NoUserApcPending: /* Disable interrupts for return */ cli @@ -1148,9 +1176,6 @@ PUBLIC KiInitiateUserApc /* Generate a KEXCEPTION_FRAME on the stack */ GENERATE_EXCEPTION_FRAME - /* Save rax to not clobber the return for the system call handler */ - mov [rsp + ExP1Home], rax - /* Raise IRQL to APC_LEVEL */ mov rax, APC_LEVEL mov cr8, rax @@ -1161,8 +1186,6 @@ PUBLIC KiInitiateUserApc /* Save the trap frame in rsi */ mov rsi, rcx -deliver_apcs: - /* Enable interrupts */ sti @@ -1175,16 +1198,11 @@ deliver_apcs: /* Disable interrupts again */ cli - /* Check if there are more APCs to deliver */ - cmp byte ptr [rbp + ThApcState + AsUserApcPending], 0 - jne deliver_apcs - /* Go back to PASSIVE_LEVEL */ mov rax, PASSIVE_LEVEL mov cr8, rax /* Restore the registers from the KEXCEPTION_FRAME */ - mov rax, [rsp + ExP1Home] RESTORE_EXCEPTION_STATE /* Return */ diff --git a/ntoskrnl/ke/amd64/usercall.c b/ntoskrnl/ke/amd64/usercall.c index 8eb059ccd54..9bcc81384b4 100644 --- a/ntoskrnl/ke/amd64/usercall.c +++ b/ntoskrnl/ke/amd64/usercall.c @@ -197,7 +197,7 @@ KiUserModeCallout( _enable(); /* Exit to user-mode */ - KiServiceExit(&CallbackTrapFrame, 0); + KiUserCallbackExit(&CallbackTrapFrame); } VOID diff --git a/ntoskrnl/ke/amd64/usercall_asm.S b/ntoskrnl/ke/amd64/usercall_asm.S index 8962f2470e0..7dc5bf1f6b8 100644 --- a/ntoskrnl/ke/amd64/usercall_asm.S +++ b/ntoskrnl/ke/amd64/usercall_asm.S @@ -6,6 +6,10 @@ */ #include +#include + +EXTERN KiInitiateUserApc:PROC +EXTERN KeUserCallbackDispatcher:QWORD /* * NTSTATUS @@ -45,6 +49,78 @@ PUBLIC KiCallUserMode .ENDP + +/*! + * \brief Exits to user mode, restores only rsp and rip, zeroes the rest. + * + * \todo Merge this with KiCallUserMode + KiUserModeCallout and skip the trap frame. + * + * DECLSPEC_NORETURN + * VOID + * KiUserCallbackExit( + * _In_ PKTRAP_FRAME TrapFrame@); + */ + PUBLIC KiUserCallbackExit +KiUserCallbackExit: + + /* Point rsp to the trap frame */ + mov rsp, rcx + + /* Zero non-volatile registers for KiUserCallbackDispatcher. + This must be done before dispatching a pending user APC. */ + xor rbx, rbx + xor rdi, rdi + xor rsi, rsi + xor rbp, rbp + xor r12, r12 + xor r13, r13 + xor r14, r14 + xor r15, r15 + pxor xmm6, xmm6 + pxor xmm7, xmm7 + pxor xmm8, xmm8 + pxor xmm9, xmm9 + pxor xmm10, xmm10 + pxor xmm11, xmm11 + pxor xmm12, xmm12 + pxor xmm13, xmm13 + pxor xmm14, xmm14 + pxor xmm15, xmm15 + + /* Check for pending user APC */ + mov rdx, gs:[PcCurrentThread] + HANDLE_USER_APCS rdx, rsp + + /* Zero volatile registers */ + xor rax, rax + xor rdx, rdx + xor r8, r8 + xor r9, r9 + xor r10, r10 + pxor xmm0, xmm0 + pxor xmm1, xmm1 + pxor xmm2, xmm2 + pxor xmm3, xmm3 + pxor xmm4, xmm4 + pxor xmm5, xmm5 + + /* Disable interrupts for return */ + cli + + /* Prepare user mode return address (rcx) and eflags (r11) for sysret */ + mov rcx, qword ptr KeUserCallbackDispatcher[rip] + mov r11, EFLAGS_IF_MASK + + /* Load user mode stack (It was copied to the trap frame) */ + mov rsp, [rsp + KTRAP_FRAME_Rsp] + + /* Swap gs back to user */ + swapgs + + /* return to user mode */ + sysretq + + /* * DECLSPEC_NORETURN * VOID diff --git a/ntoskrnl/ke/timerobj.c b/ntoskrnl/ke/timerobj.c index 35892c8875c..1c19d03b46e 100644 --- a/ntoskrnl/ke/timerobj.c +++ b/ntoskrnl/ke/timerobj.c @@ -63,8 +63,8 @@ FASTCALL KiInsertTimerTable(IN PKTIMER Timer, IN ULONG Hand) { - LARGE_INTEGER InterruptTime; - LONGLONG DueTime = Timer->DueTime.QuadPart; + ULONGLONG InterruptTime; + ULONGLONG DueTime = Timer->DueTime.QuadPart; BOOLEAN Expired = FALSE; PLIST_ENTRY ListHead, NextEntry; PKTIMER CurrentTimer; @@ -101,8 +101,8 @@ KiInsertTimerTable(IN PKTIMER Timer, KiTimerTableListHead[Hand].Time.QuadPart = DueTime; /* Make sure it hasn't expired already */ - InterruptTime.QuadPart = KeQueryInterruptTime(); - if (DueTime <= InterruptTime.QuadPart) Expired = TRUE; + InterruptTime = KeQueryInterruptTime(); + if (DueTime <= InterruptTime) Expired = TRUE; } /* Return expired state */ diff --git a/sdk/include/asm/trapamd64.inc b/sdk/include/asm/trapamd64.inc index 0c09063f058..04a1515388b 100644 --- a/sdk/include/asm/trapamd64.inc +++ b/sdk/include/asm/trapamd64.inc @@ -52,13 +52,10 @@ ENDM APIC_EOI = HEX(0FFFFFFFFFFFE00B0) -TF_VOLATILES = HEX(01) -TF_NONVOLATILES = HEX(02) -TF_XMM = HEX(04) TF_SEGMENTS = HEX(08) TF_DEBUG = HEX(10) TF_IRQL = HEX(20) -TF_SAVE_ALL = (TF_VOLATILES OR TF_NONVOLATILES OR TF_XMM OR TF_SEGMENTS) +TF_SAVE_ALL = (TF_SEGMENTS) TF_HAS_ERROR_CODE = HEX(40) TF_SEND_EOI = HEX(80) //TF_SYSTEMSERVICE = (TRAPFLAG_VOLATILES or TRAPFLAG_DEBUG) @@ -98,47 +95,32 @@ MACRO(EnterTrap, Flags) sub rsp, (KTRAP_FRAME_LENGTH - SIZE_INITIAL_FRAME) .allocstack (KTRAP_FRAME_LENGTH - SIZE_INITIAL_FRAME) - /* Save rbp and rax */ + /* Save rbp */ mov [rsp + KTRAP_FRAME_Rbp], rbp .savereg rbp, KTRAP_FRAME_Rbp - mov [rsp + KTRAP_FRAME_Rax], rax - .savereg rax, KTRAP_FRAME_Rax /* Point rbp to the KTRAP_FRAME */ lea rbp, [rsp] .setframe rbp, 0 - if (Flags AND TF_NONVOLATILES) - /* Save non-volatile registers */ - mov [rbp + KTRAP_FRAME_Rbx], rbx - .savereg rbx, KTRAP_FRAME_Rbx - mov [rbp + KTRAP_FRAME_Rdi], rdi - .savereg rdi, KTRAP_FRAME_Rdi - mov [rbp + KTRAP_FRAME_Rsi], rsi - .savereg rsi, KTRAP_FRAME_Rsi - endif - .endprolog - if (Flags AND TF_VOLATILES) - /* Save volatile registers */ - mov [rbp + KTRAP_FRAME_Rcx], rcx - mov [rbp + KTRAP_FRAME_Rdx], rdx - mov [rbp + KTRAP_FRAME_R8], r8 - mov [rbp + KTRAP_FRAME_R9], r9 - mov [rbp + KTRAP_FRAME_R10], r10 - mov [rbp + KTRAP_FRAME_R11], r11 - endif - - if (Flags AND TF_XMM) - /* Save xmm registers */ - movdqa [rbp + KTRAP_FRAME_Xmm0], xmm0 - movdqa [rbp + KTRAP_FRAME_Xmm1], xmm1 - movdqa [rbp + KTRAP_FRAME_Xmm2], xmm2 - movdqa [rbp + KTRAP_FRAME_Xmm3], xmm3 - movdqa [rbp + KTRAP_FRAME_Xmm4], xmm4 - movdqa [rbp + KTRAP_FRAME_Xmm5], xmm5 - endif + /* Save volatile registers */ + mov [rbp + KTRAP_FRAME_Rax], rax + mov [rbp + KTRAP_FRAME_Rcx], rcx + mov [rbp + KTRAP_FRAME_Rdx], rdx + mov [rbp + KTRAP_FRAME_R8], r8 + mov [rbp + KTRAP_FRAME_R9], r9 + mov [rbp + KTRAP_FRAME_R10], r10 + mov [rbp + KTRAP_FRAME_R11], r11 + + /* Save volatile xmm registers */ + movaps [rbp + KTRAP_FRAME_Xmm0], xmm0 + movaps [rbp + KTRAP_FRAME_Xmm1], xmm1 + movaps [rbp + KTRAP_FRAME_Xmm2], xmm2 + movaps [rbp + KTRAP_FRAME_Xmm3], xmm3 + movaps [rbp + KTRAP_FRAME_Xmm4], xmm4 + movaps [rbp + KTRAP_FRAME_Xmm5], xmm5 if (Flags AND TF_SEGMENTS) /* Save segment selectors */ @@ -243,33 +225,22 @@ MACRO(ExitTrap, Flags) kernel_mode_return: - if (Flags AND TF_NONVOLATILES) - /* Restore non-volatile registers */ - mov rbx, [rbp + KTRAP_FRAME_Rbx] - mov rdi, [rbp + KTRAP_FRAME_Rdi] - mov rsi, [rbp + KTRAP_FRAME_Rsi] - endif - - if (Flags AND TF_VOLATILES) - /* Restore volatile registers */ - mov rax, [rbp + KTRAP_FRAME_Rax] - mov rcx, [rbp + KTRAP_FRAME_Rcx] - mov rdx, [rbp + KTRAP_FRAME_Rdx] - mov r8, [rbp + KTRAP_FRAME_R8] - mov r9, [rbp + KTRAP_FRAME_R9] - mov r10, [rbp + KTRAP_FRAME_R10] - mov r11, [rbp + KTRAP_FRAME_R11] - endif - - if (Flags AND TF_XMM) - /* Restore xmm registers */ - movdqa xmm0, [rbp + KTRAP_FRAME_Xmm0] - movdqa xmm1, [rbp + KTRAP_FRAME_Xmm1] - movdqa xmm2, [rbp + KTRAP_FRAME_Xmm2] - movdqa xmm3, [rbp + KTRAP_FRAME_Xmm3] - movdqa xmm4, [rbp + KTRAP_FRAME_Xmm4] - movdqa xmm5, [rbp + KTRAP_FRAME_Xmm5] - endif + /* Restore volatile registers */ + mov rax, [rbp + KTRAP_FRAME_Rax] + mov rcx, [rbp + KTRAP_FRAME_Rcx] + mov rdx, [rbp + KTRAP_FRAME_Rdx] + mov r8, [rbp + KTRAP_FRAME_R8] + mov r9, [rbp + KTRAP_FRAME_R9] + mov r10, [rbp + KTRAP_FRAME_R10] + mov r11, [rbp + KTRAP_FRAME_R11] + + /* Restore xmm registers */ + movaps xmm0, [rbp + KTRAP_FRAME_Xmm0] + movaps xmm1, [rbp + KTRAP_FRAME_Xmm1] + movaps xmm2, [rbp + KTRAP_FRAME_Xmm2] + movaps xmm3, [rbp + KTRAP_FRAME_Xmm3] + movaps xmm4, [rbp + KTRAP_FRAME_Xmm4] + movaps xmm5, [rbp + KTRAP_FRAME_Xmm5] /* Restore MCXSR */ ldmxcsr [rbp + KTRAP_FRAME_MxCsr] diff --git a/sdk/include/crt/crtdefs.h b/sdk/include/crt/crtdefs.h index bf01188fe9f..6eb0acae37a 100644 --- a/sdk/include/crt/crtdefs.h +++ b/sdk/include/crt/crtdefs.h @@ -438,10 +438,13 @@ typedef struct threadmbcinfostruct *pthreadmbcinfo; struct __lc_time_data; +#ifndef DEFINED_localeinfo_struct typedef struct localeinfo_struct { pthreadlocinfo locinfo; pthreadmbcinfo mbcinfo; }_locale_tstruct,*_locale_t; +#define DEFINED_localeinfo_struct 1 +#endif #ifdef __cplusplus } diff --git a/sdk/include/ndk/amd64/ketypes.h b/sdk/include/ndk/amd64/ketypes.h index d59df0135be..9a8a365a202 100644 --- a/sdk/include/ndk/amd64/ketypes.h +++ b/sdk/include/ndk/amd64/ketypes.h @@ -46,7 +46,7 @@ Header Name: #define KF_AMDK6MTRR 0x00008000 // Win 5.0-6.1 #define KF_XSAVEOPT 0x00008000 // From KF_XSAVEOPT_BIT #define KF_XMMI64 0x00010000 // SSE2 -#define KF_BRANCH 0x00020000 // From ksamd64.inc, Win 6.1-6.2 +#define KF_BRANCH 0x00020000 // From ksamd64.inc, Win 6.1-6.2 #define KF_00040000 0x00040000 // Unclear #define KF_SSE3 0x00080000 // Win 6.0+ #define KF_CMPXCHG16B 0x00100000 // Win 6.0-6.2 @@ -621,7 +621,6 @@ typedef struct _REQUEST_MAILBOX // // Processor Region Control Block // -#pragma pack(push,4) typedef struct _KPRCB { ULONG MxCsr; @@ -965,7 +964,6 @@ typedef struct _KIPCR ULONG ContextSwitches; } KIPCR, *PKIPCR; -#pragma pack(pop) // // TSS Definition diff --git a/sdk/include/psdk/shobjidl.idl b/sdk/include/psdk/shobjidl.idl index 7a75dff0f09..6b4bdadffc9 100644 --- a/sdk/include/psdk/shobjidl.idl +++ b/sdk/include/psdk/shobjidl.idl @@ -219,6 +219,12 @@ interface IShellFolder : IUnknown cpp_quote("#define SFGAO_STORAGECAPMASK 0x70C50008L") cpp_quote("#define SFGAO_PKEYSFGAOMASK 0x81044000L") + cpp_quote("#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L\"Parse Shell Protocol To File Objects\"") + cpp_quote("#define STR_FILE_SYS_BIND_DATA L\"File System Bind Data\"") + cpp_quote("#define STR_PARSE_PREFER_FOLDER_BROWSING L\"Parse Prefer Folder Browsing\"") + cpp_quote("#define STR_PARSE_TRANSLATE_ALIASES L\"Parse Translate Aliases\"") + cpp_quote("#define STR_DONT_PARSE_RELATIVE L\"Don't Parse Relative\"") + typedef ULONG SFGAOF; HRESULT ParseDisplayName( diff --git a/sdk/include/reactos/shellutils.h b/sdk/include/reactos/shellutils.h index 674221fc106..c678e3382c4 100644 --- a/sdk/include/reactos/shellutils.h +++ b/sdk/include/reactos/shellutils.h @@ -67,6 +67,12 @@ Win32DbgPrint(const char *filename, int line, const char *lpFormat, ...) # define IID_NULL_PPV_ARG(Itype, ppType) IID_##Itype, NULL, (void**)(ppType) #endif +inline HRESULT HResultFromWin32(DWORD hr) +{ + // HRESULT_FROM_WIN32 will evaluate its parameter twice, this function will not. + return HRESULT_FROM_WIN32(hr); +} + #if 1 inline BOOL _ROS_FAILED_HELPER(HRESULT hr, const char* expr, const char* filename, int line) diff --git a/sdk/include/reactos/shlwapi_undoc.h b/sdk/include/reactos/shlwapi_undoc.h index ff2f81f9e04..fd1ac3f3c82 100644 --- a/sdk/include/reactos/shlwapi_undoc.h +++ b/sdk/include/reactos/shlwapi_undoc.h @@ -322,6 +322,8 @@ IContextMenu_Invoke( _In_ LPCSTR lpVerb, _In_ UINT uFlags); +DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid); + #ifdef __cplusplus } /* extern "C" */ #endif /* defined(__cplusplus) */ diff --git a/sdk/include/reactos/undocshell.h b/sdk/include/reactos/undocshell.h index bb216df8ad8..0460a261cb7 100644 --- a/sdk/include/reactos/undocshell.h +++ b/sdk/include/reactos/undocshell.h @@ -727,10 +727,12 @@ HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj); HRESULT WINAPI SHLimitInputCombo(HWND hWnd, IShellFolder *psf); HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv); +BOOL WINAPI GUIDFromStringA( + _In_ PCSTR psz, + _Out_ LPGUID pguid); BOOL WINAPI GUIDFromStringW( _In_ PCWSTR psz, - _Out_ LPGUID pguid - ); + _Out_ LPGUID pguid); LPSTR WINAPI SheRemoveQuotesA(LPSTR psz); LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz); diff --git a/sdk/lib/cryptlib/md4.c b/sdk/lib/cryptlib/md4.c index a553a20eb4e..8144a65abd6 100644 --- a/sdk/lib/cryptlib/md4.c +++ b/sdk/lib/cryptlib/md4.c @@ -152,6 +152,7 @@ VOID NTAPI MD4Final( MD4_CTX *ctx ) MD4Transform( ctx->buf, (unsigned int *)ctx->in ); byteReverse( (unsigned char *)ctx->buf, 4 ); memcpy( ctx->digest, ctx->buf, 16 ); + memset(ctx->in, 0, sizeof(ctx->in)); } /* The three core functions */ diff --git a/sdk/lib/cryptlib/md5.c b/sdk/lib/cryptlib/md5.c index a847997172a..02dca4e166e 100644 --- a/sdk/lib/cryptlib/md5.c +++ b/sdk/lib/cryptlib/md5.c @@ -152,6 +152,7 @@ VOID NTAPI MD5Final( MD5_CTX *ctx ) MD5Transform( ctx->buf, (unsigned int *)ctx->in ); byteReverse( (unsigned char *)ctx->buf, 4 ); memcpy( ctx->digest, ctx->buf, 16 ); + memset(ctx->in, 0, sizeof(ctx->in)); } /* The four core functions - F1 is optimized somewhat */ diff --git a/sdk/lib/cryptlib/sha1.c b/sdk/lib/cryptlib/sha1.c index ba9cd7ba488..90a33297c6c 100644 --- a/sdk/lib/cryptlib/sha1.c +++ b/sdk/lib/cryptlib/sha1.c @@ -194,5 +194,6 @@ A_SHAFinal(PSHA_CTX Context, PULONG Result) for (Index = 0; Index < 5; Index++) Result[Index] = DWORD2BE(Context->State[Index]); + memset(Context->Buffer, 0, sizeof(Context->Buffer)); A_SHAInit(Context); } diff --git a/sdk/lib/cryptlib/sha1.h b/sdk/lib/cryptlib/sha1.h index 519d03e5bb5..5ea49ec3bb0 100644 --- a/sdk/lib/cryptlib/sha1.h +++ b/sdk/lib/cryptlib/sha1.h @@ -11,10 +11,9 @@ extern "C" { /* SHA Context Structure Declaration */ typedef struct { - ULONG Unknown[6]; - ULONG State[5]; - ULONG Count[2]; - UCHAR Buffer[64]; + UCHAR Buffer[64]; + ULONG State[5]; + ULONG Count[2]; } SHA_CTX, *PSHA_CTX; VOID NTAPI diff --git a/sdk/lib/drivers/sound/mmixer/wave.c b/sdk/lib/drivers/sound/mmixer/wave.c index e049ca485bd..7c48f0bc827 100644 --- a/sdk/lib/drivers/sound/mmixer/wave.c +++ b/sdk/lib/drivers/sound/mmixer/wave.c @@ -116,22 +116,40 @@ MMixerInitializeDataFormat( IN PKSDATAFORMAT_WAVEFORMATEX DataFormat, LPWAVEFORMATEX WaveFormatEx) { - DataFormat->WaveFormatEx.wFormatTag = WaveFormatEx->wFormatTag; DataFormat->WaveFormatEx.nChannels = WaveFormatEx->nChannels; DataFormat->WaveFormatEx.nSamplesPerSec = WaveFormatEx->nSamplesPerSec; DataFormat->WaveFormatEx.nBlockAlign = WaveFormatEx->nBlockAlign; DataFormat->WaveFormatEx.nAvgBytesPerSec = WaveFormatEx->nAvgBytesPerSec; DataFormat->WaveFormatEx.wBitsPerSample = WaveFormatEx->wBitsPerSample; - DataFormat->WaveFormatEx.cbSize = 0; - DataFormat->DataFormat.FormatSize = sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEX); + DataFormat->WaveFormatEx.cbSize = WaveFormatEx->cbSize; + DataFormat->DataFormat.FormatSize = sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEX) + WaveFormatEx->cbSize; DataFormat->DataFormat.Flags = 0; DataFormat->DataFormat.Reserved = 0; DataFormat->DataFormat.MajorFormat = KSDATAFORMAT_TYPE_AUDIO; - DataFormat->DataFormat.SubFormat = KSDATAFORMAT_SUBTYPE_PCM; DataFormat->DataFormat.Specifier = KSDATAFORMAT_SPECIFIER_WAVEFORMATEX; DataFormat->DataFormat.SampleSize = 4; + + /* Write additional fields for Extensible audio format */ + if (WaveFormatEx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) + { + PWAVEFORMATEXTENSIBLE WaveFormatExt = (PWAVEFORMATEXTENSIBLE)&DataFormat->WaveFormatEx; + WaveFormatExt->SubFormat = KSDATAFORMAT_SUBTYPE_PCM; + WaveFormatExt->Samples.wValidBitsPerSample = WaveFormatEx->wBitsPerSample; + if (WaveFormatEx->nChannels == 0) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_DIRECTOUT; + else if (WaveFormatEx->nChannels == 1) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_MONO; + else if (WaveFormatEx->nChannels == 2) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_STEREO; + else if (WaveFormatEx->nChannels == 4) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_QUAD; + else if (WaveFormatEx->nChannels == 5) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_5POINT1; + else if (WaveFormatEx->nChannels == 7) + WaveFormatExt->dwChannelMask = KSAUDIO_SPEAKER_7POINT1; + } } MIXER_STATUS @@ -232,7 +250,7 @@ MMixerOpenWavePin( return MM_STATUS_INVALID_PARAMETER; /* allocate pin connect */ - PinConnect = MMixerAllocatePinConnect(MixerContext, sizeof(KSDATAFORMAT_WAVEFORMATEX)); + PinConnect = MMixerAllocatePinConnect(MixerContext, sizeof(KSDATAFORMAT_WAVEFORMATEX) + WaveFormatEx->cbSize); if (!PinConnect) { /* no memory */ @@ -453,12 +471,6 @@ MMixerOpenWave( /* grab mixer list */ MixerList = (PMIXER_LIST)MixerContext->MixerContext; - if (WaveFormat->wFormatTag != WAVE_FORMAT_PCM) - { - /* not implemented */ - return MM_STATUS_NOT_IMPLEMENTED; - } - /* find destination wave */ Status = MMixerGetWaveInfoByIndexAndType(MixerList, DeviceIndex, bWaveIn, &WaveInfo); if (Status != MM_STATUS_SUCCESS) diff --git a/sdk/lib/rtl/amd64/except.c b/sdk/lib/rtl/amd64/except.c index 1dc9b59c0cd..3a1c642012d 100644 --- a/sdk/lib/rtl/amd64/except.c +++ b/sdk/lib/rtl/amd64/except.c @@ -13,50 +13,6 @@ /* PUBLIC FUNCTIONS **********************************************************/ -VOID -NTAPI -RtlRaiseException(IN PEXCEPTION_RECORD ExceptionRecord) -{ - CONTEXT Context; - NTSTATUS Status = STATUS_INVALID_DISPOSITION; - - /* Capture the current context */ - RtlCaptureContext(&Context); - - /* Fix up Context.Rip for the caller */ - Context.Rip = (ULONG64)_ReturnAddress(); - - /* Fix up Context.Rsp for the caller */ - Context.Rsp = (ULONG64)_AddressOfReturnAddress() + 8; - - /* Save the exception address */ - ExceptionRecord->ExceptionAddress = (PVOID)Context.Rip; - - /* Check if user mode debugger is active */ - if (RtlpCheckForActiveDebugger()) - { - /* Raise an exception immediately */ - Status = ZwRaiseException(ExceptionRecord, &Context, TRUE); - } - else - { - /* Dispatch the exception and check if we should continue */ - if (!RtlDispatchException(ExceptionRecord, &Context)) - { - /* Raise the exception */ - Status = ZwRaiseException(ExceptionRecord, &Context, FALSE); - } - else - { - /* Continue, go back to previous context */ - Status = ZwContinue(&Context, FALSE); - } - } - - /* If we returned, raise a status */ - RtlRaiseStatus(Status); -} - /* * @unimplemented */ diff --git a/sdk/lib/rtl/amd64/except_asm.S b/sdk/lib/rtl/amd64/except_asm.S index e3fd67b852f..52bac1602a7 100644 --- a/sdk/lib/rtl/amd64/except_asm.S +++ b/sdk/lib/rtl/amd64/except_asm.S @@ -107,22 +107,19 @@ PUBLIC RtlCaptureContext .ENDP /* - * VOID NTAPI - * RtlRestoreContext( - * _In_ PCONTEXT ContextRecord@, - * PEXCEPTION_RECORD *ExceptionRecord@); + * VOID + * RtlpRestoreContextInternal( + * _In_ PCONTEXT ContextRecord@); */ -PUBLIC RtlRestoreContext -.PROC RtlRestoreContext +PUBLIC RtlpRestoreContextInternal +.PROC RtlpRestoreContextInternal /* Allocate space */ sub rsp, HEX(8) .ALLOCSTACK 8 .ENDPROLOG - // TODO: Handle ExceptionRecord - - /* Restore legacy floating point registers (It's slow, so do it first) */ + /* Restore legacy floating point registers (It is slow, so do it first) */ ldmxcsr [rcx + CxMxCsr] fxrstor [rcx + CxFltSave] @@ -236,6 +233,81 @@ ReturnFar: .ENDP +EXTERN RtlpCheckForActiveDebugger:PROC +EXTERN RtlDispatchException:PROC +EXTERN ZwContinue:PROC +EXTERN ZwRaiseException:PROC +EXTERN RtlRaiseStatus:PROC + +/* + * VOID + * RtlRaiseException ( + * _In_ PEXCEPTION_RECORD ExceptionRecord); + */ +PUBLIC RtlRaiseException +.PROC RtlRaiseException + + /* Allocate stack space for a CONTEXT record */ + sub rsp, CONTEXT_FRAME_LENGTH + 8 + .allocstack CONTEXT_FRAME_LENGTH + 8 + + /* Save the ExceptionRecord pointer */ + mov [rsp + CONTEXT_FRAME_LENGTH + 8 + P1Home], rcx + + .endprolog + + /* Save the return address in EXCEPTION_RECORD.ExceptionAddress */ + mov rdx, [rsp + CONTEXT_FRAME_LENGTH + 8] + mov [rcx + ErExceptionAddress], rdx + + /* Capture the current context */ + mov rcx, rsp + call RtlCaptureContext + + /* Fix up CONTEXT.Rip for the caller (RtlCaptureContext doesn't change rdx!) */ + mov [rsp + CxRip], rdx + + /* Fix up CONTEXT.Rsp for the caller (+8 for the return address) */ + lea rdx, [rsp + CONTEXT_FRAME_LENGTH + 8 + 8] + mov [rsp + CxRsp], rdx + + /* Check if a user mode debugger is active */ + call RtlpCheckForActiveDebugger + test al, al + mov r8b, 1 + jnz RaiseException + + /* Dispatch the exception */ + mov rcx, [rsp + CONTEXT_FRAME_LENGTH + 8 + P1Home] + mov rdx, rsp + call RtlDispatchException + + /* Check if it was handled */ + test al, al + mov r8b, 0 + jz RaiseException + + /* It was handled, continue with the updated context */ + mov rcx, rsp + mov dl, 0 + call ZwContinue + jmp RaiseStatus + +RaiseException: + + mov rcx, [rsp + CxP1Home] + mov rdx, rsp + call ZwRaiseException + +RaiseStatus: + + mov rcx, rax + mov rdx, rsp + call RtlRaiseStatus + +.ENDP + + END diff --git a/sdk/lib/rtl/amd64/unwind.c b/sdk/lib/rtl/amd64/unwind.c index 72e40860771..4a5903361b9 100644 --- a/sdk/lib/rtl/amd64/unwind.c +++ b/sdk/lib/rtl/amd64/unwind.c @@ -1131,3 +1131,26 @@ RtlSetUnwindContext( *ContextPointers.Xmm14 = Context->Xmm14; *ContextPointers.Xmm15 = Context->Xmm15; } + +VOID +RtlpRestoreContextInternal( + _In_ PCONTEXT ContextRecord); + +VOID +RtlRestoreContext( + _In_ PCONTEXT ContextRecord, + _In_ PEXCEPTION_RECORD ExceptionRecord) +{ + if (ExceptionRecord != NULL) + { + if ((ExceptionRecord->ExceptionCode == STATUS_UNWIND_CONSOLIDATE) && + (ExceptionRecord->NumberParameters >= 1)) + { + PVOID (*Consolidate)(EXCEPTION_RECORD*) = (PVOID)ExceptionRecord->ExceptionInformation[0]; + // FIXME: This should be called through an asm wrapper to allow handling recursive unwinding + ContextRecord->Rip = (ULONG64)Consolidate(ExceptionRecord); + } + } + + RtlpRestoreContextInternal(ContextRecord); +} diff --git a/win32ss/user/ntuser/cursoricon.c b/win32ss/user/ntuser/cursoricon.c index 6560a44852d..8dc794f62c0 100644 --- a/win32ss/user/ntuser/cursoricon.c +++ b/win32ss/user/ntuser/cursoricon.c @@ -264,13 +264,15 @@ BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Ho pt.x = x; pt.y = y; - /* 1. Generate a mouse move message, this sets the htEx and Track Window too. */ - Msg.message = WM_MOUSEMOVE; - Msg.wParam = UserGetMouseButtonsState(); - Msg.lParam = MAKELPARAM(x, y); - Msg.pt = pt; - co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo, Hook); - + if ((gpsi->ptCursor.x != x) || (gpsi->ptCursor.y != y)) + { + /* 1. Generate a mouse move message, this sets the htEx and Track Window too. */ + Msg.message = WM_MOUSEMOVE; + Msg.wParam = UserGetMouseButtonsState(); + Msg.lParam = MAKELPARAM(x, y); + Msg.pt = pt; + co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo, Hook); + } /* 2. Store the new cursor position */ gpsi->ptCursor = pt;