diff --git a/CMakeLists.txt b/CMakeLists.txt index f590ed83578..a6a48ac077b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,9 +77,9 @@ if(NOT CMAKE_CROSSCOMPILING) add_subdirectory(lib) if(NOT MSVC) - export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) + export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) else() - export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) + export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) endif() else() diff --git a/base/applications/cmdutils/doskey/lang/de-DE.rc b/base/applications/cmdutils/doskey/lang/de-DE.rc index 943ef392c65..3bb64a48c53 100644 --- a/base/applications/cmdutils/doskey/lang/de-DE.rc +++ b/base/applications/cmdutils/doskey/lang/de-DE.rc @@ -9,9 +9,9 @@ DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=size]\n\ \n\ /INSERT Aktiviert den Einfügemodus.\n\ /OVERSTRIKE Deaktiviert den Einfügemodus.\n\ - /EXENAME=exename Legt den Namen der Anwendung, auf die die Einstel-\n\ - lungen angewendet werden sollen, fest. Der Standard-\n\ - wert ist cmd.exe.\n\ + /EXENAME=exename Gibt den Namen der Anwendung an, deren Einstellungen\n\ + angezeigt oder geändert werden sollen.\n\ + Der Standardwert ist cmd.exe.\n\ /HISTORY Zeigt den Befehlsverlauf an.\n\ /LISTSIZE=size Legt die Anzahl der Befehle per Verlaufspuffer fest.\n\ /REINSTALL Leert den Befehlsverlauf.\n\ diff --git a/base/applications/cmdutils/find/lang/de-DE.rc b/base/applications/cmdutils/find/lang/de-DE.rc index 5224b11bbec..de8d09ea133 100644 --- a/base/applications/cmdutils/find/lang/de-DE.rc +++ b/base/applications/cmdutils/find/lang/de-DE.rc @@ -3,7 +3,8 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN IDS_USAGE "Sucht in einer Datei nach einer Zeichenfolge.\n\n\ - FIND [ /C ] [ /I ] [ /N ] [ /V ] ""string"" [ file... ]\n\ + FIND [ /C ] [ /I ] [ /N ] [ /V ] ""Zeichenfolge""\n\ + [[Laufwerk:][Pfad]Dateiname]]\n\ /C Zeigt nur die Anzahl der die Zeichenfolge enthaltenen Zeilen an.\n\ /I Ignoriert Groß-/Kleinbuchstaben bei der Suche.\n\ /N Zeigt die Zeilen mit ihren Zeilennummern an.\n\ diff --git a/base/applications/cmdutils/help/lang/de-DE.rc b/base/applications/cmdutils/help/lang/de-DE.rc index 24e440a1406..05831c3f350 100644 --- a/base/applications/cmdutils/help/lang/de-DE.rc +++ b/base/applications/cmdutils/help/lang/de-DE.rc @@ -9,7 +9,7 @@ END STRINGTABLE BEGIN - IDS_USAGE "Liefert Informationen über ReactOS Befehle.\n\n\ + IDS_USAGE "Zeigt die Hilfe für Kommandozeilenbefehle an.\n\n\ HELP [Befehl]\n\n\ Befehl - Zeige Informationen über diesen Befehl.\n" IDS_HELP1 "Übersicht aller verfügbaren Befehle und deren Kurzbeschreibungen\n\n\ @@ -19,12 +19,11 @@ HELP [Befehl]\n\n\ ? Listet alle Befehle auf (ohne Erklärung).\n\ ALIAS Setzt, löscht oder zeigt den Alias.\n\ ATTRIB Zeigt Dateiattribute an bzw. ändert sie.\n\ -BEEP Gibt einen Piepton durch den PC-Speaker aus.\n\ -CALL Ruft eine Batchdatei aus einer anderen Batchdatei heraus auf.\n\ +BEEP Gibt einen Piepton durch den Systemlautsprecher aus.\n\ +CALL Ruft eine Batchdatei aus einer anderen heraus auf.\n\ CD Zeigt den Namen des aktuellen Verzeichnisses an bzw. ändert diesen.\n\ CHCP Zeigt die aktive Codepagenummer an bzw. legt diese fest.\n\ -CHOICE Wartet auf den Benutzer, welcher aus einer Auswahl eine Option\n\ - wählen muss.\n\ +CHOICE Lässt den Benutzer eine Auswahl aus vorgegebenen Optionen treffen.\n\ CLS Löscht den Bildschirminhalt.\n\ CMD Startet eine neue Instanz des ReactOS-Befehlsinterpreters.\n\ COLOR Legt die Farben für Hinter- und Vordergrund der Konsole fest.\n\ @@ -37,10 +36,10 @@ ERASE Löscht eine oder mehrere Dateien.\n\ EXIT Beendet das Programm CMD.EXE (Befehlsinterpreter).\n\ FOR Führt einen angegebenen Befehl für jede Datei in einem Dateiensatz\n\ aus.\n\ -FREE Zeigt den (freien) Speicherplatz an.\n\ +FREE Zeigt die aktuelle Speicherausnutzung für Laufwerke an.\n\ GOTO Setzt den ReactOS-Befehlsinterpreter auf eine markierte Zeile in\n\ einem Batchprogramm.\n\ -HELP Zeigt Hilfeinformationen zu ReactOS-Befehlen an.\n\ +HELP Zeigt die Hilfe für Kommandozeilenbefehle an.\n\ HISTORY Listet alle Befehle auf, welche sich im Speicher befinden.\n\ IF Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.\n\ LABEL Erstellt, ändert oder löscht die Bezeichnung eines Volumes.\n\ @@ -56,22 +55,22 @@ PROMPT Ändert die Eingabeaufforderung.\n\ PUSHD Speichert das aktuelle Verzeichnis, und wechselt dann zu einem\n\ anderen Verzeichnis.\n\ RD Entfernt ein Verzeichnis.\n\ -REM Leitet Kommentare in einer Batchdatei.\n\ -REN Benennt eine od. mehrere Dateien um.\n\ -RENAME Benennt eine od. mehrere Dateien um.\n\ +REM Leitet Kommentare in einer Batchdatei ein.\n\ +REN Benennt eine oder mehrere Dateien um.\n\ +RENAME Benennt eine oder mehrere Dateien um.\n\ REPLACE Ersetzt Dateien.\n\ RMDIR Löscht ein Verzeichnis.\n\ -SCREEN Bewegt den Cursor und optional die Ausgabe.\n\ +SCREEN Bewegt den Eingabezeiger und gibt optional Text aus.\n\ SET Setzt oder löscht die Umgebungsvariablen bzw. zeigt sie an.\n\ SHIFT Verändert die Position ersetzbarer Parameter in Batchdateien.\n\ START Startet ein eigenes Fenster, um ein bestimmtes Programm oder einen\n\ Befehl auszuführen.\n\ TIME Zeigt die Systemzeit an bzw. legt sie fest.\n\ -TIMER Erlaubt die Benutzung von bis zu 10 Stoppuhren\n\ +TIMER Erlaubt die Benutzung von bis zu 10 Stoppuhren.\n\ TITLE Legt den Fenstertitel für das Eingabeaufforderungsfenster fest.\n\ TYPE Zeigt den Inhalt einer Textdatei an.\n\ VER Zeigt die ReactOS-Version an.\n\ -VERIFY Legt fest, ob überwacht werden soll, ob Dateien korrekt auf den\n\ - Datenträger geschrieben werden.\n\ +VERIFY Legt fest, ob das ordnungsgemäße Schreiben von Dateien auf den\n\ + Datenträger überprüft werden soll.\n\ VOL Zeigt die Datenträgervolumebezeichnung und die Seriennummer an.\n" END diff --git a/base/applications/cmdutils/hostname/lang/de-DE.rc b/base/applications/cmdutils/hostname/lang/de-DE.rc index 9fca99d1f1c..b7a53bf877e 100644 --- a/base/applications/cmdutils/hostname/lang/de-DE.rc +++ b/base/applications/cmdutils/hostname/lang/de-DE.rc @@ -4,5 +4,5 @@ STRINGTABLE BEGIN IDS_USAGE "Zeigt den Computernamen an.\n\nhostname" IDS_NOSET "Der Befehl hostname -s wird nicht unterstützt." - IDS_ERROR "Win32 Fehler" + IDS_ERROR "Win32-Fehler" END diff --git a/base/applications/cmdutils/reg/lang/de-DE.rc b/base/applications/cmdutils/reg/lang/de-DE.rc index e3cecd1f034..449aec0f45a 100644 --- a/base/applications/cmdutils/reg/lang/de-DE.rc +++ b/base/applications/cmdutils/reg/lang/de-DE.rc @@ -2,13 +2,13 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN - STRING_USAGE "Die Syntax von diesem Befehl ist:\n\nREG [ ADD | DELETE | QUERY ]\nREG Befehl /?\n" + STRING_USAGE "Syntax:\n\nREG [ ADD | DELETE | QUERY ]\nREG Befehl /?\n" STRING_ADD_USAGE "REG ADD Schlüssel [/v Wert | /ve] [/t Typ] [/s Trenner] [/d Daten] [/f]\n" STRING_DELETE_USAGE "REG DELETE Schlüssel [/v Wert | /ve | /va] [/f]\n" STRING_QUERY_USAGE "REG QUERY Schlüssel [/v Wert | /ve] [/s]\n" STRING_SUCCESS "Der Vorgang wurde erfolgreich abgeschlossen\n" STRING_INVALID_KEY "Fehler: Ungültiger Schlüssel\n" STRING_INVALID_CMDLINE "Fehler: Ungültige Befehlszeilenargumente\n" - STRING_NO_REMOTE "Fehler: Konnte Schlüssel nicht zum remote Rechner hinzufügen\n" + STRING_NO_REMOTE "Fehler: Konnte Schlüssel nicht zum entfernten Rechner hinzufügen\n" STRING_CANNOT_FIND "Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n" END diff --git a/base/applications/cmdutils/taskkill/lang/de-DE.rc b/base/applications/cmdutils/taskkill/lang/de-DE.rc index 3cf1e124e6f..fa3b99ed95a 100644 --- a/base/applications/cmdutils/taskkill/lang/de-DE.rc +++ b/base/applications/cmdutils/taskkill/lang/de-DE.rc @@ -8,12 +8,12 @@ BEGIN STRING_MISSING_OPTION "Fehler: Eine der Optionen /im oder /pid muss angegeben werden.\n" STRING_MISSING_PARAM "Fehler: Option %1 erwartet einen Kommandozeilenparameter.\n" STRING_MUTUAL_EXCLUSIVE "Fehler: Optionen /im und /pid schließen sich gegenseitig aus.\n" - STRING_CLOSE_PID_SEARCH "Schließen Nachricht an Top-Level Fenster des Prozesses mit PID %1!u! gesendet.\n" - STRING_CLOSE_PROC_SRCH "Schließen Nachricht an Top-Level Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n" + STRING_CLOSE_PID_SEARCH "Schließen-Befehl an oberstes Fenster des Prozesses mit PID %1!u! gesendet.\n" + STRING_CLOSE_PROC_SRCH "Schließen-Befehl an oberstes Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n" STRING_TERM_PID_SEARCH "Prozess mit PID %1!u! wurde erzwungenermaßen beendet.\n" STRING_TERM_PROC_SEARCH "Prozess ""%1"" mit PID %2!u! wurde erzwungenermaßen beendet.\n" STRING_SEARCH_FAILED "Fehler: Konnte Prozess ""%1"" nicht finden.\n" STRING_ENUM_FAILED "Fehler: Prozessliste kann nicht aufgebaut werden.\n" STRING_TERMINATE_FAILED "Fehler: Prozess ""%1"" kann nicht beendet werden.\n" - STRING_SELF_TERMINATION "Fehler: Prozess Selbstterminierung ist nicht gestattet.\n" + STRING_SELF_TERMINATION "Fehler: Der Prozess kann sich nicht selbst beenden.\n" END diff --git a/base/applications/dxdiag/lang/tr-TR.rc b/base/applications/dxdiag/lang/tr-TR.rc index 39a43a1a75c..9734d84ce80 100644 --- a/base/applications/dxdiag/lang/tr-TR.rc +++ b/base/applications/dxdiag/lang/tr-TR.rc @@ -118,7 +118,7 @@ BEGIN RTEXT "Sürüm:", -1, 275, 35, 55, 10 RTEXT "Zaman:", -1, 275, 45, 55, 10 RTEXT "WHQL İmleği:", -1, 275, 55, 55, 10 - RTEXT "Diğer Kütükler:", -1, 275, 65, 55, 10 + RTEXT "Başka Kütükler:", -1, 275, 65, 55, 10 RTEXT "Sağlayıcı:", -1, 275, 75, 55, 10 LTEXT "", IDC_STATIC_DSOUND_DRIVER, 335, 25, 100, 10 LTEXT "", IDC_STATIC_DSOUND_VERSION, 335, 35, 100, 10 diff --git a/base/applications/games/solitaire/lang/tr-TR.rc b/base/applications/games/solitaire/lang/tr-TR.rc index d3c6a86ad1e..8ddadb88227 100644 --- a/base/applications/games/solitaire/lang/tr-TR.rc +++ b/base/applications/games/solitaire/lang/tr-TR.rc @@ -3,7 +3,7 @@ * LICENSE: Freeware, permission to use under Public Domain * FILE: base/applications/games/solitaire/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Solitaire - * TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -18,13 +18,13 @@ BEGIN GROUPBOX "Kâğıtlar", -1, 7, 7, 90, 40 AUTORADIOBUTTON "&Tekli Çek", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Üçlü Çek", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - GROUPBOX "Scoring", -1, 100, 7, 75, 53 - AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + GROUPBOX "Sayılama", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Ölçünlü", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 - AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTORADIOBUTTON "&Yok", IDC_OPT_NOSCORE, 107, 45, 60, 10 AUTOCHECKBOX "&Süreyi Göster", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Durum Çubuğu", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP - AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP + AUTOCHECKBOX "S&ayıyı Koru", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP DEFPUSHBUTTON "Tamam", IDOK, 35, 97, 50, 14 PUSHBUTTON "İptal", IDCANCEL, 101, 97, 50, 14 END @@ -59,8 +59,8 @@ BEGIN IDS_SOL_QUIT "Bu oyundan çıkılsın mı?" IDS_SOL_WIN "Tebrikler, kazandınız!" IDS_SOL_DEAL "Yine dağıtılsın mı?" - IDS_SOL_SCORE "Score: %d" - IDS_SOL_TIME "Time: %d" + IDS_SOL_SCORE "Sayı: %d" + IDS_SOL_TIME "Süre: %d" END /* Menus */ diff --git a/base/applications/logoff/lang/de-DE.rc b/base/applications/logoff/lang/de-DE.rc index b45234bee9a..ddfb48a29a5 100644 --- a/base/applications/logoff/lang/de-DE.rc +++ b/base/applications/logoff/lang/de-DE.rc @@ -5,7 +5,7 @@ BEGIN IDS_USAGE "Beendet eine Sitzung.\n\n\ /v\t\tZeigt Informationen zu den Aktionen an, die gerade ausgeführt werden.\n\ /?\t\tZeigt diese Informationen an.\n\n" - IDS_LOGOFF_REMOTE "Beendet eine Sitzung auf einem Server." - IDS_LOGOFF_LOCAL "Beendet eine Sitzung auf dem aktuellen Server." + IDS_LOGOFF_REMOTE "Beendet eine Sitzung auf einem entfernten Rechner." + IDS_LOGOFF_LOCAL "Beendet eine Sitzung auf diesem Rechner." IDS_ILLEGAL_PARAM "Ungültige(r) Parameter\n" END diff --git a/base/applications/magnify/lang/de-DE.rc b/base/applications/magnify/lang/de-DE.rc index 31b3c000290..8bdee024aac 100644 --- a/base/applications/magnify/lang/de-DE.rc +++ b/base/applications/magnify/lang/de-DE.rc @@ -23,7 +23,7 @@ CAPTION "Über" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON IDI_ICON, IDC_MYICON, 14, 9, 20, 20 - LTEXT "Bildschirm-Lupe Version 1.0", IDC_STATIC, 49, 10, 119, 8, SS_NOPREFIX + LTEXT "Bildschirmlupe Version 1.0", IDC_STATIC, 49, 10, 119, 8, SS_NOPREFIX LTEXT "Copyright (C) 2007 Marc Piulachs (marc.piulachs@codexchange.net)", IDC_STATIC, 48, 24, 125, 22 PUSHBUTTON "OK", IDOK, 162, 48, 50, 14 END @@ -67,5 +67,5 @@ END STRINGTABLE BEGIN - IDS_APP_TITLE "Bildschirm-Lupe" + IDS_APP_TITLE "Bildschirmlupe" END diff --git a/base/applications/msconfig/lang/de-DE.rc b/base/applications/msconfig/lang/de-DE.rc index 42f57323bb4..6f5c7cccb96 100644 --- a/base/applications/msconfig/lang/de-DE.rc +++ b/base/applications/msconfig/lang/de-DE.rc @@ -3,7 +3,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL IDD_MSCONFIG_DIALOG DIALOGEX 0, 0, 378, 220 STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU -CAPTION "Systemkonfigurationsprogramm" +CAPTION "Systemkonfiguration" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Tab1", IDC_TAB, "SysTabControl32", WS_TABSTOP, 2, 2, 374, 195 @@ -123,7 +123,7 @@ END STRINGTABLE BEGIN - IDS_MSCONFIG "Systemkonfigurationsprogramm" + IDS_MSCONFIG "Systemkonfiguration" IDS_TAB_GENERAL "Allgemein" IDS_TAB_SYSTEM "SYSTEM.INI" IDS_TAB_FREELDR "FREELDR.INI" diff --git a/base/applications/msconfig/lang/tr-TR.rc b/base/applications/msconfig/lang/tr-TR.rc index a96b9fb9fe2..141d7fce7a4 100644 --- a/base/applications/msconfig/lang/tr-TR.rc +++ b/base/applications/msconfig/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/mscutils/devmgmt/lang/cs-CZ.rc b/base/applications/mscutils/devmgmt/lang/cs-CZ.rc index 10464f614da..f56d94120ed 100644 --- a/base/applications/mscutils/devmgmt/lang/cs-CZ.rc +++ b/base/applications/mscutils/devmgmt/lang/cs-CZ.rc @@ -1,4 +1,4 @@ -LANGUAGE LANG_CZECH, SUBLANG_DEFAULT +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDR_MAINMENU MENU BEGIN @@ -21,7 +21,7 @@ BEGIN MENUITEM "Prostředky podle typu", IDC_RESBYTYPE, GRAYED MENUITEM "Prostředky podle připojení", IDC_RESBYCONN, GRAYED MENUITEM SEPARATOR - MENUITEM "Show hidden devices", IDC_SHOWHIDDEN + MENUITEM "Zobrazit skrytá zařízení", IDC_SHOWHIDDEN END POPUP "Nápověda" BEGIN diff --git a/base/applications/mscutils/devmgmt/lang/de-DE.rc b/base/applications/mscutils/devmgmt/lang/de-DE.rc index 009f7530cbd..3b18371bfb7 100644 --- a/base/applications/mscutils/devmgmt/lang/de-DE.rc +++ b/base/applications/mscutils/devmgmt/lang/de-DE.rc @@ -53,7 +53,7 @@ END STRINGTABLE BEGIN - IDS_LICENSE "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License, wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." + IDS_LICENSE "Dieses Programm ist Freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation, Version 2.1 der Lizenz oder (nach Ihrer Wahl) jeder neueren veröffentlichten Version, weiterverbreiten und/oder modifizieren.\r\n\r\nDieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.\r\n\r\nSie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe ." END STRINGTABLE @@ -71,7 +71,7 @@ BEGIN IDS_HINT_BLANK " " IDS_HINT_EXIT " Das Programm beenden." IDS_HINT_REFRESH " Die Service-Liste aktualisieren." - IDS_HINT_PROP " Eigenschaften-Seite für die aktuelle Auswahl anzeigen." + IDS_HINT_PROP " Eigenschaften für die aktuelle Auswahl anzeigen." IDS_HINT_HELP " Hilfe-Fenster anzeigen." IDS_HINT_ABOUT " Über ReactOS Geräte-Manager." IDS_HINT_SYS_RESTORE " Dieses Fenster auf normale Größe wiederherstellen." diff --git a/base/applications/mscutils/eventvwr/eventvwr.rc b/base/applications/mscutils/eventvwr/eventvwr.rc index 29058175908..d2c9a69cac5 100644 --- a/base/applications/mscutils/eventvwr/eventvwr.rc +++ b/base/applications/mscutils/eventvwr/eventvwr.rc @@ -24,6 +24,9 @@ IDI_ERRORICON ICON "res/error.ico" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif diff --git a/base/applications/mscutils/eventvwr/lang/cs-CZ.rc b/base/applications/mscutils/eventvwr/lang/cs-CZ.rc new file mode 100644 index 00000000000..873bb14f6e1 --- /dev/null +++ b/base/applications/mscutils/eventvwr/lang/cs-CZ.rc @@ -0,0 +1,117 @@ +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +IDC_EVENTVWR MENU +BEGIN + POPUP "&Protokol" + BEGIN + MENUITEM "&Aplikace", ID_LOG_APPLICATION + MENUITEM "&Zabezpečení", ID_LOG_SECURITY + MENUITEM "&Systém", ID_LOG_SYSTEM + MENUITEM SEPARATOR + MENUITEM "&Konec", IDM_EXIT + END + POPUP "&Zobrazit" + BEGIN + MENUITEM "&Obnovit", IDM_REFRESH + END + MENUITEM "&Možnosti", ID_OPTIONS + POPUP "&Nápověda" + BEGIN + MENUITEM "Ná&pověda", IDM_HELP + MENUITEM SEPARATOR + MENUITEM "&O programu...", IDM_ABOUT + END +END + +IDC_EVENTVWR ACCELERATORS +BEGIN + "?", IDM_ABOUT, ASCII, ALT + "/", IDM_ABOUT, ASCII, ALT +END + +IDD_ABOUTBOX DIALOGEX 0, 0, 230, 75 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_CAPTION | WS_SYSMENU +CAPTION "O programu" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_EVENTVWR, IDC_MYICON, 14, 9, 21, 20 + LTEXT "ReactOS Prohlížeč událostí 1.0", IDC_STATIC, 49, 10, 119, 8, SS_NOPREFIX + LTEXT "Copyright (C) 2007 Marc Piulachs (marc.piulachs@codexchange.net)", IDC_STATIC, 49, 20, 119, 22 + DEFPUSHBUTTON "OK", IDOK, 90, 48, 42, 16, WS_GROUP +END + +IDD_PROGRESSBOX DIALOGEX 0, 0, 230, 40 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER +CAPTION "Čekejte.." +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + CTEXT "Načítám protokol událostí. Prosím čekejte ...", IDC_STATIC, 0, 15, 230, 8, SS_NOPREFIX +END + +IDD_EVENTDETAILDIALOG DIALOGEX 0, 0, 276, 282 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Podrobnosti události" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "&Zavřít", IDOK, 12, 258, 50, 14 + PUSHBUTTON "&Předchozí", IDPREVIOUS, 78, 258, 50, 14 + PUSHBUTTON "&Další", IDNEXT, 144, 258, 50, 14 + PUSHBUTTON "&Nápověda", IDHELP, 210, 258, 50, 14 + EDITTEXT IDC_EVENTTEXTEDIT, 14, 81, 247, 108, ES_MULTILINE | ES_READONLY + LTEXT "&Popis:", IDC_STATIC, 15, 70, 39, 8 + LTEXT "Datum:", IDC_STATIC, 14, 14, 36, 8 + EDITTEXT IDC_EVENTDATESTATIC, 56, 14, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "Čas:", IDC_STATIC, 14, 27, 36, 8 + EDITTEXT IDC_EVENTTIMESTATIC, 56, 27, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "&Uživatel:", IDC_STATIC, 14, 41, 36, 8 + EDITTEXT IDC_EVENTUSERSTATIC, 56, 41, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "P&očítač:", IDC_STATIC, 14, 54, 36, 8 + EDITTEXT IDC_EVENTCOMPUTERSTATIC, 56, 54, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "ID události:", IDC_STATIC, 133, 15, 36, 8 + EDITTEXT IDC_EVENTIDSTATIC, 175, 15, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "Zdroj:", IDC_STATIC, 133, 28, 36, 8 + EDITTEXT IDC_EVENTSOURCESTATIC, 175, 28, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "Typ:", IDC_STATIC, 133, 42, 36, 8 + EDITTEXT IDC_EVENTTYPESTATIC, 175, 42, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "Kategorie:", IDC_STATIC, 133, 55, 36, 8 + EDITTEXT IDC_EVENTCATEGORYSTATIC, 175, 55, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTDATAEDIT, 14, 204, 247, 44, ES_MULTILINE | ES_READONLY + LTEXT "D&ata", IDC_STATIC, 14, 194, 20, 8 + CONTROL "&Byty", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 39, 194, 34, 8 + CONTROL "&Word", IDC_WORDRADIO, "Button", BS_AUTORADIOBUTTON, 77, 194, 33, 8 +END + +STRINGTABLE +BEGIN + IDS_APP_TITLE "Prohlížeč událostí" + IDS_APP_TITLE_EX "%s - Protkol %s na \\\\" + IDS_STATUS_MSG "Počet událostí v protokolu %s: %lu" + IDS_EVENTSTRINGIDNOTFOUND "Popis ID události ( %lu ) zdroj ( %s ) nebyl nalezen. Místní počítač neobsahuje potřebné informace v registru nebo chybí DLL soubory pro zobrazení zpráv ze vzdáleného počítače." + IDS_EVENTLOG_ERROR_TYPE "Chyba" + IDS_EVENTLOG_WARNING_TYPE "Upozornění" + IDS_EVENTLOG_INFORMATION_TYPE "Informace" + IDS_EVENTLOG_AUDIT_SUCCESS "Úspěšný audit" + IDS_EVENTLOG_AUDIT_FAILURE "Audit selhal" + IDS_EVENTLOG_SUCCESS "Úspěch" + IDS_EVENTLOG_UNKNOWN_TYPE "Neznámá událost" +END + +STRINGTABLE +BEGIN + IDS_COLUMNTYPE "Typ" + IDS_COLUMNDATE "Datum" + IDS_COLUMNTIME "Čas" + IDS_COLUMNSOURCE "Zdroj" + IDS_COLUMNCATEGORY "Kategorie" + IDS_COLUMNEVENT "Událost" + IDS_COLUMNUSER "Uživatel" + IDS_COLUMNCOMPUTER "Počítač" + IDS_COLUMNEVENTDATA "Data události" +END + +STRINGTABLE +BEGIN + IDS_NONE "Žádný" + IDS_NOT_AVAILABLE "Není k dispozici" +END diff --git a/base/applications/mscutils/servman/lang/cs-CZ.rc b/base/applications/mscutils/servman/lang/cs-CZ.rc new file mode 100644 index 00000000000..d05c65d1a3e --- /dev/null +++ b/base/applications/mscutils/servman/lang/cs-CZ.rc @@ -0,0 +1,281 @@ +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +IDR_MAINMENU MENU +BEGIN + POPUP "&Soubor" + BEGIN + MENUITEM "Exportovat...", ID_EXPORT + MENUITEM SEPARATOR + MENUITEM "&Konec", ID_EXIT + END + POPUP "Akce" + BEGIN + MENUITEM "Připojit k...", ID_CONNECT, GRAYED + MENUITEM SEPARATOR + MENUITEM "Spustit", ID_START, GRAYED + MENUITEM "Zastavit", ID_STOP, GRAYED + MENUITEM "Pozastavit", ID_PAUSE, GRAYED + MENUITEM "Pokračovat", ID_RESUME, GRAYED + MENUITEM "Restartovat", ID_RESTART, GRAYED + MENUITEM SEPARATOR + MENUITEM "Obnovit", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Upravit...", ID_EDIT, GRAYED + MENUITEM "Vytvořit...", ID_CREATE, GRAYED + MENUITEM "Odstranit...", ID_DELETE, GRAYED + MENUITEM SEPARATOR + MENUITEM "Vlastnosti...", ID_PROP, GRAYED + END + POPUP "Zobrazit" + BEGIN + MENUITEM "Velké ikony", ID_VIEW_LARGE + MENUITEM "Malé ikony", ID_VIEW_SMALL + MENUITEM "Seznam", ID_VIEW_LIST + MENUITEM "Detaily", ID_VIEW_DETAILS + MENUITEM SEPARATOR + MENUITEM "Upravit...", ID_VIEW_CUST, GRAYED + END + POPUP "Nápověda" + BEGIN + MENUITEM "Nápověda", ID_HELP + MENUITEM "O programu", ID_ABOUT + END +END + +IDR_POPUP MENU +BEGIN + POPUP "popup" + BEGIN + MENUITEM "Spustit", ID_START, GRAYED + MENUITEM "Zastavit", ID_STOP, GRAYED + MENUITEM "Pozastavit", ID_PAUSE, GRAYED + MENUITEM "pokračovat", ID_RESUME, GRAYED + MENUITEM "Restartovat", ID_RESTART, GRAYED + MENUITEM SEPARATOR + MENUITEM "Obnovit", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Upravit...", ID_EDIT, GRAYED + MENUITEM "Odstranit...", ID_DELETE, GRAYED + MENUITEM SEPARATOR + MENUITEM "Vlastnosti...", ID_PROP, GRAYED + MENUITEM SEPARATOR + MENUITEM "Nápověda...", ID_HELP + END +END + +IDD_ABOUTBOX DIALOGEX 22, 16, 190, 182 +CAPTION "O správci služeb" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME +BEGIN + LTEXT "Správce služeb v0.8\nCopyright (C) 2005-2007\nGed Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 135, 30 + PUSHBUTTON "Zavřít", IDOK, 75, 162, 44, 15 + ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30 + EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE +END + +IDD_DLG_GENERAL DIALOGEX 6, 6, 253, 232 +CAPTION "General" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU | WS_GROUP | WS_TABSTOP +BEGIN + LTEXT "", IDC_SERV_NAME, 70, 11, 176, 11, WS_CHILD | WS_VISIBLE + EDITTEXT IDC_DISP_NAME, 70, 29, 176, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_READONLY + EDITTEXT IDC_DESCRIPTION, 70, 46, 176, 24, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_MULTILINE | ES_READONLY + EDITTEXT IDC_EXEPATH, 6, 86, 240, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_READONLY + COMBOBOX IDC_START_TYPE, 70, 107, 176, 40, WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST + PUSHBUTTON "Spustit", IDC_START, 6, 155, 54, 15, WS_DISABLED + PUSHBUTTON "Zastavit", IDC_STOP, 68, 155, 54, 15, WS_DISABLED + PUSHBUTTON "Pozastavit", IDC_PAUSE, 130, 155, 54, 15, WS_DISABLED + PUSHBUTTON "Pokračovat", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED + LTEXT "Název služby:", IDC_STATIC, 4, 11, 53, 11 + LTEXT "Jméno:", IDC_STATIC, 4, 29, 53, 11 + LTEXT "Popis:", IDC_STATIC, 4, 51, 53, 11 + LTEXT "Cesta:", IDC_STATIC, 6, 73, 82, 9 + LTEXT "Typ spuštění:", IDC_STATIC, 6, 108, 53, 11 + LTEXT "Stav služby:", IDC_STATIC, 4, 138, 53, 11 + LTEXT "", IDC_SERV_STATUS, 70, 138, 176, 11, WS_CHILD | WS_VISIBLE + LTEXT "Zde můžete upřesnit parametry, které budou použity při spuštění.", IDC_STATIC, 6, 177, 240, 15 + LTEXT "Parametry:", IDC_STATIC, 6, 200, 58, 11 + EDITTEXT IDC_START_PARAM, 68, 199, 178, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "Upravit", IDC_EDIT, 192, 215, 54, 15, WS_DISABLED +END + +IDD_DLG_DEPEND DIALOGEX 6, 6, 253, 225 +CAPTION "Závislosti" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU | WS_GROUP | WS_TABSTOP +BEGIN + CONTROL "", IDC_DEPEND_TREE1, "SysTreeView32" , WS_BORDER | WS_CHILDWINDOW | + WS_VISIBLE | WS_TABSTOP | TVS_HASBUTTONS | TVS_HASLINES | + TVS_LINESATROOT | TVS_DISABLEDRAGDROP, 8, 70, 236, 68 + CONTROL "", IDC_DEPEND_TREE2, "SysTreeView32", WS_BORDER | WS_CHILDWINDOW | + WS_VISIBLE | WS_TABSTOP | TVS_HASBUTTONS | TVS_HASLINES | + TVS_LINESATROOT | TVS_DISABLEDRAGDROP, 8, 151, 234, 67 + LTEXT "Některé služby závisí na jiných službách, systémových ovladačích nebo načítají jiné skupiny služeb. Zastavené nebo nesprávně fungující součásti systému mohou ovlivnit závislé služby.", IDC_STATIC, 8, 7, 238, 26 + LTEXT "Tato služba závisí na následujících součástech:", IDC_STATIC, 8, 57, 236, 9 + LTEXT "", IDC_DEPEND_SERVICE, 8, 38, 236, 13 +END + +IDD_DLG_CREATE DIALOGEX 6, 6, 225, 209 +CAPTION "Vytvořit službu" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU | WS_GROUP | WS_TABSTOP +BEGIN + EDITTEXT IDC_CREATE_SERVNAME, 72, 12, 150, 11, WS_CHILD | WS_VISIBLE | WS_EX_CLIENTEDGE + EDITTEXT IDC_CREATE_DISPNAME, 72, 31, 150, 11, WS_CHILD | WS_VISIBLE + EDITTEXT IDC_CREATE_PATH, 10, 62, 210, 13, WS_CHILD | WS_VISIBLE + EDITTEXT IDC_CREATE_DESC, 10, 97, 210, 48, WS_CHILD | WS_VISIBLE + EDITTEXT IDC_CREATE_OPTIONS, 10, 162, 210, 13, WS_CHILD | WS_VISIBLE + LTEXT "*Název služby :", IDC_STATIC, 12, 12, 54, 9 + LTEXT "*Jméno :", IDC_STATIC, 12, 33, 54, 9 + LTEXT "*Cesta :", IDC_STATIC, 10, 51, 68, 9 + LTEXT "Popis :", IDC_STATIC, 12, 86, 44, 9 + PUSHBUTTON "OK", IDOK, 126, 192, 44, 13 + PUSHBUTTON "Storno", IDCANCEL, 176, 192, 46, 13 + LTEXT "Další možnosti (viz Nápovědu)", IDC_STATIC, 10, 151, 134, 9 + PUSHBUTTON "Nápověda", ID_CREATE_HELP, 10, 192, 44, 13 +END + +IDD_DLG_DELETE DIALOGEX 6, 6, 185, 148 +CAPTION "Odstranit službu" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | DS_MODALFRAME +BEGIN + ICON IDI_WARNING, IDC_STATIC, 10, 8, 24, 22 + LTEXT "Opravdu chcete tuto službu odstranit? Tuto akci nelze vrátit!", IDC_STATIC, 50, 6, 125, 25 + LTEXT "Název služby:", IDC_STATIC, 6, 40, 80, 9 + LTEXT "", IDC_DEL_NAME, 15, 53, 160, 15 + EDITTEXT IDC_DEL_DESC, 6, 73, 174, 48, WS_CHILD | WS_VISIBLE | WS_VSCROLL | + WS_EX_STATICEDGE | ES_MULTILINE | ES_READONLY + PUSHBUTTON "Ano", IDOK, 26, 129, 54, 13 + DEFPUSHBUTTON "Ne", IDCANCEL, 102, 129, 54, 13 +END + +IDD_DLG_DEPEND_STOP DIALOGEX 6, 6, 240, 148 +CAPTION "Zastavit jiné služby" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | DS_MODALFRAME +BEGIN + ICON IDI_WARNING, IDC_STATIC, 10, 8, 24, 22 + LTEXT "", IDC_STOP_DEPENDS, 40, 8, 170, 25 + LISTBOX IDC_STOP_DEPENDS_LB, 15, 40, 210, 70, WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE | LBS_NOSEL + LTEXT "Chcete zastavit tyto služby?", IDC_STATIC, 15, 110, 150, 10 + DEFPUSHBUTTON "Ano", IDOK, 60, 129, 54, 14 + PUSHBUTTON "Ne", IDCANCEL, 120, 129, 54, 14 +END + +IDD_DLG_HELP_OPTIONS DIALOGEX 6, 6, 200, 150 +CAPTION "Možnosti" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE 0x10CF0000 +BEGIN + LTEXT "", IDC_CREATE_HELP, 6, 5, 200, 150 + PUSHBUTTON "Ok", IDOK, 75, 130, 44, 13 +END + +IDD_DLG_PROGRESS DIALOGEX 6, 6, 255, 89 +CAPTION "Ovldání služeb" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME +EXSTYLE WS_EX_TOOLWINDOW +BEGIN + CONTROL "", IDC_SERVCON_PROGRESS, "msctls_progress32", 0x50000000, 8, 46, 238, 13 + LTEXT "", IDC_SERVCON_INFO, 8, 5, 236, 11 + LTEXT "", IDC_SERVCON_NAME, 8, 25, 66, 11 + PUSHBUTTON "&Zavřít", IDOK, 100, 70, 54, 13 +END + +STRINGTABLE +BEGIN + IDS_FIRSTCOLUMN "Název" + IDS_SECONDCOLUMN "Popis" + IDS_THIRDCOLUMN "Stav" + IDS_FOURTHCOLUMN "Typ spuštění" + IDS_FITHCOLUMN "Přihlásit jako" +END + +STRINGTABLE +BEGIN + IDS_SERVICES_STARTED "Spuštěno" + IDS_SERVICES_STOPPED "Zastaveno" + IDS_SERVICES_AUTO "Automaticky" + IDS_SERVICES_MAN "Ručně" + IDS_SERVICES_DIS "Zakázáno" +END + +STRINGTABLE +BEGIN + IDS_NUM_SERVICES "Počet služeb: %d" + IDS_STOP_DEPENDS "Zastavením %s dojde také k zastavení" + IDS_NO_DEPENDS "<Žádné závislosti>" + IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." +END + +STRINGTABLE +BEGIN + IDS_TOOLTIP_PROP "Vlastnosti" + IDS_TOOLTIP_REFRESH "Obnovit" + IDS_TOOLTIP_EXPORT "Export seznamu" + IDS_TOOLTIP_CREATE "Vytvořit novou službu" + IDS_TOOLTIP_DELETE "Odstraní danou službu" + IDS_TOOLTIP_START "Spustit službu" + IDS_TOOLTIP_STOP "Zastavit službu" + IDS_TOOLTIP_PAUSE "Pozastavit službu" + IDS_TOOLTIP_RESTART "Restartovat službu" +END + +STRINGTABLE +BEGIN + IDS_PROGRESS_INFO_START "ReactOS se pokouší spustit následující službu" + IDS_PROGRESS_INFO_STOP "ReactOS se pokouší zastavit následující službu" + IDS_PROGRESS_INFO_PAUSE "ReactOS se pokouší pozastavit následující službu" + IDS_PROGRESS_INFO_RESUME "ReactOS se pokouší pokračovat s následující službou" + IDS_CREATE_SUCCESS "Služba úspěšně vytvořena" + IDS_DELETE_SUCCESS "Služba úspěšně odstraněna" + IDS_CREATE_REQ "Položky označené hvězdičkou\njsou povinné" + IDS_DELETE_STOP "Před odstraněním musí být služba ručně zastavena!" +END + +STRINGTABLE +BEGIN + IDS_HELP_OPTIONS "MOŽNOSTI VYTVOŘENÍ:\r\nPOZNÁMKA: Jméno parametru zahrnuje i znak rovnítko.\r\n type= \r\n (výchozí = own)\r\n start= \r\n (výchozí = demand) \r\n error= \r\n (výchozí = normal)\r\n group= \r\n tag= \r\n depend= \r\n obj= \r\n (výchozí = LocalSystem)\r\n password= \r\n" +END + +/* Hints */ +STRINGTABLE +BEGIN + IDS_HINT_BLANK " " + IDS_HINT_EXPORT " Vyexportuje daný seznam do souboru." + IDS_HINT_EXIT " Ukončí program." + IDS_HINT_CONNECT " Spravovat jiný počítač." + IDS_HINT_START " Spustit vybranou službu." + IDS_HINT_STOP " Zastavit vybranou službu." + IDS_HINT_PAUSE " Pozastavit vybranou službu." + IDS_HINT_RESUME " Pokračovat s vybranou službou." + IDS_HINT_RESTART " Zastavit a spustit vybranou službu." + IDS_HINT_REFRESH " Obnovit seznam služeb." + IDS_HINT_EDIT " Upravit vlastnosti vybrané služby." + IDS_HINT_CREATE " Vytvořit novou službu." + IDS_HINT_DELETE " Odstranit vybranou službu." + IDS_HINT_PROP " Zobrazit panel vlastností pro vybranou službu." + IDS_HINT_LARGE " Zobrazit služby jako velké ikony." + IDS_HINT_SMALL " Zobrazit služby jako malé ikony." + IDS_HINT_LIST " Zobrazit služby jako seznam." + IDS_HINT_DETAILS " Zobrazit služby jako podrobný seznam." + IDS_HINT_CUST " Upravit zobrazení." + IDS_HINT_HELP " Zobrazit nápovědu." + IDS_HINT_ABOUT " O ReactOS Správci služeb." + IDS_HINT_SYS_RESTORE " Obnovit normální velikost tohoto okna." + IDS_HINT_SYS_MOVE " Přesunout okno." + IDS_HINT_SYS_SIZE " Změnit velikost okna." + IDS_HINT_SYS_MINIMIZE " Minimalizovat na panel start." + IDS_HINT_SYS_MAXIMIZE " Maximalizovat na celou obrazovku." + IDS_HINT_SYS_CLOSE " Zavřít toto okno." +END + +/* Application title */ +STRINGTABLE +BEGIN + IDS_APPNAME "ReactOS Správce služeb" +END diff --git a/base/applications/mscutils/servman/lang/de-DE.rc b/base/applications/mscutils/servman/lang/de-DE.rc index c7e24ca99f3..fdd62f57161 100644 --- a/base/applications/mscutils/servman/lang/de-DE.rc +++ b/base/applications/mscutils/servman/lang/de-DE.rc @@ -113,7 +113,7 @@ BEGIN WS_VISIBLE | WS_TABSTOP | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP, 8, 151, 234, 67 LTEXT "Einige Dienste sind von anderen Diensten, Systemtreibern und Ladegruppen abhängig. Falls eine Systemkomponente anhält oder nicht einwandfrei ausgeführt wird, kann dies Auswirkungen auf abhängige Dienste haben.", IDC_STATIC, 8, 7, 238, 38 - LTEXT "Dieser Dienst ist von diesen Systemkomponenten abhängig", IDC_STATIC, 8, 57, 236, 9 + LTEXT "Dieser Dienst ist von folgenden Systemkomponenten abhängig", IDC_STATIC, 8, 57, 236, 9 LTEXT "", IDC_DEPEND_SERVICE, 8, 38, 236, 13 END @@ -208,8 +208,8 @@ STRINGTABLE BEGIN IDS_NUM_SERVICES "Anzahl der Dienste: %d" IDS_STOP_DEPENDS "Wenn %s beendet wird, werden diese Dienste ebenfalls beendet" - IDS_NO_DEPENDS "" - IDS_LICENSE "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License, wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." + IDS_NO_DEPENDS "" + IDS_LICENSE "Dieses Programm ist Freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation, Version 2.1 der Lizenz oder (nach Ihrer Wahl) jeder neueren veröffentlichten Version, weiterverbreiten und/oder modifizieren.\r\n\r\nDieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.\r\n\r\nSie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe ." END STRINGTABLE @@ -233,7 +233,7 @@ BEGIN IDS_PROGRESS_INFO_RESUME "ReactOS versucht den folgenden Dienst fortzusetzen" IDS_CREATE_SUCCESS "Der Dienst wurde erfolgreich erstellt" IDS_DELETE_SUCCESS "Der Dienst wurde erfolgreich gelöscht" - IDS_CREATE_REQ "Mit einem Sternchen gekennzeichnete Felder sind erforderlich" + IDS_CREATE_REQ "Mit einem Stern (*) gekennzeichnete Felder sind erforderlich" IDS_DELETE_STOP "Sie müssen den Dienst manuell beenden, bevor er gelöscht werden kann!" END diff --git a/base/applications/mscutils/servman/lang/tr-TR.rc b/base/applications/mscutils/servman/lang/tr-TR.rc index 6d90b1c12aa..e9c1274b80b 100644 --- a/base/applications/mscutils/servman/lang/tr-TR.rc +++ b/base/applications/mscutils/servman/lang/tr-TR.rc @@ -114,7 +114,7 @@ BEGIN CONTROL "", IDC_DEPEND_TREE2, "SysTreeView32", WS_BORDER | WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP, 8, 151, 234, 67 - LTEXT "Birtakım hizmetler, diğer hizmetlere, dizge sürücülerine ve yükleme sıra öbeklerine bağımlıdır. Eğer bir dizge bileşeni, durdurulmuşsa ya da düzgün bir şekilde çalışmıyorsa bağımlı hizmetler etkilenebilir.", IDC_STATIC, 8, 7, 238, 26 + LTEXT "Birtakım hizmetler, başka hizmetlere, dizge sürücülerine ve yükleme sıra öbeklerine bağımlıdır. Eğer bir dizge bileşeni, durdurulmuşsa ya da düzgün bir şekilde çalışmıyorsa bağımlı hizmetler etkilenebilir.", IDC_STATIC, 8, 7, 238, 26 LTEXT "Bu hizmet aşağıdaki bileşenlere bağımlıdır:", IDC_STATIC, 8, 57, 236, 9 LTEXT "", IDC_DEPEND_SERVICE, 8, 38, 236, 13 END @@ -155,7 +155,7 @@ BEGIN END IDD_DLG_DEPEND_STOP DIALOGEX 6, 6, 240, 148 -CAPTION "Diğer Hizmetleri Kapatma" +CAPTION "Başka Hizmetleri Kapatma" FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | DS_MODALFRAME BEGIN diff --git a/base/applications/mscutils/servman/servman.rc b/base/applications/mscutils/servman/servman.rc index 0959200ec13..9c52761b7c9 100644 --- a/base/applications/mscutils/servman/servman.rc +++ b/base/applications/mscutils/servman/servman.rc @@ -36,6 +36,9 @@ IDI_DRIVER ICON "res/driver.ico" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif diff --git a/base/applications/mstsc/lang/de-DE.rc b/base/applications/mstsc/lang/de-DE.rc index 6eed8d7e7a1..e7b9c5595fc 100644 --- a/base/applications/mstsc/lang/de-DE.rc +++ b/base/applications/mstsc/lang/de-DE.rc @@ -58,6 +58,6 @@ BEGIN IDS_PIXEL "%lux%lu Pixel" IDS_FULLSCREEN "Vollbild" IDS_BROWSESERVER "" - IDS_HEADERTEXT1 "Remote Desktop" + IDS_HEADERTEXT1 "Remotedesktop" IDS_HEADERTEXT2 "Verbindung" END diff --git a/base/applications/network/ipconfig/lang/de-DE.rc b/base/applications/network/ipconfig/lang/de-DE.rc index 3e80462c510..7285cbe79e5 100644 --- a/base/applications/network/ipconfig/lang/de-DE.rc +++ b/base/applications/network/ipconfig/lang/de-DE.rc @@ -3,7 +3,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN IDS_BCAST "Broadcast" - IDS_P2P "Peer To Peer" + IDS_P2P "Peer-to-Peer" IDS_MIXED "Gemischt" IDS_HYBRID "Hybrid" IDS_UNKNOWN "Unbekannt" @@ -24,10 +24,10 @@ STRINGTABLE BEGIN IDS_USAGE "\nSyntax:\n \ - ipconfig [/? | /all | /renew [adapter] | /release [adapter] |\n \ + ipconfig [/? | /all | /renew [Adapter] | /release [Adapter] |\n \ /flushdns | /displaydns | /registerdns |\n \ - /showclassid adapter |\n \ - /setclassid adapter [Klassen-ID] ]\n \ + /showclassid Adapter |\n \ + /setclassid Adapter [Klassen-ID] ]\n \ \n \ wobei\n \ Adapter Verbindungsname\n \ diff --git a/base/applications/network/ping/lang/de-DE.rc b/base/applications/network/ping/lang/de-DE.rc index c75d7ff148b..e85ff210e5b 100644 --- a/base/applications/network/ping/lang/de-DE.rc +++ b/base/applications/network/ping/lang/de-DE.rc @@ -4,15 +4,15 @@ STRINGTABLE BEGIN IDS_USAGE "\nSyntax: ping [-t] [-n Anzahl] [-l Größe] [-w Zeitlimit] Zielhost\n\n\ Optionen:\n\ - -t Sendet fortlaufend Pings an den angegebenen Host.\n\ + -t Sendet fortlaufend Ping-Signale an den angegebenen Host.\n\ Drücken Sie STRG-C, um den Vorgang abzubrechen.\n\ -n Anzahl Anzahl der Echoanforderungen, die gesendet werden.\n\ -l Größe Größe des Sendepuffers.\n\ -w Zeitlimit Zeitlimit in Millisekunden für eine Antwort.\n\n\0" - IDS_PING_WITH_BYTES "\nPingen von %1 [%2] mit %3!d! Bytes Daten:\n\n\0" + IDS_PING_WITH_BYTES "\nPing wird ausgeführt für %1 [%2] mit %3!d! Bytes Daten:\n\n\0" IDS_PING_STATISTICS "\nPing Statistik für %1:\n\0" - IDS_PACKETS_SENT_RECEIVED_LOST " Packets: Gesendet = %1!d!, Empfangen = %2!d!, Verloren = %3!d! (%4!d!%% Verlust),\n\0" + IDS_PACKETS_SENT_RECEIVED_LOST " Pakete: Gesendet = %1!d!, Empfangen = %2!d!, Verloren = %3!d! (%4!d!%% Verlust),\n\0" IDS_APPROXIMATE_ROUND_TRIP "Durchschnittliche Antwortzeit in Millisekunden:\n\0" IDS_MIN_MAX_AVERAGE " Minimum = %1, Maximum = %2, Durchschnitt = %3\n\0" IDS_NOT_ENOUGH_RESOURCES "Nicht genügend freie Resourcen verfügbar.\n\0" @@ -20,9 +20,9 @@ Optionen:\n\ IDS_SETSOCKOPT_FAILED "setsockopt ist fehlgeschlagen (%1!d!).\n\0" IDS_COULD_NOT_CREATE_SOCKET "Konnte keinen Socket erzeugen (#%1!d!).\n\0" IDS_COULD_NOT_INIT_WINSOCK "Die Winsock DLL konnte nicht initialisiert werden.\n\0" - IDS_DEST_MUST_BE_SPECIFIED "Name oder IP-Address des Zielhostes muss angegeben werden.\n\0" + IDS_DEST_MUST_BE_SPECIFIED "Name oder IP-Adresse des Zielhosts muss angegeben werden.\n\0" IDS_BAD_PARAMETER "Ungültiger Parameter %1.\n\0" - IDS_BAD_OPTION_FORMAT "Ungültiges Options-Format %1.\n\0" + IDS_BAD_OPTION_FORMAT "Ungültiges Format %1.\n\0" IDS_BAD_OPTION "Ungültige Option %1.\n\0" IDS_BAD_VALUE_OPTION_L "Ungültiger Wert für Option -l, Erlaubter Bereich ist von 0 bis %1!d!.\n\0" IDS_REPLY_FROM "Antwort von %1: bytes=%2!d! time%3%4 TTL=%5!d!\n\0" diff --git a/base/applications/notepad/lang/de-DE.rc b/base/applications/notepad/lang/de-DE.rc index 0f8dc2e8000..d8aa320a830 100644 --- a/base/applications/notepad/lang/de-DE.rc +++ b/base/applications/notepad/lang/de-DE.rc @@ -70,7 +70,7 @@ BEGIN END END -/* Dialog 'Page setup' */ +/* Dialog 'Seite einrichten' */ DIALOG_PAGESETUP DIALOGEX 0, 0, 225, 95 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -94,11 +94,11 @@ BEGIN PUSHBUTTON "&Hilfe", IDHELP, 180, 39, 40, 15, WS_TABSTOP END -/* Dialog 'Enkodierung' */ +/* Dialog 'Zeichenkodierung' */ DIALOG_ENCODING DIALOGEX 0, 0, 256, 44 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" -CAPTION "Enkodierung" +CAPTION "Zeichenkodierung" BEGIN COMBOBOX ID_ENCODING, 54, 0, 156, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "Kodierung:", 0x155, 5, 2, 41, 12 @@ -113,7 +113,7 @@ FONT 8, "MS Shell Dlg" CAPTION "Gehe zu Zeile" BEGIN EDITTEXT ID_LINENUMBER, 54, 10, 106, 12, WS_CHILD | WS_BORDER | WS_TABSTOP - LTEXT "Zeile Nummer:", 0x155, 5, 12, 45, 12, WS_CHILD | WS_TABSTOP | ES_NUMBER + LTEXT "Zeilennummer:", 0x155, 5, 12, 45, 12, WS_CHILD | WS_TABSTOP | ES_NUMBER DEFPUSHBUTTON "OK", IDOK, 75, 30, 40, 15, WS_CHILD | WS_TABSTOP PUSHBUTTON "Abbrechen", IDCANCEL, 120, 30, 40, 15, WS_CHILD | WS_TABSTOP END @@ -132,7 +132,7 @@ END STRINGTABLE BEGIN - STRING_LICENSE "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License, wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." + STRING_LICENSE "Dieses Programm ist Freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation, Version 2.1 der Lizenz oder (nach Ihrer Wahl) jeder neueren veröffentlichten Version, weiterverbreiten und/oder modifizieren.\r\n\r\nDieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.\r\n\r\nSie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe ." END STRINGTABLE @@ -166,7 +166,7 @@ um diese Funktion \nabzuschließen. Beenden Sie eine oder mehrere \ STRING_CANNOTFIND "'%s' wurde nicht gefunden." STRING_ANSI "ANSI" STRING_UNICODE "Unicode" - STRING_UNICODE_BE "Unicode (big endian)" + STRING_UNICODE_BE "Unicode (Big-Endian)" STRING_UTF8 "UTF-8" STRING_CRLF "Windows (CR + LF)" STRING_LF "Unix (LF)" diff --git a/base/applications/rapps/lang/cs-CZ.rc b/base/applications/rapps/lang/cs-CZ.rc index 7202c36141e..3f037363368 100644 --- a/base/applications/rapps/lang/cs-CZ.rc +++ b/base/applications/rapps/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: applications/rapps/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2010-12-12 + * UPDATED: 2014-04-20 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT @@ -21,9 +21,9 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Odstranit z ®istru", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Obnovit", ID_REFRESH + MENUITEM "Ob&novit", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Aktualizovat databázi", ID_RESETDB END POPUP "Nápověda" BEGIN @@ -51,9 +51,9 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Odstranit z ®istru", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Obnovit", ID_REFRESH + MENUITEM "Ob&novit", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Aktualizovat databázi", ID_RESETDB END END @@ -103,7 +103,7 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME CAPTION "O programu" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS Manažer aplikací\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 + LTEXT "ReactOS Správce aplikací\nCopyright (C) 2009\nDmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 PUSHBUTTON "Zavřít", IDOK, 133, 46, 50, 14 ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30 END @@ -168,7 +168,7 @@ BEGIN IDS_CAT_INTERNET "Internet a sítě" IDS_CAT_LIBS "Knihovny" IDS_CAT_OFFICE "Kancelář" - IDS_CAT_OTHER "Jiné" + IDS_CAT_OTHER "Ostatní" IDS_CAT_SCIENCE "Věda" IDS_CAT_TOOLS "Nástroje" IDS_CAT_VIDEO "Video" @@ -176,20 +176,20 @@ END STRINGTABLE BEGIN - IDS_APPTITLE "ReactOS Manažer aplikací" + IDS_APPTITLE "ReactOS Správce aplikací" IDS_SEARCH_TEXT "Hledat..." IDS_INSTALL "Instalovat" IDS_UNINSTALL "Odinstalovat" IDS_MODIFY "Změnit" IDS_APPS_COUNT "Počet aplikací: %d" - IDS_WELCOME_TITLE "Vítejte v ReactOS Manažeru aplikací!\n\n" + IDS_WELCOME_TITLE "Vítejte v ReactOS Správci aplikací!\n\n" IDS_WELCOME_TEXT "Na levé straně zvolte kategorii, pak vpravo zvolte aplikaci, která bude nainstalována nebo odinstalována.\nWebová stránka ReactOS: " IDS_WELCOME_URL "http://www.reactos.org" IDS_INSTALLED "Nainstalováno" - IDS_AVAILABLEFORINST "Dostupné k instalaci" + IDS_AVAILABLEFORINST "Lze instalovat" IDS_UPDATES "Aktualizace" IDS_APPLICATIONS "Aplikace" - IDS_CHOOSE_FOLDER_TEXT "Zvolte složku, do které se budou ukládat stažené soubory:" + IDS_CHOOSE_FOLDER_TEXT "Zvolte složku, do které se budou ukládat stažené soubory: " IDS_CHOOSE_FOLDER_ERROR "Zvolená složka neexistuje. Vytvořit?" IDS_APP_REG_REMOVE "Určitě odstranit data instalovaného programu z registru?" IDS_INFORMATION "Informace" diff --git a/base/applications/rapps/lang/tr-TR.rc b/base/applications/rapps/lang/tr-TR.rc index 7e20c851cb8..bd0a12ffb37 100644 --- a/base/applications/rapps/lang/tr-TR.rc +++ b/base/applications/rapps/lang/tr-TR.rc @@ -165,7 +165,7 @@ BEGIN IDS_CAT_INTERNET "Ağ" IDS_CAT_LIBS "Kitaplıklar" IDS_CAT_OFFICE "Büro" - IDS_CAT_OTHER "Diğer" + IDS_CAT_OTHER "Başka" IDS_CAT_SCIENCE "Bilim" IDS_CAT_TOOLS "Araçlar" IDS_CAT_VIDEO "Vidyo" @@ -188,7 +188,7 @@ BEGIN IDS_APPLICATIONS "Uygulamalar" IDS_CHOOSE_FOLDER_TEXT "İndirilenlerin saklanacağı bir dizin seçiniz:" IDS_CHOOSE_FOLDER_ERROR "Belirttiğiniz dizin yok. Belirttiğiniz dizin oluşturulsun mu?" - IDS_APP_REG_REMOVE "Kurulan izlencenin girişini Değer Defteri'nden silmeyi doğruluyor musunuz?" + IDS_APP_REG_REMOVE "Kurulan izlencenin girişini değer defterinden silmek istemeyi doğruluyor musunuz?" IDS_INFORMATION "Bilgi" - IDS_UNABLE_TO_REMOVE "İzlencenin girişi Değer Defteri'nden silinemiyor." + IDS_UNABLE_TO_REMOVE "İzlencenin girişi değer defterinden silinemiyor." END diff --git a/base/applications/rapps/rapps/abiword.txt b/base/applications/rapps/rapps/abiword.txt index 844f68f59ac..9d6ac792613 100644 --- a/base/applications/rapps/rapps/abiword.txt +++ b/base/applications/rapps/rapps/abiword.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = AbiWord diff --git a/base/applications/rapps/rapps/abiword26.txt b/base/applications/rapps/rapps/abiword26.txt index 0c97d941fbc..0a6ed2a6613 100644 --- a/base/applications/rapps/rapps/abiword26.txt +++ b/base/applications/rapps/rapps/abiword26.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = AbiWord diff --git a/base/applications/rapps/rapps/abyss.txt b/base/applications/rapps/rapps/abyss.txt index 69d4c65955d..7dfbe6ac50f 100644 --- a/base/applications/rapps/rapps/abyss.txt +++ b/base/applications/rapps/rapps/abyss.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Abyss Web server X1 diff --git a/base/applications/rapps/rapps/ac97forvirtualbox.txt b/base/applications/rapps/rapps/ac97forvirtualbox.txt index b760df4ab22..cca6ec4fcf3 100644 --- a/base/applications/rapps/rapps/ac97forvirtualbox.txt +++ b/base/applications/rapps/rapps/ac97forvirtualbox.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = AC97 Driver for VirtualBox @@ -20,6 +20,11 @@ Name = AC97 Treiber für VirtualBox Licence = Unbekannt Description = Entpacken in das "ReactOS"-Verzeichnis und ReactOS zweimal neustarten. +[Section.0410] +Name = Driver AC97 per VirtualBox +License = Sconosciuta +Descrizione = Estrarre nella cartella "ReactOS" e poi riavviare ReactOs due volte. + [Section.040a] Name = Driver AC97 para VirtualBox Licence = Desconocida diff --git a/base/applications/rapps/rapps/alreader.txt b/base/applications/rapps/rapps/alreader.txt index 4dd4561fcff..501ff11ab9c 100644 --- a/base/applications/rapps/rapps/alreader.txt +++ b/base/applications/rapps/rapps/alreader.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = AlReader @@ -13,7 +13,7 @@ CDPath = none Description = Ein FB2 eBook Reader. Unterstützung für folgende Formate: fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. ZIP und GZ Archive werden ebenfalls unterstützt. [Section.0410] -Description = Un eBook Reader. +Description = Un eBook Reader. Legge i formati fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. Supporta gli archivi ZIP e GZ. [Section.0415] Description = Czytnik eBooków. Obsługuje formaty: fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. Obsługiwane są także pliki w archivach ZIP i GZ. diff --git a/base/applications/rapps/rapps/ants.txt b/base/applications/rapps/rapps/ants.txt index 629b5484da0..ac1b79f5468 100644 --- a/base/applications/rapps/rapps/ants.txt +++ b/base/applications/rapps/rapps/ants.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Ants @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Ein strategisches Kartenspiel. Sie bauen Ihr eigenes Schloss und versuchen, die gegnerische Burg zu zerstören. Sie benötigen ein ZIP-Programm, um es zu installieren. +[Section.0410] +Description = Un gioco di carte strategico. Costruisci il tuo castello e prova a distruggere il castello nemico. Necessita di un programma di estrazione ZIP per essere installato. + [Section.0415] Description = Karciana gra strategiczna. Budujesz zamek, przy okazji próbujesz zniszczyć zamek wroga. Wymaga programu archiwizującego do wypakowania. diff --git a/base/applications/rapps/rapps/audiograbber.txt b/base/applications/rapps/rapps/audiograbber.txt index 6a2d08aebe7..5f59de91cbc 100644 --- a/base/applications/rapps/rapps/audiograbber.txt +++ b/base/applications/rapps/rapps/audiograbber.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Audio Grabber @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Ein sehr guter CD-Ripper/Audio-Datei-Konverter. +[Section.0410] +Description = Un buon CD Ripper/Convertitore di file Audio. + [Section.040a] Description = Un buen CD Ripper/ conversor de archivos de audio. diff --git a/base/applications/rapps/rapps/bittorrent.txt b/base/applications/rapps/rapps/bittorrent.txt index 59fa4fc5ab0..cd600628fdb 100644 --- a/base/applications/rapps/rapps/bittorrent.txt +++ b/base/applications/rapps/rapps/bittorrent.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = BitTorrent diff --git a/base/applications/rapps/rapps/bochs.txt b/base/applications/rapps/rapps/bochs.txt index 4707c75bbca..84094fcd96f 100644 --- a/base/applications/rapps/rapps/bochs.txt +++ b/base/applications/rapps/rapps/bochs.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -15,6 +15,9 @@ CDPath = none [Section.0407] Description = Bochs ist ein portabler Open-Source IA-32 (x86) PC-Emulator geschrieben in C++, der auf den meisten populären Plattformen läuft. +[Section.0410] +Description = Bochs è un emulatore pc IA-32 (x86) scritto in C++ open source e portatile, che può essere eseguito sulle piattaformi più popolari. + [Section.0415] Description = Bochs to przenośny (portable) emulator platformy IA-32 (x86) napisany w C++, działa na wielu popularnych platformach sprzętowych. diff --git a/base/applications/rapps/rapps/boswars.txt b/base/applications/rapps/rapps/boswars.txt index dd3435ea7aa..58e7b36c1fc 100644 --- a/base/applications/rapps/rapps/boswars.txt +++ b/base/applications/rapps/rapps/boswars.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/boundaround.txt b/base/applications/rapps/rapps/boundaround.txt index 6c50c4304cf..ef5adb3a1c7 100644 --- a/base/applications/rapps/rapps/boundaround.txt +++ b/base/applications/rapps/rapps/boundaround.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Bound Around (Demo) @@ -13,6 +13,10 @@ CDPath = none [Section.0407] Description = Ein Spiel, ähnlich zu Frozen Fruits. +[Section.0410] +Name = Bound Around (Versione di prova) +Description = Un gioco simile a Frozen Fruits. + [Section.041f] Name = Bound Around (Göstermelik) Licence = Kısıtlı diff --git a/base/applications/rapps/rapps/christmasbound.txt b/base/applications/rapps/rapps/christmasbound.txt index dac37a48392..4b6798c2077 100644 --- a/base/applications/rapps/rapps/christmasbound.txt +++ b/base/applications/rapps/rapps/christmasbound.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Christmas Bound @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Ein Spiel, ähnlich zu Frozen Fruits. +[Section.0410] +Description = Un gioco simile a Frozen Fuits. + [Section.041f] Licence = Ücretsiz Description = Frozen Fruits'e benzeyen bir oyun. diff --git a/base/applications/rapps/rapps/chromium.txt b/base/applications/rapps/rapps/chromium.txt index 1ebd82226a8..693a5884d5b 100644 --- a/base/applications/rapps/rapps/chromium.txt +++ b/base/applications/rapps/rapps/chromium.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Chromium B.S.U. diff --git a/base/applications/rapps/rapps/cnt.txt b/base/applications/rapps/rapps/cnt.txt index cb13c1f8b51..07fdc789ead 100644 --- a/base/applications/rapps/rapps/cnt.txt +++ b/base/applications/rapps/rapps/cnt.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Click-N-Type Virtual Keyboard diff --git a/base/applications/rapps/rapps/codeblocks.txt b/base/applications/rapps/rapps/codeblocks.txt index a21ed29d735..ac2172c1b83 100644 --- a/base/applications/rapps/rapps/codeblocks.txt +++ b/base/applications/rapps/rapps/codeblocks.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Code::Blocks (no compiler) @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Eine quelloffene, plattformübergreifende, mächtige IDE. Diese enthält keinen Compiler. +[Section.0410] +Description = Un IDE potente, open source, multipiattaforma. Non contiene un compilatore. + [Section.041f] Name = Code::Blocks (Derleyicisiz) Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. Bir derleyici içermez. diff --git a/base/applications/rapps/rapps/codeblocks_gcc.txt b/base/applications/rapps/rapps/codeblocks_gcc.txt index 8f0f87d8367..654057867bf 100644 --- a/base/applications/rapps/rapps/codeblocks_gcc.txt +++ b/base/applications/rapps/rapps/codeblocks_gcc.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Code::Blocks TDM-GCC (version 4.7.1, 32 bit) @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Eine quelloffene, plattformübergreifende, mächtige IDE. Diese enthält den TDM-GCC (version 4.7.1, 32 bit) Compiler. +[Section.0410] +Description = Un IDE potente, open source, multipiattaforma. Contiene il compilatore TDM-GCC (versione 4.7.1, 32 bit). + [Section.041f] Name = Code::Blocks TDM-GCC (sürüm 4.7.1, 32 bitlik) Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. TDM-GCC (sürüm 4.7.1, 32 bitlik) derleyicisini içerir. diff --git a/base/applications/rapps/rapps/codeblocks_gcc_2.txt b/base/applications/rapps/rapps/codeblocks_gcc_2.txt index 20e15bf5dff..e8fadd4c305 100644 --- a/base/applications/rapps/rapps/codeblocks_gcc_2.txt +++ b/base/applications/rapps/rapps/codeblocks_gcc_2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Code::Blocks TDM-GCC (version 4.8.1, 32 bit) @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Eine quelloffene, plattformübergreifende, mächtige IDE. Diese enthät den TDM-GCC (version 4.8.1, 32 bit) Compiler. +[Section.0410] +Description = Un IDE potente, open source, multipiattaforma. Contiene il compilatore TDM-GCC (versione 4.8.1, 32 bit). + [Section.041f] Name = Code::Blocks TDM-GCC (sürüm 4.8.1, 32 bitlik) Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. TDM-GCC (sürüm 4.8.1, 32 bitlik) derleyicisini içerir. diff --git a/base/applications/rapps/rapps/comctl32ocx.txt b/base/applications/rapps/rapps/comctl32ocx.txt index b9f10def161..b9ea0fd0d71 100644 --- a/base/applications/rapps/rapps/comctl32ocx.txt +++ b/base/applications/rapps/rapps/comctl32ocx.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual Basic 6.0 Common Controls diff --git a/base/applications/rapps/rapps/devcpp_mingw32.txt b/base/applications/rapps/rapps/devcpp_mingw32.txt index de51e041100..0db353c927c 100644 --- a/base/applications/rapps/rapps/devcpp_mingw32.txt +++ b/base/applications/rapps/rapps/devcpp_mingw32.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Orwell Dev-C++ MinGW32 @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Eine gepflegte Version von Dev-C++. Der MinGW32 Compiler liegt bei. +[Section.0410] +Description = Una versione mantenuta di Dev-C++. Contiene il compilatore MinGW32. + [Section.041f] Description = Dev-C++'nın sürdürülen bir sürümü. MinGW32 derleyicisini içerir. Size = 60,2 MB diff --git a/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt b/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt index 2761f212b10..f0f490d16e1 100644 --- a/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt +++ b/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Orwell Dev-C++ TDM GCC x64 @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Eine gepflegte Version von Dev-C++. Der 64 bit TDM-GCC Compiler liegt bei. +[Section.0410] +Description = Una versione sostenuta di Dev-C++. Contiene il compilatore a 64bit TDM-GCC. + [Section.041f] Description = Dev-C++'nın sürdürülen bir sürümü. 64 bitlik TDM-GCC derleyicisini içerir. Size = 44,8 MB diff --git a/base/applications/rapps/rapps/diablo2.txt b/base/applications/rapps/rapps/diablo2.txt index c266f55b2f3..5079c79e3bb 100644 --- a/base/applications/rapps/rapps/diablo2.txt +++ b/base/applications/rapps/rapps/diablo2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Diablo II diff --git a/base/applications/rapps/rapps/dosblaster.txt b/base/applications/rapps/rapps/dosblaster.txt index 51bb21dfbab..03325b677dc 100644 --- a/base/applications/rapps/rapps/dosblaster.txt +++ b/base/applications/rapps/rapps/dosblaster.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = DosBlaster diff --git a/base/applications/rapps/rapps/dosbox.txt b/base/applications/rapps/rapps/dosbox.txt index 9c5e275c5a1..f38620fa1d4 100644 --- a/base/applications/rapps/rapps/dosbox.txt +++ b/base/applications/rapps/rapps/dosbox.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = DOSBox diff --git a/base/applications/rapps/rapps/doublecommander.txt b/base/applications/rapps/rapps/doublecommander.txt index 422148d8700..8a8975d8b63 100644 --- a/base/applications/rapps/rapps/doublecommander.txt +++ b/base/applications/rapps/rapps/doublecommander.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Double Commander diff --git a/base/applications/rapps/rapps/dplus.txt b/base/applications/rapps/rapps/dplus.txt new file mode 100644 index 00000000000..2a54a7e534d --- /dev/null +++ b/base/applications/rapps/rapps/dplus.txt @@ -0,0 +1,22 @@ +; UTF-8 + +[Section] +Name = D+ Browser +Version = 0.5b +Licence = GPLv3 +Description = DPlus is a graphical web browser with an emphasis on security, performance and portability. It is based on Dillo and it is forked from Dillo-Win32 project. +Size = 1.36 MB +Category = 5 +URLSite = http://dplus-browser.sourceforge.net/ +URLDownload = http://heanet.dl.sourceforge.net/project/dplus-browser/Releases/dplus-0.5b/dplus-0.5b-setup.exe +CDPath = none + +[Section.0410] +License = GPL versione 3 +Description = DPlus è un web browser grafico con un accenno alla sicurezza, le prestazioni e portabilità. è basata su Dillo ed è diviso dal progetto Dillo-Win32. + +[Section.041f] +Name = D+ Tarayıcı +Licence = GPL 3. sürüm +Description = DPlus; güvenlik, başarım ve taşınabilirlik üzerine bir vurguyla, çizgelik bir Umûmî Ağ tarayıcısıdır. Dillo tabanlıdır ve Dillo-Win32 tasarısından çatallanmıştır. +Size = 1,36 MB diff --git a/base/applications/rapps/rapps/dvdwritenow.txt b/base/applications/rapps/rapps/dvdwritenow.txt index c403f526041..d2ff1961b56 100644 --- a/base/applications/rapps/rapps/dvdwritenow.txt +++ b/base/applications/rapps/rapps/dvdwritenow.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = DVD Write Now diff --git a/base/applications/rapps/rapps/excelview.txt b/base/applications/rapps/rapps/excelview.txt index 653e7d0bd0a..35e433d000a 100644 --- a/base/applications/rapps/rapps/excelview.txt +++ b/base/applications/rapps/rapps/excelview.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Excel Viewer diff --git a/base/applications/rapps/rapps/fap.txt b/base/applications/rapps/rapps/fap.txt index 0c4631a7d29..49903520e58 100644 --- a/base/applications/rapps/rapps/fap.txt +++ b/base/applications/rapps/rapps/fap.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Fox Audio Player diff --git a/base/applications/rapps/rapps/fira.txt b/base/applications/rapps/rapps/fira.txt index b27dee4a663..30373c7a033 100644 --- a/base/applications/rapps/rapps/fira.txt +++ b/base/applications/rapps/rapps/fira.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -16,6 +16,10 @@ CDPath = none Licence = Unbekannt Description = Mozilla Fira Font Pack, Beinhaltet Mono und Sans Schriften. Bitte in den "ReactOS" Ordner entpacken. +[Section.0410] +Licence = Sconosciuta +Description = Fira Font Pack di Mozilla, Include i font Mono e Sans. Estrare nella cartella "ReactOS". + [Section.0415] Description = Pakiet czcionek Mozilla Fira Font, zawiera czcionki Mono i Sans. Wypakuj do folderu "ReactOS". Licence = Nieznana diff --git a/base/applications/rapps/rapps/firefox.txt b/base/applications/rapps/rapps/firefox.txt index 89df72c9dcf..038cfe10183 100644 --- a/base/applications/rapps/rapps/firefox.txt +++ b/base/applications/rapps/rapps/firefox.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Firefox 28 diff --git a/base/applications/rapps/rapps/firefox2.txt b/base/applications/rapps/rapps/firefox2.txt index 141348b7ca6..ae699823393 100644 --- a/base/applications/rapps/rapps/firefox2.txt +++ b/base/applications/rapps/rapps/firefox2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Firefox 2.0 diff --git a/base/applications/rapps/rapps/firefox3.txt b/base/applications/rapps/rapps/firefox3.txt index 94770847870..e7032cbc1ae 100644 --- a/base/applications/rapps/rapps/firefox3.txt +++ b/base/applications/rapps/rapps/firefox3.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Firefox 3.0 diff --git a/base/applications/rapps/rapps/firefox36.txt b/base/applications/rapps/rapps/firefox36.txt index 74af5cb753d..4046e9f1109 100644 --- a/base/applications/rapps/rapps/firefox36.txt +++ b/base/applications/rapps/rapps/firefox36.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Firefox 3.6 diff --git a/base/applications/rapps/rapps/freebasic.txt b/base/applications/rapps/rapps/freebasic.txt index bf5a22cdaad..1a40490443a 100644 --- a/base/applications/rapps/rapps/freebasic.txt +++ b/base/applications/rapps/rapps/freebasic.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = FreeBASIC diff --git a/base/applications/rapps/rapps/glidewrapzbag.txt b/base/applications/rapps/rapps/glidewrapzbag.txt index 803f7fbf18e..8d100209291 100644 --- a/base/applications/rapps/rapps/glidewrapzbag.txt +++ b/base/applications/rapps/rapps/glidewrapzbag.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = GlidewrapZbag diff --git a/base/applications/rapps/rapps/globulation2.txt b/base/applications/rapps/rapps/globulation2.txt index 4ecca2c89ca..22747acc973 100644 --- a/base/applications/rapps/rapps/globulation2.txt +++ b/base/applications/rapps/rapps/globulation2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Globulation2 @@ -15,7 +15,7 @@ CDPath = none Description = Globulation 2 ist ein Echtzeitstrategiespiel. Das Spiel vereinfacht das Mikromanagement, indem es Einheiten automatisch mit Aufträgen versieht. [Section.0410] -Description = Globulation 2 è un gioco di strategia in tempo reale. +Description = Globulation 2 è un gioco di strategia in tempo reale. Il gioco minimizza la supervisone eccessiva assegnando in automatico compiti alle unità. [Section.0415] Description = Globulation 2 to gra strategiczna czasu rzeczywistego. Gra minimalizuje zarządzanie automatycznie przydzielając zadania jednostkom. diff --git a/base/applications/rapps/rapps/hover.txt b/base/applications/rapps/rapps/hover.txt index d2048ceb54e..a43dd0e119c 100644 --- a/base/applications/rapps/rapps/hover.txt +++ b/base/applications/rapps/rapps/hover.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/hxd.txt b/base/applications/rapps/rapps/hxd.txt index 9e54d7a5c43..0faa3bbe870 100644 --- a/base/applications/rapps/rapps/hxd.txt +++ b/base/applications/rapps/rapps/hxd.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -21,6 +21,9 @@ URLDownload = http://mh-nexus.de/downloads/HxDSetupDE.zip [Section.0415] Description = Dobry edytor Hex. Do wypakowania pliku potrzebny jest program archiwizujący np. 7-Zip. +[Section.0410] +Description = Un buon editor hexadecimale. Necessita 7-Zip o un programma simile per estrarlo. + [Section.0418] Licence = Gratuită Description = Un bun editor hexazecimal. E necesar un utilitar de dezarhivare de tip ZIP. diff --git a/base/applications/rapps/rapps/indiftpd.txt b/base/applications/rapps/rapps/indiftpd.txt index 2f71b9a9570..1f146cb8d44 100644 --- a/base/applications/rapps/rapps/indiftpd.txt +++ b/base/applications/rapps/rapps/indiftpd.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/irfanview.txt b/base/applications/rapps/rapps/irfanview.txt index 0d89c199e16..698ce46dfa8 100644 --- a/base/applications/rapps/rapps/irfanview.txt +++ b/base/applications/rapps/rapps/irfanview.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = IrfanView diff --git a/base/applications/rapps/rapps/irfanviewplugins.txt b/base/applications/rapps/rapps/irfanviewplugins.txt index 7ba442e2c50..54285b9d5e7 100644 --- a/base/applications/rapps/rapps/irfanviewplugins.txt +++ b/base/applications/rapps/rapps/irfanviewplugins.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = IrfanView Plugins diff --git a/base/applications/rapps/rapps/kdewin.txt b/base/applications/rapps/rapps/kdewin.txt index c78c757f65e..ca9bbe5485e 100644 --- a/base/applications/rapps/rapps/kdewin.txt +++ b/base/applications/rapps/rapps/kdewin.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = K Desktop Environment diff --git a/base/applications/rapps/rapps/kyodai.txt b/base/applications/rapps/rapps/kyodai.txt index 9b205d52dab..2e5e11235cc 100644 --- a/base/applications/rapps/rapps/kyodai.txt +++ b/base/applications/rapps/rapps/kyodai.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Kyodai Mahjongg diff --git a/base/applications/rapps/rapps/lazaruside.txt b/base/applications/rapps/rapps/lazaruside.txt index 903f58b2e73..10395af40ae 100644 --- a/base/applications/rapps/rapps/lazaruside.txt +++ b/base/applications/rapps/rapps/lazaruside.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/lbreakout2.txt b/base/applications/rapps/rapps/lbreakout2.txt index 19c6e54d935..6f1aec180d8 100644 --- a/base/applications/rapps/rapps/lbreakout2.txt +++ b/base/applications/rapps/rapps/lbreakout2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = LBreakout2 @@ -22,7 +22,7 @@ Description = Clone de casse-brique utilisant la bibliothèque SDL. Size = 3,03 Mo [Section.0410] -Description = Clone di Breakout utilizza librerie SDL. +Description = Clone di Breakout che utilizza librerie SDL. [Section.0413] Description = Breakout kloon, gebruikt SDL. diff --git a/base/applications/rapps/rapps/lgeneral.txt b/base/applications/rapps/rapps/lgeneral.txt index 6b25b9112cc..e70dc80e590 100644 --- a/base/applications/rapps/rapps/lgeneral.txt +++ b/base/applications/rapps/rapps/lgeneral.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = LGeneral @@ -22,7 +22,7 @@ Description = Clone de Pansez General utilisant la bibliothèque SDL. Size = 1,92 Mo [Section.0410] -Description = Clone di Pansez General utilizza librerie SDL. +Description = Clone di Pansez General che utilizza librerie SDL. [Section.0413] Description = Panzer General kloon, gebruikt SDL. diff --git a/base/applications/rapps/rapps/libreoffice.txt b/base/applications/rapps/rapps/libreoffice.txt index 605e24e9b85..d3d2c50487c 100644 --- a/base/applications/rapps/rapps/libreoffice.txt +++ b/base/applications/rapps/rapps/libreoffice.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = LibreOffice diff --git a/base/applications/rapps/rapps/lmarbles.txt b/base/applications/rapps/rapps/lmarbles.txt index be06d7c1c91..dac8e7a76f4 100644 --- a/base/applications/rapps/rapps/lmarbles.txt +++ b/base/applications/rapps/rapps/lmarbles.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = LMarbles @@ -22,7 +22,7 @@ Description = Clone de Atomix utilisant la bibliothèque SDL. Size = 1,39 Mo [Section.0410] -Description = Clone di Atomix utilizza le librerie SDL. +Description = Clone di Atomix che utilizza le librerie SDL. [Section.0413] Description = Atomix kloon, gebruikt SDL. diff --git a/base/applications/rapps/rapps/mcwin32.txt b/base/applications/rapps/rapps/mcwin32.txt new file mode 100644 index 00000000000..a77b674e709 --- /dev/null +++ b/base/applications/rapps/rapps/mcwin32.txt @@ -0,0 +1,32 @@ +; UTF-8 + +[Section] +Name = Midnight Commander for Windows +Version = Build 183 (4.8.11) +Licence = GPLv3 +Description = 32-bit Windows port of GNU Midnight Commander. +Size = 2.35 MB +Category = 12 +URLSite = http://sourceforge.net/projects/mcwin32/ +URLDownload = http://optimate.dl.sourceforge.net/project/mcwin32/mcwin32-build183-setup.exe +CDPath = none + +[Section.0410] +Name = Midnight Commander per Windows +Version = Revisione 183 (4.8.11) +Licence = GPL versione 3 +Description = Un porting Windows 32bit di Midnight Commander. + +[Section.041f] +Name = Midnight Commander (Windows için) +Version = Yapı 183 (4.8.11) +Licence = GPL 3. sürüm +Description = GNU Midnight Commander'ın 32 bitlik Windows uyarlamasıdır. +Size = 2,35 MB + +[Section.0415] +Name = Midnight Commander dla Windows +Version = Build 183 (4.8.11) +Licence = GPL wersja 3 +Description = 32-bitowy port GNU Midnight Commander dla Windows. +Size = 2,35 MB diff --git a/base/applications/rapps/rapps/mfc40.txt b/base/applications/rapps/rapps/mfc40.txt index fc79d4f1828..e4e1a5bac04 100644 --- a/base/applications/rapps/rapps/mfc40.txt +++ b/base/applications/rapps/rapps/mfc40.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = OLE Viewer and Microsoft Foundation Classes version 4 diff --git a/base/applications/rapps/rapps/mirandaim.txt b/base/applications/rapps/rapps/mirandaim.txt index 3205655075f..51fdc5fa987 100644 --- a/base/applications/rapps/rapps/mirandaim.txt +++ b/base/applications/rapps/rapps/mirandaim.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Miranda IM diff --git a/base/applications/rapps/rapps/mirc.txt b/base/applications/rapps/rapps/mirc.txt index 68e24783903..7bbfff1e58a 100644 --- a/base/applications/rapps/rapps/mirc.txt +++ b/base/applications/rapps/rapps/mirc.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = mIRC 7 diff --git a/base/applications/rapps/rapps/mirc6.txt b/base/applications/rapps/rapps/mirc6.txt index 874ba2a2705..3f90e2bde66 100644 --- a/base/applications/rapps/rapps/mirc6.txt +++ b/base/applications/rapps/rapps/mirc6.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = mIRC 6 diff --git a/base/applications/rapps/rapps/mono2.txt b/base/applications/rapps/rapps/mono2.txt index b0112acfa8f..1bb628fc439 100644 --- a/base/applications/rapps/rapps/mono2.txt +++ b/base/applications/rapps/rapps/mono2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mono .net Development Framework diff --git a/base/applications/rapps/rapps/mpc.txt b/base/applications/rapps/rapps/mpc.txt index 0184f79f16d..5958f33126f 100644 --- a/base/applications/rapps/rapps/mpc.txt +++ b/base/applications/rapps/rapps/mpc.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Media Player Classic Home Cinema diff --git a/base/applications/rapps/rapps/mpxplay.txt b/base/applications/rapps/rapps/mpxplay.txt index 6246d0a89d4..9b2cebfdc4c 100644 --- a/base/applications/rapps/rapps/mpxplay.txt +++ b/base/applications/rapps/rapps/mpxplay.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Mpxplay @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Mpxplay ist ein konsolenbasierter 32-bit Audio Player für Windows. Zum extrahieren wird 7-Zip oder ein ähnliches Tool benötigt. +[Section.0410] +Description = Mpxplay è una console audio 32-bit per Windows. Necessita 7-Zip o un programma simile per essere estratto. + [Section.0415] Description = Mpxplay to 32 bitowy odtwarzacz audio (działający w konsoli) dla Windows. Wymaga programu archiwizującego (np. 7-Zip) do wypakowania. diff --git a/base/applications/rapps/rapps/msxml3.txt b/base/applications/rapps/rapps/msxml3.txt index c7c3cbc3bf6..5945a66a013 100644 --- a/base/applications/rapps/rapps/msxml3.txt +++ b/base/applications/rapps/rapps/msxml3.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft XML 3 diff --git a/base/applications/rapps/rapps/net11.txt b/base/applications/rapps/rapps/net11.txt index 34eadb61190..e7f7d59ca34 100644 --- a/base/applications/rapps/rapps/net11.txt +++ b/base/applications/rapps/rapps/net11.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft .NET Framework Version 1.1 Redistributable Package diff --git a/base/applications/rapps/rapps/net20.txt b/base/applications/rapps/rapps/net20.txt index 1a3dd4ce86d..7827168b10c 100644 --- a/base/applications/rapps/rapps/net20.txt +++ b/base/applications/rapps/rapps/net20.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft .NET Framework Version 2.0 Redistributable Package diff --git a/base/applications/rapps/rapps/net20sp2.txt b/base/applications/rapps/rapps/net20sp2.txt index a6a18a44962..cb285f88c61 100644 --- a/base/applications/rapps/rapps/net20sp2.txt +++ b/base/applications/rapps/rapps/net20sp2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft .NET Framework Version 2.0 Service Pack 2 diff --git a/base/applications/rapps/rapps/npp.txt b/base/applications/rapps/rapps/npp.txt index 50b7a72e64c..31009edec5b 100644 --- a/base/applications/rapps/rapps/npp.txt +++ b/base/applications/rapps/rapps/npp.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Notepad++ diff --git a/base/applications/rapps/rapps/offbyone.txt b/base/applications/rapps/rapps/offbyone.txt index e25a216d5bc..7d85199b6e8 100644 --- a/base/applications/rapps/rapps/offbyone.txt +++ b/base/applications/rapps/rapps/offbyone.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Off By One Browser diff --git a/base/applications/rapps/rapps/opencodecs.txt b/base/applications/rapps/rapps/opencodecs.txt index 9dbb401462d..514944e9d2f 100644 --- a/base/applications/rapps/rapps/opencodecs.txt +++ b/base/applications/rapps/rapps/opencodecs.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL trans by wojo664 [Section] diff --git a/base/applications/rapps/rapps/openoffice.txt b/base/applications/rapps/rapps/openoffice.txt index 63ae76581f4..fd27224897a 100644 --- a/base/applications/rapps/rapps/openoffice.txt +++ b/base/applications/rapps/rapps/openoffice.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = OpenOffice 4.0 @@ -30,6 +30,7 @@ Size = 127,22 Mo URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/fr/Apache_OpenOffice_4.0.1_Win_x86_install_fr.exe [Section.0410] +Description = La suite di office Open Source. URLSite = http://www.openoffice.org/it/ Size = 132.39 MB URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/it/Apache_OpenOffice_4.0.1_Win_x86_install_it.exe diff --git a/base/applications/rapps/rapps/openoffice2.4.txt b/base/applications/rapps/rapps/openoffice2.4.txt index 2021f27d423..4ea78aa2fe0 100644 --- a/base/applications/rapps/rapps/openoffice2.4.txt +++ b/base/applications/rapps/rapps/openoffice2.4.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = OpenOffice 2.4 @@ -31,6 +31,7 @@ URLSite = http://www.openoffice.org/fr/ URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/fr/2.4.2/OOo_2.4.2_Win32Intel_install_fr.exe [Section.0410] +Description = La suite di office Open Source. Size = 113.79 MB URLSite = http://www.openoffice.org/it/ URLDownload = http://archive.services.openoffice.org/pub/openoffice-archive/localized/it/2.4.3/OOo_2.4.3_Win32Intel_install_it.exe diff --git a/base/applications/rapps/rapps/openttd.txt b/base/applications/rapps/rapps/openttd.txt index cca8069cf2a..f48893de4ca 100644 --- a/base/applications/rapps/rapps/openttd.txt +++ b/base/applications/rapps/rapps/openttd.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = OpenTTD @@ -22,7 +22,7 @@ Description = Clone open source du moteur de jeu "Transport Tycoon Deluxe". Vous Size = 7,0 Mo [Section.0410] -Description = Clone open source del motore di gioco di "Transport Tycoon Deluxe". Hai bisogno di una copia di Transport Tycoon. +Description = Clone open source del motore di gioco di "Transport Tycoon Deluxe". Hai bisogno di una copia di Transport Tycoon. [Section.0413] Description = Open-bron kloon van de "Transport Tycoon Deluxe" spelletjesmotor. Je hebt een kopij van Transport Tycoon nodig. diff --git a/base/applications/rapps/rapps/opera.txt b/base/applications/rapps/rapps/opera.txt index c31b64d2130..8ce86d78d87 100644 --- a/base/applications/rapps/rapps/opera.txt +++ b/base/applications/rapps/rapps/opera.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Opera @@ -25,7 +25,7 @@ Description = Le populaire navigateur Opera avec beaucoup de fonctionnalités av Size = 12,56 Mo [Section.0410] -Description = Il famoso browser Opera con features avanzate come un client BitTorrent integrato e la gestione delle Mail. +Description = Il famoso browser Opera con funzionalità avanzate come un client BitTorrent integrato e la gestione delle Mail. [Section.0413] Description = De populaire Opera Browser met vele gevorderde mogelijkheden, inclusief e-mail en BitTorrent afnemers. diff --git a/base/applications/rapps/rapps/opera9.txt b/base/applications/rapps/rapps/opera9.txt index 4378e545246..c118ee1aa5e 100644 --- a/base/applications/rapps/rapps/opera9.txt +++ b/base/applications/rapps/rapps/opera9.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Opera @@ -22,7 +22,7 @@ Description = Le populaire navigateur Opera avec beaucoup de fonctionnalités av Size = 7,21 Mo [Section.0410] -Description = Il famoso browser Opera con features avanzate come un client BitTorrent integrato e la gestione delle Mail. +Description = Il famoso browser Opera con funzionalità avanzate come un client BitTorrent integrato e la gestione delle Mail. [Section.0413] Description = De populaire Opera Browser met vele gevorderde mogelijkheden, inclusief e-mail en BitTorrent afnemers. diff --git a/base/applications/rapps/rapps/peazip.txt b/base/applications/rapps/rapps/peazip.txt index 52857bd448c..7a6def37c03 100644 --- a/base/applications/rapps/rapps/peazip.txt +++ b/base/applications/rapps/rapps/peazip.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = PeaZip @@ -14,6 +14,12 @@ CDPath = none [Section.0407] Description = PeaZip ist ein freier, plattformübergreifender, quelloffener Datei- und Archivmanager. Er unterstützt über 150 Archiv-Formate. +[Section.0410] +Description = PeaZip è un manager di file e archivi gratis, multipiattaforma e open source. Supporta oltre 150 formati d'archivio. + +[Section.0415] +PeaZip to darmowy, wieloplatformowy menedżer plików i archiwów, o otwartym źródle. Obsługuje ponad 150 formatów archiwów. + [Section.041f] Description = PeaZip; ücretsiz, çapraz platform, açık kaynak bir kütük ve belgelik yöneticisidir. 150'den çok belgelikleme biçimini destekler. Size = 5,8 MB diff --git a/base/applications/rapps/rapps/pengupop.txt b/base/applications/rapps/rapps/pengupop.txt index 9804859b834..b66cffdd33c 100644 --- a/base/applications/rapps/rapps/pengupop.txt +++ b/base/applications/rapps/rapps/pengupop.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Pengupop diff --git a/base/applications/rapps/rapps/photofiltre.txt b/base/applications/rapps/rapps/photofiltre.txt index 174a39674e8..eac3f5edfde 100644 --- a/base/applications/rapps/rapps/photofiltre.txt +++ b/base/applications/rapps/rapps/photofiltre.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -18,6 +18,9 @@ Description = Version mit Layers, aber eingeschänkter als die Studio-X Version. [Section.0415] Description = Ta wersja obsługuje warstwy, ale ma większe ograniczenia od Studio X. PhotoFiltre Studio to program do retuszu zdjęć. +[Section.0410] +Description = Questa versione con pannelli ma più limitata della versione Studio X. PhotoFiltre Studio è un programma di fotoritocco completo. + [Section.0418] Licence = Gratuită Description = PhotoFiltre Studio este o aplicație completă de retușare a imaginilor. diff --git a/base/applications/rapps/rapps/pingus.txt b/base/applications/rapps/rapps/pingus.txt index 6e4208a9162..2497dae2553 100644 --- a/base/applications/rapps/rapps/pingus.txt +++ b/base/applications/rapps/rapps/pingus.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/pptview.txt b/base/applications/rapps/rapps/pptview.txt index b5a4988c98f..bab9cb16534 100644 --- a/base/applications/rapps/rapps/pptview.txt +++ b/base/applications/rapps/rapps/pptview.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Powerpoint Viewer diff --git a/base/applications/rapps/rapps/pspad.txt b/base/applications/rapps/rapps/pspad.txt index 1f02aa24c28..9ab8c664c38 100644 --- a/base/applications/rapps/rapps/pspad.txt +++ b/base/applications/rapps/rapps/pspad.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] diff --git a/base/applications/rapps/rapps/ptanks.txt b/base/applications/rapps/rapps/ptanks.txt index 220317a01fa..4af55891617 100644 --- a/base/applications/rapps/rapps/ptanks.txt +++ b/base/applications/rapps/rapps/ptanks.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -15,6 +15,9 @@ CDPath = none [Section.0407] Description = Das schnellste Artillerie-Spiel, das Sie jemals gespielt haben. +[Section.0410] +Description = Il gioco d'artiglieria più veloce a cui potrai giocare. + [Section.0415] Description = Szybka gra artyleryjska diff --git a/base/applications/rapps/rapps/putty.txt b/base/applications/rapps/rapps/putty.txt index 7284a2e2fbf..5902e63a6ef 100644 --- a/base/applications/rapps/rapps/putty.txt +++ b/base/applications/rapps/rapps/putty.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = PuTTY diff --git a/base/applications/rapps/rapps/python.txt b/base/applications/rapps/rapps/python.txt index 16418b4813b..93e3253980b 100644 --- a/base/applications/rapps/rapps/python.txt +++ b/base/applications/rapps/rapps/python.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Python 3 diff --git a/base/applications/rapps/rapps/python2.txt b/base/applications/rapps/rapps/python2.txt index fd9eeea1a36..049cc5b5172 100644 --- a/base/applications/rapps/rapps/python2.txt +++ b/base/applications/rapps/rapps/python2.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Python 2 diff --git a/base/applications/rapps/rapps/qb64sdl.txt b/base/applications/rapps/rapps/qb64sdl.txt index ef97238df67..75be16553e3 100644 --- a/base/applications/rapps/rapps/qb64sdl.txt +++ b/base/applications/rapps/rapps/qb64sdl.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = QB64 (SDL version) @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = QB64 ist ein Self-Hosting BASIC-Compiler für Microsoft Windows, Linux und Mac OS X, entwickelt, um mit Microsoft QBasic und Microsoft QuickBASIC kompatibel zu sein. Sie müssen 7-Zip oder ein ähnliches Dienstprogramm installiert haben, um es zu extrahieren. +[Section.0410] +Description = QB64 è un compilatore auto ospitante per Microsoft Windows, Linux e Mac OS X, progettato per essere compatibile con Microsoft QuickBasic. Necessita di 7-Zip o uno strumento simile per essere estratto. + [Section.0415] Description = QB64 to kompilator BASIC zdolny do kompilacji własnego kodu źródłowego. Działa w systemach Windows, Linux i Mac OS X. Jest kompatybilny z Microsoft QBasic i QuickBASIC. Wymaga programu archiwizującego do wypakowania. diff --git a/base/applications/rapps/rapps/qmmp.txt b/base/applications/rapps/rapps/qmmp.txt index a666c7261c6..96bba2adfc7 100644 --- a/base/applications/rapps/rapps/qmmp.txt +++ b/base/applications/rapps/rapps/qmmp.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -15,6 +15,9 @@ CDPath = none [Section.0407] Description = Qmmp ist ein Audio-Player, der mit Hilfe der Qt Bibliothek geschrieben wurde. Die Benutzeroberfläche ist ähnlich zu WinAMP oder XMMS. Alternative Benutzeroberflächen sind ebenfalls verfügbar. +[Section.0410] +Description = Qmmp è un lettore multimediale, scritto con l'aiuto della libreria Qt. L'interfaccia grafica è simile a WinAMP o XMMS. Interfaccie utenti alternative sono disponibili. + [Section.0415] Description = Gmmp to odtwarzacz audio, napisany z pomocą biblioteki Qt. Interfejs podobny jest do Winampa lub XMMS. Dostępnme są także dodatkowe skórki. diff --git a/base/applications/rapps/rapps/remood.txt b/base/applications/rapps/rapps/remood.txt index 8a5f1d530d1..0b2053c5427 100644 --- a/base/applications/rapps/rapps/remood.txt +++ b/base/applications/rapps/rapps/remood.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = ReMooD @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = ReMooD ist ein Port des Doom Legacy Sources. Es versucht das klassische Legacy Erfahrung zusammen mit neuen Features und mehr Stabilität zu bieten. +[Section.0410] +Description = ReMooD è un porting sorgente di Doom Legacy. Punta a provedere la classica esperienza ereditaria con nuove funzionalità e maggiore stabilità. + [Section.040a] Description = ReMood es un port de Doom Legacy. Su fin es proporcionar la clásica experiencia anterior con nuevas características y mayor estabilidad. diff --git a/base/applications/rapps/rapps/reshack.txt b/base/applications/rapps/rapps/reshack.txt index 18e22d6455c..02fdce2faa2 100644 --- a/base/applications/rapps/rapps/reshack.txt +++ b/base/applications/rapps/rapps/reshack.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -15,6 +15,9 @@ CDPath = none [Section.0407] Description = Resource Hacker ist ein Freeware-Tool zum anzeigen, ändern, umbenennen, hinzufügen, löschen und extrahieren von Ressourcen in 32-Bit & 64-Bit-Windows Anwendungen und Ressourcen-Dateien (*. Res). +[Section.0410] +Description = Resource Hacker, è uno strumento freewere per vedere, modificare, rinominare, aggiungere, rimuovere e estrarre risorse in eseguibili Windows 32 e 64 bit e file di risorse (*.res). + [Section.0415] Description = Resource Hacker to darmowe narzędzie do podglądu, modyfikacji, zmiany nazw, dodawania, kasowania i wypakowywania zasobów w plikach wykonywalnych 32bit i 64bit, oraz w plikach zasobów (*.res). diff --git a/base/applications/rapps/rapps/rocks.txt b/base/applications/rapps/rapps/rocks.txt index 5e8f0b29462..b17b5290fd0 100644 --- a/base/applications/rapps/rapps/rocks.txt +++ b/base/applications/rapps/rapps/rocks.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -15,6 +15,9 @@ CDPath = none [Section.0407] Description = Arcade-Style Spiel für UNIX, Mac OS X, Windows und DOS in der Tradition von: "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga / PC), "Sokoban" (PC). Sie benötigen ein ZIP-Programm, um es zu installieren. +[Section.0410] +Description = Gioco in stile arcade per UNIX, Mac OS X, Windows e DOS nella tradizione di: "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga/PC), "Sokoban" (PC). Necessita di un programma di decompressione di archivi ZIP per essere installato. + Section.0415] Description = Gra typu Arcade dla UNIX, Mac OS X, Windows i DOS. Bazująca na "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga/PC), "Sokoban" (PC). Aby zainstalować te grę, potrzebny jest program archiwizujący np. 7-Zip. diff --git a/base/applications/rapps/rapps/rosbe.txt b/base/applications/rapps/rapps/rosbe.txt index 56098d8d9d6..bbdd3ebb224 100644 --- a/base/applications/rapps/rapps/rosbe.txt +++ b/base/applications/rapps/rapps/rosbe.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = ReactOS Build Environment diff --git a/base/applications/rapps/rapps/rosbeamd64.txt b/base/applications/rapps/rapps/rosbeamd64.txt index d2cb1c9a5fd..f51d300d064 100644 --- a/base/applications/rapps/rapps/rosbeamd64.txt +++ b/base/applications/rapps/rapps/rosbeamd64.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = ReactOS Build Environment AMD64 Addon diff --git a/base/applications/rapps/rapps/rosbearm.txt b/base/applications/rapps/rapps/rosbearm.txt index 258000ada33..1990dea2ed2 100644 --- a/base/applications/rapps/rapps/rosbearm.txt +++ b/base/applications/rapps/rapps/rosbearm.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = ReactOS Build Environment ARM Addon diff --git a/base/applications/rapps/rapps/sambatng.txt b/base/applications/rapps/rapps/sambatng.txt index b004377749c..0b586ea2c6c 100644 --- a/base/applications/rapps/rapps/sambatng.txt +++ b/base/applications/rapps/rapps/sambatng.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Samba TNG @@ -22,7 +22,7 @@ Description = Cet outil vous permet d'accéder à vos répertoire/imprimantes pa Size = 2,13 Mo [Section.0410] -Description = Questo strumento consente di accedere alle cartelle condivise di Windows / stampanti con ReactOS. +Description = Questo strumento consente di accedere alle cartelle/stampanti condivise di Windows con ReactOS. [Section.0413] Description = Maakt het mogelijk om Windows gedeelde printers te gebruiken met ReactOS. diff --git a/base/applications/rapps/rapps/sbforvmware.txt b/base/applications/rapps/rapps/sbforvmware.txt index 4d610352543..2e184062f53 100644 --- a/base/applications/rapps/rapps/sbforvmware.txt +++ b/base/applications/rapps/rapps/sbforvmware.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = SoundBlaster Driver for VMWare @@ -34,7 +34,7 @@ Size = 2,22 Mo [Section.0410] Name = Driver SoundBlaster per VMWare Licence = Sconosciuta -Description = Unzip nella cartella "ReactOS" e riavviare ReactOS. +Description = Estrarre nella cartella "ReactOS" e riavviare ReactOS due volte. [Section.0413] Name = SoundBlaster Driver voor VMWare diff --git a/base/applications/rapps/rapps/scite.txt b/base/applications/rapps/rapps/scite.txt index 52300c0fb42..208bcb833fa 100644 --- a/base/applications/rapps/rapps/scite.txt +++ b/base/applications/rapps/rapps/scite.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = SciTE @@ -22,7 +22,7 @@ Description = SciTE est un éditeur de texte basé sur SCIntilla. Originelement Size = 730 ko [Section.0410] -Description = SciTE è un editor di testo basato scintilla. Originariamente costruito per dimostrare Scintilla, è cresciuto fino a essere un editor generalmente utile con strutture per la creazione e l'esecuzione di programmi. +Description = SciTE è un editor di testo basato su scintilla. Originariamente costruito per dimostrare Scintilla, è cresciuto fino a essere un editor generalmente utile con strutture per la creazione e l'esecuzione di programmi. [Section.0413] Description = SciTE is een tekstbewerker gebaseerd op SCIntilla. Origineel bedoeld om Scontilla te demonstreren, is uitgegroeid tot een handige editor met mogelijkheden voor ontwerken en uitvoeren van programma's. diff --git a/base/applications/rapps/rapps/scummvm.txt b/base/applications/rapps/rapps/scummvm.txt index c976de62309..c6df83307e6 100644 --- a/base/applications/rapps/rapps/scummvm.txt +++ b/base/applications/rapps/rapps/scummvm.txt @@ -1,10 +1,10 @@ -; UTF-8 +; UTF-8 [Section] Name = ScummVM Version = 1.6.0 Licence = GPL -Description = Sam and Max, Day of the Tentacle, etc on ReactOS. +Description = Software that reproduce the working of graphical engine for videogames (Sam and Max, Day of the Tentacle, etc) on ReactOS. Size = 6.28 MB Category = 4 URLSite = http://scummvm.org/ @@ -22,7 +22,7 @@ Description = Sam and Max, Day of the Tentacle, etc sur ReactOS. Size = 6,28 Mo [Section.0410] -Description = Software che riproduce il funzionamento di motori grafici per videogiochi(Sam and Max, Day of the Tentacle, etc) su ReactOS. +Description = Software che riproduce il funzionamento di motori grafici per videogiochi (Sam and Max, Day of the Tentacle, etc) su ReactOS. [Section.0413] Description = Sam and Max, Day of the Tentacle, enz. op ReactOS. diff --git a/base/applications/rapps/rapps/sdl_mixer.txt b/base/applications/rapps/rapps/sdl_mixer.txt index 4837a287d1e..236b3dc5095 100644 --- a/base/applications/rapps/rapps/sdl_mixer.txt +++ b/base/applications/rapps/rapps/sdl_mixer.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Simple Direct Media Layer (SDL) Mixer diff --git a/base/applications/rapps/rapps/sdl_runtime.txt b/base/applications/rapps/rapps/sdl_runtime.txt index 0412ae5d9ed..fa77781a246 100644 --- a/base/applications/rapps/rapps/sdl_runtime.txt +++ b/base/applications/rapps/rapps/sdl_runtime.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Simple Direct Media Layer (SDL) Runtime diff --git a/base/applications/rapps/rapps/seamonkey.txt b/base/applications/rapps/rapps/seamonkey.txt index 4355489b8e7..7e978dbe1f8 100644 --- a/base/applications/rapps/rapps/seamonkey.txt +++ b/base/applications/rapps/rapps/seamonkey.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla SeaMonkey @@ -27,7 +27,7 @@ Size = 24,06 Mo URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/fr/SeaMonkey%20Setup%202.25.exe [Section.0410] -Description = Mozilla Suite è vivo. Questo è l'unico e solo Browser, Mail, Chat, e Composer di cui avrete mai bisogno... +Description = Mozilla Suite è vivo. Questo è l'unico pachetto che include Browser, Mail, Chat, e Composer di cui avrete mai bisogno... Size = 23.71 MB URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.25/win32/it/SeaMonkey%20Setup%202.25.exe diff --git a/base/applications/rapps/rapps/smplayer.txt b/base/applications/rapps/rapps/smplayer.txt index b203cb6dad1..ca7683d142e 100644 --- a/base/applications/rapps/rapps/smplayer.txt +++ b/base/applications/rapps/rapps/smplayer.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = SMPlayer diff --git a/base/applications/rapps/rapps/snoopy.txt b/base/applications/rapps/rapps/snoopy.txt index 8ae0a8a6eab..ad350ef230c 100644 --- a/base/applications/rapps/rapps/snoopy.txt +++ b/base/applications/rapps/rapps/snoopy.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Snoopy @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Das Original C64 Snoopy Remake. +[Section.0410] +Description = Il remake del gioco Snoopy per Commodore 64. + [Section.041f] Licence = Ücretsiz Description = Özgün C64 Snoppy'nın yeniden yapılmışı. diff --git a/base/applications/rapps/rapps/stamina.txt b/base/applications/rapps/rapps/stamina.txt index e2c97693eec..0ff51a0f879 100644 --- a/base/applications/rapps/rapps/stamina.txt +++ b/base/applications/rapps/rapps/stamina.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] @@ -13,6 +13,9 @@ CDPath = none [Section.0407] Description = Ein freies Schreiblernprogramm. +[Section.0410] +Description = Tutore di scrittura gratuita. + [Section.0415] Description = Darmowy program do nauki pisania na klawiaturze. diff --git a/base/applications/rapps/rapps/steam.txt b/base/applications/rapps/rapps/steam.txt index 61894754cc3..9197a95b539 100644 --- a/base/applications/rapps/rapps/steam.txt +++ b/base/applications/rapps/rapps/steam.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = STEAM diff --git a/base/applications/rapps/rapps/sumatrapdf.txt b/base/applications/rapps/rapps/sumatrapdf.txt index af1fd201847..a4c3a8aa13e 100644 --- a/base/applications/rapps/rapps/sumatrapdf.txt +++ b/base/applications/rapps/rapps/sumatrapdf.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = SumatraPDF @@ -22,7 +22,7 @@ Description = Sumatra PDF est un lecteur PDF léger, libre et open-source. Size = 4,0 Mo [Section.0410] -Description = Sumatra PDF è un visualizzatore di file PDF. E' molto leggero ed è open source. +Description = Sumatra PDF è un visualizzatore di file PDF, leggero e open source. [Section.0413] Description = Sumatra PDF is een slanke, gratis, open-bron PDF lezer. diff --git a/base/applications/rapps/rapps/summerbound.txt b/base/applications/rapps/rapps/summerbound.txt index e17a8d4c813..e45c2c9fba8 100644 --- a/base/applications/rapps/rapps/summerbound.txt +++ b/base/applications/rapps/rapps/summerbound.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Summer Bound @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Ein Spiel, ähnlich zu Frozen Fruits. +[Section.0410] +Description = Un gioco simile a Frozen Fuits + [Section.041f] Licence = Ücretsiz Description = Frozen Fruits'e benzeyen bir oyun. diff --git a/base/applications/rapps/rapps/superdxb.txt b/base/applications/rapps/rapps/superdxb.txt index 370b20b2b0d..bd0151d8bce 100644 --- a/base/applications/rapps/rapps/superdxb.txt +++ b/base/applications/rapps/rapps/superdxb.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = Super DX-Ball @@ -14,6 +14,9 @@ CDPath = none [Section.0407] Description = Super DX-Ball ist ein lebendiges und buntes Brick-Breaking-Spiel. +[Section.0410] +Description = Super DX-Ball è un gioco spacca blocchi vibrante e colorato + [Section.0415] Description = Super DX-Ball - pełna koloru i animacji gra polegająca na zbijaniu klocków. diff --git a/base/applications/rapps/rapps/superfinder.txt b/base/applications/rapps/rapps/superfinder.txt index 96829073322..9695da8b2f4 100644 --- a/base/applications/rapps/rapps/superfinder.txt +++ b/base/applications/rapps/rapps/superfinder.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Super Finder XT diff --git a/base/applications/rapps/rapps/supertux.txt b/base/applications/rapps/rapps/supertux.txt index 6f6cfac8db5..20dd10d9b38 100644 --- a/base/applications/rapps/rapps/supertux.txt +++ b/base/applications/rapps/rapps/supertux.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ; PL translation by wojo664 [Section] Name = SuperTux @@ -15,7 +15,7 @@ CDPath = none Description = SuperTux ist ein zweidimensionales, freies, Open Source Plattformspiel. [Section.0410] -Description = SuperTux è un gioco open-source a 2D. +Description = SuperTux è un gioco open-source gratuito in 2D. [Section.0415] Description = SuperTux to darmowa dwu wymiarowa gra platformowa OpenSource. diff --git a/base/applications/rapps/rapps/tahoma.txt b/base/applications/rapps/rapps/tahoma.txt index 73d8134515a..e40f3a14a97 100644 --- a/base/applications/rapps/rapps/tahoma.txt +++ b/base/applications/rapps/rapps/tahoma.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Tahoma Font diff --git a/base/applications/rapps/rapps/thunderbird.txt b/base/applications/rapps/rapps/thunderbird.txt index a25ed479ffb..427b78a8ac9 100644 --- a/base/applications/rapps/rapps/thunderbird.txt +++ b/base/applications/rapps/rapps/thunderbird.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Thunderbird 24 @@ -30,7 +30,7 @@ URLSite = https://www.mozilla.org/fr/thunderbird/ URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/fr/Thunderbird%20Setup%2024.4.0.exe [Section.0410] -Description = Il più popolare e il migliore Clients mail gratuito. +Description = Il più popolare e il migliore Client mail gratuito. Size = 20.91 MB URLSite = https://www.mozilla.org/it/thunderbird/ URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/24.4.0/win32/it/Thunderbird%20Setup%2024.4.0.exe diff --git a/base/applications/rapps/rapps/thunderbird3.txt b/base/applications/rapps/rapps/thunderbird3.txt index 201a4bf2826..ffc3bce18fd 100644 --- a/base/applications/rapps/rapps/thunderbird3.txt +++ b/base/applications/rapps/rapps/thunderbird3.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Mozilla Thunderbird @@ -30,7 +30,7 @@ URLSite = https://www.mozilla.org/fr/thunderbird/ URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win32/fr/Thunderbird%20Setup%203.1.20.exe [Section.0410] -Description = Il più popolare e il migliore Clients mail gratuito. +Description = Il più popolare e il migliore Client mail gratuito. Size = 8.88 MB URLSite = https://www.mozilla.org/it/thunderbird/ URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.20/win32/it/Thunderbird%20Setup%203.1.20.exe diff --git a/base/applications/rapps/rapps/tileworld.txt b/base/applications/rapps/rapps/tileworld.txt index dd3011cdbb1..4aa47a2da7a 100644 --- a/base/applications/rapps/rapps/tileworld.txt +++ b/base/applications/rapps/rapps/tileworld.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Tile World diff --git a/base/applications/rapps/rapps/totalcommander.txt b/base/applications/rapps/rapps/totalcommander.txt index 0503119ca76..ca17f0ac6cc 100644 --- a/base/applications/rapps/rapps/totalcommander.txt +++ b/base/applications/rapps/rapps/totalcommander.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Total Commander diff --git a/base/applications/rapps/rapps/tuxpaint.txt b/base/applications/rapps/rapps/tuxpaint.txt index de7bc9b11d0..9a23c5034bd 100644 --- a/base/applications/rapps/rapps/tuxpaint.txt +++ b/base/applications/rapps/rapps/tuxpaint.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = TuxPaint diff --git a/base/applications/rapps/rapps/ultravnc.txt b/base/applications/rapps/rapps/ultravnc.txt index 3a9954b4b96..06e225f312b 100644 --- a/base/applications/rapps/rapps/ultravnc.txt +++ b/base/applications/rapps/rapps/ultravnc.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = UltraVNC @@ -22,7 +22,7 @@ Description = Client/serveur VNC open source. Size = 3,27 Mo [Section.0410] -Description = Client/serveur VNC open source. +Description = Client/server VNC open source. [Section.0413] Description = Open-bron VNC afnemer/aanbieder. diff --git a/base/applications/rapps/rapps/utorrent.txt b/base/applications/rapps/rapps/utorrent.txt index 3a3cb8baf2c..6a4bcc1a21a 100644 --- a/base/applications/rapps/rapps/utorrent.txt +++ b/base/applications/rapps/rapps/utorrent.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = µTorrent diff --git a/base/applications/rapps/rapps/vb5run.txt b/base/applications/rapps/rapps/vb5run.txt index cfdc4712208..b4813f9a136 100644 --- a/base/applications/rapps/rapps/vb5run.txt +++ b/base/applications/rapps/rapps/vb5run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual Basic 5 Runtime diff --git a/base/applications/rapps/rapps/vb6run.txt b/base/applications/rapps/rapps/vb6run.txt index 1ae706e6d56..1c48f22e06f 100644 --- a/base/applications/rapps/rapps/vb6run.txt +++ b/base/applications/rapps/rapps/vb6run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual Basic 6 Runtime diff --git a/base/applications/rapps/rapps/vc2005sp1run.txt b/base/applications/rapps/rapps/vc2005sp1run.txt index 58693a9430a..c5c773a5a86 100644 --- a/base/applications/rapps/rapps/vc2005sp1run.txt +++ b/base/applications/rapps/rapps/vc2005sp1run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual C++ 2005 SP1 Redistributable Package diff --git a/base/applications/rapps/rapps/vc2008sp1run.txt b/base/applications/rapps/rapps/vc2008sp1run.txt index 74c0f3bf4ce..1920ff12472 100644 --- a/base/applications/rapps/rapps/vc2008sp1run.txt +++ b/base/applications/rapps/rapps/vc2008sp1run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual C++ 2008 SP1 Redistributable Package diff --git a/base/applications/rapps/rapps/vc2010run.txt b/base/applications/rapps/rapps/vc2010run.txt index e944533ec75..99c699761e0 100644 --- a/base/applications/rapps/rapps/vc2010run.txt +++ b/base/applications/rapps/rapps/vc2010run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual C++ 2010 Redistributable Package diff --git a/base/applications/rapps/rapps/vc6run.txt b/base/applications/rapps/rapps/vc6run.txt index 1e580af953c..9085eb47563 100644 --- a/base/applications/rapps/rapps/vc6run.txt +++ b/base/applications/rapps/rapps/vc6run.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Visual C++ 6 Redistributable Package diff --git a/base/applications/rapps/rapps/vlc.txt b/base/applications/rapps/rapps/vlc.txt index 6faef05b095..6aeca7556a6 100644 --- a/base/applications/rapps/rapps/vlc.txt +++ b/base/applications/rapps/rapps/vlc.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = VLC media player diff --git a/base/applications/rapps/rapps/winboard.txt b/base/applications/rapps/rapps/winboard.txt index bdc18892789..483140c9c02 100644 --- a/base/applications/rapps/rapps/winboard.txt +++ b/base/applications/rapps/rapps/winboard.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = WinBoard diff --git a/base/applications/rapps/rapps/wme9.txt b/base/applications/rapps/rapps/wme9.txt index 96a0becc5d8..a6723407167 100644 --- a/base/applications/rapps/rapps/wme9.txt +++ b/base/applications/rapps/rapps/wme9.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Windows Media Encoder 9 diff --git a/base/applications/rapps/rapps/wordview.txt b/base/applications/rapps/rapps/wordview.txt index 7d3884e8bba..c2c46eeb8b7 100644 --- a/base/applications/rapps/rapps/wordview.txt +++ b/base/applications/rapps/rapps/wordview.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Microsoft Word Viewer diff --git a/base/applications/rapps/rapps/zaz.txt b/base/applications/rapps/rapps/zaz.txt index 12604c87972..ce7ff58e402 100644 --- a/base/applications/rapps/rapps/zaz.txt +++ b/base/applications/rapps/rapps/zaz.txt @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 ;PL translation by wojo664 [Section] @@ -16,7 +16,7 @@ CDPath = none Description = Zaz ist ein freies Arcade Action Puzzle Spiel, ein wenig wie Frozen Bubble. [Section.0410] -Description = Zaz è un puzzle game gratuito, simile a Frozen Bubble. +Description = Zaz è un gioco arcade puzzle gratuito per computer, in parte simile a Frozen Bubble. [Section.0415] Description = Zaz to darmowa gra logiczno-zręcznościowa, trochę podobna do gry Frozen Bubble diff --git a/base/applications/regedit/lang/de-DE.rc b/base/applications/regedit/lang/de-DE.rc index 188b78018a4..3a0adfc4bf3 100644 --- a/base/applications/regedit/lang/de-DE.rc +++ b/base/applications/regedit/lang/de-DE.rc @@ -151,9 +151,9 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | CAPTION "Zeichenkette ändern" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Name:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Wertname:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY - LTEXT "&Daten:", IDC_STATIC, 6, 35, 161, 8 + LTEXT "&Wert:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 240, 12, ES_AUTOHSCROLL DEFPUSHBUTTON "OK", IDOK, 142, 64, 50, 14 PUSHBUTTON "Abbrechen", IDCANCEL, 196, 64, 50, 14 @@ -161,12 +161,12 @@ END IDD_EDIT_MULTI_STRING DIALOGEX 32, 24, 252, 174 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Multi-Stringwert editieren" +CAPTION "Mehrteilige Zeichenfolge bearbeiten" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Name:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Wertname:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY - LTEXT "&Daten:", IDC_STATIC, 6, 35, 161, 8 + LTEXT "&Wert:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 240, 102, ES_AUTOHSCROLL | ES_MULTILINE | ES_WANTRETURN | ES_AUTOVSCROLL | WS_VSCROLL DEFPUSHBUTTON "OK", IDOK, 142, 154, 50, 14 @@ -175,12 +175,12 @@ END IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Binärwert editieren" +CAPTION "Binärwert bearbeiten" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Name:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Wertname:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY - LTEXT "&Daten:", IDC_STATIC, 6, 35, 161, 8 + LTEXT "&Wert:", IDC_STATIC, 6, 35, 161, 8 CONTROL "", IDC_VALUE_DATA, "HexEdit32", WS_VSCROLL | WS_BORDER | WS_TABSTOP, 6, 46, 240, 102 DEFPUSHBUTTON "OK", IDOK, 142, 154, 50, 14 PUSHBUTTON "Abbrechen", IDCANCEL, 196, 154, 50, 14 @@ -188,12 +188,12 @@ END IDD_EDIT_DWORD DIALOGEX 32, 24, 252, 104 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "DWORD-Wert editieren" +CAPTION "DWORD-Wert bearbeiten" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Name:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Wertname:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY - LTEXT "&Daten:", IDC_STATIC, 6, 35, 161, 8 + LTEXT "&Wert:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL GROUPBOX "Basis", IDC_STATIC, 130, 35, 116, 39 AUTORADIOBUTTON "&Hexadezimal", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP @@ -270,7 +270,7 @@ STRINGTABLE BEGIN ID_REGISTRY_MENU "Enthält Befehle für das Arbeiten mit der ganzen Registry" ID_EDIT_MENU "Enthält Befehle für das Ändern von Schlüsseln oder Werten" - ID_VIEW_MENU "Enthält Befehle für das Anpassen des Registry Editor Fensters" + ID_VIEW_MENU "Enthält Befehle für das Anpassen des Editor-Fensters" ID_FAVOURITES_MENU "Enthält Befehle um auf oft genutzte Schlüssel zuzugreifen" ID_HELP_MENU "Enthält Befehle um Hilfe und Informationen über den Registry-Editor anzuzeigen" ID_EDIT_NEW_MENU "Enthält Befehle für das Erstellen von neuen Schlüsseln oder Werten" @@ -289,9 +289,9 @@ BEGIN ID_REGISTRY_UNLOADHIVE "Entlädt einen Hive von der Registry" ID_REGISTRY_CONNECTNETWORKREGISTRY "Verbindet zu einer Registry eines Fremdcomputers" ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Trennt die Verbindung zu der Registry eines Fremdcomputers" - ID_REGISTRY_PRINT "Druckt Teile oder die gesamte Registry aus" + ID_REGISTRY_PRINT "Druckt die gesamte Registry oder Teile davon aus" /* ID_HELP_HELPTOPICS "Öffnet die Hilfe" */ - ID_HELP_ABOUT "Zeigt Programmname, Version und Copyright an" + ID_HELP_ABOUT "Zeigt Versions- und Copyright-Informationen an" END STRINGTABLE @@ -329,7 +329,7 @@ BEGIN IDS_ERR_RENVAL_CAPTION "Fehler beim Umbenennen des Wertes" IDS_ERR_RENVAL_TOEMPTY "Kann %s nicht umbenennen. Der angegebene Name ist leer." IDS_QUERY_IMPORT_HIVE_CAPTION "Wiederherstellen des Schlüssels bestätigen" - IDS_QUERY_IMPORT_HIVE_MSG "Ein Schlüssel wird über den aktuell ausgewählten Schlüssel wiederhergestellt.\nAlle Werte und Unterschlüssel dieses Schlüssels werden dabei gelöscht.\nMöchten Sie den Vorgang fortsetzen?" + IDS_QUERY_IMPORT_HIVE_MSG "Ein Schlüssel wird an der Stelle des aktuell ausgewählten Schlüssels eingefügt.\nAlle Werte und Unterschlüssel dieses Schlüssels werden dabei gelöscht.\nMöchten Sie den Vorgang fortsetzen?" IDS_NEW_KEY "Neuer Schlüssel #%d" IDS_NEW_VALUE "Neuer Wert #%d" END diff --git a/base/applications/regedit/lang/tr-TR.rc b/base/applications/regedit/lang/tr-TR.rc index b24e5566779..03cfb35bb51 100644 --- a/base/applications/regedit/lang/tr-TR.rc +++ b/base/applications/regedit/lang/tr-TR.rc @@ -293,7 +293,7 @@ BEGIN ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Uzaktaki bir bilgisayarın Değer Defteri'sine olan bağlantıyı keser." ID_REGISTRY_PRINT "Değer Defteri'nin tümünü ya da bir bölümünü yazdırır." /* ID_HELP_HELPTOPICS "Değer Defteri Düzenleyicisi Yardımı'nı açar." */ - ID_HELP_ABOUT "İzlenceyle ilgili bilgi görüntüler." + ID_HELP_ABOUT "İzlenceyle ilgili bilgi, sürüm numarası ve telif hakkı görüntüler." END STRINGTABLE @@ -320,18 +320,18 @@ BEGIN IDS_UNSUPPORTED_TYPE "Bu türdeki dizinler değiştirilemiyor: %ld" IDS_TOO_BIG_VALUE "Değer çok büyük: %ld" IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ veri türü boş dizgi içeremez.\nBoş dizgiler dizelgeden silinmiştir." - IDS_QUERY_DELETE_KEY_ONE "Bu dizini silmeyi doğruluyor musunuz?" - IDS_QUERY_DELETE_KEY_MORE "Bu dizinleri silmeyi doğruluyor musunuz?" + IDS_QUERY_DELETE_KEY_ONE "Bu dizini silmek istemeyi doğruluyor musunuz?" + IDS_QUERY_DELETE_KEY_MORE "Bu dizinleri silmek istemeyi doğruluyor musunuz?" IDS_QUERY_DELETE_KEY_CONFIRM "Dizin Silme Doğrulaması" - IDS_QUERY_DELETE_ONE "Bu değeri silmeyi doğruluyor musunuz?" - IDS_QUERY_DELETE_MORE "Bu değerleri silmeyi doğruluyor musunuz?" + IDS_QUERY_DELETE_ONE "Bu değeri silmek istemeyi doğruluyor musunuz?" + IDS_QUERY_DELETE_MORE "Bu değerleri silmek istemeyi doğruluyor musunuz?" IDS_QUERY_DELETE_CONFIRM "Değer Silme Doğrulaması" IDS_ERR_DELVAL_CAPTION "Değerler Silinmesi Yanlışlığı" IDS_ERR_DELETEVALUE "Tüm belirtilmiş değerler silinemiyor." IDS_ERR_RENVAL_CAPTION "Değer Adı Değiştirilmesi Yanlışlığı" IDS_ERR_RENVAL_TOEMPTY "Adı değiştirilemiyor: %s. Belirtilen değer adı boş. Başka bir ad yazıp yeniden deneyiniz." IDS_QUERY_IMPORT_HIVE_CAPTION "Dizin Yenileme Doğrulaması" - IDS_QUERY_IMPORT_HIVE_MSG "Bir dizin seçili dizinle yenilenecektir.\nBu dizinin tüm alt dizinleri ve değerleri silinecektir.\nEylemi sürdürmek istiyor musunuz?" + IDS_QUERY_IMPORT_HIVE_MSG "Bir dizin seçili dizinle yenilenecektir.\nBu dizinin tüm alt dizinleri ve değerleri silinecektir.\nİşlemi sürdürmek istiyor musunuz?" IDS_NEW_KEY "%d. Yeni Dizin" IDS_NEW_VALUE "%d. Yeni Değer" END @@ -397,7 +397,7 @@ END STRINGTABLE BEGIN IDS_IMPORT_PROMPT "Bilgi ekleme, yanlışlıkla değerleri değiştirebilir ya da silebilir ve bileşenlerin doğru çalışmasını engelleyebilir.\nEğer ""%s"" içindeki bilginin kaynağına güvenmiyorsanız onu Değer Defteri'ne eklemeyiniz.\n\nSürdürmek istediğinizi doğruluyor musunuz?" - IDS_IMPORT_OK "%s içinde bulunan dizinler ve değerler Değer Defteri'ne başarıyla eklendi." + IDS_IMPORT_OK """%s"" içinde bulunan dizinler ve değerler Değer Defteri'ne başarıyla eklendi." IDS_IMPORT_ERROR """%s"" alınamıyor: Kütüğü açmada yanlışlık. Bir disk yanlışlığı, bir kütük dizgesi yanlışlığı ya da kütüğün olmaması olabilir." IDS_EXPORT_ERROR """%s"" verilemiyor: Kütüğü oluşturmada ya da kütüğe yazmada yanlışlık. Bir disk yanlışlığı ya da bir kütük dizgesi yanlışlığı olabilir." END @@ -541,6 +541,6 @@ END *STRINGTABLE *BEGIN * ID_HELP_HELPTOPICS "Değer Defteri Düzenleyicisi Yardımı'nı açar." - * ID_HELP_ABOUT "İzlenceyle ilgili bilgi görüntüler." + * ID_HELP_ABOUT "İzlenceyle ilgili bilgi, sürüm numarası ve telif hakkı görüntüler." *END */ diff --git a/base/applications/sndvol32/lang/tr-TR.rc b/base/applications/sndvol32/lang/tr-TR.rc index 81ca9ed6a30..b12348b583a 100644 --- a/base/applications/sndvol32/lang/tr-TR.rc +++ b/base/applications/sndvol32/lang/tr-TR.rc @@ -35,7 +35,7 @@ BEGIN GROUPBOX "Ses Düzeyi Düzenlenecekler", -1, 7, 25, 211, 77 PUSHBUTTON "&Çalma", IDC_PLAYBACK, 13, 43, 47, 8, BS_AUTORADIOBUTTON PUSHBUTTON "K&aydetme", IDC_RECORDING, 13, 61, 47, 8, BS_AUTORADIOBUTTON - PUSHBUTTON "&Diğer:", IDC_OTHER, 13, 80, 42, 8, BS_AUTORADIOBUTTON | WS_DISABLED + PUSHBUTTON "&Başka:", IDC_OTHER, 13, 80, 42, 8, BS_AUTORADIOBUTTON | WS_DISABLED COMBOBOX IDC_LINE, 55, 80, 155, 50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED LTEXT "Aşağıdaki ses düzeyi denetimlerini göster:", IDC_LABELCONTROLS, 7, 109, 162, 8 CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96 diff --git a/base/applications/taskmgr/lang/tr-TR.rc b/base/applications/taskmgr/lang/tr-TR.rc index c0715aaf2e7..93329ebe90f 100644 --- a/base/applications/taskmgr/lang/tr-TR.rc +++ b/base/applications/taskmgr/lang/tr-TR.rc @@ -277,11 +277,11 @@ FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Tamam", IDOK, 84, 178, 50, 14 PUSHBUTTON "İptal", IDCANCEL, 138, 178, 50, 14 - LTEXT "Bu seçenekler, ""İşlemci"" sekmesindeki dikeçlerin hangisinin görüntülenip görüntülenmeyeceğini belirler.", IDC_STATIC, 7, 7, 181, 17 + LTEXT "Görev Yöneticisi'nin İşlemler sayfasında gözükecek dikeçleri seçiniz.", IDC_STATIC, 7, 7, 181, 17 CONTROL "Yansıma Adı", IDC_IMAGENAME, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 7, 28, 56, 10 CONTROL "PID (İşlem Tanımlayıcı)", IDC_PID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 39, 88, 10 CONTROL "CPU Kullanımı", IDC_CPUUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 50, 53, 10 - CONTROL "CPU Çalışma Süresi", IDC_CPUTIME, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 61, 48, 10 + CONTROL "CPU Süresi", IDC_CPUTIME, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 61, 48, 10 CONTROL "Bellek Kullanımı", IDC_MEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 72, 63, 10 CONTROL "Bellek Kullanım Aralığı", IDC_MEMORYUSAGEDELTA, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 83, 82, 10 CONTROL "En Yüksek Bellek Kullanımı", IDC_PEAKMEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 94, 82, 10 @@ -295,14 +295,14 @@ BEGIN CONTROL "Farazî Bellek Boyutu", IDC_VIRTUALMEMORYSIZE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 39, 77, 10 CONTROL "Sayfalanmış Havuz", IDC_PAGEDPOOL, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 50, 53, 10 CONTROL "Sayfalanmamış Havuz", IDC_NONPAGEDPOOL, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 61, 67, 10 - CONTROL "Öncelik", IDC_BASEPRIORITY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 72, 55, 10 + CONTROL "Birinci Öncelik", IDC_BASEPRIORITY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 72, 55, 10 CONTROL "İşleçler", IDC_HANDLECOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 83, 59, 10 CONTROL "İş Parçacıkları", IDC_THREADCOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 94, 59, 10 CONTROL "GDI Nesneleri", IDC_GDIOBJECTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 105, 55, 10 CONTROL "G/Ç Yazma", IDC_IOWRITES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 116, 49, 10 CONTROL "G/Ç Yazma Çokluları", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 - CONTROL "G/Ç Diğer", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 - CONTROL "G/Ç Diğer Çoklular", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "G/Ç Başka", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 + CONTROL "G/Ç Başka Çoklular", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 END /* String Tables */ @@ -311,64 +311,64 @@ STRINGTABLE BEGIN IDS_APP_TITLE "Görev Yöneticisi" IDC_TASKMGR "Görev Yöneticisi" - IDS_IDLE_PROCESS "Çalışmayan İşlemci Yüzdesi İşlemi" + IDS_IDLE_PROCESS "Dizge Boşta İşlemi" END STRINGTABLE BEGIN - ID_FILE_NEW "Yeni görev çalıştırır." - ID_OPTIONS_ALWAYSONTOP "Görev Yöneticisi'ni diğer pencerelerin üstünde tutar." - ID_OPTIONS_MINIMIZEONUSE "Geçiş yapılırken Görev Yöneticisi'ni simge durumuna küçültür." + ID_FILE_NEW "Yeni bir izlence çalıştırır." + ID_OPTIONS_ALWAYSONTOP "Simge durumuna küçültülmeden Görev Yöneticisi başka tüm pencerelerin önünde durur." + ID_OPTIONS_MINIMIZEONUSE "Geçme işlemi uygulanırken Görev Yöneticisi simge durumuna küçültülür." ID_OPTIONS_HIDEWHENMINIMIZED "Görev Yöneticisi simge durumuna küçültüldüğünde Görev Yöneticisi'ni gizler." - ID_VIEW_REFRESH "Görev Yöneticisi'ndeki bilgileri yeniler." - ID_VIEW_LARGE "Görevleri büyük simgelerle gösterir." - ID_VIEW_SMALL "Görevleri küçük simgelerle gösterir." - ID_VIEW_DETAILS "Görevleri küçük simgelerle, ayrıntılı olarak gösterir." - ID_VIEW_UPDATESPEED_HIGH "Her yarım sâniyede bir Görev Yöneticisi'ndeki bilgileri yeniler." - ID_VIEW_UPDATESPEED_NORMAL "Her iki sâniyede bir Görev Yöneticisi'ndeki bilgileri yeniler." - ID_VIEW_UPDATESPEED_LOW "Her dört sâniyede bir Görev Yöneticisi'ndeki bilgileri yeniler." + ID_VIEW_REFRESH "Yenileme Hızı ayârını önemsemeden Görev Yöneticisi'ni şimdi yenilemeye zorlar." + ID_VIEW_LARGE "Görevleri büyük simgeler kullanarak gösterir." + ID_VIEW_SMALL "Görevleri küçük simgeler kullanarak gösterir." + ID_VIEW_DETAILS "Her bir görev için bilgi görüntüler." + ID_VIEW_UPDATESPEED_HIGH "Her sâniyede iki kez görünümü yeniler." + ID_VIEW_UPDATESPEED_NORMAL "Her iki sâniyede bir görünümü yeniler." + ID_VIEW_UPDATESPEED_LOW "Her dört sâniyede bir görünümü yeniler." END STRINGTABLE BEGIN - ID_VIEW_UPDATESPEED_PAUSED "Görev Yöneticisi'ndeki bilgilerin kendiliğinden yenilenmesini durdurur." - ID_WINDOWS_TILEHORIZONTALLY "Masaüstündeki pencereleri yatay olarak sıralar." - ID_WINDOWS_TILEVERTICALLY "Masaüstündeki pencereleri dikey olarak sıralar." + ID_VIEW_UPDATESPEED_PAUSED "Kendiliğinden yenilemez." + ID_WINDOWS_TILEHORIZONTALLY "Masaüstünde pencereleri yatay olarak döşer." + ID_WINDOWS_TILEVERTICALLY "Masaüstünde pencereleri dikey olarak döşer." ID_WINDOWS_MINIMIZE "Pencereleri simge durumuna küçültür." - ID_WINDOWS_MAXIMIZE "Pencereleri her bir pencerenin görüntülüğü kaplayacağı şekilde büyütür." - ID_WINDOWS_CASCADE "Pencereleri masaüstünde çapraz olarak sıralar." - ID_WINDOWS_BRINGTOFRONT "Pencereyi öne getirir ancak o pencereye geçiş yapmaz." - ID_HELP_TOPICS "Görev Yöneticisi ile ilgili yardım konularını görüntüler." - ID_HELP_ABOUT "Görev Yöneticisi ile ilgili bilgi görüntüler." - ID_FILE_EXIT "Görev Yöneticisi'nden çıkar." - ID_OPTIONS_SHOW16BITTASKS "Farazî DOS Makinesi (ntvdm.exe) altında çalışan 16 bitlik uygulamaları da görüntüler." - ID_VIEW_SELECTCOLUMNS """İşlemler"" sekmesinde hangi dikeçlerin görüntülenip görüntülenmeyeceğini belirler." - ID_VIEW_SHOWKERNELTIMES "İşlemci çizgelerinde çekirdek zamanlarını gösterir." - ID_VIEW_CPUHISTORY_ONEGRAPHALL "Toplam CPU kullanımını tek çizgede gösterir." - ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Her CPU'nun kullanımını ayrı çizgelerde gösterir." - ID_APPLICATION_PAGE_SWITCHTO "Seçilen görevi öne getirip o göreve odaklatır." + ID_WINDOWS_MAXIMIZE "Pencereleri büyütür." + ID_WINDOWS_CASCADE "Masaüstünde pencereleri çapraz olarak basamaklar." + ID_WINDOWS_BRINGTOFRONT "Pencereyi öne getirir ancak ona geçmez." + ID_HELP_TOPICS "Görev Yöneticisi yardım konularını görüntüler." + ID_HELP_ABOUT "İzlenceyle ilgili bilgi, sürüm numarası ve telif hakkı görüntüler." + ID_FILE_EXIT "Görev Yöneticisi uygulamasından çıkar." + ID_OPTIONS_SHOW16BITTASKS "İlişkili ntvdm.exe altındaki 16 bitlik görevleri gösterir." + ID_VIEW_SELECTCOLUMNS "İşlemler sayfasında hangi dikeçlerin görünür olacağını seçer." + ID_VIEW_SHOWKERNELTIMES "Başarım çizgelerinde çekirdek sürelerini görüntüler." + ID_VIEW_CPUHISTORY_ONEGRAPHALL "Bir bayağı geçmiş çizgesi toplam CPU kullanımını gösterir." + ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Her bir CPU'nun kendi geçmiş çizgesi vardır." + ID_APPLICATION_PAGE_SWITCHTO "Bir görevi ön plana getirir, o göreve odaklatır." END STRINGTABLE BEGIN - ID_ENDTASK "Seçili görevi sonlandırmaya çalışır." - ID_GOTOPROCESS "Seçili görevin işlemine gider." - ID_RESTORE "Görev Yöneticisi'ni gizli olmaktan çıkarır." - ID_PROCESS_PAGE_ENDPROCESS "Seçili işlemi sonlandırır." - ID_PROCESS_PAGE_ENDPROCESSTREE "Seçili işlemi ve bu işlemin bağlı olduğu tüm işlemleri sonlandırır." - ID_PROCESS_PAGE_DEBUG "Seçili işleme bir yanlışlık ayıklayıcı bağlar." - ID_PROCESS_PAGE_SETAFFINITY "Seçili işlemin hangi CPU'larla yürütüleceğini belirler." - ID_PROCESS_PAGE_SETPRIORITY_REALTIME "Seçili işlemin öncelik sırasını EŞ ZAMANLI yapar." - ID_PROCESS_PAGE_SETPRIORITY_HIGH "Seçili işlemin öncelik sırasını YÜKSEK yapar." - ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL "Seçili işlemin öncelik sırasını ORTA-YÜKSEK yapar." - ID_PROCESS_PAGE_SETPRIORITY_NORMAL "Seçili işlemin öncelik sırasını ORTA yapar." - ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL "Seçili işlemin öncelik sırasını ORTA-DÜŞÜK yapar." - ID_PROCESS_PAGE_SETPRIORITY_LOW "Seçili işlemin öncelik sırasını DÜŞÜK yapar." + ID_ENDTASK "Seçilen görevleri sonlandırmayı bildirir." + ID_GOTOPROCESS "Seçilen görevin işlemine odaklatır." + ID_RESTORE "Görev Yöneticisi'ni gizli durumdan döndürür." + ID_PROCESS_PAGE_ENDPROCESS "İşlemi dizgeden siler." + ID_PROCESS_PAGE_ENDPROCESSTREE "Bu işlemi ve tüm astlarını bu dizgeden sonlandırır." + ID_PROCESS_PAGE_DEBUG "Bu işleme yanlışlık ayıklayıcı bağlar." + ID_PROCESS_PAGE_SETAFFINITY "İşleme hangi CPU'ların üzerinde çalışmasına izin verileceğini denetler." + ID_PROCESS_PAGE_SETPRIORITY_REALTIME "İşlemi EŞ ZAMANLI öncelik sınıfına getirir." + ID_PROCESS_PAGE_SETPRIORITY_HIGH "İşlemi YÜKSEK öncelik sınıfına getirir." + ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL "İşlemi DÜZGÜLÜ ÜSTÜ öncelik sınıfına getirir." + ID_PROCESS_PAGE_SETPRIORITY_NORMAL "İşlemi DÜZGÜLÜ öncelik sınıfına getirir." + ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL "İşlemi DÜZGÜLÜ ALTI öncelik sınıfına getirir." + ID_PROCESS_PAGE_SETPRIORITY_LOW "İşlemi DÜŞÜK öncelik sınıfına getirir." END STRINGTABLE BEGIN - IDS_TAB_APPS "Görevler" + IDS_TAB_APPS "Uygulamalar" IDS_TAB_PROCESSES "İşlemler" IDS_TAB_PERFORMANCE "Başarım" IDS_TAB_TASK "Görev" @@ -378,7 +378,7 @@ BEGIN IDS_TAB_USERNAME "Kullanıcı Adı" IDS_TAB_SESSIONID "Oturum Kimliği" IDS_TAB_CPU "CPU Kullanımı" - IDS_TAB_CPUTIME "CPU Çalışma Süresi" + IDS_TAB_CPUTIME "CPU Süresi" IDS_TAB_MEMUSAGE "Bellek Kullanımı" IDS_TAB_PEAKMEMUSAGE "En Yüksek Bellek Kullanımı" IDS_TAB_MEMDELTA "Bellek Kullanım Aralığı" @@ -387,43 +387,43 @@ BEGIN IDS_TAB_VMSIZE "Farazî Bellek Boyutu" IDS_TAB_PAGEDPOOL "Sayfalanmış Havuz" IDS_TAB_NPPOOL "Sayfalanmamış Havuz" - IDS_TAB_BASEPRI "Öncelik" + IDS_TAB_BASEPRI "Birinci Öncelik" IDS_TAB_HANDLES "İşleçler" IDS_TAB_THREADS "İş Parçacıkları" IDS_TAB_USERPBJECTS "Kullanıcı Nesneleri" IDS_TAB_GDIOBJECTS "GDI Nesneleri" IDS_TAB_IOREADS "G/Ç Okuma" IDS_TAB_IOWRITES "G/Ç Yazma" - IDS_TAB_IOOTHER "G/Ç Diğer" + IDS_TAB_IOOTHER "G/Ç Başka" IDS_TAB_IOREADBYTES "G/Ç Okuma Çokluları" IDS_TAB_IOWRITESBYTES "G/Ç Yazma Çokluları" - IDS_TAB_IOOTHERBYTES "G/Ç Diğer Çoklular" + IDS_TAB_IOOTHERBYTES "G/Ç Başka Çoklular" IDS_MENU_SELECTCOLUMNS "&Dikeçleri Seç..." IDS_MENU_16BITTASK "&16 Bitlik Görevleri Göster" IDS_MENU_WINDOWS "&Pencereler" IDS_MENU_LARGEICONS "&Büyük Simgeler" IDS_MENU_SMALLICONS "&Küçük Simgeler" IDS_MENU_DETAILS "&Ayrıntılar" - IDS_MENU_ONEGRAPHALLCPUS "&Tüm CPU'lar İçin Aynı Çizge" - IDS_MENU_ONEGRAPHPERCPU "&Her CPU'ya Birer Çizge" + IDS_MENU_ONEGRAPHALLCPUS "&Tek Çizge, Tüm CPU'lar" + IDS_MENU_ONEGRAPHPERCPU "&CPU Başına Bir Çizge" IDS_MENU_CPUHISTORY "&CPU Geçmişi" - IDS_MENU_SHOWKERNELTIMES "&Çekirdek Zamanlarını Göster" + IDS_MENU_SHOWKERNELTIMES "&Çekirdek Sürelerini Göster" IDS_CREATENEWTASK "Yeni Görev Oluşturma" - IDS_CREATENEWTASK_DESC "Çalıştırılacak görevin konumunu yazınız:" - IDS_MSG_ACCESSPROCESSAFF "CPU'larla ilişkisi erişilemez veyâ değiştirilemez." - IDS_MSG_PROCESSONEPRO "Herhangi bir işlem, en az bir CPU ile ilişkili olmalıdır." - IDS_MSG_INVALIDOPTION "Geçersiz seçenek." - IDS_MSG_UNABLEDEBUGPROCESS "Yanlışlık ayıklama işlemi yapılamaz." - IDS_MSG_WARNINGDEBUG "UYARI: Bu işlemde yanlışlık ayıklama, veri yitimine neden olabilir.\nBu işleme bir yanlışlık ayıklayıcı bağlamayı doğruluyor musunuz?" - IDS_MSG_TASKMGRWARNING "Uyarı" - IDS_MSG_WARNINGTERMINATING "UYARI: Bir işlemin sonlandırılması, dizge\nkararsızlığı veyâ veri yitimi gibi istenmeyen durumlara neden olabilir. Bu\nişlemi sonlandırmayı doğruluyor musunuz?" - IDS_MSG_UNABLETERMINATEPRO "İşlem sonlandırma yapılamaz." - IDS_MSG_UNABLECHANGEPRIORITY "İşlemci önceliği değiştirilemez." - IDS_MSG_WARNINGCHANGEPRIORITY "UYARI: İşlemci önceliğinin değiştirilmesi, dizge\nkararsızlığı gibi istenmeyen durumlara neden olabilir. Bu işlemin\nişlemci önceliğini değiştirmeyi doğruluyor musunuz?" + IDS_CREATENEWTASK_DESC "Bir izlencenin, bir dizinin, bir belgenin veyâ bir Umûmî Ağ kaynağının adını yazınız, Görev Yöneticisi onu sizin için açacaktır." + IDS_MSG_ACCESSPROCESSAFF "İşlemci İlişkisinin Erişilememesi veyâ Ayarlanamaması" + IDS_MSG_PROCESSONEPRO "İşlem en azından bir işlemciyle ilişkisi olmalıdır." + IDS_MSG_INVALIDOPTION "Geçersiz Seçenek" + IDS_MSG_UNABLEDEBUGPROCESS "Yanlışlık Ayıklama İşleminin Yapılamaması" + IDS_MSG_WARNINGDEBUG "UYARI: Bu işlemde yanlışlık ayıklama veri yitimiyle sonuçlanabilir.\nYanlışlık ayıklayıcı bağlamak istediğinizi doğruluyor musunuz?" + IDS_MSG_TASKMGRWARNING "Görev Yöneticisi Uyarısı" + IDS_MSG_WARNINGTERMINATING "UYARI: Bir işlemin sonlandırılması, veri\nyitimi ve dizge kararsızlığını içeren istenmeyen sonuçlara neden\nolabilir. İşlem sonlandırılmadan önce durumunu veyâ verisini\nkaydetme fırsatı verilmeyecektir. İşlemi\nsonlandırmak istediğinizi doğruluyor musunuz?" + IDS_MSG_UNABLETERMINATEPRO "İşlem Sonlandırmanın Yapılamaması" + IDS_MSG_UNABLECHANGEPRIORITY "Önceliğin Değiştirilememesi" + IDS_MSG_WARNINGCHANGEPRIORITY "UYARI: Bu işlemin öncelik sınıfının değiştirilmesi, dizge\nkararsızlığını içeren istenmeyen sonuçlara neden olabilir. Öncelik \nsınıfını değiştirmek istediğinizi doğruluyor musunuz?" IDS_MSG_TRAYICONCPUUSAGE "CPU Kullanımı: %%%d" IDS_STATUS_MEMUSAGE "Bellek Kullanımı: %d KB / %d KB" IDS_STATUS_CPUUSAGE "CPU Kullanımı: %%%3d" - IDS_STATUS_PROCESSES "İşlem Sayısı: %d" + IDS_STATUS_PROCESSES "İşlem: %d" IDS_Not_Responding "Yanıt Vermiyor" IDS_Running "Çalışıyor" END diff --git a/base/applications/wordpad/lang/De.rc b/base/applications/wordpad/lang/De.rc index 53e1ba13b02..d22f978062a 100644 --- a/base/applications/wordpad/lang/De.rc +++ b/base/applications/wordpad/lang/De.rc @@ -128,7 +128,7 @@ BEGIN MENUITEM "Pink", ID_COLOR_FUCHSIA MENUITEM "Aquamarin", ID_COLOR_AQUA MENUITEM "Weiß", ID_COLOR_WHITE - MENUITEM "Automatic", ID_COLOR_AUTOMATIC + MENUITEM "Automatisch", ID_COLOR_AUTOMATIC END END diff --git a/base/setup/reactos/lang/tr-TR.rc b/base/setup/reactos/lang/tr-TR.rc index b7860ff9ced..0468cd7c2f8 100644 --- a/base/setup/reactos/lang/tr-TR.rc +++ b/base/setup/reactos/lang/tr-TR.rc @@ -7,9 +7,9 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS Kur'a Hoşgeldiniz.", IDC_STARTTITLE, 115, 8, 195, 24 - LTEXT "Daha bu CD'den ReactOS'u doğrudan kuramazsınız. Bu CD'den ReactOS'u kurmak için bilgisayarınızı yeniden başlatınız.", IDC_STATIC, 115, 40, 195, 100 - LTEXT "Kur'dan çıkmak için ""İptal"" düğmesine tıklayınız.", IDC_STATIC, 115, 169, 195, 17 + LTEXT "ReactOS Kur Büyücüsü'ne Hoşgeldiniz", IDC_STARTTITLE, 115, 8, 195, 24 + LTEXT "Daha bu CD'den ReactOS'u doğrudan kuramazsınız. Lütfen ReactOS'u kurmak için bu CD'den bilgisayarınızı yeniden başlatınız.", IDC_STATIC, 115, 40, 195, 100 + LTEXT "Kur'dan çıkmak için İptal'e tıklayınız.", IDC_STATIC, 115, 169, 195, 17 END IDD_LANGSELPAGE DIALOGEX 0, 0, 317, 193 @@ -20,9 +20,9 @@ BEGIN CONTROL "IDB_LOGO", IDB_ROSLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99 CONTROL "Kurulum Dili:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 109, 106, 11 CONTROL "", IDC_LANGUAGES, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 107, 176, 142 - CONTROL "Düğme Takımı Düzeni:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 142, 106, 11 + CONTROL "Düğme Takımı Giriş Yöntemi:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 142, 106, 11 CONTROL "", IDC_KEYLAYOUT, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 141, 176, 81 - LTEXT "Kurulum türünü seçmek için ""İleri >"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 297, 10 + LTEXT "Kurulum türünü seçmek için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 297, 10 END IDD_TYPEPAGE DIALOGEX 0, 0, 317, 193 @@ -32,8 +32,8 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "Kurulum Türü", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172 CONTROL "ReactOS'u Yükleme", IDC_INSTALL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 20, 15, 277, 10 - CONTROL "ReactOS'u Onarma ya da Yükseltme", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 20, 30, 277, 10 - LTEXT "Aygıt seçeneklerini seçmek için ""İleri >"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 297, 10 + CONTROL "Kurulu ReactOS'u Onarma ya da Yükseltme", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 20, 30, 277, 10 + LTEXT "Aygıtları kurmak için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 297, 10 END IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 193 @@ -41,14 +41,14 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Aygıt Seçenekleri", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172 - LTEXT "Bilgisayar Türü:", IDC_STATIC, 20, 15, 80, 10 + CONTROL "Aygıt Ayarları", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172 + LTEXT "Bilgisayar:", IDC_STATIC, 20, 15, 80, 10 CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80 - LTEXT "Görüntü Ayarları:", IDC_STATIC, 20, 35, 80, 10 + LTEXT "Görüntü:", IDC_STATIC, 20, 35, 80, 10 CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80 - LTEXT "Düğme Takımı Türü:", IDC_STATIC, 20, 55, 80, 10 + LTEXT "Düğme Takımı:", IDC_STATIC, 20, 55, 80, 10 CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80 - LTEXT "Kurulum yapılacak bölümü seçmek için ""İleri >"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 277, 20 + LTEXT "Kurulum aygıtını kurmak için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 277, 20 END IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 193 @@ -56,13 +56,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "ReactOS'un Kurulacağı Bölüm", IDC_STATIC, "Button", BS_GROUPBOX, 10, 1, 298, 176 + CONTROL "ReactOS Kurulumu İçin Bölümlendirme", IDC_STATIC, "Button", BS_GROUPBOX, 10, 1, 298, 176 LISTBOX IDC_PARTITION, 20, 12, 278, 142, LBS_HASSTRINGS | WS_VSCROLL PUSHBUTTON "&Oluştur...", IDC_PARTCREATE, 20, 155, 50, 15 PUSHBUTTON "&Sil", IDC_PARTDELETE, 76, 155, 50, 15 PUSHBUTTON "S&ürücü", IDC_DEVICEDRIVER, 162, 155, 50, 15, WS_DISABLED PUSHBUTTON "G&elişmiş Seçenekler...", IDC_PARTMOREOPTS, 218, 155, 80, 15 - LTEXT "Kurulum özetini görmek için ""İleri >"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 277, 20 + LTEXT "Kurulum özetini gözden geçirmek için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 277, 20 END IDD_PARTITION DIALOGEX 0, 0, 145, 90 @@ -71,7 +71,7 @@ CAPTION "Bölüm Oluşturma" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13 - CONTROL "Bölüm Oluşturma", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57 + CONTROL "Bölüm Oluşturma ve Biçimlendirme", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57 LTEXT "Büyüklük:", IDC_STATIC, 13, 24, 27, 9 EDITTEXT IDC_PARTSIZE, 52, 23, 53, 13, WS_VISIBLE | WS_TABSTOP LTEXT "GB", IDC_UNIT, 117, 24, 14, 9 @@ -83,15 +83,15 @@ END IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116 STYLE WS_VISIBLE | WS_CAPTION -CAPTION "Gelişmiş Seçenekler" +CAPTION "Gelişmiş Bölümlendirme Seçenekleri" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Kurulum Dizini", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30 EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE - CONTROL "Önyükleyici Kurulumu", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52 - CONTROL "Önyükleyici, diskin MBR'sine ve VBR'sine kurulsun.", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11 - CONTROL "Önyükleyici, diskin yalnızca VBR'sine kurulsun.", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11 - CONTROL "Önyükleyici kurulmasın.", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11 + CONTROL "Ön Yükleyici Kurulumu", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52 + CONTROL "Ön yükleyiciyi diskin üzerine kur. (MBR ve VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11 + CONTROL "Ön yükleyiciyi diskin üzerine kur. (Yalnızca VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11 + CONTROL "Ön yükleyici kurulumu yok.", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11 PUSHBUTTON "Tamam", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "İptal", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE END @@ -102,7 +102,7 @@ CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN CONTROL "Kurulum Özeti", IDC_ACTION, "Button", BS_GROUPBOX, 10, 0, 297, 172 - LTEXT "Kurulumu başlatmak için ""İleri >"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 277, 20 + LTEXT "Kurulumu işlemini başlatmak için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 277, 20 END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 193 @@ -110,7 +110,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Kurulum Süreci", IDC_ACTION, "Button", BS_GROUPBOX, 10, 0, 297, 172 + CONTROL "Kurulum İşlemi", IDC_ACTION, "Button", BS_GROUPBOX, 10, 0, 297, 172 LTEXT "Kütükler yükleniyor...", IDC_ACTIVITY, 20, 50, 277, 10 LTEXT "sınama.txt", IDC_ITEM, 30, 80, 257, 10 CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8 @@ -118,32 +118,32 @@ END IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS Kur" +CAPTION "ReactOS Kurulumunun Bitirilmesi" FONT 8, "MS Shell Dlg" BEGIN CONTROL "ReactOS Kurulumunun İlk Aşaması Bitmesi", IDC_FINISHTITLE, "Button", BS_GROUPBOX, 10, 0, 297, 172 - LTEXT "ReactOS kurulumunun ilk aşaması bitti.", IDC_STATIC, 20, 50, 277, 10 - LTEXT """Bitir"" düğmesine bastığınızda bilgisayarınız yeniden başlatılacak.", IDC_STATIC, 20, 80, 277, 10 + LTEXT "ReactOS kurulumunun ilk aşamasını başarılı bir şekilde bitirdiniz.", IDC_STATIC, 20, 50, 277, 10 + LTEXT "Bitir'e tıkladığınızda bilgisayarınız yeniden başlatılacaktır.", IDC_STATIC, 20, 80, 277, 10 CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8 - LTEXT "Eğer bilgisayarınızda takılı bir CD varsa onu çıkarttığınızdan sonra ""Bitir"" düğmesine tıklayınız.", IDC_STATIC, 10, 180, 297, 20 + LTEXT "Eğer bir sürücüde bir CD varsa onu çıkartınız. Sonra, bilgisayarınızı yeniden başlatmak için Bitir'e tıklayınız.", IDC_STATIC, 10, 180, 297, 20 END STRINGTABLE BEGIN IDS_LANGTITLE "Dil Seçimi" - IDS_LANGSUBTITLE "Kurulum ve dizge dilini seçiniz." + IDS_LANGSUBTITLE "Kurulum ve son dizge dilini seçiniz." IDS_TYPETITLE "ReactOS Kur'a Hoşgeldiniz" IDS_TYPESUBTITLE "Kurulum türünü seçiniz." - IDS_DEVICETITLE "Aygıt Seçeneklerinin Seçilmesi" - IDS_DEVICESUBTITLE "Görüntü ayarlarını ve düğme takımı türünü seçiniz." - IDS_DRIVETITLE "Kurulum Yapılacak Bölümün Seçilmesi" - IDS_DRIVESUBTITLE "Kurulum yapılacak bölümü, kurulum dizinini ve önyükleyici seçeneklerini seçiniz." + IDS_DEVICETITLE "Ana Aygıtların Kurulumu" + IDS_DEVICESUBTITLE "Görüntü ve düğme takımı ayarlarını yapınız." + IDS_DRIVETITLE "Kurulum Bölümünün ve Dizge Dizininin Anıklanması" + IDS_DRIVESUBTITLE "Kurulum bölümünü, dizge dizinini ve ön yükleyiciyi anıklayınız." IDS_PROCESSTITLE "Bölümün Biçimlendirilmesi, Kütüklerin Çoğaltılması ve Önyükleyicinin Kurulması" - IDS_PROCESSSUBTITLE "Bölüm biçimlendiriliyor, kütükler çoğaltılıyor ve önyükleyici kuruluyor." - IDS_RESTARTTITLE "Kurulumun İlk Aşamasının Bitmesi" - IDS_RESTARTSUBTITLE "Kurulumun ilk aşaması bitti. İkincisine geçmek için bilgisayarı yeniden başlatınız." + IDS_PROCESSSUBTITLE "Bölüm oluşturuluyor ve biçimlendiriliyor, kütükler çoğaltılıyor, ön yükleyici kuruluyor ve anıklanıyor." + IDS_RESTARTTITLE "Kurulumun İlk Aşaması Bitti" + IDS_RESTARTSUBTITLE "Kurulumun ilk aşaması bitirildi, ikinci aşamayla sürdürmek için yeniden başlatınız." IDS_SUMMARYTITLE "Kurulum Özeti" - IDS_SUMMARYSUBTITLE "Kurulumdan önce, dizelgelenen kurulum seçeneklerini gözden geçiriniz." - IDS_ABORTSETUP "ReactOS kurulumu bitmedi. Eğer Kur'dan çıkarsanız, ReactOS'u kurmak için Kur'u yeniden çalıştırabilirsiniz. Çıkmayı doğruluyor musunuz?" + IDS_SUMMARYSUBTITLE "Kurulumdan aygıtına uygulanmadan önce gözden geçirmek için dizelgelenen kurulum seçenekleri." + IDS_ABORTSETUP "ReactOS bilgisayarınıza tümüyle kurulmadı. Eğer şimdi Kur'dan çıkarsanız, ReactOS'u kurmak için Kur'u yeniden çalıştırmayı isteybilirsiniz. Gerçekten çıkılsın mı?" IDS_ABORTSETUP2 "Kurulum iptal edilsin mi?" END diff --git a/base/setup/reactos/reactos.rc b/base/setup/reactos/reactos.rc index 84b31a1a4fa..3fb5b36b4b5 100644 --- a/base/setup/reactos/reactos.rc +++ b/base/setup/reactos/reactos.rc @@ -78,12 +78,12 @@ IDB_ROSLOGO BITMAP "res/rosbitmap.bmp" #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif -#ifdef LANGUAGE_TR_TR - #include "lang/tr-TR.rc" -#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" #endif +#ifdef LANGUAGE_TR_TR + #include "lang/tr-TR.rc" +#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/setup/usetup/bootsup.c b/base/setup/usetup/bootsup.c index 9865e265ab3..74d5ad3ffff 100644 --- a/base/setup/usetup/bootsup.c +++ b/base/setup/usetup/bootsup.c @@ -87,7 +87,8 @@ extern PPARTLIST PartitionList; static VOID -CreateCommonFreeLoaderSections(PINICACHE IniCache) +CreateCommonFreeLoaderSections( + PINICACHE IniCache) { PINICACHESECTION IniSection; @@ -1178,7 +1179,6 @@ InstallMbrBootCodeToDisk( return Status; } - /* Allocate buffer for new bootsector */ NewBootSector = (PPARTITION_SECTOR)RtlAllocateHeap(ProcessHeap, 0, @@ -1275,9 +1275,11 @@ InstallMbrBootCodeToDisk( return Status; } + NTSTATUS -InstallFat12BootCodeToFloppy(PWSTR SrcPath, - PWSTR RootPath) +InstallFat12BootCodeToFloppy( + PWSTR SrcPath, + PWSTR RootPath) { OBJECT_ATTRIBUTES ObjectAttributes; IO_STATUS_BLOCK IoStatusBlock; @@ -1286,21 +1288,21 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, NTSTATUS Status; PFAT_BOOTSECTOR OrigBootSector; PFAT_BOOTSECTOR NewBootSector; - + /* Allocate buffer for original bootsector */ OrigBootSector = RtlAllocateHeap(ProcessHeap, 0, SECTORSIZE); if (OrigBootSector == NULL) return STATUS_INSUFFICIENT_RESOURCES; - + /* Read current boot sector into buffer */ RtlInitUnicodeString(&Name, RootPath); - + InitializeObjectAttributes(&ObjectAttributes, &Name, OBJ_CASE_INSENSITIVE, NULL, NULL); - + Status = NtOpenFile(&FileHandle, GENERIC_READ | SYNCHRONIZE, &ObjectAttributes, @@ -1312,7 +1314,7 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, OrigBootSector); return Status; } - + Status = NtReadFile(FileHandle, NULL, NULL, @@ -1328,8 +1330,7 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, OrigBootSector); return Status; } - - + /* Allocate buffer for new bootsector */ NewBootSector = RtlAllocateHeap(ProcessHeap, 0, @@ -1339,16 +1340,16 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, OrigBootSector); return STATUS_INSUFFICIENT_RESOURCES; } - + /* Read new bootsector from SrcPath */ RtlInitUnicodeString(&Name, SrcPath); - + InitializeObjectAttributes(&ObjectAttributes, &Name, OBJ_CASE_INSENSITIVE, NULL, NULL); - + Status = NtOpenFile(&FileHandle, GENERIC_READ | SYNCHRONIZE, &ObjectAttributes, @@ -1361,7 +1362,7 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, NewBootSector); return Status; } - + Status = NtReadFile(FileHandle, NULL, NULL, @@ -1378,25 +1379,25 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, NewBootSector); return Status; } - + /* Adjust bootsector (copy a part of the FAT16 BPB) */ memcpy(&NewBootSector->OemName, &OrigBootSector->OemName, FIELD_OFFSET(FAT_BOOTSECTOR, BootCodeAndData) - FIELD_OFFSET(FAT_BOOTSECTOR, OemName)); - + /* Free the original boot sector */ RtlFreeHeap(ProcessHeap, 0, OrigBootSector); - + /* Write new bootsector to RootPath */ RtlInitUnicodeString(&Name, RootPath); - + InitializeObjectAttributes(&ObjectAttributes, &Name, 0, NULL, NULL); - + Status = NtOpenFile(&FileHandle, GENERIC_WRITE | SYNCHRONIZE, &ObjectAttributes, @@ -1409,7 +1410,7 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, RtlFreeHeap(ProcessHeap, 0, NewBootSector); return Status; } - + #if 0 FilePosition.QuadPart = 0; #endif @@ -1423,10 +1424,10 @@ InstallFat12BootCodeToFloppy(PWSTR SrcPath, NULL, NULL); NtClose(FileHandle); - + /* Free the new boot sector */ RtlFreeHeap(ProcessHeap, 0, NewBootSector); - + return Status; } @@ -1487,7 +1488,6 @@ InstallFat16BootCodeToDisk( return Status; } - /* Allocate buffer for new bootsector */ NewBootSector = RtlAllocateHeap(ProcessHeap, 0, @@ -2001,6 +2001,7 @@ UpdateBootIni( return Status; } + BOOLEAN CheckInstallFatBootcodeToPartition( PUNICODE_STRING SystemRootPath) @@ -2339,6 +2340,7 @@ InstallFatBootcodeToPartition( #endif } + NTSTATUS InstallVBRToPartition( PUNICODE_STRING SystemRootPath, @@ -2373,7 +2375,7 @@ InstallFatBootcodeToFloppy( WCHAR SrcPath[MAX_PATH]; WCHAR DstPath[MAX_PATH]; NTSTATUS Status; - + /* Format the floppy first */ Status = VfatFormat(&FloppyDevice, FMIFS_FLOPPY, diff --git a/base/setup/usetup/bootsup.h b/base/setup/usetup/bootsup.h index 33b983a0228..6322bae6405 100644 --- a/base/setup/usetup/bootsup.h +++ b/base/setup/usetup/bootsup.h @@ -27,65 +27,79 @@ #pragma once NTSTATUS -CreateFreeLoaderIniForDos(PWCHAR IniPath, - PWCHAR ArcPath); +CreateFreeLoaderIniForDos( + PWCHAR IniPath, + PWCHAR ArcPath); NTSTATUS -CreateFreeLoaderIniForReactos(PWCHAR IniPath, - PWCHAR ArcPath); +CreateFreeLoaderIniForReactos( + PWCHAR IniPath, + PWCHAR ArcPath); NTSTATUS -UpdateFreeLoaderIni(PWCHAR IniPath, - PWCHAR ArcPath); +UpdateFreeLoaderIni( + PWCHAR IniPath, + PWCHAR ArcPath); NTSTATUS -SaveCurrentBootSector(PWSTR RootPath, - PWSTR DstPath); +SaveCurrentBootSector( + PWSTR RootPath, + PWSTR DstPath); NTSTATUS -InstallFat16BootCodeToFile(PWSTR SrcPath, - PWSTR DstPath, - PWSTR RootPath); +InstallFat16BootCodeToFile( + PWSTR SrcPath, + PWSTR DstPath, + PWSTR RootPath); NTSTATUS -InstallFat32BootCodeToFile(PWSTR SrcPath, - PWSTR DstPath, - PWSTR RootPath); +InstallFat32BootCodeToFile( + PWSTR SrcPath, + PWSTR DstPath, + PWSTR RootPath); NTSTATUS -InstallMbrBootCodeToDisk (PWSTR SrcPath, - PWSTR RootPath); +InstallMbrBootCodeToDisk( + PWSTR SrcPath, + PWSTR RootPath); NTSTATUS -InstallFat16BootCodeToDisk(PWSTR SrcPath, - PWSTR RootPath); +InstallFat16BootCodeToDisk( + PWSTR SrcPath, + PWSTR RootPath); NTSTATUS -InstallFat32BootCodeToDisk(PWSTR SrcPath, - PWSTR RootPath); +InstallFat32BootCodeToDisk( + PWSTR SrcPath, + PWSTR RootPath); NTSTATUS -UpdateBootIni(PWSTR BootIniPath, - PWSTR EntryName, - PWSTR EntryValue); +UpdateBootIni( + PWSTR BootIniPath, + PWSTR EntryName, + PWSTR EntryValue); BOOLEAN -CheckInstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath); +CheckInstallFatBootcodeToPartition( + PUNICODE_STRING SystemRootPath); NTSTATUS -InstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING DestinationArcPath, - UCHAR PartitionType); +InstallFatBootcodeToPartition( + PUNICODE_STRING SystemRootPath, + PUNICODE_STRING SourceRootPath, + PUNICODE_STRING DestinationArcPath, + UCHAR PartitionType); NTSTATUS -InstallVBRToPartition(PUNICODE_STRING SystemRootPath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING DestinationArcPath, - UCHAR PartitionType); +InstallVBRToPartition( + PUNICODE_STRING SystemRootPath, + PUNICODE_STRING SourceRootPath, + PUNICODE_STRING DestinationArcPath, + UCHAR PartitionType); NTSTATUS -InstallFatBootcodeToFloppy(PUNICODE_STRING SourceRootPath, - PUNICODE_STRING DestinationArcPath); +InstallFatBootcodeToFloppy( + PUNICODE_STRING SourceRootPath, + PUNICODE_STRING DestinationArcPath); /* EOF */ diff --git a/base/setup/usetup/chkdsk.c b/base/setup/usetup/chkdsk.c index 03054bcaf7b..2c5522c462e 100644 --- a/base/setup/usetup/chkdsk.c +++ b/base/setup/usetup/chkdsk.c @@ -34,7 +34,9 @@ static PPROGRESSBAR ChkdskProgressBar = NULL; /* FUNCTIONS ****************************************************************/ -static BOOLEAN NTAPI +static +BOOLEAN +NTAPI ChkdskCallback( IN CALLBACKCOMMAND Command, IN ULONG Modifier, @@ -50,6 +52,7 @@ ChkdskCallback( return TRUE; } + NTSTATUS ChkdskPartition( IN PUNICODE_STRING DriveRoot, diff --git a/base/setup/usetup/drivesup.c b/base/setup/usetup/drivesup.c index a910e9302ef..b5734302885 100644 --- a/base/setup/usetup/drivesup.c +++ b/base/setup/usetup/drivesup.c @@ -34,66 +34,66 @@ /* FUNCTIONS ****************************************************************/ NTSTATUS -GetSourcePaths(PUNICODE_STRING SourcePath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING SourceRootDir) +GetSourcePaths( + PUNICODE_STRING SourcePath, + PUNICODE_STRING SourceRootPath, + PUNICODE_STRING SourceRootDir) { - OBJECT_ATTRIBUTES ObjectAttributes; - UNICODE_STRING LinkName; - UNICODE_STRING SourceName; - WCHAR SourceBuffer[MAX_PATH] = {L'\0'}; - HANDLE Handle; - NTSTATUS Status; - ULONG Length; - PWCHAR Ptr; + OBJECT_ATTRIBUTES ObjectAttributes; + UNICODE_STRING LinkName; + UNICODE_STRING SourceName; + WCHAR SourceBuffer[MAX_PATH] = {L'\0'}; + HANDLE Handle; + NTSTATUS Status; + ULONG Length; + PWCHAR Ptr; - RtlInitUnicodeString(&LinkName, - L"\\SystemRoot"); + RtlInitUnicodeString(&LinkName, + L"\\SystemRoot"); - InitializeObjectAttributes(&ObjectAttributes, - &LinkName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); + InitializeObjectAttributes(&ObjectAttributes, + &LinkName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); - Status = NtOpenSymbolicLinkObject(&Handle, - SYMBOLIC_LINK_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - return(Status); + Status = NtOpenSymbolicLinkObject(&Handle, + SYMBOLIC_LINK_ALL_ACCESS, + &ObjectAttributes); + if (!NT_SUCCESS(Status)) + return Status; - SourceName.Length = 0; - SourceName.MaximumLength = MAX_PATH * sizeof(WCHAR); - SourceName.Buffer = SourceBuffer; + SourceName.Length = 0; + SourceName.MaximumLength = MAX_PATH * sizeof(WCHAR); + SourceName.Buffer = SourceBuffer; - Status = NtQuerySymbolicLinkObject(Handle, - &SourceName, - &Length); - NtClose(Handle); + Status = NtQuerySymbolicLinkObject(Handle, + &SourceName, + &Length); + NtClose(Handle); - if (NT_SUCCESS(Status)) + if (NT_SUCCESS(Status)) { - RtlCreateUnicodeString(SourcePath, - SourceName.Buffer); + RtlCreateUnicodeString(SourcePath, + SourceName.Buffer); - /* strip trailing directory */ - Ptr = wcsrchr(SourceName.Buffer, L'\\'); - if (Ptr) - { - RtlCreateUnicodeString(SourceRootDir, Ptr); - *Ptr = 0; - } - else - RtlCreateUnicodeString(SourceRootDir, L""); + /* strip trailing directory */ + Ptr = wcsrchr(SourceName.Buffer, L'\\'); + if (Ptr) + { + RtlCreateUnicodeString(SourceRootDir, Ptr); + *Ptr = 0; + } + else + RtlCreateUnicodeString(SourceRootDir, L""); - RtlCreateUnicodeString(SourceRootPath, - SourceName.Buffer); + RtlCreateUnicodeString(SourceRootPath, + SourceName.Buffer); } - NtClose(Handle); + NtClose(Handle); - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } - /* EOF */ diff --git a/base/setup/usetup/drivesup.h b/base/setup/usetup/drivesup.h index 37c918cf964..3d595b9a052 100644 --- a/base/setup/usetup/drivesup.h +++ b/base/setup/usetup/drivesup.h @@ -27,8 +27,9 @@ #pragma once NTSTATUS -GetSourcePaths(PUNICODE_STRING SourcePath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING SourceRootDir); +GetSourcePaths( + PUNICODE_STRING SourcePath, + PUNICODE_STRING SourceRootPath, + PUNICODE_STRING SourceRootDir); /* EOF */ diff --git a/base/setup/usetup/filequeue.c b/base/setup/usetup/filequeue.c index ce0b1449640..4f1bc3b33c6 100644 --- a/base/setup/usetup/filequeue.c +++ b/base/setup/usetup/filequeue.c @@ -35,407 +35,425 @@ typedef struct _QUEUEENTRY { - struct _QUEUEENTRY *Prev; - struct _QUEUEENTRY *Next; - - PWSTR SourceCabinet; /* May be NULL if file is not in a cabinet */ - PWSTR SourceRootPath; - PWSTR SourcePath; - PWSTR SourceFilename; - PWSTR TargetDirectory; - PWSTR TargetFilename; + struct _QUEUEENTRY *Prev; + struct _QUEUEENTRY *Next; + PWSTR SourceCabinet; /* May be NULL if file is not in a cabinet */ + PWSTR SourceRootPath; + PWSTR SourcePath; + PWSTR SourceFilename; + PWSTR TargetDirectory; + PWSTR TargetFilename; } QUEUEENTRY, *PQUEUEENTRY; typedef struct _FILEQUEUEHEADER { - PQUEUEENTRY CopyHead; - PQUEUEENTRY CopyTail; - ULONG CopyCount; + PQUEUEENTRY CopyHead; + PQUEUEENTRY CopyTail; + ULONG CopyCount; } FILEQUEUEHEADER, *PFILEQUEUEHEADER; /* FUNCTIONS ****************************************************************/ -HSPFILEQ WINAPI +HSPFILEQ +WINAPI SetupOpenFileQueue(VOID) { - PFILEQUEUEHEADER QueueHeader; + PFILEQUEUEHEADER QueueHeader; - /* Allocate queue header */ - QueueHeader = (PFILEQUEUEHEADER)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(FILEQUEUEHEADER)); - if (QueueHeader == NULL) - return(NULL); + /* Allocate queue header */ + QueueHeader = (PFILEQUEUEHEADER)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(FILEQUEUEHEADER)); + if (QueueHeader == NULL) + return NULL; - /* Initialize queue header */ - RtlZeroMemory(QueueHeader, - sizeof(FILEQUEUEHEADER)); + /* Initialize queue header */ + RtlZeroMemory(QueueHeader, + sizeof(FILEQUEUEHEADER)); - - return((HSPFILEQ)QueueHeader); + return (HSPFILEQ)QueueHeader; } -VOID WINAPI -SetupCloseFileQueue(HSPFILEQ QueueHandle) +VOID +WINAPI +SetupCloseFileQueue( + HSPFILEQ QueueHandle) { - PFILEQUEUEHEADER QueueHeader; - PQUEUEENTRY Entry; + PFILEQUEUEHEADER QueueHeader; + PQUEUEENTRY Entry; - if (QueueHandle == NULL) - return; + if (QueueHandle == NULL) + return; - QueueHeader = (PFILEQUEUEHEADER)QueueHandle; + QueueHeader = (PFILEQUEUEHEADER)QueueHandle; - /* Delete copy queue */ - Entry = QueueHeader->CopyHead; - while (Entry != NULL) + /* Delete copy queue */ + Entry = QueueHeader->CopyHead; + while (Entry != NULL) { - /* Delete all strings */ - if (Entry->SourceCabinet != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); - if (Entry->SourceRootPath != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - if (Entry->SourcePath != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); - if (Entry->SourceFilename != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); - if (Entry->TargetDirectory != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory); - if (Entry->TargetFilename != NULL) - RtlFreeHeap(ProcessHeap, 0, Entry->TargetFilename); + /* Delete all strings */ + if (Entry->SourceCabinet != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); - /* Unlink current queue entry */ - if (Entry->Next != NULL) - { - QueueHeader->CopyHead = Entry->Next; - QueueHeader->CopyHead->Prev = NULL; - } - else - { - QueueHeader->CopyHead = NULL; - QueueHeader->CopyTail = NULL; - } + if (Entry->SourceRootPath != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - /* Delete queue entry */ - RtlFreeHeap(ProcessHeap, 0, Entry); + if (Entry->SourcePath != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); - /* Get next queue entry */ - Entry = QueueHeader->CopyHead; + if (Entry->SourceFilename != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); + + if (Entry->TargetDirectory != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory); + + if (Entry->TargetFilename != NULL) + RtlFreeHeap(ProcessHeap, 0, Entry->TargetFilename); + + /* Unlink current queue entry */ + if (Entry->Next != NULL) + { + QueueHeader->CopyHead = Entry->Next; + QueueHeader->CopyHead->Prev = NULL; + } + else + { + QueueHeader->CopyHead = NULL; + QueueHeader->CopyTail = NULL; + } + + /* Delete queue entry */ + RtlFreeHeap(ProcessHeap, 0, Entry); + + /* Get next queue entry */ + Entry = QueueHeader->CopyHead; } - /* Delete queue header */ - RtlFreeHeap(ProcessHeap, - 0, - QueueHeader); + /* Delete queue header */ + RtlFreeHeap(ProcessHeap, 0, QueueHeader); } BOOL -SetupQueueCopy(HSPFILEQ QueueHandle, - PCWSTR SourceCabinet, - PCWSTR SourceRootPath, - PCWSTR SourcePath, - PCWSTR SourceFilename, - PCWSTR TargetDirectory, - PCWSTR TargetFilename) +SetupQueueCopy( + HSPFILEQ QueueHandle, + PCWSTR SourceCabinet, + PCWSTR SourceRootPath, + PCWSTR SourcePath, + PCWSTR SourceFilename, + PCWSTR TargetDirectory, + PCWSTR TargetFilename) { - PFILEQUEUEHEADER QueueHeader; - PQUEUEENTRY Entry; - ULONG Length; + PFILEQUEUEHEADER QueueHeader; + PQUEUEENTRY Entry; + ULONG Length; - /* SourceCabinet may be NULL */ - if (QueueHandle == NULL || - SourceRootPath == NULL || - SourceFilename == NULL || - TargetDirectory == NULL) - return(FALSE); + /* SourceCabinet may be NULL */ + if (QueueHandle == NULL || + SourceRootPath == NULL || + SourceFilename == NULL || + TargetDirectory == NULL) + return FALSE; - QueueHeader = (PFILEQUEUEHEADER)QueueHandle; + QueueHeader = (PFILEQUEUEHEADER)QueueHandle; - /* Allocate new queue entry */ - Entry = (PQUEUEENTRY)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(QUEUEENTRY)); - if (Entry == NULL) - return(FALSE); + /* Allocate new queue entry */ + Entry = (PQUEUEENTRY)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(QUEUEENTRY)); + if (Entry == NULL) + return FALSE; - RtlZeroMemory(Entry, - sizeof(QUEUEENTRY)); + RtlZeroMemory(Entry, + sizeof(QUEUEENTRY)); - /* Copy source cabinet if available */ - if (SourceCabinet != NULL) + /* Copy source cabinet if available */ + if (SourceCabinet != NULL) { - Length = wcslen(SourceCabinet); - Entry->SourceCabinet = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->SourceCabinet == NULL) - { + Length = wcslen(SourceCabinet); + Entry->SourceCabinet = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->SourceCabinet == NULL) + { + RtlFreeHeap(ProcessHeap, 0, Entry); + return FALSE; + } + + wcsncpy(Entry->SourceCabinet, SourceCabinet, Length); + Entry->SourceCabinet[Length] = (WCHAR)0; + } + else + { + Entry->SourceCabinet = NULL; + } + + /* Copy source root path */ + Length = wcslen(SourceRootPath); + Entry->SourceRootPath = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->SourceRootPath == NULL) + { + if (Entry->SourceCabinet != NULL) + { + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + } + RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); - } - wcsncpy(Entry->SourceCabinet, SourceCabinet, Length); - Entry->SourceCabinet[Length] = (WCHAR)0; - } - else - { - Entry->SourceCabinet = NULL; + return FALSE; } - /* Copy source root path */ - Length = wcslen(SourceRootPath); - Entry->SourceRootPath = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->SourceRootPath == NULL) - { - if (Entry->SourceCabinet != NULL) - { - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); - } - RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); - } - wcsncpy(Entry->SourceRootPath, SourceRootPath, Length); - Entry->SourceRootPath[Length] = (WCHAR)0; + wcsncpy(Entry->SourceRootPath, SourceRootPath, Length); + Entry->SourceRootPath[Length] = (WCHAR)0; - /* Copy source path */ - if (SourcePath != NULL) - { - Length = wcslen(SourcePath); - Entry->SourcePath = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->SourcePath == NULL) + /* Copy source path */ + if (SourcePath != NULL) { - if (Entry->SourceCabinet != NULL) + Length = wcslen(SourcePath); + Entry->SourcePath = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->SourcePath == NULL) { - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + if (Entry->SourceCabinet != NULL) + { + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + } + + RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); + RtlFreeHeap(ProcessHeap, 0, Entry); + return FALSE; } - RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); + + wcsncpy(Entry->SourcePath, SourcePath, Length); + Entry->SourcePath[Length] = (WCHAR)0; } - wcsncpy(Entry->SourcePath, SourcePath, Length); - Entry->SourcePath[Length] = (WCHAR)0; - } - /* Copy source file name */ - Length = wcslen(SourceFilename); - Entry->SourceFilename = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->SourceFilename == NULL) - { - if (Entry->SourceCabinet != NULL) - { - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); - } - RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); - RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); - } - wcsncpy(Entry->SourceFilename, SourceFilename, Length); - Entry->SourceFilename[Length] = (WCHAR)0; - - /* Copy target directory */ - Length = wcslen(TargetDirectory); - if (TargetDirectory[Length] == '\\') - Length--; - Entry->TargetDirectory = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->TargetDirectory == NULL) - { - if (Entry->SourceCabinet != NULL) - { - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); - } - RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); - RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); - RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); - } - wcsncpy(Entry->TargetDirectory, TargetDirectory, Length); - Entry->TargetDirectory[Length] = (WCHAR)0; - - /* Copy optional target filename */ - if (TargetFilename != NULL) - { - Length = wcslen(TargetFilename); - Entry->TargetFilename = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (Length + 1) * sizeof(WCHAR)); - if (Entry->TargetFilename == NULL) + /* Copy source file name */ + Length = wcslen(SourceFilename); + Entry->SourceFilename = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->SourceFilename == NULL) { - if (Entry->SourceCabinet != NULL) + if (Entry->SourceCabinet != NULL) { - RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); } - RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); - RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); - RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); - RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory); - RtlFreeHeap(ProcessHeap, 0, Entry); - return(FALSE); + + RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); + RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); + RtlFreeHeap(ProcessHeap, 0, Entry); + return FALSE; } - wcsncpy(Entry->TargetFilename, TargetFilename, Length); - Entry->TargetFilename[Length] = (WCHAR)0; - } - /* Append queue entry */ - if (QueueHeader->CopyHead == NULL) // && QueueHeader->CopyTail == NULL) - { - Entry->Prev = NULL; - Entry->Next = NULL; - QueueHeader->CopyHead = Entry; - QueueHeader->CopyTail = Entry; - } - else - { - Entry->Prev = QueueHeader->CopyTail; - Entry->Next = NULL; - QueueHeader->CopyTail->Next = Entry; - QueueHeader->CopyTail = Entry; - } - QueueHeader->CopyCount++; + wcsncpy(Entry->SourceFilename, SourceFilename, Length); + Entry->SourceFilename[Length] = (WCHAR)0; - return(TRUE); + /* Copy target directory */ + Length = wcslen(TargetDirectory); + if (TargetDirectory[Length] == '\\') + Length--; + Entry->TargetDirectory = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->TargetDirectory == NULL) + { + if (Entry->SourceCabinet != NULL) + { + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + } + + RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); + RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); + RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); + RtlFreeHeap(ProcessHeap, 0, Entry); + return FALSE; + } + + wcsncpy(Entry->TargetDirectory, TargetDirectory, Length); + Entry->TargetDirectory[Length] = (WCHAR)0; + + /* Copy optional target filename */ + if (TargetFilename != NULL) + { + Length = wcslen(TargetFilename); + Entry->TargetFilename = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (Length + 1) * sizeof(WCHAR)); + if (Entry->TargetFilename == NULL) + { + if (Entry->SourceCabinet != NULL) + { + RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet); + } + + RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath); + RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath); + RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename); + RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory); + RtlFreeHeap(ProcessHeap, 0, Entry); + return FALSE; + } + + wcsncpy(Entry->TargetFilename, TargetFilename, Length); + Entry->TargetFilename[Length] = (WCHAR)0; + } + + /* Append queue entry */ + if (QueueHeader->CopyHead == NULL) // && QueueHeader->CopyTail == NULL) + { + Entry->Prev = NULL; + Entry->Next = NULL; + QueueHeader->CopyHead = Entry; + QueueHeader->CopyTail = Entry; + } + else + { + Entry->Prev = QueueHeader->CopyTail; + Entry->Next = NULL; + QueueHeader->CopyTail->Next = Entry; + QueueHeader->CopyTail = Entry; + } + + QueueHeader->CopyCount++; + + return TRUE; } -BOOL WINAPI -SetupCommitFileQueueW(HWND Owner, - HSPFILEQ QueueHandle, - PSP_FILE_CALLBACK_W MsgHandler, - PVOID Context) +BOOL +WINAPI +SetupCommitFileQueueW( + HWND Owner, + HSPFILEQ QueueHandle, + PSP_FILE_CALLBACK_W MsgHandler, + PVOID Context) { - WCHAR CabinetName[MAX_PATH]; - PFILEQUEUEHEADER QueueHeader; - PQUEUEENTRY Entry; - NTSTATUS Status; - PCWSTR TargetRootPath, TargetPath; + WCHAR CabinetName[MAX_PATH]; + PFILEQUEUEHEADER QueueHeader; + PQUEUEENTRY Entry; + NTSTATUS Status; + PCWSTR TargetRootPath, TargetPath; - WCHAR FileSrcPath[MAX_PATH]; - WCHAR FileDstPath[MAX_PATH]; + WCHAR FileSrcPath[MAX_PATH]; + WCHAR FileDstPath[MAX_PATH]; - TargetRootPath = ((PCOPYCONTEXT)Context)->DestinationRootPath; - TargetPath = ((PCOPYCONTEXT)Context)->InstallPath; + TargetRootPath = ((PCOPYCONTEXT)Context)->DestinationRootPath; + TargetPath = ((PCOPYCONTEXT)Context)->InstallPath; - if (QueueHandle == NULL) - return(FALSE); + if (QueueHandle == NULL) + return FALSE; - QueueHeader = (PFILEQUEUEHEADER)QueueHandle; - - MsgHandler(Context, - SPFILENOTIFY_STARTQUEUE, - 0, - 0); - - MsgHandler(Context, - SPFILENOTIFY_STARTSUBQUEUE, - FILEOP_COPY, - QueueHeader->CopyCount); - - /* Commit copy queue */ - Entry = QueueHeader->CopyHead; - while (Entry != NULL) - { - wcscpy(FileSrcPath, Entry->SourceRootPath); - if (Entry->SourcePath != NULL) - wcscat(FileSrcPath, Entry->SourcePath); - wcscat(FileSrcPath, L"\\"); - wcscat(FileSrcPath, Entry->SourceFilename); - - /* Build the full target path */ - wcscpy(FileDstPath, TargetRootPath); - if (Entry->TargetDirectory[0] == L'\\') - { - wcscat(FileDstPath, Entry->TargetDirectory); - } - else - { - if (TargetPath != NULL) - { - if (TargetPath[0] != L'\\') - wcscat(FileDstPath, L"\\"); - wcscat(FileDstPath, TargetPath); - } - wcscat(FileDstPath, L"\\"); - wcscat(FileDstPath, Entry->TargetDirectory); - } - - /* Use only the destination path if the file is in a cabinet */ - if (Entry->SourceCabinet == NULL) - { - wcscat(FileDstPath, L"\\"); - if (Entry->TargetFilename != NULL) - wcscat(FileDstPath, Entry->TargetFilename); - else - wcscat(FileDstPath, Entry->SourceFilename); - } - - /* FIXME: Do it! */ - DPRINT("'%S' ==> '%S'\n", - FileSrcPath, - FileDstPath); + QueueHeader = (PFILEQUEUEHEADER)QueueHandle; MsgHandler(Context, - SPFILENOTIFY_STARTCOPY, - (UINT_PTR)Entry->SourceFilename, - FILEOP_COPY); + SPFILENOTIFY_STARTQUEUE, + 0, + 0); - if (Entry->SourceCabinet != NULL) - { - /* Extract the file */ - wcscpy(CabinetName, Entry->SourceRootPath); + MsgHandler(Context, + SPFILENOTIFY_STARTSUBQUEUE, + FILEOP_COPY, + QueueHeader->CopyCount); + + /* Commit copy queue */ + Entry = QueueHeader->CopyHead; + while (Entry != NULL) + { + wcscpy(FileSrcPath, Entry->SourceRootPath); if (Entry->SourcePath != NULL) - wcscat(CabinetName, Entry->SourcePath); - wcscat(CabinetName, L"\\"); - wcscat(CabinetName, Entry->SourceCabinet); - Status = SetupExtractFile(CabinetName, Entry->SourceFilename, FileDstPath); - } - else - { - /* Copy the file */ - Status = SetupCopyFile(FileSrcPath, FileDstPath); - } - if (!NT_SUCCESS(Status)) - { - MsgHandler(Context, - SPFILENOTIFY_COPYERROR, - (UINT_PTR)Entry->SourceFilename, - FILEOP_COPY); + wcscat(FileSrcPath, Entry->SourcePath); + wcscat(FileSrcPath, L"\\"); + wcscat(FileSrcPath, Entry->SourceFilename); - } - else - { - MsgHandler(Context, - SPFILENOTIFY_ENDCOPY, - (UINT_PTR)Entry->SourceFilename, - FILEOP_COPY); + /* Build the full target path */ + wcscpy(FileDstPath, TargetRootPath); + if (Entry->TargetDirectory[0] == L'\\') + { + wcscat(FileDstPath, Entry->TargetDirectory); + } + else + { + if (TargetPath != NULL) + { + if (TargetPath[0] != L'\\') + wcscat(FileDstPath, L"\\"); + wcscat(FileDstPath, TargetPath); + } + + wcscat(FileDstPath, L"\\"); + wcscat(FileDstPath, Entry->TargetDirectory); + } + + /* Use only the destination path if the file is in a cabinet */ + if (Entry->SourceCabinet == NULL) + { + wcscat(FileDstPath, L"\\"); + if (Entry->TargetFilename != NULL) + wcscat(FileDstPath, Entry->TargetFilename); + else + wcscat(FileDstPath, Entry->SourceFilename); + } + + /* FIXME: Do it! */ + DPRINT("'%S' ==> '%S'\n", FileSrcPath, FileDstPath); + + MsgHandler(Context, + SPFILENOTIFY_STARTCOPY, + (UINT_PTR)Entry->SourceFilename, + FILEOP_COPY); + + if (Entry->SourceCabinet != NULL) + { + /* Extract the file */ + wcscpy(CabinetName, Entry->SourceRootPath); + if (Entry->SourcePath != NULL) + wcscat(CabinetName, Entry->SourcePath); + wcscat(CabinetName, L"\\"); + wcscat(CabinetName, Entry->SourceCabinet); + Status = SetupExtractFile(CabinetName, Entry->SourceFilename, FileDstPath); + } + else + { + /* Copy the file */ + Status = SetupCopyFile(FileSrcPath, FileDstPath); + } + + if (!NT_SUCCESS(Status)) + { + MsgHandler(Context, + SPFILENOTIFY_COPYERROR, + (UINT_PTR)Entry->SourceFilename, + FILEOP_COPY); + } + else + { + MsgHandler(Context, + SPFILENOTIFY_ENDCOPY, + (UINT_PTR)Entry->SourceFilename, + FILEOP_COPY); + } + + Entry = Entry->Next; } - Entry = Entry->Next; - } + MsgHandler(Context, + SPFILENOTIFY_ENDSUBQUEUE, + FILEOP_COPY, + 0); - MsgHandler(Context, - SPFILENOTIFY_ENDSUBQUEUE, - FILEOP_COPY, - 0); + MsgHandler(Context, + SPFILENOTIFY_ENDQUEUE, + 0, + 0); - MsgHandler(Context, - SPFILENOTIFY_ENDQUEUE, - 0, - 0); - - return(TRUE); + return TRUE; } /* EOF */ diff --git a/base/setup/usetup/filequeue.h b/base/setup/usetup/filequeue.h index 7dc8587d548..17ebe04fe0e 100644 --- a/base/setup/usetup/filequeue.h +++ b/base/setup/usetup/filequeue.h @@ -51,55 +51,62 @@ typedef PVOID HSPFILEQ; -typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID Context, - UINT Notification, - UINT_PTR Param1, - UINT_PTR Param2); +typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)( + PVOID Context, + UINT Notification, + UINT_PTR Param1, + UINT_PTR Param2); typedef struct _COPYCONTEXT { - LPCWSTR DestinationRootPath; /* Not owned by this structure */ - LPCWSTR InstallPath; /* Not owned by this structure */ - ULONG TotalOperations; - ULONG CompletedOperations; - PPROGRESSBAR ProgressBar; - PPROGRESSBAR MemoryBars[4]; + LPCWSTR DestinationRootPath; /* Not owned by this structure */ + LPCWSTR InstallPath; /* Not owned by this structure */ + ULONG TotalOperations; + ULONG CompletedOperations; + PPROGRESSBAR ProgressBar; + PPROGRESSBAR MemoryBars[4]; } COPYCONTEXT, *PCOPYCONTEXT; /* FUNCTIONS ****************************************************************/ -HSPFILEQ WINAPI +HSPFILEQ +WINAPI SetupOpenFileQueue(VOID); -VOID WINAPI +VOID +WINAPI SetupCloseFileQueue( - IN HSPFILEQ QueueHandle); - -BOOL WINAPI -SetupQueueCopyWNew( - IN HSPFILEQ QueueHandle, - IN PCWSTR SourceRootPath, - IN PCWSTR SourcePath, - IN PCWSTR SourceFileName, - IN PCWSTR SourceDescription, - IN PCWSTR SourceTagFile, - IN PCWSTR TargetDirectory, - IN PCWSTR TargetFileName, - IN DWORD CopyStyle); + IN HSPFILEQ QueueHandle); BOOL -SetupQueueCopy(HSPFILEQ QueueHandle, - PCWSTR SourceCabinet, - PCWSTR SourceRootPath, - PCWSTR SourcePath, - PCWSTR SourceFilename, - PCWSTR TargetDirectory, - PCWSTR TargetFilename); +WINAPI +SetupQueueCopyWNew( + IN HSPFILEQ QueueHandle, + IN PCWSTR SourceRootPath, + IN PCWSTR SourcePath, + IN PCWSTR SourceFileName, + IN PCWSTR SourceDescription, + IN PCWSTR SourceTagFile, + IN PCWSTR TargetDirectory, + IN PCWSTR TargetFileName, + IN DWORD CopyStyle); -BOOL WINAPI -SetupCommitFileQueueW(HWND Owner, - HSPFILEQ QueueHandle, - PSP_FILE_CALLBACK_W MsgHandler, - PVOID Context); +BOOL +SetupQueueCopy( + HSPFILEQ QueueHandle, + PCWSTR SourceCabinet, + PCWSTR SourceRootPath, + PCWSTR SourcePath, + PCWSTR SourceFilename, + PCWSTR TargetDirectory, + PCWSTR TargetFilename); + +BOOL +WINAPI +SetupCommitFileQueueW( + HWND Owner, + HSPFILEQ QueueHandle, + PSP_FILE_CALLBACK_W MsgHandler, + PVOID Context); /* EOF */ diff --git a/base/setup/usetup/filesup.c b/base/setup/usetup/filesup.c index 290208857a2..eaabc3d479f 100644 --- a/base/setup/usetup/filesup.c +++ b/base/setup/usetup/filesup.c @@ -38,358 +38,373 @@ static WCHAR CurrentCabinetName[MAX_PATH]; static CAB_SEARCH Search; NTSTATUS -SetupCreateDirectory(PWCHAR DirectoryName) +SetupCreateDirectory( + PWCHAR DirectoryName) { - OBJECT_ATTRIBUTES ObjectAttributes; - IO_STATUS_BLOCK IoStatusBlock; - UNICODE_STRING PathName; - HANDLE DirectoryHandle; - NTSTATUS Status; + OBJECT_ATTRIBUTES ObjectAttributes; + IO_STATUS_BLOCK IoStatusBlock; + UNICODE_STRING PathName; + HANDLE DirectoryHandle; + NTSTATUS Status; - RtlCreateUnicodeString(&PathName, - DirectoryName); - if (PathName.Length > sizeof(WCHAR) && - PathName.Buffer[PathName.Length / sizeof(WCHAR) - 2] == L'\\' && - PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'.') + RtlCreateUnicodeString(&PathName, + DirectoryName); + if (PathName.Length > sizeof(WCHAR) && + PathName.Buffer[PathName.Length / sizeof(WCHAR) - 2] == L'\\' && + PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'.') { - PathName.Length -= sizeof(WCHAR); - PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0; + PathName.Length -= sizeof(WCHAR); + PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0; } - if (PathName.Length > sizeof(WCHAR) && - PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'\\') + if (PathName.Length > sizeof(WCHAR) && + PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'\\') { - PathName.Length -= sizeof(WCHAR); - PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0; - } - - InitializeObjectAttributes(&ObjectAttributes, - &PathName, - OBJ_CASE_INSENSITIVE | OBJ_INHERIT, - NULL, - NULL); - - Status = NtCreateFile(&DirectoryHandle, - DIRECTORY_ALL_ACCESS, - &ObjectAttributes, - &IoStatusBlock, - NULL, - FILE_ATTRIBUTE_DIRECTORY, - FILE_SHARE_READ | FILE_SHARE_WRITE, - FILE_OPEN_IF, - FILE_DIRECTORY_FILE, - NULL, - 0); - if (NT_SUCCESS(Status)) - { - NtClose(DirectoryHandle); + PathName.Length -= sizeof(WCHAR); + PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0; } - RtlFreeUnicodeString(&PathName); + InitializeObjectAttributes(&ObjectAttributes, + &PathName, + OBJ_CASE_INSENSITIVE | OBJ_INHERIT, + NULL, + NULL); - return(Status); + Status = NtCreateFile(&DirectoryHandle, + DIRECTORY_ALL_ACCESS, + &ObjectAttributes, + &IoStatusBlock, + NULL, + FILE_ATTRIBUTE_DIRECTORY, + FILE_SHARE_READ | FILE_SHARE_WRITE, + FILE_OPEN_IF, + FILE_DIRECTORY_FILE, + NULL, + 0); + if (NT_SUCCESS(Status)) + { + NtClose(DirectoryHandle); + } + + RtlFreeUnicodeString(&PathName); + + return Status; } NTSTATUS -SetupCopyFile(PWCHAR SourceFileName, - PWCHAR DestinationFileName) +SetupCopyFile( + PWCHAR SourceFileName, + PWCHAR DestinationFileName) { - OBJECT_ATTRIBUTES ObjectAttributes; - HANDLE FileHandleSource; - HANDLE FileHandleDest; - static IO_STATUS_BLOCK IoStatusBlock; - FILE_STANDARD_INFORMATION FileStandard; - FILE_BASIC_INFORMATION FileBasic; - ULONG RegionSize; - UNICODE_STRING FileName; - NTSTATUS Status; - PVOID SourceFileMap = 0; - HANDLE SourceFileSection; - SIZE_T SourceSectionSize = 0; - LARGE_INTEGER ByteOffset; + OBJECT_ATTRIBUTES ObjectAttributes; + HANDLE FileHandleSource; + HANDLE FileHandleDest; + static IO_STATUS_BLOCK IoStatusBlock; + FILE_STANDARD_INFORMATION FileStandard; + FILE_BASIC_INFORMATION FileBasic; + ULONG RegionSize; + UNICODE_STRING FileName; + NTSTATUS Status; + PVOID SourceFileMap = 0; + HANDLE SourceFileSection; + SIZE_T SourceSectionSize = 0; + LARGE_INTEGER ByteOffset; #ifdef __REACTOS__ - RtlInitUnicodeString(&FileName, - SourceFileName); + RtlInitUnicodeString(&FileName, + SourceFileName); - InitializeObjectAttributes(&ObjectAttributes, - &FileName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); + InitializeObjectAttributes(&ObjectAttributes, + &FileName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); - Status = NtOpenFile(&FileHandleSource, - GENERIC_READ, - &ObjectAttributes, - &IoStatusBlock, - FILE_SHARE_READ, - FILE_SEQUENTIAL_ONLY); - if(!NT_SUCCESS(Status)) + Status = NtOpenFile(&FileHandleSource, + GENERIC_READ, + &ObjectAttributes, + &IoStatusBlock, + FILE_SHARE_READ, + FILE_SEQUENTIAL_ONLY); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtOpenFile failed: %x, %wZ\n", Status, &FileName); - goto done; + DPRINT1("NtOpenFile failed: %x, %wZ\n", Status, &FileName); + goto done; } #else - FileHandleSource = CreateFileW(SourceFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); - if (FileHandleSource == INVALID_HANDLE_VALUE) - { - Status = STATUS_UNSUCCESSFUL; - goto done; - } + FileHandleSource = CreateFileW(SourceFileName, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + 0, + NULL); + if (FileHandleSource == INVALID_HANDLE_VALUE) + { + Status = STATUS_UNSUCCESSFUL; + goto done; + } #endif - Status = NtQueryInformationFile(FileHandleSource, - &IoStatusBlock, - &FileStandard, - sizeof(FILE_STANDARD_INFORMATION), - FileStandardInformation); - if(!NT_SUCCESS(Status)) + Status = NtQueryInformationFile(FileHandleSource, + &IoStatusBlock, + &FileStandard, + sizeof(FILE_STANDARD_INFORMATION), + FileStandardInformation); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtQueryInformationFile failed: %x\n", Status); - goto closesrc; - } - Status = NtQueryInformationFile(FileHandleSource, - &IoStatusBlock,&FileBasic, - sizeof(FILE_BASIC_INFORMATION), - FileBasicInformation); - if(!NT_SUCCESS(Status)) - { - DPRINT1("NtQueryInformationFile failed: %x\n", Status); - goto closesrc; + DPRINT1("NtQueryInformationFile failed: %x\n", Status); + goto closesrc; } - Status = NtCreateSection( &SourceFileSection, - SECTION_MAP_READ, - NULL, - NULL, - PAGE_READONLY, - SEC_COMMIT, - FileHandleSource); - if(!NT_SUCCESS(Status)) + Status = NtQueryInformationFile(FileHandleSource, + &IoStatusBlock,&FileBasic, + sizeof(FILE_BASIC_INFORMATION), + FileBasicInformation); + if (!NT_SUCCESS(Status)) + { + DPRINT1("NtQueryInformationFile failed: %x\n", Status); + goto closesrc; + } + + Status = NtCreateSection(&SourceFileSection, + SECTION_MAP_READ, + NULL, + NULL, + PAGE_READONLY, + SEC_COMMIT, + FileHandleSource); + if (!NT_SUCCESS(Status)) { DPRINT1("NtCreateSection failed: %x, %S\n", Status, SourceFileName); goto closesrc; } - Status = NtMapViewOfSection( SourceFileSection, - NtCurrentProcess(), - &SourceFileMap, - 0, - 0, - NULL, - &SourceSectionSize, - ViewUnmap, - 0, - PAGE_READONLY ); - if(!NT_SUCCESS(Status)) + Status = NtMapViewOfSection(SourceFileSection, + NtCurrentProcess(), + &SourceFileMap, + 0, + 0, + NULL, + &SourceSectionSize, + ViewUnmap, + 0, + PAGE_READONLY ); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtMapViewOfSection failed: %x, %S\n", Status, SourceFileName); - goto closesrcsec; + DPRINT1("NtMapViewOfSection failed: %x, %S\n", Status, SourceFileName); + goto closesrcsec; } - RtlInitUnicodeString(&FileName, - DestinationFileName); + RtlInitUnicodeString(&FileName, + DestinationFileName); - InitializeObjectAttributes(&ObjectAttributes, - &FileName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); + InitializeObjectAttributes(&ObjectAttributes, + &FileName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); - Status = NtCreateFile(&FileHandleDest, - GENERIC_WRITE | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - NULL, - FILE_ATTRIBUTE_NORMAL, - 0, - FILE_OVERWRITE_IF, - FILE_NO_INTERMEDIATE_BUFFERING | - FILE_SEQUENTIAL_ONLY | - FILE_SYNCHRONOUS_IO_NONALERT, - NULL, - 0); - if(!NT_SUCCESS(Status)) + Status = NtCreateFile(&FileHandleDest, + GENERIC_WRITE | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + NULL, + FILE_ATTRIBUTE_NORMAL, + 0, + FILE_OVERWRITE_IF, + FILE_NO_INTERMEDIATE_BUFFERING | + FILE_SEQUENTIAL_ONLY | + FILE_SYNCHRONOUS_IO_NONALERT, + NULL, + 0); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtCreateFile failed: %x\n", Status); - goto unmapsrcsec; + DPRINT1("NtCreateFile failed: %x\n", Status); + goto unmapsrcsec; } - RegionSize = (ULONG)PAGE_ROUND_UP(FileStandard.EndOfFile.u.LowPart); - IoStatusBlock.Status = 0; - ByteOffset.QuadPart = 0; - Status = NtWriteFile(FileHandleDest, - NULL, - NULL, - NULL, - &IoStatusBlock, - SourceFileMap, - RegionSize, - &ByteOffset, - NULL); - if(!NT_SUCCESS(Status)) + RegionSize = (ULONG)PAGE_ROUND_UP(FileStandard.EndOfFile.u.LowPart); + IoStatusBlock.Status = 0; + ByteOffset.QuadPart = 0; + Status = NtWriteFile(FileHandleDest, + NULL, + NULL, + NULL, + &IoStatusBlock, + SourceFileMap, + RegionSize, + &ByteOffset, + NULL); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtWriteFile failed: %x:%x, iosb: %p src: %p, size: %x\n", Status, IoStatusBlock.Status, &IoStatusBlock, SourceFileMap, RegionSize); - goto closedest; - } - /* Copy file date/time from source file */ - Status = NtSetInformationFile(FileHandleDest, - &IoStatusBlock, - &FileBasic, - sizeof(FILE_BASIC_INFORMATION), - FileBasicInformation); - if(!NT_SUCCESS(Status)) - { - DPRINT1("NtSetInformationFile failed: %x\n", Status); - goto closedest; + DPRINT1("NtWriteFile failed: %x:%x, iosb: %p src: %p, size: %x\n", Status, IoStatusBlock.Status, &IoStatusBlock, SourceFileMap, RegionSize); + goto closedest; } - /* shorten the file back to it's real size after completing the write */ - Status = NtSetInformationFile(FileHandleDest, - &IoStatusBlock, - &FileStandard.EndOfFile, - sizeof(FILE_END_OF_FILE_INFORMATION), - FileEndOfFileInformation); - - if(!NT_SUCCESS(Status)) + /* Copy file date/time from source file */ + Status = NtSetInformationFile(FileHandleDest, + &IoStatusBlock, + &FileBasic, + sizeof(FILE_BASIC_INFORMATION), + FileBasicInformation); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtSetInformationFile failed: %x\n", Status); + DPRINT1("NtSetInformationFile failed: %x\n", Status); + goto closedest; } - closedest: - NtClose(FileHandleDest); - unmapsrcsec: - NtUnmapViewOfSection( NtCurrentProcess(), SourceFileMap ); - closesrcsec: - NtClose(SourceFileSection); - closesrc: - NtClose(FileHandleSource); - done: - return(Status); + /* shorten the file back to it's real size after completing the write */ + Status = NtSetInformationFile(FileHandleDest, + &IoStatusBlock, + &FileStandard.EndOfFile, + sizeof(FILE_END_OF_FILE_INFORMATION), + FileEndOfFileInformation); + if (!NT_SUCCESS(Status)) + { + DPRINT1("NtSetInformationFile failed: %x\n", Status); + } + +closedest: + NtClose(FileHandleDest); + +unmapsrcsec: + NtUnmapViewOfSection(NtCurrentProcess(), SourceFileMap); + +closesrcsec: + NtClose(SourceFileSection); + +closesrc: + NtClose(FileHandleSource); + +done: + return Status; } #ifdef __REACTOS__ NTSTATUS -SetupExtractFile(PWCHAR CabinetFileName, - PWCHAR SourceFileName, - PWCHAR DestinationPathName) +SetupExtractFile( + PWCHAR CabinetFileName, + PWCHAR SourceFileName, + PWCHAR DestinationPathName) { - ULONG CabStatus; + ULONG CabStatus; - DPRINT("SetupExtractFile(CabinetFileName %S, SourceFileName %S, DestinationPathName %S)\n", - CabinetFileName, SourceFileName, DestinationPathName); + DPRINT("SetupExtractFile(CabinetFileName %S, SourceFileName %S, DestinationPathName %S)\n", + CabinetFileName, SourceFileName, DestinationPathName); - if (HasCurrentCabinet) + if (HasCurrentCabinet) { - DPRINT("CurrentCabinetName: %S\n", CurrentCabinetName); + DPRINT("CurrentCabinetName: %S\n", CurrentCabinetName); } - if ((HasCurrentCabinet) && (wcscmp(CabinetFileName, CurrentCabinetName) == 0)) + if ((HasCurrentCabinet) && (wcscmp(CabinetFileName, CurrentCabinetName) == 0)) { - DPRINT("Using same cabinet as last time\n"); + DPRINT("Using same cabinet as last time\n"); - /* Use our last location because the files should be sequential */ - CabStatus = CabinetFindNextFileSequential(SourceFileName, &Search); - if (CabStatus != CAB_STATUS_SUCCESS) - { - DPRINT("Sequential miss on file: %S\n", SourceFileName); - - /* Looks like we got unlucky */ - CabStatus = CabinetFindFirst(SourceFileName, &Search); - } - } - else - { - DPRINT("Using new cabinet\n"); - - if (HasCurrentCabinet) + /* Use our last location because the files should be sequential */ + CabStatus = CabinetFindNextFileSequential(SourceFileName, &Search); + if (CabStatus != CAB_STATUS_SUCCESS) { - CabinetCleanup(); + DPRINT("Sequential miss on file: %S\n", SourceFileName); + + /* Looks like we got unlucky */ + CabStatus = CabinetFindFirst(SourceFileName, &Search); + } + } + else + { + DPRINT("Using new cabinet\n"); + + if (HasCurrentCabinet) + { + CabinetCleanup(); } - wcscpy(CurrentCabinetName, CabinetFileName); + wcscpy(CurrentCabinetName, CabinetFileName); - CabinetInitialize(); - CabinetSetEventHandlers(NULL, NULL, NULL); - CabinetSetCabinetName(CabinetFileName); + CabinetInitialize(); + CabinetSetEventHandlers(NULL, NULL, NULL); + CabinetSetCabinetName(CabinetFileName); - CabStatus = CabinetOpen(); - if (CabStatus == CAB_STATUS_SUCCESS) + CabStatus = CabinetOpen(); + if (CabStatus == CAB_STATUS_SUCCESS) { - DPRINT("Opened cabinet %S\n", CabinetGetCabinetName()); - HasCurrentCabinet = TRUE; + DPRINT("Opened cabinet %S\n", CabinetGetCabinetName()); + HasCurrentCabinet = TRUE; } - else + else { - DPRINT("Cannot open cabinet (%d)\n", CabStatus); - return STATUS_UNSUCCESSFUL; + DPRINT("Cannot open cabinet (%d)\n", CabStatus); + return STATUS_UNSUCCESSFUL; } - - /* We have to start at the beginning here */ - CabStatus = CabinetFindFirst(SourceFileName, &Search); + + /* We have to start at the beginning here */ + CabStatus = CabinetFindFirst(SourceFileName, &Search); } - - if (CabStatus != CAB_STATUS_SUCCESS) - { - DPRINT1("Unable to find '%S' in cabinet '%S'\n", SourceFileName, CabinetGetCabinetName()); - return STATUS_UNSUCCESSFUL; - } - CabinetSetDestinationPath(DestinationPathName); - CabStatus = CabinetExtractFile(&Search); - if (CabStatus != CAB_STATUS_SUCCESS) + if (CabStatus != CAB_STATUS_SUCCESS) { - DPRINT("Cannot extract file %S (%d)\n", SourceFileName, CabStatus); - return STATUS_UNSUCCESSFUL; + DPRINT1("Unable to find '%S' in cabinet '%S'\n", SourceFileName, CabinetGetCabinetName()); + return STATUS_UNSUCCESSFUL; } - return STATUS_SUCCESS; + CabinetSetDestinationPath(DestinationPathName); + CabStatus = CabinetExtractFile(&Search); + if (CabStatus != CAB_STATUS_SUCCESS) + { + DPRINT("Cannot extract file %S (%d)\n", SourceFileName, CabStatus); + return STATUS_UNSUCCESSFUL; + } + + return STATUS_SUCCESS; } #endif BOOLEAN -DoesFileExist(PWSTR PathName, - PWSTR FileName) +DoesFileExist( + PWSTR PathName, + PWSTR FileName) { - OBJECT_ATTRIBUTES ObjectAttributes; - IO_STATUS_BLOCK IoStatusBlock; - UNICODE_STRING Name; - WCHAR FullName[MAX_PATH]; - HANDLE FileHandle; - NTSTATUS Status; + OBJECT_ATTRIBUTES ObjectAttributes; + IO_STATUS_BLOCK IoStatusBlock; + UNICODE_STRING Name; + WCHAR FullName[MAX_PATH]; + HANDLE FileHandle; + NTSTATUS Status; - wcscpy(FullName, PathName); - if (FileName != NULL) + wcscpy(FullName, PathName); + if (FileName != NULL) { - if (FileName[0] != L'\\') - wcscat(FullName, L"\\"); - wcscat(FullName, FileName); + if (FileName[0] != L'\\') + wcscat(FullName, L"\\"); + wcscat(FullName, FileName); } - RtlInitUnicodeString(&Name, - FullName); + RtlInitUnicodeString(&Name, + FullName); - InitializeObjectAttributes(&ObjectAttributes, - &Name, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); + InitializeObjectAttributes(&ObjectAttributes, + &Name, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT); - if (!NT_SUCCESS(Status)) + Status = NtOpenFile(&FileHandle, + GENERIC_READ | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + 0, + FILE_SYNCHRONOUS_IO_NONALERT); + if (!NT_SUCCESS(Status)) { - return(FALSE); + return FALSE; } - NtClose(FileHandle); + NtClose(FileHandle); - return(TRUE); + return TRUE; } /* EOF */ diff --git a/base/setup/usetup/filesup.h b/base/setup/usetup/filesup.h index a1d45cb9417..5522321fbd7 100644 --- a/base/setup/usetup/filesup.h +++ b/base/setup/usetup/filesup.h @@ -27,19 +27,23 @@ #pragma once NTSTATUS -SetupCreateDirectory(PWCHAR DirectoryName); +SetupCreateDirectory( + PWCHAR DirectoryName); NTSTATUS -SetupCopyFile(PWCHAR SourceFileName, - PWCHAR DestinationFileName); +SetupCopyFile( + PWCHAR SourceFileName, + PWCHAR DestinationFileName); NTSTATUS -SetupExtractFile(PWCHAR CabinetFileName, - PWCHAR SourceFileName, - PWCHAR DestinationFileName); +SetupExtractFile( + PWCHAR CabinetFileName, + PWCHAR SourceFileName, + PWCHAR DestinationFileName); BOOLEAN -DoesFileExist(PWSTR PathName, - PWSTR FileName); +DoesFileExist( + PWSTR PathName, + PWSTR FileName); /* EOF */ diff --git a/base/setup/usetup/format.c b/base/setup/usetup/format.c index 00f437420b3..dd2ee166e5e 100644 --- a/base/setup/usetup/format.c +++ b/base/setup/usetup/format.c @@ -34,7 +34,9 @@ static PPROGRESSBAR FormatProgressBar = NULL; /* FUNCTIONS ****************************************************************/ -static BOOLEAN NTAPI +static +BOOLEAN +NTAPI FormatCallback( IN CALLBACKCOMMAND Command, IN ULONG Modifier, @@ -82,6 +84,7 @@ FormatCallback( return TRUE; } + NTSTATUS FormatPartition( IN PUNICODE_STRING DriveRoot, diff --git a/base/setup/usetup/fslist.c b/base/setup/usetup/fslist.c index 93db77c6da1..85045a83c1e 100644 --- a/base/setup/usetup/fslist.c +++ b/base/setup/usetup/fslist.c @@ -65,6 +65,7 @@ FS_AddProvider( InsertTailList(&List->ListHead, &Item->ListEntry); } + PFILE_SYSTEM_LIST CreateFileSystemList( IN SHORT Left, @@ -111,6 +112,7 @@ CreateFileSystemList( return List; } + VOID DestroyFileSystemList( IN PFILE_SYSTEM_LIST List) @@ -131,6 +133,7 @@ DestroyFileSystemList( RtlFreeHeap(ProcessHeap, 0, List); } + VOID DrawFileSystemList( IN PFILE_SYSTEM_LIST List) @@ -183,6 +186,7 @@ DrawFileSystemList( } } + VOID ScrollDownFileSystemList( IN PFILE_SYSTEM_LIST List) @@ -194,6 +198,7 @@ ScrollDownFileSystemList( } } + VOID ScrollUpFileSystemList( IN PFILE_SYSTEM_LIST List) diff --git a/base/setup/usetup/fslist.h b/base/setup/usetup/fslist.h index 1c84024eeec..6b28e29073e 100644 --- a/base/setup/usetup/fslist.h +++ b/base/setup/usetup/fslist.h @@ -30,34 +30,34 @@ typedef struct _FILE_SYSTEM_ITEM { - LIST_ENTRY ListEntry; - LPCWSTR FileSystem; /* Not owned by the item */ - FORMATEX FormatFunc; - CHKDSKEX ChkdskFunc; - BOOLEAN QuickFormat; + LIST_ENTRY ListEntry; + LPCWSTR FileSystem; /* Not owned by the item */ + FORMATEX FormatFunc; + CHKDSKEX ChkdskFunc; + BOOLEAN QuickFormat; } FILE_SYSTEM_ITEM, *PFILE_SYSTEM_ITEM; typedef struct _FILE_SYSTEM_LIST { - SHORT Left; - SHORT Top; - PFILE_SYSTEM_ITEM Selected; - LIST_ENTRY ListHead; /* List of FILE_SYSTEM_ITEM */ + SHORT Left; + SHORT Top; + PFILE_SYSTEM_ITEM Selected; + LIST_ENTRY ListHead; /* List of FILE_SYSTEM_ITEM */ } FILE_SYSTEM_LIST, *PFILE_SYSTEM_LIST; VOID FS_AddProvider( - IN OUT PFILE_SYSTEM_LIST List, - IN LPCWSTR FileSystem, - IN FORMATEX FormatFunc, - IN CHKDSKEX ChkdskFunc); + IN OUT PFILE_SYSTEM_LIST List, + IN LPCWSTR FileSystem, + IN FORMATEX FormatFunc, + IN CHKDSKEX ChkdskFunc); PFILE_SYSTEM_LIST CreateFileSystemList( - IN SHORT Left, - IN SHORT Top, - IN BOOLEAN ForceFormat, - IN LPCWSTR ForceFileSystem); + IN SHORT Left, + IN SHORT Top, + IN BOOLEAN ForceFormat, + IN LPCWSTR ForceFileSystem); VOID DestroyFileSystemList( diff --git a/base/setup/usetup/genlist.c b/base/setup/usetup/genlist.c index 9073ca3880c..6e5a736b4a8 100644 --- a/base/setup/usetup/genlist.c +++ b/base/setup/usetup/genlist.c @@ -84,8 +84,9 @@ CreateGenericList(VOID) VOID -DestroyGenericList(PGENERIC_LIST List, - BOOLEAN FreeUserData) +DestroyGenericList( + PGENERIC_LIST List, + BOOLEAN FreeUserData) { PGENERIC_LIST_ENTRY ListEntry; PLIST_ENTRY Entry; @@ -110,10 +111,11 @@ DestroyGenericList(PGENERIC_LIST List, BOOLEAN -AppendGenericListEntry(PGENERIC_LIST List, - PCHAR Text, - PVOID UserData, - BOOLEAN Current) +AppendGenericListEntry( + PGENERIC_LIST List, + PCHAR Text, + PVOID UserData, + BOOLEAN Current) { PGENERIC_LIST_ENTRY Entry; @@ -139,8 +141,10 @@ AppendGenericListEntry(PGENERIC_LIST List, } -static VOID -DrawListFrame(PGENERIC_LIST GenericList) +static +VOID +DrawListFrame( + PGENERIC_LIST GenericList) { COORD coPos; DWORD Written; @@ -221,8 +225,10 @@ DrawListFrame(PGENERIC_LIST GenericList) } -static VOID -DrawListEntries(PGENERIC_LIST GenericList) +static +VOID +DrawListEntries( + PGENERIC_LIST GenericList) { PGENERIC_LIST_ENTRY ListEntry; PLIST_ENTRY Entry; @@ -286,8 +292,11 @@ DrawListEntries(PGENERIC_LIST GenericList) } } -static VOID -DrawScrollBarGenericList(PGENERIC_LIST GenericList) + +static +VOID +DrawScrollBarGenericList( + PGENERIC_LIST GenericList) { COORD coPos; DWORD Written; @@ -331,12 +340,14 @@ DrawScrollBarGenericList(PGENERIC_LIST GenericList) } } + VOID -DrawGenericList(PGENERIC_LIST List, - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom) +DrawGenericList( + PGENERIC_LIST List, + SHORT Left, + SHORT Top, + SHORT Right, + SHORT Bottom) { List->FirstShown = List->ListHead.Flink; List->Left = Left; @@ -353,8 +364,10 @@ DrawGenericList(PGENERIC_LIST List, DrawScrollBarGenericList(List); } + VOID -ScrollPageDownGenericList (PGENERIC_LIST List) +ScrollPageDownGenericList( + PGENERIC_LIST List) { SHORT i; @@ -374,8 +387,10 @@ ScrollPageDownGenericList (PGENERIC_LIST List) List->Redraw = TRUE; } + VOID -ScrollPageUpGenericList (PGENERIC_LIST List) +ScrollPageUpGenericList( + PGENERIC_LIST List) { SHORT i; @@ -395,8 +410,10 @@ ScrollPageUpGenericList (PGENERIC_LIST List) List->Redraw = TRUE; } + VOID -ScrollDownGenericList (PGENERIC_LIST List) +ScrollDownGenericList( + PGENERIC_LIST List) { PLIST_ENTRY Entry; @@ -423,7 +440,9 @@ ScrollDownGenericList (PGENERIC_LIST List) VOID -ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex) +ScrollToPositionGenericList( + PGENERIC_LIST List, + ULONG uIndex) { PLIST_ENTRY Entry; ULONG uCount = 0; @@ -456,7 +475,8 @@ ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex) VOID -ScrollUpGenericList (PGENERIC_LIST List) +ScrollUpGenericList( + PGENERIC_LIST List) { PLIST_ENTRY Entry; @@ -483,7 +503,8 @@ ScrollUpGenericList (PGENERIC_LIST List) VOID -RedrawGenericList(PGENERIC_LIST List) +RedrawGenericList( + PGENERIC_LIST List) { if (List->CurrentEntry == NULL) return; @@ -497,7 +518,9 @@ RedrawGenericList(PGENERIC_LIST List) VOID -SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry) +SetCurrentListEntry( + PGENERIC_LIST List, + PGENERIC_LIST_ENTRY Entry) { if (Entry->List != List) return; @@ -506,14 +529,16 @@ SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry) PGENERIC_LIST_ENTRY -GetCurrentListEntry(PGENERIC_LIST List) +GetCurrentListEntry( + PGENERIC_LIST List) { return List->CurrentEntry; } PGENERIC_LIST_ENTRY -GetFirstListEntry(PGENERIC_LIST List) +GetFirstListEntry( + PGENERIC_LIST List) { PLIST_ENTRY Entry = List->ListHead.Flink; @@ -524,7 +549,8 @@ GetFirstListEntry(PGENERIC_LIST List) PGENERIC_LIST_ENTRY -GetNextListEntry(PGENERIC_LIST_ENTRY Entry) +GetNextListEntry( + PGENERIC_LIST_ENTRY Entry) { PLIST_ENTRY Next = Entry->Entry.Flink; @@ -535,21 +561,25 @@ GetNextListEntry(PGENERIC_LIST_ENTRY Entry) PVOID -GetListEntryUserData(PGENERIC_LIST_ENTRY List) +GetListEntryUserData( + PGENERIC_LIST_ENTRY List) { return List->UserData; } LPCSTR -GetListEntryText(PGENERIC_LIST_ENTRY List) +GetListEntryText( + PGENERIC_LIST_ENTRY List) { return List->Text; } VOID -GenericListKeyPress (PGENERIC_LIST GenericList, CHAR AsciChar) +GenericListKeyPress( + PGENERIC_LIST GenericList, + CHAR AsciChar) { PGENERIC_LIST_ENTRY ListEntry; PGENERIC_LIST_ENTRY OldListEntry; @@ -609,14 +639,16 @@ End: VOID -SaveGenericListState(PGENERIC_LIST List) +SaveGenericListState( + PGENERIC_LIST List) { List->BackupEntry = List->CurrentEntry; } VOID -RestoreGenericListState(PGENERIC_LIST List) +RestoreGenericListState( + PGENERIC_LIST List) { List->CurrentEntry = List->BackupEntry; } diff --git a/base/setup/usetup/genlist.h b/base/setup/usetup/genlist.h index 8b09a5eaf58..bfe9020e877 100644 --- a/base/setup/usetup/genlist.h +++ b/base/setup/usetup/genlist.h @@ -35,68 +35,90 @@ PGENERIC_LIST CreateGenericList(VOID); VOID -DestroyGenericList(PGENERIC_LIST List, - BOOLEAN FreeUserData); +DestroyGenericList( + PGENERIC_LIST List, + BOOLEAN FreeUserData); BOOLEAN -AppendGenericListEntry(PGENERIC_LIST List, - PCHAR Text, - PVOID UserData, - BOOLEAN Current); +AppendGenericListEntry( + PGENERIC_LIST List, + PCHAR Text, + PVOID UserData, + BOOLEAN Current); VOID -DrawGenericList(PGENERIC_LIST List, - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom); +DrawGenericList( + PGENERIC_LIST List, + SHORT Left, + SHORT Top, + SHORT Right, + SHORT Bottom); VOID -DrawScrollBarGenericLis(PGENERIC_LIST List); +DrawScrollBarGenericLis( + PGENERIC_LIST List); VOID -ScrollDownGenericList(PGENERIC_LIST List); +ScrollDownGenericList( + PGENERIC_LIST List); VOID -ScrollUpGenericList(PGENERIC_LIST List); +ScrollUpGenericList( + PGENERIC_LIST List); VOID -ScrollPageDownGenericList(PGENERIC_LIST List); +ScrollPageDownGenericList( + PGENERIC_LIST List); VOID -ScrollPageUpGenericList(PGENERIC_LIST List); +ScrollPageUpGenericList( + PGENERIC_LIST List); VOID -ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex); +ScrollToPositionGenericList( + PGENERIC_LIST List, + ULONG uIndex); VOID -RedrawGenericList(PGENERIC_LIST List); +RedrawGenericList( + PGENERIC_LIST List); VOID -SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry); +SetCurrentListEntry( + PGENERIC_LIST List, + PGENERIC_LIST_ENTRY Entry); PGENERIC_LIST_ENTRY -GetCurrentListEntry(PGENERIC_LIST List); +GetCurrentListEntry( + PGENERIC_LIST List); PGENERIC_LIST_ENTRY -GetFirstListEntry(PGENERIC_LIST List); +GetFirstListEntry( + PGENERIC_LIST List); PGENERIC_LIST_ENTRY -GetNextListEntry(PGENERIC_LIST_ENTRY Entry); +GetNextListEntry( + PGENERIC_LIST_ENTRY Entry); PVOID -GetListEntryUserData(PGENERIC_LIST_ENTRY List); +GetListEntryUserData( + PGENERIC_LIST_ENTRY List); LPCSTR -GetListEntryText(PGENERIC_LIST_ENTRY List); +GetListEntryText( + PGENERIC_LIST_ENTRY List); VOID -SaveGenericListState(PGENERIC_LIST List); +SaveGenericListState( + PGENERIC_LIST List); VOID -RestoreGenericListState(PGENERIC_LIST List); +RestoreGenericListState( + PGENERIC_LIST List); VOID -GenericListKeyPress (PGENERIC_LIST List, CHAR AsciChar); +GenericListKeyPress( + PGENERIC_LIST List, + CHAR AsciChar); /* EOF */ diff --git a/base/setup/usetup/host.h b/base/setup/usetup/host.h index 14a3a51fb48..6d8a84bfdb3 100644 --- a/base/setup/usetup/host.h +++ b/base/setup/usetup/host.h @@ -15,19 +15,17 @@ #endif BOOLEAN -HOST_InitConsole( - VOID); +HOST_InitConsole(VOID); BOOLEAN -HOST_InitMemory( - VOID); +HOST_InitMemory(VOID); BOOLEAN HOST_CreateFileSystemList( - IN PFILE_SYSTEM_LIST List); + IN PFILE_SYSTEM_LIST List); BOOLEAN HOST_FormatPartition( - IN PFILE_SYSTEM_ITEM FileSystem, - IN PCUNICODE_STRING DriveRoot, - IN PFMIFSCALLBACK Callback); + IN PFILE_SYSTEM_ITEM FileSystem, + IN PCUNICODE_STRING DriveRoot, + IN PFMIFSCALLBACK Callback); diff --git a/base/setup/usetup/inffile.c b/base/setup/usetup/inffile.c index e2ea1b4f0c1..1eb6d66f1f5 100644 --- a/base/setup/usetup/inffile.c +++ b/base/setup/usetup/inffile.c @@ -35,173 +35,179 @@ #ifdef __REACTOS__ -BOOL WINAPI +BOOL +WINAPI InfpFindFirstLineW( - IN HINF InfHandle, - IN PCWSTR Section, - IN PCWSTR Key, - IN OUT PINFCONTEXT Context) + IN HINF InfHandle, + IN PCWSTR Section, + IN PCWSTR Key, + IN OUT PINFCONTEXT Context) { - PINFCONTEXT pContext; - BOOL ret; + PINFCONTEXT pContext; + BOOL ret; - ret = InfFindFirstLine(InfHandle, Section, Key, &pContext); - if (!ret) - return FALSE; + ret = InfFindFirstLine(InfHandle, Section, Key, &pContext); + if (!ret) + return FALSE; - memcpy(Context, pContext, sizeof(INFCONTEXT)); - InfFreeContext(pContext); - return TRUE; + memcpy(Context, pContext, sizeof(INFCONTEXT)); + InfFreeContext(pContext); + return TRUE; } -HINF WINAPI + +HINF +WINAPI InfpOpenInfFileW( - IN PCWSTR FileName, - IN PCWSTR InfClass, - IN DWORD InfStyle, - IN LCID LocaleId, - OUT PUINT ErrorLine) + IN PCWSTR FileName, + IN PCWSTR InfClass, + IN DWORD InfStyle, + IN LCID LocaleId, + OUT PUINT ErrorLine) { - HINF hInf = NULL; - UNICODE_STRING FileNameU; - ULONG ErrorLineUL; - NTSTATUS Status; + HINF hInf = NULL; + UNICODE_STRING FileNameU; + ULONG ErrorLineUL; + NTSTATUS Status; - RtlInitUnicodeString(&FileNameU, FileName); - Status = InfOpenFile( - &hInf, - &FileNameU, - LANGIDFROMLCID(LocaleId), - &ErrorLineUL); - *ErrorLine = (UINT)ErrorLineUL; - if (!NT_SUCCESS(Status)) - return INVALID_HANDLE_VALUE; + RtlInitUnicodeString(&FileNameU, FileName); + Status = InfOpenFile(&hInf, + &FileNameU, + LANGIDFROMLCID(LocaleId), + &ErrorLineUL); + *ErrorLine = (UINT)ErrorLineUL; + if (!NT_SUCCESS(Status)) + return INVALID_HANDLE_VALUE; - return hInf; + return hInf; } - #endif /* __REACTOS__ */ + BOOLEAN INF_GetData( - IN PINFCONTEXT Context, - OUT PWCHAR *Key, - OUT PWCHAR *Data) + IN PINFCONTEXT Context, + OUT PWCHAR *Key, + OUT PWCHAR *Data) { #ifdef __REACTOS__ - return InfGetData(Context, Key, Data); + return InfGetData(Context, Key, Data); #else - static PWCHAR pLastCallData[4] = { NULL, NULL, NULL, NULL }; - static DWORD currentIndex = 0; - DWORD dwSize, i; - BOOL ret; + static PWCHAR pLastCallData[4] = { NULL, NULL, NULL, NULL }; + static DWORD currentIndex = 0; + DWORD dwSize, i; + BOOL ret; - currentIndex ^= 2; + currentIndex ^= 2; - if (Key) *Key = NULL; - if (Data) *Data = NULL; + if (Key) + *Key = NULL; - if (SetupGetFieldCount(Context) != 1) - return FALSE; + if (Data) + *Data = NULL; - for (i = 0; i <= 1; i++) - { - ret = SetupGetStringFieldW( - Context, - i, - NULL, - 0, - &dwSize); - if (!ret) - return FALSE; - HeapFree(GetProcessHeap(), 0, pLastCallData[i + currentIndex]); - pLastCallData[i + currentIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR)); - ret = SetupGetStringFieldW( - Context, - i, - pLastCallData[i + currentIndex], - dwSize, - NULL); - if (!ret) - return FALSE; - } + if (SetupGetFieldCount(Context) != 1) + return FALSE; - if (Key) - *Key = pLastCallData[0 + currentIndex]; - if (Data) - *Data = pLastCallData[1 + currentIndex]; - return TRUE; + for (i = 0; i <= 1; i++) + { + ret = SetupGetStringFieldW(Context, + i, + NULL, + 0, + &dwSize); + if (!ret) + return FALSE; + + HeapFree(GetProcessHeap(), 0, pLastCallData[i + currentIndex]); + pLastCallData[i + currentIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR)); + ret = SetupGetStringFieldW(Context, + i, + pLastCallData[i + currentIndex], + dwSize, + NULL); + if (!ret) + return FALSE; + } + + if (Key) + *Key = pLastCallData[0 + currentIndex]; + + if (Data) + *Data = pLastCallData[1 + currentIndex]; + + return TRUE; #endif /* !__REACTOS__ */ } + BOOLEAN INF_GetDataField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - OUT PWCHAR *Data) + IN PINFCONTEXT Context, + IN ULONG FieldIndex, + OUT PWCHAR *Data) { #ifdef __REACTOS__ - return InfGetDataField(Context, FieldIndex, Data); + return InfGetDataField(Context, FieldIndex, Data); #else - static PWCHAR pLastCallsData[] = { NULL, NULL, NULL }; - static DWORD NextIndex = 0; - DWORD dwSize; - BOOL ret; + static PWCHAR pLastCallsData[] = { NULL, NULL, NULL }; + static DWORD NextIndex = 0; + DWORD dwSize; + BOOL ret; - *Data = NULL; + *Data = NULL; - ret = SetupGetStringFieldW( - Context, - FieldIndex, - NULL, - 0, - &dwSize); - if (!ret) - return FALSE; - HeapFree(GetProcessHeap(), 0, pLastCallsData[NextIndex]); - pLastCallsData[NextIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR)); - ret = SetupGetStringFieldW( - Context, - FieldIndex, - pLastCallsData[NextIndex], - dwSize, - NULL); - if (!ret) - return FALSE; + ret = SetupGetStringFieldW(Context, + FieldIndex, + NULL, + 0, + &dwSize); + if (!ret) + return FALSE; - *Data = pLastCallsData[NextIndex]; - NextIndex = (NextIndex + 1) % (sizeof(pLastCallsData) / sizeof(pLastCallsData[0])); - return TRUE; + HeapFree(GetProcessHeap(), 0, pLastCallsData[NextIndex]); + pLastCallsData[NextIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR)); + ret = SetupGetStringFieldW(Context, + FieldIndex, + pLastCallsData[NextIndex], + dwSize, + NULL); + if (!ret) + return FALSE; + + *Data = pLastCallsData[NextIndex]; + NextIndex = (NextIndex + 1) % (sizeof(pLastCallsData) / sizeof(pLastCallsData[0])); + return TRUE; #endif /* !__REACTOS__ */ } + HINF WINAPI INF_OpenBufferedFileA( - IN PSTR FileBuffer, - IN ULONG FileSize, - IN PCSTR InfClass, - IN DWORD InfStyle, - IN LCID LocaleId, - OUT PUINT ErrorLine) + IN PSTR FileBuffer, + IN ULONG FileSize, + IN PCSTR InfClass, + IN DWORD InfStyle, + IN LCID LocaleId, + OUT PUINT ErrorLine) { #ifdef __REACTOS__ - HINF hInf = NULL; - ULONG ErrorLineUL; - NTSTATUS Status; + HINF hInf = NULL; + ULONG ErrorLineUL; + NTSTATUS Status; - Status = InfOpenBufferedFile( - &hInf, - FileBuffer, - FileSize, - LANGIDFROMLCID(LocaleId), - &ErrorLineUL); - *ErrorLine = (UINT)ErrorLineUL; - if (!NT_SUCCESS(Status)) - return INVALID_HANDLE_VALUE; + Status = InfOpenBufferedFile(&hInf, + FileBuffer, + FileSize, + LANGIDFROMLCID(LocaleId), + &ErrorLineUL); + *ErrorLine = (UINT)ErrorLineUL; + if (!NT_SUCCESS(Status)) + return INVALID_HANDLE_VALUE; - return hInf; + return hInf; #else - return INVALID_HANDLE_VALUE; + return INVALID_HANDLE_VALUE; #endif /* !__REACTOS__ */ } diff --git a/base/setup/usetup/inffile.h b/base/setup/usetup/inffile.h index ba0e45a0fd1..83133f99b00 100644 --- a/base/setup/usetup/inffile.h +++ b/base/setup/usetup/inffile.h @@ -45,47 +45,49 @@ * Delete it once we don't use inflib anymore */ typedef struct _INFCONTEXT { - PVOID Inf; - PVOID Section; - PVOID Line; + PVOID Inf; + PVOID Section; + PVOID Line; } INFCONTEXT; -BOOL WINAPI +BOOL +WINAPI InfpFindFirstLineW( - IN HINF InfHandle, - IN PCWSTR Section, - IN PCWSTR Key, - IN OUT PINFCONTEXT Context); + IN HINF InfHandle, + IN PCWSTR Section, + IN PCWSTR Key, + IN OUT PINFCONTEXT Context); -HINF WINAPI +HINF +WINAPI InfpOpenInfFileW( - IN PCWSTR FileName, - IN PCWSTR InfClass, - IN DWORD InfStyle, - IN LCID LocaleId, - OUT PUINT ErrorLine); + IN PCWSTR FileName, + IN PCWSTR InfClass, + IN DWORD InfStyle, + IN LCID LocaleId, + OUT PUINT ErrorLine); #endif /* __REACTOS__ */ BOOLEAN INF_GetData( - IN PINFCONTEXT Context, - OUT PWCHAR *Key, - OUT PWCHAR *Data); + IN PINFCONTEXT Context, + OUT PWCHAR *Key, + OUT PWCHAR *Data); BOOLEAN INF_GetDataField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - OUT PWCHAR *Data); + IN PINFCONTEXT Context, + IN ULONG FieldIndex, + OUT PWCHAR *Data); HINF WINAPI INF_OpenBufferedFileA( - IN PSTR FileBuffer, - IN ULONG FileSize, - IN PCSTR InfClass, - IN DWORD InfStyle, - IN LCID LocaleId, - OUT PUINT ErrorLine); + IN PSTR FileBuffer, + IN ULONG FileSize, + IN PCSTR InfClass, + IN DWORD InfStyle, + IN LCID LocaleId, + OUT PUINT ErrorLine); /* EOF */ diff --git a/base/setup/usetup/inicache.c b/base/setup/usetup/inicache.c index fa40dc1c165..0b8dff594d3 100644 --- a/base/setup/usetup/inicache.c +++ b/base/setup/usetup/inicache.c @@ -34,1154 +34,1143 @@ /* PRIVATE FUNCTIONS ********************************************************/ -static PINICACHEKEY -IniCacheFreeKey(PINICACHEKEY Key) +static +PINICACHEKEY +IniCacheFreeKey( + PINICACHEKEY Key) { - PINICACHEKEY Next; + PINICACHEKEY Next; - if (Key == NULL) + if (Key == NULL) { - return(NULL); + return NULL; } - Next = Key->Next; - if (Key->Name != NULL) + Next = Key->Next; + if (Key->Name != NULL) { - RtlFreeHeap(ProcessHeap, - 0, - Key->Name); - Key->Name = NULL; + RtlFreeHeap(ProcessHeap, 0, Key->Name); + Key->Name = NULL; } - if (Key->Data != NULL) + if (Key->Data != NULL) { - RtlFreeHeap(ProcessHeap, - 0, - Key->Data); - Key->Data = NULL; + RtlFreeHeap(ProcessHeap, 0, Key->Data); + Key->Data = NULL; } - RtlFreeHeap(ProcessHeap, - 0, - Key); + RtlFreeHeap(ProcessHeap, 0, Key); - return(Next); + return Next; } -static PINICACHESECTION -IniCacheFreeSection(PINICACHESECTION Section) +static +PINICACHESECTION +IniCacheFreeSection( + PINICACHESECTION Section) { - PINICACHESECTION Next; + PINICACHESECTION Next; - if (Section == NULL) + if (Section == NULL) { - return(NULL); + return NULL; } - Next = Section->Next; - while (Section->FirstKey != NULL) + Next = Section->Next; + while (Section->FirstKey != NULL) { - Section->FirstKey = IniCacheFreeKey(Section->FirstKey); + Section->FirstKey = IniCacheFreeKey(Section->FirstKey); } - Section->LastKey = NULL; + Section->LastKey = NULL; - if (Section->Name != NULL) + if (Section->Name != NULL) { - RtlFreeHeap(ProcessHeap, - 0, - Section->Name); - Section->Name = NULL; + RtlFreeHeap(ProcessHeap, 0, Section->Name); + Section->Name = NULL; } - RtlFreeHeap(ProcessHeap, - 0, - Section); + RtlFreeHeap(ProcessHeap, 0, Section); - return(Next); + return Next; } -static PINICACHEKEY -IniCacheFindKey(PINICACHESECTION Section, - PWCHAR Name, - ULONG NameLength) +static +PINICACHEKEY +IniCacheFindKey( + PINICACHESECTION Section, + PWCHAR Name, + ULONG NameLength) { - PINICACHEKEY Key; + PINICACHEKEY Key; - Key = Section->FirstKey; - while (Key != NULL) + Key = Section->FirstKey; + while (Key != NULL) { - if (NameLength == wcslen(Key->Name)) - { - if (_wcsnicmp(Key->Name, Name, NameLength) == 0) - break; - } + if (NameLength == wcslen(Key->Name)) + { + if (_wcsnicmp(Key->Name, Name, NameLength) == 0) + break; + } - Key = Key->Next; + Key = Key->Next; } - return(Key); + return Key; } -static PINICACHEKEY -IniCacheAddKey(PINICACHESECTION Section, - PCHAR Name, - ULONG NameLength, - PCHAR Data, - ULONG DataLength) +static +PINICACHEKEY +IniCacheAddKey( + PINICACHESECTION Section, + PCHAR Name, + ULONG NameLength, + PCHAR Data, + ULONG DataLength) { - PINICACHEKEY Key; - ULONG i; + PINICACHEKEY Key; + ULONG i; - Key = NULL; + Key = NULL; - if (Section == NULL || - Name == NULL || - NameLength == 0 || - Data == NULL || - DataLength == 0) + if (Section == NULL || + Name == NULL || + NameLength == 0 || + Data == NULL || + DataLength == 0) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - Key = (PINICACHEKEY)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHEKEY)); - if (Key == NULL) + Key = (PINICACHEKEY)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHEKEY)); + if (Key == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - RtlZeroMemory(Key, - sizeof(INICACHEKEY)); + RtlZeroMemory(Key, + sizeof(INICACHEKEY)); - - Key->Name = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (NameLength + 1) * sizeof(WCHAR)); - if (Key->Name == NULL) + Key->Name = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (NameLength + 1) * sizeof(WCHAR)); + if (Key->Name == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Key); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Key); + return NULL; } - /* Copy value name */ - for (i = 0; i < NameLength; i++) + /* Copy value name */ + for (i = 0; i < NameLength; i++) { - Key->Name[i] = (WCHAR)Name[i]; + Key->Name[i] = (WCHAR)Name[i]; } - Key->Name[NameLength] = 0; + Key->Name[NameLength] = 0; - - Key->Data = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (DataLength + 1) * sizeof(WCHAR)); - if (Key->Data == NULL) + Key->Data = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (DataLength + 1) * sizeof(WCHAR)); + if (Key->Data == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Key->Name); - RtlFreeHeap(ProcessHeap, - 0, - Key); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Key->Name); + RtlFreeHeap(ProcessHeap, 0, Key); + return NULL; } - /* Copy value data */ - for (i = 0; i < DataLength; i++) + /* Copy value data */ + for (i = 0; i < DataLength; i++) { - Key->Data[i] = (WCHAR)Data[i]; + Key->Data[i] = (WCHAR)Data[i]; } - Key->Data[DataLength] = 0; + Key->Data[DataLength] = 0; - if (Section->FirstKey == NULL) + if (Section->FirstKey == NULL) { - Section->FirstKey = Key; - Section->LastKey = Key; + Section->FirstKey = Key; + Section->LastKey = Key; } - else + else { - Section->LastKey->Next = Key; - Key->Prev = Section->LastKey; - Section->LastKey = Key; + Section->LastKey->Next = Key; + Key->Prev = Section->LastKey; + Section->LastKey = Key; } - return(Key); + return Key; } + #if 0 -static PINICACHESECTION -IniCacheFindSection(PINICACHE Cache, - PWCHAR Name, - ULONG NameLength) +static +PINICACHESECTION +IniCacheFindSection( + PINICACHE Cache, + PWCHAR Name, + ULONG NameLength) { - PINICACHESECTION Section = NULL; + PINICACHESECTION Section = NULL; - if (Cache == NULL || Name == NULL || NameLength == 0) + if (Cache == NULL || Name == NULL || NameLength == 0) { - return(NULL); + return NULL; } - Section = Cache->FirstSection; + Section = Cache->FirstSection; - /* iterate through list of sections */ - while (Section != NULL) + /* iterate through list of sections */ + while (Section != NULL) { - if (NameLength == wcslen(Section->Name)) - { - /* are the contents the same too? */ - if (_wcsnicmp(Section->Name, Name, NameLength) == 0) - break; - } + if (NameLength == wcslen(Section->Name)) + { + /* are the contents the same too? */ + if (_wcsnicmp(Section->Name, Name, NameLength) == 0) + break; + } - /* get the next section*/ - Section = Section->Next; + /* get the next section*/ + Section = Section->Next; } - return(Section); + return Section; } #endif -static PINICACHESECTION -IniCacheAddSection(PINICACHE Cache, - PCHAR Name, - ULONG NameLength) + +static +PINICACHESECTION +IniCacheAddSection( + PINICACHE Cache, + PCHAR Name, + ULONG NameLength) { - PINICACHESECTION Section = NULL; - ULONG i; + PINICACHESECTION Section = NULL; + ULONG i; - if (Cache == NULL || Name == NULL || NameLength == 0) + if (Cache == NULL || Name == NULL || NameLength == 0) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - Section = (PINICACHESECTION)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHESECTION)); - if (Section == NULL) + Section = (PINICACHESECTION)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHESECTION)); + if (Section == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); - } - RtlZeroMemory(Section, - sizeof(INICACHESECTION)); - - /* Allocate and initialize section name */ - Section->Name = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (NameLength + 1) * sizeof(WCHAR)); - if (Section->Name == NULL) - { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Section); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - /* Copy section name */ - for (i = 0; i < NameLength; i++) - { - Section->Name[i] = (WCHAR)Name[i]; - } - Section->Name[NameLength] = 0; + RtlZeroMemory(Section, sizeof(INICACHESECTION)); - /* Append section */ - if (Cache->FirstSection == NULL) + /* Allocate and initialize section name */ + Section->Name = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (NameLength + 1) * sizeof(WCHAR)); + if (Section->Name == NULL) { - Cache->FirstSection = Section; - Cache->LastSection = Section; - } - else - { - Cache->LastSection->Next = Section; - Section->Prev = Cache->LastSection; - Cache->LastSection = Section; + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Section); + return NULL; } - return(Section); + /* Copy section name */ + for (i = 0; i < NameLength; i++) + { + Section->Name[i] = (WCHAR)Name[i]; + } + Section->Name[NameLength] = 0; + + /* Append section */ + if (Cache->FirstSection == NULL) + { + Cache->FirstSection = Section; + Cache->LastSection = Section; + } + else + { + Cache->LastSection->Next = Section; + Section->Prev = Cache->LastSection; + Cache->LastSection = Section; + } + + return Section; } -static PCHAR -IniCacheSkipWhitespace(PCHAR Ptr) +static +PCHAR +IniCacheSkipWhitespace( + PCHAR Ptr) { - while (*Ptr != 0 && isspace(*Ptr)) - Ptr++; + while (*Ptr != 0 && isspace(*Ptr)) + Ptr++; - return((*Ptr == 0) ? NULL : Ptr); + return (*Ptr == 0) ? NULL : Ptr; } -static PCHAR -IniCacheSkipToNextSection(PCHAR Ptr) +static +PCHAR +IniCacheSkipToNextSection( + PCHAR Ptr) { - while (*Ptr != 0 && *Ptr != '[') + while (*Ptr != 0 && *Ptr != '[') { - while (*Ptr != 0 && *Ptr != L'\n') - { - Ptr++; - } - Ptr++; + while (*Ptr != 0 && *Ptr != L'\n') + { + Ptr++; + } + + Ptr++; } - return((*Ptr == 0) ? NULL : Ptr); + return (*Ptr == 0) ? NULL : Ptr; } -static PCHAR -IniCacheGetSectionName(PCHAR Ptr, - PCHAR *NamePtr, - PULONG NameSize) +static +PCHAR +IniCacheGetSectionName( + PCHAR Ptr, + PCHAR *NamePtr, + PULONG NameSize) { - ULONG Size = 0; - CHAR Name[256]; + ULONG Size = 0; + CHAR Name[256]; - *NamePtr = NULL; - *NameSize = 0; - - /* skip whitespace */ - while (*Ptr != 0 && isspace(*Ptr)) - { - Ptr++; - } - - *NamePtr = Ptr; - - while (*Ptr != 0 && *Ptr != ']') - { - Size++; - Ptr++; - } - - Ptr++; - - while (*Ptr != 0 && *Ptr != L'\n') - { - Ptr++; - } - Ptr++; - - *NameSize = Size; - - strncpy(Name, *NamePtr, Size); - Name[Size] = 0; - - DPRINT("SectionName: '%s'\n", Name); - - return(Ptr); -} - - -static PCHAR -IniCacheGetKeyName(PCHAR Ptr, - PCHAR *NamePtr, - PULONG NameSize) -{ - ULONG Size = 0; - - *NamePtr = NULL; - *NameSize = 0; - - while(Ptr && *Ptr) - { *NamePtr = NULL; *NameSize = 0; - Size = 0; - /* skip whitespace and empty lines */ - while (isspace(*Ptr) || *Ptr == '\n' || *Ptr == '\r') + /* skip whitespace */ + while (*Ptr != 0 && isspace(*Ptr)) { - Ptr++; - } - if (*Ptr == 0) - { - continue; + Ptr++; } *NamePtr = Ptr; - while (*Ptr != 0 && !isspace(*Ptr) && *Ptr != '=' && *Ptr != ';') + while (*Ptr != 0 && *Ptr != ']') { - Size++; - Ptr++; + Size++; + Ptr++; } - if (*Ptr == ';') + Ptr++; + + while (*Ptr != 0 && *Ptr != L'\n') { - while (*Ptr != 0 && *Ptr != '\r' && *Ptr != '\n') - { - Ptr++; - } + Ptr++; + } + Ptr++; + + *NameSize = Size; + + strncpy(Name, *NamePtr, Size); + Name[Size] = 0; + + DPRINT("SectionName: '%s'\n", Name); + + return Ptr; +} + + +static +PCHAR +IniCacheGetKeyName( + PCHAR Ptr, + PCHAR *NamePtr, + PULONG NameSize) +{ + ULONG Size = 0; + + *NamePtr = NULL; + *NameSize = 0; + + while(Ptr && *Ptr) + { + *NamePtr = NULL; + *NameSize = 0; + Size = 0; + + /* skip whitespace and empty lines */ + while (isspace(*Ptr) || *Ptr == '\n' || *Ptr == '\r') + { + Ptr++; + } + if (*Ptr == 0) + { + continue; + } + + *NamePtr = Ptr; + + while (*Ptr != 0 && !isspace(*Ptr) && *Ptr != '=' && *Ptr != ';') + { + Size++; + Ptr++; + } + if (*Ptr == ';') + { + while (*Ptr != 0 && *Ptr != '\r' && *Ptr != '\n') + { + Ptr++; + } + } + else + { + *NameSize = Size; + break; + } + } + + return Ptr; +} + + +static +PCHAR +IniCacheGetKeyValue( + PCHAR Ptr, + PCHAR *DataPtr, + PULONG DataSize, + BOOLEAN String) +{ + ULONG Size = 0; + + *DataPtr = NULL; + *DataSize = 0; + + /* Skip whitespace */ + while (*Ptr != 0 && isspace(*Ptr)) + { + Ptr++; + } + + /* Check and skip '=' */ + if (*Ptr != '=') + { + return NULL; + } + Ptr++; + + /* Skip whitespace */ + while (*Ptr != 0 && isspace(*Ptr)) + { + Ptr++; + } + + if (*Ptr == '"' && String) + { + Ptr++; + + /* Get data */ + *DataPtr = Ptr; + while (*Ptr != '"') + { + Ptr++; + Size++; + } + Ptr++; + + while (*Ptr && *Ptr != '\r' && *Ptr != '\n') + { + Ptr++; + } } else { - *NameSize = Size; - break; + /* Get data */ + *DataPtr = Ptr; + while (*Ptr != 0 && *Ptr != '\r' && *Ptr != ';') + { + Ptr++; + Size++; + } } - } - return(Ptr); + /* Skip to next line */ + if (*Ptr == '\r') + Ptr++; + if (*Ptr == '\n') + Ptr++; + + *DataSize = Size; + + return Ptr; } -static PCHAR -IniCacheGetKeyValue(PCHAR Ptr, - PCHAR *DataPtr, - PULONG DataSize, - BOOLEAN String) -{ - ULONG Size = 0; - - *DataPtr = NULL; - *DataSize = 0; - - /* Skip whitespace */ - while (*Ptr != 0 && isspace(*Ptr)) - { - Ptr++; - } - - /* Check and skip '=' */ - if (*Ptr != '=') - { - return(NULL); - } - Ptr++; - - /* Skip whitespace */ - while (*Ptr != 0 && isspace(*Ptr)) - { - Ptr++; - } - - if (*Ptr == '"' && String) - { - Ptr++; - - /* Get data */ - *DataPtr = Ptr; - while (*Ptr != '"') - { - Ptr++; - Size++; - } - Ptr++; - while (*Ptr && *Ptr != '\r' && *Ptr != '\n') - { - Ptr++; - } - } - else - { - /* Get data */ - *DataPtr = Ptr; - while (*Ptr != 0 && *Ptr != '\r' && *Ptr != ';') - { - Ptr++; - Size++; - } - } - - /* Skip to next line */ - if (*Ptr == '\r') - Ptr++; - if (*Ptr == '\n') - Ptr++; - - *DataSize = Size; - - return(Ptr); -} - - - - /* PUBLIC FUNCTIONS *********************************************************/ NTSTATUS -IniCacheLoad(PINICACHE *Cache, - PUNICODE_STRING FileName, - BOOLEAN String) +IniCacheLoad( + PINICACHE *Cache, + PUNICODE_STRING FileName, + BOOLEAN String) { - OBJECT_ATTRIBUTES ObjectAttributes; - FILE_STANDARD_INFORMATION FileInfo; - IO_STATUS_BLOCK IoStatusBlock; - HANDLE FileHandle; - NTSTATUS Status; - PCHAR FileBuffer; - ULONG FileLength; - PCHAR Ptr; - LARGE_INTEGER FileOffset; + OBJECT_ATTRIBUTES ObjectAttributes; + FILE_STANDARD_INFORMATION FileInfo; + IO_STATUS_BLOCK IoStatusBlock; + HANDLE FileHandle; + NTSTATUS Status; + PCHAR FileBuffer; + ULONG FileLength; + PCHAR Ptr; + LARGE_INTEGER FileOffset; - PINICACHESECTION Section; - PINICACHEKEY Key; + PINICACHESECTION Section; + PINICACHEKEY Key; - PCHAR SectionName; - ULONG SectionNameSize; + PCHAR SectionName; + ULONG SectionNameSize; - PCHAR KeyName; - ULONG KeyNameSize; + PCHAR KeyName; + ULONG KeyNameSize; - PCHAR KeyValue; - ULONG KeyValueSize; + PCHAR KeyValue; + ULONG KeyValueSize; - *Cache = NULL; + *Cache = NULL; - /* Open ini file */ - InitializeObjectAttributes(&ObjectAttributes, - FileName, - 0, - NULL, - NULL); + /* Open ini file */ + InitializeObjectAttributes(&ObjectAttributes, + FileName, + 0, + NULL, + NULL); - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - FILE_SHARE_READ, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); - if (!NT_SUCCESS(Status)) + Status = NtOpenFile(&FileHandle, + GENERIC_READ | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + FILE_SHARE_READ, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); + if (!NT_SUCCESS(Status)) { - DPRINT("NtOpenFile() failed (Status %lx)\n", Status); - return(Status); + DPRINT("NtOpenFile() failed (Status %lx)\n", Status); + return Status; } - DPRINT("NtOpenFile() successful\n"); + DPRINT("NtOpenFile() successful\n"); - /* Query file size */ - Status = NtQueryInformationFile(FileHandle, - &IoStatusBlock, - &FileInfo, - sizeof(FILE_STANDARD_INFORMATION), - FileStandardInformation); - if (!NT_SUCCESS(Status)) + /* Query file size */ + Status = NtQueryInformationFile(FileHandle, + &IoStatusBlock, + &FileInfo, + sizeof(FILE_STANDARD_INFORMATION), + FileStandardInformation); + if (!NT_SUCCESS(Status)) { - DPRINT("NtQueryInformationFile() failed (Status %lx)\n", Status); - NtClose(FileHandle); - return(Status); + DPRINT("NtQueryInformationFile() failed (Status %lx)\n", Status); + NtClose(FileHandle); + return Status; } - FileLength = FileInfo.EndOfFile.u.LowPart; + FileLength = FileInfo.EndOfFile.u.LowPart; - DPRINT("File size: %lu\n", FileLength); + DPRINT("File size: %lu\n", FileLength); - /* Allocate file buffer */ - FileBuffer = (CHAR*) RtlAllocateHeap(ProcessHeap, - 0, - FileLength + 1); - if (FileBuffer == NULL) + /* Allocate file buffer */ + FileBuffer = (CHAR*)RtlAllocateHeap(ProcessHeap, + 0, + FileLength + 1); + if (FileBuffer == NULL) { - DPRINT1("RtlAllocateHeap() failed\n"); - NtClose(FileHandle); - return(STATUS_INSUFFICIENT_RESOURCES); + DPRINT1("RtlAllocateHeap() failed\n"); + NtClose(FileHandle); + return STATUS_INSUFFICIENT_RESOURCES; } - /* Read file */ - FileOffset.QuadPart = 0ULL; - Status = NtReadFile(FileHandle, - NULL, - NULL, - NULL, - &IoStatusBlock, - FileBuffer, - FileLength, - &FileOffset, - NULL); + /* Read file */ + FileOffset.QuadPart = 0ULL; + Status = NtReadFile(FileHandle, + NULL, + NULL, + NULL, + &IoStatusBlock, + FileBuffer, + FileLength, + &FileOffset, + NULL); - /* Append string terminator */ - FileBuffer[FileLength] = 0; + /* Append string terminator */ + FileBuffer[FileLength] = 0; - NtClose(FileHandle); + NtClose(FileHandle); - if (!NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) { - DPRINT("NtReadFile() failed (Status %lx)\n", Status); - RtlFreeHeap(ProcessHeap, - 0, - FileBuffer); - return(Status); + DPRINT("NtReadFile() failed (Status %lx)\n", Status); + RtlFreeHeap(ProcessHeap, 0, FileBuffer); + return Status; } - - /* Allocate inicache header */ - *Cache = (PINICACHE)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHE)); - if (*Cache == NULL) + /* Allocate inicache header */ + *Cache = (PINICACHE)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHE)); + if (*Cache == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(STATUS_INSUFFICIENT_RESOURCES); + DPRINT("RtlAllocateHeap() failed\n"); + return STATUS_INSUFFICIENT_RESOURCES; } - /* Initialize inicache header */ - RtlZeroMemory(*Cache, - sizeof(INICACHE)); + /* Initialize inicache header */ + RtlZeroMemory(*Cache, sizeof(INICACHE)); - /* Parse ini file */ - Section = NULL; - Ptr = FileBuffer; - while (Ptr != NULL && *Ptr != 0) + /* Parse ini file */ + Section = NULL; + Ptr = FileBuffer; + while (Ptr != NULL && *Ptr != 0) { - Ptr = IniCacheSkipWhitespace(Ptr); - if (Ptr == NULL) - continue; + Ptr = IniCacheSkipWhitespace(Ptr); + if (Ptr == NULL) + continue; - if (*Ptr == '[') - { - Section = NULL; - Ptr++; + if (*Ptr == '[') + { + Section = NULL; + Ptr++; - Ptr = IniCacheGetSectionName(Ptr, - &SectionName, - &SectionNameSize); + Ptr = IniCacheGetSectionName(Ptr, + &SectionName, + &SectionNameSize); - DPRINT1("[%.*s]\n", SectionNameSize, SectionName); + DPRINT1("[%.*s]\n", SectionNameSize, SectionName); - Section = IniCacheAddSection(*Cache, - SectionName, - SectionNameSize); - if (Section == NULL) - { - DPRINT("IniCacheAddSection() failed\n"); - Ptr = IniCacheSkipToNextSection(Ptr); - continue; - } - } - else - { - if (Section == NULL) - { - Ptr = IniCacheSkipToNextSection(Ptr); - continue; - } + Section = IniCacheAddSection(*Cache, + SectionName, + SectionNameSize); + if (Section == NULL) + { + DPRINT("IniCacheAddSection() failed\n"); + Ptr = IniCacheSkipToNextSection(Ptr); + continue; + } + } + else + { + if (Section == NULL) + { + Ptr = IniCacheSkipToNextSection(Ptr); + continue; + } - Ptr = IniCacheGetKeyName(Ptr, - &KeyName, - &KeyNameSize); + Ptr = IniCacheGetKeyName(Ptr, + &KeyName, + &KeyNameSize); - Ptr = IniCacheGetKeyValue(Ptr, - &KeyValue, - &KeyValueSize, - String); + Ptr = IniCacheGetKeyValue(Ptr, + &KeyValue, + &KeyValueSize, + String); - DPRINT1("'%.*s' = '%.*s'\n", KeyNameSize, KeyName, KeyValueSize, KeyValue); + DPRINT1("'%.*s' = '%.*s'\n", KeyNameSize, KeyName, KeyValueSize, KeyValue); - Key = IniCacheAddKey(Section, - KeyName, - KeyNameSize, - KeyValue, - KeyValueSize); - if (Key == NULL) - { - DPRINT("IniCacheAddKey() failed\n"); - } - } + Key = IniCacheAddKey(Section, + KeyName, + KeyNameSize, + KeyValue, + KeyValueSize); + if (Key == NULL) + { + DPRINT("IniCacheAddKey() failed\n"); + } + } } - /* Free file buffer */ - RtlFreeHeap(ProcessHeap, - 0, - FileBuffer); + /* Free file buffer */ + RtlFreeHeap(ProcessHeap, 0, FileBuffer); - return(Status); + return Status; } VOID -IniCacheDestroy(PINICACHE Cache) +IniCacheDestroy( + PINICACHE Cache) { - if (Cache == NULL) + if (Cache == NULL) { - return; + return; } - while (Cache->FirstSection != NULL) + while (Cache->FirstSection != NULL) { - Cache->FirstSection = IniCacheFreeSection(Cache->FirstSection); + Cache->FirstSection = IniCacheFreeSection(Cache->FirstSection); } - Cache->LastSection = NULL; + Cache->LastSection = NULL; - RtlFreeHeap(ProcessHeap, - 0, - Cache); + RtlFreeHeap(ProcessHeap, 0, Cache); } PINICACHESECTION -IniCacheGetSection(PINICACHE Cache, - PWCHAR Name) +IniCacheGetSection( + PINICACHE Cache, + PWCHAR Name) { - PINICACHESECTION Section = NULL; + PINICACHESECTION Section = NULL; - if (Cache == NULL || Name == NULL) + if (Cache == NULL || Name == NULL) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - /* Iterate through list of sections */ - Section = Cache->FirstSection; - while (Section != NULL) + /* Iterate through list of sections */ + Section = Cache->FirstSection; + while (Section != NULL) { - DPRINT("Comparing '%S' and '%S'\n", Section->Name, Name); + DPRINT("Comparing '%S' and '%S'\n", Section->Name, Name); - /* Are the section names the same? */ - if (_wcsicmp(Section->Name, Name) == 0) - return(Section); + /* Are the section names the same? */ + if (_wcsicmp(Section->Name, Name) == 0) + return Section; - /* Get the next section */ - Section = Section->Next; + /* Get the next section */ + Section = Section->Next; } - DPRINT("Section not found\n"); + DPRINT("Section not found\n"); - return(NULL); + return NULL; } NTSTATUS -IniCacheGetKey(PINICACHESECTION Section, - PWCHAR KeyName, - PWCHAR *KeyData) +IniCacheGetKey( + PINICACHESECTION Section, + PWCHAR KeyName, + PWCHAR *KeyData) { - PINICACHEKEY Key; + PINICACHEKEY Key; - if (Section == NULL || KeyName == NULL || KeyData == NULL) + if (Section == NULL || KeyName == NULL || KeyData == NULL) { - DPRINT("Invalid parameter\n"); - return(STATUS_INVALID_PARAMETER); + DPRINT("Invalid parameter\n"); + return STATUS_INVALID_PARAMETER; } - *KeyData = NULL; + *KeyData = NULL; - Key = IniCacheFindKey(Section, KeyName, wcslen(KeyName)); - if (Key == NULL) + Key = IniCacheFindKey(Section, KeyName, wcslen(KeyName)); + if (Key == NULL) { - return(STATUS_INVALID_PARAMETER); + return STATUS_INVALID_PARAMETER; } - *KeyData = Key->Data; + *KeyData = Key->Data; - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } PINICACHEITERATOR -IniCacheFindFirstValue(PINICACHESECTION Section, - PWCHAR *KeyName, - PWCHAR *KeyData) +IniCacheFindFirstValue( + PINICACHESECTION Section, + PWCHAR *KeyName, + PWCHAR *KeyData) { - PINICACHEITERATOR Iterator; - PINICACHEKEY Key; + PINICACHEITERATOR Iterator; + PINICACHEKEY Key; - if (Section == NULL || KeyName == NULL || KeyData == NULL) + if (Section == NULL || KeyName == NULL || KeyData == NULL) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - Key = Section->FirstKey; - if (Key == NULL) + Key = Section->FirstKey; + if (Key == NULL) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - *KeyName = Key->Name; - *KeyData = Key->Data; + *KeyName = Key->Name; + *KeyData = Key->Data; - Iterator = (PINICACHEITERATOR)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHEITERATOR)); - if (Iterator == NULL) + Iterator = (PINICACHEITERATOR)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHEITERATOR)); + if (Iterator == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - Iterator->Section = Section; - Iterator->Key = Key; + Iterator->Section = Section; + Iterator->Key = Key; - return(Iterator); + return Iterator; } BOOLEAN -IniCacheFindNextValue(PINICACHEITERATOR Iterator, - PWCHAR *KeyName, - PWCHAR *KeyData) +IniCacheFindNextValue( + PINICACHEITERATOR Iterator, + PWCHAR *KeyName, + PWCHAR *KeyData) { - PINICACHEKEY Key; + PINICACHEKEY Key; - if (Iterator == NULL || KeyName == NULL || KeyData == NULL) + if (Iterator == NULL || KeyName == NULL || KeyData == NULL) { - DPRINT("Invalid parameter\n"); - return(FALSE); + DPRINT("Invalid parameter\n"); + return FALSE; } - Key = Iterator->Key->Next; - if (Key == NULL) + Key = Iterator->Key->Next; + if (Key == NULL) { - DPRINT("No more entries\n"); - return(FALSE); + DPRINT("No more entries\n"); + return FALSE; } - *KeyName = Key->Name; - *KeyData = Key->Data; + *KeyName = Key->Name; + *KeyData = Key->Data; - Iterator->Key = Key; + Iterator->Key = Key; - return(TRUE); + return TRUE; } VOID -IniCacheFindClose(PINICACHEITERATOR Iterator) +IniCacheFindClose( + PINICACHEITERATOR Iterator) { - if (Iterator == NULL) - return; + if (Iterator == NULL) + return; - RtlFreeHeap(ProcessHeap, - 0, - Iterator); + RtlFreeHeap(ProcessHeap, 0, Iterator); } PINICACHEKEY -IniCacheInsertKey(PINICACHESECTION Section, - PINICACHEKEY AnchorKey, - INSERTATION_TYPE InsertationType, - PWCHAR Name, - PWCHAR Data) +IniCacheInsertKey( + PINICACHESECTION Section, + PINICACHEKEY AnchorKey, + INSERTATION_TYPE InsertationType, + PWCHAR Name, + PWCHAR Data) { - PINICACHEKEY Key; + PINICACHEKEY Key; - Key = NULL; + Key = NULL; - if (Section == NULL || - Name == NULL || - *Name == 0 || - Data == NULL || - *Data == 0) + if (Section == NULL || + Name == NULL || + *Name == 0 || + Data == NULL || + *Data == 0) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - /* Allocate key buffer */ - Key = (PINICACHEKEY)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHEKEY)); - if (Key == NULL) + /* Allocate key buffer */ + Key = (PINICACHEKEY)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHEKEY)); + if (Key == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); - } - RtlZeroMemory(Key, - sizeof(INICACHEKEY)); - - /* Allocate name buffer */ - Key->Name = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(Name) + 1) * sizeof(WCHAR)); - if (Key->Name == NULL) - { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Key); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - /* Copy value name */ - wcscpy(Key->Name, Name); + RtlZeroMemory(Key, sizeof(INICACHEKEY)); - /* Allocate data buffer */ - Key->Data = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(Data) + 1) * sizeof(WCHAR)); - if (Key->Data == NULL) + /* Allocate name buffer */ + Key->Name = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (wcslen(Name) + 1) * sizeof(WCHAR)); + if (Key->Name == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Key->Name); - RtlFreeHeap(ProcessHeap, - 0, - Key); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Key); + return NULL; } - /* Copy value data */ - wcscpy(Key->Data, Data); + /* Copy value name */ + wcscpy(Key->Name, Name); - /* Insert key into section */ - if (Section->FirstKey == NULL) + /* Allocate data buffer */ + Key->Data = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (wcslen(Data) + 1) * sizeof(WCHAR)); + if (Key->Data == NULL) { - Section->FirstKey = Key; - Section->LastKey = Key; - } - else if ((InsertationType == INSERT_FIRST) || - ((InsertationType == INSERT_BEFORE) && ((AnchorKey == NULL) || (AnchorKey == Section->FirstKey)))) - { - /* Insert at the head of the list */ - Section->FirstKey->Prev = Key; - Key->Next = Section->FirstKey; - Section->FirstKey = Key; - } - else if ((InsertationType == INSERT_BEFORE) && (AnchorKey != NULL)) - { - /* Insert before the anchor key */ - Key->Next = AnchorKey; - Key->Prev = AnchorKey->Prev; - AnchorKey->Prev->Next = Key; - AnchorKey->Prev = Key; - } - else if ((InsertationType == INSERT_LAST) || - ((InsertationType == INSERT_AFTER) && ((AnchorKey == NULL) || (AnchorKey == Section->LastKey)))) - { - Section->LastKey->Next = Key; - Key->Prev = Section->LastKey; - Section->LastKey = Key; - } - else if ((InsertationType == INSERT_AFTER) && (AnchorKey != NULL)) - { - /* Insert before the anchor key */ - Key->Next = AnchorKey->Next; - Key->Prev = AnchorKey; - AnchorKey->Next->Prev = Key; - AnchorKey->Next = Key; + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Key->Name); + RtlFreeHeap(ProcessHeap, 0, Key); + return NULL; } - return(Key); + /* Copy value data */ + wcscpy(Key->Data, Data); + + /* Insert key into section */ + if (Section->FirstKey == NULL) + { + Section->FirstKey = Key; + Section->LastKey = Key; + } + else if ((InsertationType == INSERT_FIRST) || + ((InsertationType == INSERT_BEFORE) && ((AnchorKey == NULL) || (AnchorKey == Section->FirstKey)))) + { + /* Insert at the head of the list */ + Section->FirstKey->Prev = Key; + Key->Next = Section->FirstKey; + Section->FirstKey = Key; + } + else if ((InsertationType == INSERT_BEFORE) && (AnchorKey != NULL)) + { + /* Insert before the anchor key */ + Key->Next = AnchorKey; + Key->Prev = AnchorKey->Prev; + AnchorKey->Prev->Next = Key; + AnchorKey->Prev = Key; + } + else if ((InsertationType == INSERT_LAST) || + ((InsertationType == INSERT_AFTER) && ((AnchorKey == NULL) || (AnchorKey == Section->LastKey)))) + { + Section->LastKey->Next = Key; + Key->Prev = Section->LastKey; + Section->LastKey = Key; + } + else if ((InsertationType == INSERT_AFTER) && (AnchorKey != NULL)) + { + /* Insert after the anchor key */ + Key->Next = AnchorKey->Next; + Key->Prev = AnchorKey; + AnchorKey->Next->Prev = Key; + AnchorKey->Next = Key; + } + + return Key; } PINICACHE IniCacheCreate(VOID) { - PINICACHE Cache; + PINICACHE Cache; - /* Allocate inicache header */ - Cache = (PINICACHE)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHE)); - if (Cache == NULL) + /* Allocate inicache header */ + Cache = (PINICACHE)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHE)); + if (Cache == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - /* Initialize inicache header */ - RtlZeroMemory(Cache, - sizeof(INICACHE)); + /* Initialize inicache header */ + RtlZeroMemory(Cache, sizeof(INICACHE)); - return(Cache); + return Cache; } NTSTATUS -IniCacheSave(PINICACHE Cache, - PWCHAR FileName) +IniCacheSave( + PINICACHE Cache, + PWCHAR FileName) { - UNICODE_STRING Name; - PINICACHESECTION Section; - PINICACHEKEY Key; - ULONG BufferSize; - PCHAR Buffer; - PCHAR Ptr; - ULONG Len; - NTSTATUS Status; + UNICODE_STRING Name; + PINICACHESECTION Section; + PINICACHEKEY Key; + ULONG BufferSize; + PCHAR Buffer; + PCHAR Ptr; + ULONG Len; + NTSTATUS Status; - OBJECT_ATTRIBUTES ObjectAttributes; - IO_STATUS_BLOCK IoStatusBlock; - LARGE_INTEGER Offset; - HANDLE FileHandle; + OBJECT_ATTRIBUTES ObjectAttributes; + IO_STATUS_BLOCK IoStatusBlock; + LARGE_INTEGER Offset; + HANDLE FileHandle; - /* Calculate required buffer size */ - BufferSize = 0; - Section = Cache->FirstSection; - while (Section != NULL) + /* Calculate required buffer size */ + BufferSize = 0; + Section = Cache->FirstSection; + while (Section != NULL) { - BufferSize += (Section->Name ? wcslen(Section->Name) : 0) - + 4; /* "[]\r\n" */ + BufferSize += (Section->Name ? wcslen(Section->Name) : 0) + + 4; /* "[]\r\n" */ - Key = Section->FirstKey; - while (Key != NULL) - { - BufferSize += wcslen(Key->Name) - + (Key->Data ? wcslen(Key->Data) : 0) - + 3; /* "=\r\n" */ - Key = Key->Next; - } + Key = Section->FirstKey; + while (Key != NULL) + { + BufferSize += wcslen(Key->Name) + + (Key->Data ? wcslen(Key->Data) : 0) + + 3; /* "=\r\n" */ + Key = Key->Next; + } - Section = Section->Next; - if (Section != NULL) - BufferSize += 2; /* extra "\r\n" at end of each section */ + Section = Section->Next; + if (Section != NULL) + BufferSize += 2; /* extra "\r\n" at end of each section */ } - BufferSize++; /* Null-terminator */ + BufferSize++; /* Null-terminator */ - DPRINT("BufferSize: %lu\n", BufferSize); + DPRINT("BufferSize: %lu\n", BufferSize); - /* Allocate file buffer */ - Buffer = (CHAR*) RtlAllocateHeap(ProcessHeap, - 0, - BufferSize); - if (Buffer == NULL) + /* Allocate file buffer */ + Buffer = (CHAR*)RtlAllocateHeap(ProcessHeap, + 0, + BufferSize); + if (Buffer == NULL) { - DPRINT1("RtlAllocateHeap() failed\n"); - return(STATUS_INSUFFICIENT_RESOURCES); - } - RtlZeroMemory(Buffer, BufferSize); - - /* Fill file buffer */ - Ptr = Buffer; - Section = Cache->FirstSection; - while (Section != NULL) - { - Len = sprintf(Ptr, "[%S]\r\n", Section->Name); - Ptr += Len; - - Key = Section->FirstKey; - while (Key != NULL) - { - Len = sprintf(Ptr, "%S=%S\r\n", Key->Name, Key->Data); - Ptr += Len; - Key = Key->Next; - } - - Section = Section->Next; - if (Section != NULL) - { - Len = sprintf(Ptr, "\r\n"); - Ptr += Len; - } + DPRINT1("RtlAllocateHeap() failed\n"); + return STATUS_INSUFFICIENT_RESOURCES; } - /* Create ini file */ - RtlInitUnicodeString(&Name, - FileName); + RtlZeroMemory(Buffer, BufferSize); - InitializeObjectAttributes(&ObjectAttributes, - &Name, - 0, - NULL, - NULL); - - Status = NtCreateFile(&FileHandle, - GENERIC_WRITE | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - NULL, - FILE_ATTRIBUTE_NORMAL, - 0, - FILE_SUPERSEDE, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY, - NULL, - 0); - if (!NT_SUCCESS(Status)) + /* Fill file buffer */ + Ptr = Buffer; + Section = Cache->FirstSection; + while (Section != NULL) { - DPRINT("NtCreateFile() failed (Status %lx)\n", Status); - RtlFreeHeap(ProcessHeap, - 0, - Buffer); - return(Status); + Len = sprintf(Ptr, "[%S]\r\n", Section->Name); + Ptr += Len; + + Key = Section->FirstKey; + while (Key != NULL) + { + Len = sprintf(Ptr, "%S=%S\r\n", Key->Name, Key->Data); + Ptr += Len; + Key = Key->Next; + } + + Section = Section->Next; + if (Section != NULL) + { + Len = sprintf(Ptr, "\r\n"); + Ptr += Len; + } } - Offset.QuadPart = 0LL; - Status = NtWriteFile(FileHandle, - NULL, - NULL, - NULL, - &IoStatusBlock, - Buffer, - BufferSize, - &Offset, - NULL); - if (!NT_SUCCESS(Status)) + /* Create ini file */ + RtlInitUnicodeString(&Name, + FileName); + + InitializeObjectAttributes(&ObjectAttributes, + &Name, + 0, + NULL, + NULL); + + Status = NtCreateFile(&FileHandle, + GENERIC_WRITE | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + NULL, + FILE_ATTRIBUTE_NORMAL, + 0, + FILE_SUPERSEDE, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY, + NULL, + 0); + if (!NT_SUCCESS(Status)) + { + DPRINT("NtCreateFile() failed (Status %lx)\n", Status); + RtlFreeHeap(ProcessHeap, 0, Buffer); + return Status; + } + + Offset.QuadPart = 0LL; + Status = NtWriteFile(FileHandle, + NULL, + NULL, + NULL, + &IoStatusBlock, + Buffer, + BufferSize, + &Offset, + NULL); + if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); NtClose(FileHandle); - RtlFreeHeap(ProcessHeap, - 0, - Buffer); - return(Status); + RtlFreeHeap(ProcessHeap, 0, Buffer); + return Status; } - NtClose(FileHandle); + NtClose(FileHandle); - RtlFreeHeap(ProcessHeap, - 0, - Buffer); + RtlFreeHeap(ProcessHeap, 0, Buffer); - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } PINICACHESECTION -IniCacheAppendSection(PINICACHE Cache, - PWCHAR Name) +IniCacheAppendSection( + PINICACHE Cache, + PWCHAR Name) { - PINICACHESECTION Section = NULL; + PINICACHESECTION Section = NULL; - if (Cache == NULL || Name == NULL || *Name == 0) + if (Cache == NULL || Name == NULL || *Name == 0) { - DPRINT("Invalid parameter\n"); - return(NULL); + DPRINT("Invalid parameter\n"); + return NULL; } - Section = (PINICACHESECTION)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(INICACHESECTION)); - if (Section == NULL) + Section = (PINICACHESECTION)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(INICACHESECTION)); + if (Section == NULL) { - DPRINT("RtlAllocateHeap() failed\n"); - return(NULL); - } - RtlZeroMemory(Section, - sizeof(INICACHESECTION)); - - /* Allocate and initialize section name */ - Section->Name = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(Name) + 1) * sizeof(WCHAR)); - if (Section->Name == NULL) - { - DPRINT("RtlAllocateHeap() failed\n"); - RtlFreeHeap(ProcessHeap, - 0, - Section); - return(NULL); + DPRINT("RtlAllocateHeap() failed\n"); + return NULL; } - /* Copy section name */ - wcscpy(Section->Name, Name); + RtlZeroMemory(Section, sizeof(INICACHESECTION)); - /* Append section */ - if (Cache->FirstSection == NULL) + /* Allocate and initialize section name */ + Section->Name = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (wcslen(Name) + 1) * sizeof(WCHAR)); + if (Section->Name == NULL) { - Cache->FirstSection = Section; - Cache->LastSection = Section; - } - else - { - Cache->LastSection->Next = Section; - Section->Prev = Cache->LastSection; - Cache->LastSection = Section; + DPRINT("RtlAllocateHeap() failed\n"); + RtlFreeHeap(ProcessHeap, 0, Section); + return NULL; } - return(Section); + /* Copy section name */ + wcscpy(Section->Name, Name); + + /* Append section */ + if (Cache->FirstSection == NULL) + { + Cache->FirstSection = Section; + Cache->LastSection = Section; + } + else + { + Cache->LastSection->Next = Section; + Section->Prev = Cache->LastSection; + Cache->LastSection = Section; + } + + return Section; } /* EOF */ diff --git a/base/setup/usetup/inicache.h b/base/setup/usetup/inicache.h index bd7dd33510c..4da4c117f36 100644 --- a/base/setup/usetup/inicache.h +++ b/base/setup/usetup/inicache.h @@ -29,99 +29,107 @@ typedef struct _INICACHEKEY { - PWCHAR Name; - PWCHAR Data; + PWCHAR Name; + PWCHAR Data; - struct _INICACHEKEY *Next; - struct _INICACHEKEY *Prev; + struct _INICACHEKEY *Next; + struct _INICACHEKEY *Prev; } INICACHEKEY, *PINICACHEKEY; typedef struct _INICACHESECTION { - PWCHAR Name; + PWCHAR Name; - PINICACHEKEY FirstKey; - PINICACHEKEY LastKey; + PINICACHEKEY FirstKey; + PINICACHEKEY LastKey; - struct _INICACHESECTION *Next; - struct _INICACHESECTION *Prev; + struct _INICACHESECTION *Next; + struct _INICACHESECTION *Prev; } INICACHESECTION, *PINICACHESECTION; typedef struct _INICACHE { - PINICACHESECTION FirstSection; - PINICACHESECTION LastSection; + PINICACHESECTION FirstSection; + PINICACHESECTION LastSection; } INICACHE, *PINICACHE; typedef struct _PINICACHEITERATOR { - PINICACHESECTION Section; - PINICACHEKEY Key; + PINICACHESECTION Section; + PINICACHEKEY Key; } INICACHEITERATOR, *PINICACHEITERATOR; typedef enum { - INSERT_FIRST, - INSERT_BEFORE, - INSERT_AFTER, - INSERT_LAST + INSERT_FIRST, + INSERT_BEFORE, + INSERT_AFTER, + INSERT_LAST } INSERTATION_TYPE; /* FUNCTIONS ****************************************************************/ NTSTATUS -IniCacheLoad(PINICACHE *Cache, - PUNICODE_STRING FileName, - BOOLEAN String); +IniCacheLoad( + PINICACHE *Cache, + PUNICODE_STRING FileName, + BOOLEAN String); VOID -IniCacheDestroy(PINICACHE Cache); +IniCacheDestroy( + PINICACHE Cache); PINICACHESECTION -IniCacheGetSection(PINICACHE Cache, - PWCHAR Name); +IniCacheGetSection( + PINICACHE Cache, + PWCHAR Name); NTSTATUS -IniCacheGetKey(PINICACHESECTION Section, - PWCHAR KeyName, - PWCHAR *KeyData); - - +IniCacheGetKey( + PINICACHESECTION Section, + PWCHAR KeyName, + PWCHAR *KeyData); PINICACHEITERATOR -IniCacheFindFirstValue(PINICACHESECTION Section, - PWCHAR *KeyName, - PWCHAR *KeyData); +IniCacheFindFirstValue( + PINICACHESECTION Section, + PWCHAR *KeyName, + PWCHAR *KeyData); BOOLEAN -IniCacheFindNextValue(PINICACHEITERATOR Iterator, - PWCHAR *KeyName, - PWCHAR *KeyData); +IniCacheFindNextValue( + PINICACHEITERATOR Iterator, + PWCHAR *KeyName, + PWCHAR *KeyData); VOID -IniCacheFindClose(PINICACHEITERATOR Iterator); +IniCacheFindClose( + PINICACHEITERATOR Iterator); PINICACHEKEY -IniCacheInsertKey(PINICACHESECTION Section, - PINICACHEKEY AnchorKey, - INSERTATION_TYPE InsertationType, - PWCHAR Name, - PWCHAR Data); +IniCacheInsertKey( + PINICACHESECTION Section, + PINICACHEKEY AnchorKey, + INSERTATION_TYPE InsertationType, + PWCHAR Name, + PWCHAR Data); PINICACHE IniCacheCreate(VOID); NTSTATUS -IniCacheSave(PINICACHE Cache, - PWCHAR FileName); +IniCacheSave( + PINICACHE Cache, + PWCHAR FileName); PINICACHESECTION -IniCacheAppendSection(PINICACHE Cache, - PWCHAR Name); +IniCacheAppendSection( + PINICACHE Cache, + PWCHAR Name); /* EOF */ diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index fb9857b9144..731ff05b03f 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -18,19 +18,19 @@ static MUI_ENTRY deDELanguagePageEntries[] = { 6, 8, - "Sprachauswahl.", + "Sprachauswahl", TEXT_STYLE_NORMAL }, { 8, 10, - "\x07 Bitte whlen Sie die Sprache, die Sie whrend des Setups verwenden", + "\x07 Bitte whlen Sie die Sprache, die Sie whrend der Installation", TEXT_STYLE_NORMAL }, { 11, 11, - "wollen. Dann drcken Sie ENTER.", + "verwenden wollen. Besttigen Sie die Auswahl mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { @@ -42,7 +42,7 @@ static MUI_ENTRY deDELanguagePageEntries[] = { 0, 0, - "ENTER = Fortsetzen F3 = Beenden", + "EINGABETASTE = Fortsetzen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -76,13 +76,13 @@ static MUI_ENTRY deDEWelcomePageEntries[] = { 6, 12, - "Computer und bereitet den zweiten Teil des Setups vor.", + "Computer und bereitet die nchsten Schritte vor.", TEXT_STYLE_NORMAL }, { 8, 15, - "\x07 Drcken Sie ENTER, um ReactOS zu installieren.", + "\x07 Drcken Sie die EINGABETASTE, um ReactOS zu installieren.", TEXT_STYLE_NORMAL }, { @@ -100,13 +100,13 @@ static MUI_ENTRY deDEWelcomePageEntries[] = { 8, 21, - "\x07 Drcken Sie F3, um das Setup zu beenden.", + "\x07 Drcken Sie F3, um die Installation abzubrechen.", TEXT_STYLE_NORMAL }, { 6, 23, - "Fr weitere Informationen besuchen Sie bitte:", + "Weitere Informationen erhalten Sie unter:", TEXT_STYLE_NORMAL }, { @@ -118,7 +118,7 @@ static MUI_ENTRY deDEWelcomePageEntries[] = { 0, 0, - "ENTER = Fortsetzen R = Reparieren L = Lizenz F3 = Beenden", + "EINGABETASTE = Fortsetzen R = Reparieren L = Lizenz F3 = Beenden", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -140,79 +140,79 @@ static MUI_ENTRY deDEIntroPageEntries[] = { 6, 8, - "Das ReactOS-Setup ist noch in einer frhen Entwicklungsphase. Es unter-", + "Der Installationsassistent befindet sich noch in der Entwicklungsphase.", TEXT_STYLE_NORMAL }, { 6, 9, - "sttzt noch nicht alle Funktionen eines vollstndig nutzbaren Setups.", + "Einige Funktionen werden noch nicht vollstndig untersttzt.", TEXT_STYLE_NORMAL }, { 6, 12, - "Es gibt folgende Beschrnkungen:", + "Es existieren folgende Beschrnkungen:", TEXT_STYLE_NORMAL }, { 8, 13, - "- Setup kann nur eine primre Partition auf einer HDD verwalten.", + "- Nur primre Festplattenpartitionen knnen verwaltet werden.", TEXT_STYLE_NORMAL }, { 8, 14, - "- Setup kann keine primre Partition von einer HDD lschen,", + "- Eine primre Partition kann nicht gelscht werden,", TEXT_STYLE_NORMAL }, { 8, 15, - " so lange erweiterte Partitionen auf dieser HDD existieren.", + " solange erweiterte Partitionen auf der Festplatte existieren.", TEXT_STYLE_NORMAL }, { 8, 16, - "- Setup kann die erste erweiterte Partition nicht von der HDD lschen,", + "- Die jeweils erste erweiterte Partition kann nicht gelscht werden,", TEXT_STYLE_NORMAL }, { 8, 17, - " so lange weitere erweiterte Partitionen auf dieser HDD existieren.", + " solange weitere erweiterte Partitionen auf der Festplatte existieren.", TEXT_STYLE_NORMAL }, { 8, 18, - "- Setup untersttzt nur FAT-Dateisysteme.", + "- Es werden nur FAT-Dateisysteme untersttzt.", TEXT_STYLE_NORMAL }, { 8, 19, - "- Dateisystemberprfung ist noch nicht implementiert.", + "- Die Dateisystemberprfung ist noch nicht implementiert.", TEXT_STYLE_NORMAL }, { 8, 23, - "\x07 Drcken Sie ENTER, um ReactOS zu installieren.", + "\x07 Drcken Sie die EINGABETASTE, um ReactOS zu installieren.", TEXT_STYLE_NORMAL }, { 8, 25, - "\x07 Drcken Sie F3, um das Setup zu beenden.", + "\x07 Drcken Sie F3, um die Installation abzubrechen.", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Fortsetzen F3 = Beenden", + "EINGABETASTE = Fortsetzen F3 = Installation abbrechen", TEXT_TYPE_STATUS| TEXT_PADDING_BIG }, { @@ -240,103 +240,103 @@ static MUI_ENTRY deDELicensePageEntries[] = { 8, 8, - "The ReactOS System is licensed under the terms of the", + "ReactOS ist unter den Bedingungen der GNU General Public License", TEXT_STYLE_NORMAL }, { 8, 9, - "GNU GPL with parts containing code from other compatible", + "lizenziert. Einige Teile von ReactOS stehen unter dazu kompatiblen", TEXT_STYLE_NORMAL }, { 8, 10, - "licenses such as the X11 or BSD and GNU LGPL licenses.", + "Lizenzen wie der BSD- oder GNU LGPL-Lizenz.", TEXT_STYLE_NORMAL }, { 8, 11, - "All software that is part of the ReactOS system is", + "Smtliche Software in ReactOS daher unter der", TEXT_STYLE_NORMAL }, { 8, 12, - "therefore released under the GNU GPL as well as maintaining", + "GNU GPL verffentlicht, behalten daneben aber ihre", TEXT_STYLE_NORMAL }, { 8, 13, - "the original license.", + "ursprnglichen Lizenzen bei.", TEXT_STYLE_NORMAL }, { 8, 15, - "This software comes with NO WARRANTY or restrictions on usage", + "ReactOS ist freie Software. Die Verffentlichung dieses Programms", TEXT_STYLE_NORMAL }, { 8, 16, - "save applicable local and international law. The licensing of", + "erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird,", TEXT_STYLE_NORMAL }, { 8, 17, - "ReactOS only covers distribution to third parties.", + "aber OHNE IRGENDEINE GARANTIE,", TEXT_STYLE_NORMAL }, { 8, 18, - "If for some reason you did not receive a copy of the", + "sogar ohne die implizite Garantie der MARKTREIFE", TEXT_STYLE_NORMAL }, { 8, 19, - "GNU General Public License with ReactOS please visit", + "oder der VERWENDBARKEIT FR EINEN BESTIMMTEN ZWECK.", TEXT_STYLE_NORMAL }, { 8, 20, - "http://www.gnu.org/licenses/licenses.html", - TEXT_STYLE_HIGHLIGHT - }, - { - 8, - 22, - "Warranty:", - TEXT_STYLE_HIGHLIGHT - }, - { - 8, - 24, - "This is free software; see the source for copying conditions.", + "Details finden Sie in der GNU General Public License.", TEXT_STYLE_NORMAL }, { 8, - 25, - "There is NO warranty; not even for MERCHANTABILITY or", + 22, + "Sie sollten ein Exemplar der GNU General Public License", + TEXT_STYLE_NORMAL + }, + { + 8, + 23, + "zusammen mit ReactOS erhalten haben.", + TEXT_STYLE_NORMAL + }, + { + 8, + 24, + "Falls nicht, besuchen Sie bitte", TEXT_STYLE_NORMAL }, { 8, 26, - "FITNESS FOR A PARTICULAR PURPOSE", - TEXT_STYLE_NORMAL + "http://www.gnu.org/licenses", + TEXT_STYLE_HIGHLIGHT }, { 0, 0, - "ENTER = Zurck", + "EINGABETASTE = Zurck", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -364,13 +364,13 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 24, 11, - "Computer:", + "Computertyp:", TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT }, { 24, 12, - "Bildschirm:", + "Anzeige:", TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT }, { @@ -382,15 +382,15 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 24, 14, - " Tastaturlayout:", + "Tastaturlayout:", TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT }, - { + /*{ 24, 16, "Akzeptieren:", TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT - }, + },*/ { 25, 16, "Diese Gerteeinstellungen akzeptieren", @@ -399,13 +399,13 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 6, 19, - "Sie knnen die Einstellungen durch die Pfeiltasten auswhlen.", + "Sie knnen die Einstellungen durch die PFEILTASTEN auswhlen.", TEXT_STYLE_NORMAL }, { 6, 20, - "Dann drcken Sie die Eingabetaste, um eine Einstellung zu ndern.", + "Drcken Sie die EINGABETASTE, um eine Einstellung zu ndern.", TEXT_STYLE_NORMAL }, { @@ -423,13 +423,13 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 6, 24, - "einstellungen akzeptieren\" und drcken danach die Eingabetaste.", + "einstellungen akzeptieren\" und besttigen mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Fortsetzen F3 = Beenden", + "EINGABETASTE = Fortsetzen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -451,49 +451,55 @@ static MUI_ENTRY deDERepairPageEntries[] = { 6, 8, - "Das ReactOS-Setup ist noch in einer frhen Entwicklungsphase. Es unter-", + "Der Installationsassistent ist noch der Entwicklungsphase.", TEXT_STYLE_NORMAL }, { 6, 9, - "sttzt noch nicht alle Funktionen eines vollstndig nutzbaren Setups.", + "Er untersttzt noch nicht alle Funktionen eines vollstndig", TEXT_STYLE_NORMAL }, { 6, 12, + "nutzbaren Setups.", + TEXT_STYLE_NORMAL + }, + { + 6, + 14, "Die Reparaturfunktionen sind noch nicht implementiert.", TEXT_STYLE_NORMAL }, { 8, - 15, + 16, "\x07 Drcken Sie U, um ReactOS zu aktualisieren.", TEXT_STYLE_NORMAL }, { 8, - 17, + 19, "\x07 Drcken Sie R, fr die Wiederherstellungskonsole.", TEXT_STYLE_NORMAL }, { 8, - 19, + 20, "\x07 Drcken Sie ESC, um zur Hauptseite zurckzukehren.", TEXT_STYLE_NORMAL }, { 8, - 21, - "\x07 Drcken Sie ENTER, um den Computer neu zu starten.", + 22, + "\x07 Drcken Sie die EINGABETASTE, um den Computer neu zu starten.", TEXT_STYLE_NORMAL }, { 0, 0, - "ESC = Hauptseite U = Update R = Recovery ENTER = Neustarten", + "ESC = Zurck U = Aktualisieren R = Wiederherst. EINGABETASTE = Neustart", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -514,19 +520,19 @@ static MUI_ENTRY deDEComputerPageEntries[] = { 6, 8, - "Sie wollen den Computertyp ndern, der installiert wird.", + "Den zu installierenden Computertyp einstellen.", TEXT_STYLE_NORMAL }, { 8, 10, - "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", + "\x07 Drcken Sie die PFEILTASTEN, um den gewnschten", TEXT_STYLE_NORMAL }, { 8, 11, - " Typ zu whlen. Dann drcken Sie ENTER.", + " Typ zu whlen. Besttigen Sie mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { @@ -544,7 +550,7 @@ static MUI_ENTRY deDEComputerPageEntries[] = { 0, 0, - "ENTER = Fortsetzen ESC = Abbrechen F3 = Beenden", + "EINGABETASTE = Fortsetzen ESC = Zurck F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -566,25 +572,25 @@ static MUI_ENTRY deDEFlushPageEntries[] = { 10, 6, - "Das System vergewissert sich, dass alle Daten gespeichert sind.", + "Die geschrieben Daten werden berprft", TEXT_STYLE_NORMAL }, { 10, 8, - "Dies kann einige Minuten in Anspruch nehmen.", + "Dies kann einige Zeit in Anspruch nehmen.", TEXT_STYLE_NORMAL }, { 10, 9, - "Der PC wird automatisch neustarten, wenn der Vorgang beendet ist.", + "Der PC wird automatisch neu gestartet, sobald der Vorgang beendet ist.", TEXT_STYLE_NORMAL }, { 0, 0, - "Cache wird geleert", + "Der Zwischenspeicher wird geleert", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -612,19 +618,13 @@ static MUI_ENTRY deDEQuitPageEntries[] = { 10, 8, - "Entfernen Sie die Diskette aus Laufwerk A: und", - TEXT_STYLE_NORMAL - }, - { - 10, - 9, - "alle CD-ROMs aus den CD-Laufwerken.", + "Entfernen Sie alle Datentrger aus den CD-Laufwerken.", TEXT_STYLE_NORMAL }, { 10, 11, - "Drcken Sie ENTER, um den Computer neuzustarten.", + "Drcken Sie die EINGABETASTE, um den Computer neu zu starten.", TEXT_STYLE_NORMAL }, { @@ -652,18 +652,18 @@ static MUI_ENTRY deDEDisplayPageEntries[] = { 6, 8, - "Sie wollen den Bildschirmtyp ndern, der installiert wird.", + "Sie wollen den zu installierenden Bildschirmtyp ndern.", TEXT_STYLE_NORMAL }, { 8, 10, - "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", + "\x07 Benutzen Sie die PFEILTASTEN, um den gewnschten", TEXT_STYLE_NORMAL }, { 8, 11, - " Typ zu whlen. Dann drcken Sie ENTER.", + " Typ zu whlen. Besttigen Sie mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { @@ -681,7 +681,7 @@ static MUI_ENTRY deDEDisplayPageEntries[] = { 0, 0, - "ENTER = Fortsetzen ESC = Abbrechen F3 = Beenden", + "EEINGABETASTE = Fortsetzen ESC = Zurck F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -703,31 +703,25 @@ static MUI_ENTRY deDESuccessPageEntries[] = { 10, 6, - "Die Standardkomponenten von ReactOS wurden erfolgreich installiert.", + "Die Grundkomponenten von ReactOS wurden erfolgreich installiert.", TEXT_STYLE_NORMAL }, { 10, 8, - "Entfernen Sie die Diskette aus Laufwerk A: und", - TEXT_STYLE_NORMAL - }, - { - 10, - 9, - "alle CD-ROMs aus den CD-Laufwerken.", + "Entfernen Sie alle Datentrger aus den CD-Laufwerken.", TEXT_STYLE_NORMAL }, { 10, 11, - "Drcken Sie ENTER, um den Computer neuzustarten.", + "Drcken Sie die EINGABETASTE, um den Computer neu zu starten.", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Computer neustarten", + "EINGABETASTE = Computer neu starten", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -749,13 +743,13 @@ static MUI_ENTRY deDEBootPageEntries[] = { 6, 8, - "Das Setup kann das Boot-Sektor nicht auf der", + "Der Bootsektor konnte nicht auf der", TEXT_STYLE_NORMAL }, { 6, 9, - "Festplatte Ihres Computers installieren", + "Festplatte Ihres Computers installiert werden.", TEXT_STYLE_NORMAL }, { @@ -767,13 +761,13 @@ static MUI_ENTRY deDEBootPageEntries[] = { 6, 14, - "drcken Sie ENTER.", + "drcken Sie die EINGABETASTE.", TEXT_STYLE_NORMAL, }, { 0, 0, - "ENTER = Fortsetzen F3 = Beenden", + "EINGABETASTE = Fortsetzen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -796,37 +790,37 @@ static MUI_ENTRY deDESelectPartitionEntries[] = { 6, 8, - "Diese Liste zeigt existierende Partitionen an und den freien", + "Diese Liste zeigt die existierenden Partitionen und ", TEXT_STYLE_NORMAL }, { 6, 9, - "Speicherplatz fr neue Partitionen.", + "freien Speicherplatz fr neue Partitionen auf der Festplatte an.", TEXT_STYLE_NORMAL }, { 8, 11, - "\x07 Drcken Sie die Pfeiltasten, um eine Partition auszuwhlen.", + "\x07 Benutzen Sie die PFEILTASTEN, um eine Partition auszuwhlen.", TEXT_STYLE_NORMAL }, { 8, 13, - "\x07 Drcken Sie die Eingabetaste, um die Auswahl zu besttigen.", + "\x07 Besttigen Sie Ihre Auswahl mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { 8, 15, - "\x07 Drcken Sie C, um eine neue Partition zu erstellen.", + "\x07 C erstellt eine neue Partition.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Drcken Sie D, um eine vorhandene Partition zu lschen.", + "\x07 D lscht eine vorhandene Partition.", TEXT_STYLE_NORMAL }, { @@ -854,25 +848,25 @@ static MUI_ENTRY deDEFormatPartitionEntries[] = { 6, 8, - "Formatiere Partition", - TEXT_STYLE_NORMAL + "Formatierung der Partition", + TEXT_STYLE_HIGHLIGHT }, { 6, 10, - "Setup wird nun die gewnschte Partition formatieren.", + "Die gewnschte Partition wird nun formatiert.", TEXT_STYLE_NORMAL }, { 6, 11, - "Drcken Sie die Eingabetaste, um fortzufahren.", + "Drcken Sie die EINGABETASTE, um fortzufahren.", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Fortfahren F3 = Beenden", + "EINGABETASTE = Fortfahren F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -894,31 +888,37 @@ static MUI_ENTRY deDEInstallDirectoryEntries[] = { 6, 8, - "Setup installiert die ReactOS-Installationsdateien in die ausgewhlte", + "Die Installationsdateien werden auf die ausgewhlte Partition kopiert.", TEXT_STYLE_NORMAL }, { 6, 9, - "Partition. Whlen Sie ein Installationsverzeichnis fr ReactOS:", + "Whlen Sie ein Installationsverzeichnis fr ReactOS:", TEXT_STYLE_NORMAL }, { 6, 14, - "Um den Vorschlag zu ndern drcken sie die 'Entf'-Taste, um", + "Geben Sie den Namen des Verzeichnisses an.", TEXT_STYLE_NORMAL }, { 6, 15, - "Zeichen zu lschen, und geben sie dann den Namen des Verzeichnis ein", + "Benutzen Sie die Entf-TASTE, um Zeichen zu lschen.", + TEXT_STYLE_NORMAL + }, + { + 6, + 17, + "Besttigen Sie die Eingabe mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Fortfahren F3 = Beenden", + "EINGABETASTE = Fortfahren F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -940,19 +940,19 @@ static MUI_ENTRY deDEFileCopyEntries[] = { 0, 12, - "Bitte warten Sie, whrend das ReactOS-Setup die ReactOS-Dateien", + "Die bentigten Dateien werden in das Installationsverzeichnis kopiert.", TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER }, { 0, 13, - "in das Installationsverzeichnis kopiert.", + "Dieser Vorgang kann einige Zeit in Anspruch nehmen -", TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER }, { 0, 14, - "Dieser Vorgang kann mehrere Minuten in Anspruch nehmen.", + "Bitte haben Sie einen Moment Geduld.", TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER }, { @@ -980,37 +980,37 @@ static MUI_ENTRY deDEBootLoaderEntries[] = { 6, 8, - "Setup installiert nun den Boot-Loader.", + "Bestimmen Sie, wo der Bootloader installiert werden soll:", TEXT_STYLE_NORMAL }, { 8, 12, - "Boot-Loader auf der Festplatte installieren (MBR und VBR).", + "Bootloader auf der Festplatte installieren (MBR und VBR)", TEXT_STYLE_NORMAL }, { 8, 13, - "Boot-Loader auf der Festplatte installieren (nur VBR).", + "Bootloader auf der Festplatte installieren (nur VBR)", TEXT_STYLE_NORMAL }, { 8, 14, - "Boot-Loader auf einer Diskette installieren.", + "Bootloader auf einer Diskette installieren", TEXT_STYLE_NORMAL }, { 8, 15, - "Boot-Loader nicht installieren.", + "Bootloader nicht installieren", TEXT_STYLE_NORMAL }, { 0, 0, - "ENTER = Fortfahren F3 = Abbrechen", + "EINGABETASTE = Fortfahren F3 = Abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1032,19 +1032,19 @@ static MUI_ENTRY deDEKeyboardSettingsEntries[] = { 6, 8, - "Sie wollen den Tastaturtyp ndern, der installiert wird.", + "Sie wollen den zu installierenden Tastaturtyp ndern.", TEXT_STYLE_NORMAL }, { 8, 10, - "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", + "\x07 Benutzen Sie die PFEILTASTEN, um den gewnschten Typ", TEXT_STYLE_NORMAL }, { 8, 11, - " Typ zu whlen. Dann drcken Sie ENTER.", + " zu whlen. Besttigen Sie Ihre Auswahl mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { @@ -1062,7 +1062,7 @@ static MUI_ENTRY deDEKeyboardSettingsEntries[] = { 0, 0, - "ENTER = Fortfahren ESC = Abbrechen F3 = Beenden", + "EINGABETASTE = Fortfahren ESC = Abbrechen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1084,19 +1084,19 @@ static MUI_ENTRY deDELayoutSettingsEntries[] = { 6, 8, - "Bitte whlen Sie ein zu installierendes Standardlayout aus.", + "Bitte whlen Sie das Standardtastaturlayout aus.", TEXT_STYLE_NORMAL }, { 8, 10, - "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", + "\x07 Benutzen Sie die PFEILTASTEN, um den gewnschten Typ", TEXT_STYLE_NORMAL }, { 8, 11, - " Typ zu whlen. Dann drcken Sie ENTER.", + " zu whlen. Besttigen Sie Ihre Auswahl mit der EINGABETASTE.", TEXT_STYLE_NORMAL }, { @@ -1114,7 +1114,7 @@ static MUI_ENTRY deDELayoutSettingsEntries[] = { 0, 0, - "ENTER = Fortfahren ESC = Abbrechen F3 = Beenden", + "EINGABETASTE = Fortfahren ESC = Abbrechen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1137,7 +1137,7 @@ static MUI_ENTRY deDEPrepareCopyEntries[] = { 6, 8, - "Setup bereitet ihren Computer fr die Installation vor.", + "Der Computer wird fr die Installation vorbereitet.", TEXT_STYLE_NORMAL }, { @@ -1172,13 +1172,13 @@ static MUI_ENTRY deDESelectFSEntries[] = { 8, 19, - "\x07 Drcken Sie die Pfeiltasten, um das Dateisystem zu ndern.", + "\x07 Drcken Sie die PFEILTASTEN, um das Dateisystem zu ndern.", 0 }, { 8, 21, - "\x07 Drcken Sie die Eingabetaste, um die Partition zu formatieren.", + "\x07 Drcken Sie die EINGABETASTE, um die Partition zu formatieren.", 0 }, { @@ -1190,7 +1190,7 @@ static MUI_ENTRY deDESelectFSEntries[] = { 0, 0, - "ENTER = Fortfahren ESC = Abbrechen F3 = Beenden", + "EINGABETASTE = Fortfahren ESC = Zurck F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, @@ -1237,7 +1237,7 @@ static MUI_ENTRY deDEDeletePartitionEntries[] = { 0, 0, - "D = Lsche Partition ESC = Abbrechen F3 = Beenden", + "D = Lsche Partition ESC = Abbrechen F3 = Installation abbrechen", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1259,13 +1259,13 @@ static MUI_ENTRY deDERegistryEntries[] = { 6, 8, - "Setup aktualisiert die Systemkonfiguration. ", - TEXT_STYLE_NORMAL + "Systemkonfiguration wird aktualisiert. ", + TEXT_STYLE_HIGHLIGHT }, { 0, 0, - "Registryzweige erstellen...", + "Registrierungseintrge erstellen...", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1281,211 +1281,215 @@ MUI_ERROR deDEErrorEntries[] = { { //ERROR_NOT_INSTALLED - "ReactOS ist nicht vollstndig auf Ihrem System installiert.\n" - "Wenn Sie das Setup jetzt beenden, mssen Sie das\n" - "Setup erneut starten, um ROS zu installieren.\n" + "ReactOS wurde nicht vollstndig auf Ihrem System installiert.\n" + "Wenn Sie die Installation jetzt beenden, mssen Sie diese\n" + "erneut starten, um ReactOS zu installieren.\n" "\n" - " \x07 Drcken Sie ENTER um das Setup Fortzusetzen.\n" - " \x07 Drcken Sie F3 um das Setup zu beenden.", - "F3 = Beenden ENTER = Fortsetzen" + " \x07 Drcken Sie die EINGABETASTE, um die Installation fortzusetzen.\n" + " \x07 Drcken Sie F3, um die Installation zu beenden.", + "F3 = Beenden EINGABETASTE = Fortsetzen" }, { //ERROR_NO_HDD - "Setup konnte keine Festplatte finden.\n", - "ENTER = Computer neu starten" + "Es konnte keine Festplatte gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_NO_SOURCE_DRIVE - "Setup konnte das Quelllaufwerk nicht finden.\n", - "ENTER = Computer neu starten" + "Es konnte kein Installationsmedium gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_LOAD_TXTSETUPSIF - "Setup konnte TXTSETUP.SIF nicht finden.\n", - "ENTER = Computer neu starten" + "TXTSETUP.SIF konnte nicht gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CORRUPT_TXTSETUPSIF - "Setup fand eine defekte TXTSETUP.SIF.\n", - "ENTER = Computer neu starten" + "TXTSETUP.SIF scheint beschdigt zu sein.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_SIGNATURE_TXTSETUPSIF, - "Setup fand eine ungltige Signatur in TXTSETUP.SIF.\n", - "ENTER = Computer neu starten" + "Es wurde eine ungltige Signatur in TXTSETUP.SIF gefunden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_DRIVE_INFORMATION - "Setup konnte keine Laufwerksinformationen abfragen.\n", - "ENTER = Computer neu starten" + "Es konnten keine Laufwerksinformationen abgefragt werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_WRITE_BOOT, - "Setup konnte den FAT-Bootcode nicht auf der Partition installieren.", - "ENTER = Computer neu starten" + "Der FAT-Bootcode konnte nicht auf der Partition installiert werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_LOAD_COMPUTER, - "Setup konnte die Computertypenliste nicht laden.\n", - "ENTER = Computer neu starten" + "Computertypenliste konnte nicht geladen werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_LOAD_DISPLAY, - "Setup konnte die Displayeinstellungsliste nicht laden.\n", - "ENTER = Computer neu starten" + "Displayeinstellungsliste konnte nicht geladen werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_LOAD_KEYBOARD, - "Setup konnte die Tastaturtypenliste nicht laden.\n", - "ENTER = Computer neu starten" + "Tastaturtypenliste konnte nicht geladen werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_LOAD_KBLAYOUT, - "Setup konnte die Tastaturlayoutliste nicht laden.\n", - "ENTER = Computer neu starten" + "Die Liste der Tastaturlayouts konnte nicht geladen werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_WARN_PARTITION, - "Setup hat mindestens eine Festplatte mit einer inkompatiblen\n" - "Partitionstabelle gefunden, die nicht richtig verwendet werden kann!\n" + "Es wurde mindestens eine Festplatte mit einer inkompatiblen\n" + "Partitionstabelle gefunden, die nicht richtig verwendet werden kann.\n" "\n" - "Partitionen zu erstellen/lschen kann die Partitionstabelle zerstren.\n" + "nderungen an den Partitionen knnen die Partitionstabelle zerstren!\n" "\n" - " \x07 Drcken Sie F3, um das Setup zu beenden.\n" - " \x07 Drcken Sie ENTER, um das Setup Fortzusetzen.", - "F3 = Beenden ENTER = Fortsetzen" + " \x07 Drcken Sie F3, um die Installation zu beenden.\n" + " \x07 Drcken Sie die EINGABETASTE, um die Installation fortzusetzen.", + "F3 = Beenden ENTER = EINGABETASTE" }, { //ERROR_NEW_PARTITION, "Sie knnen keine neue Partition in einer bereits\n" - "vohandenen Partition erstellen!\n" + "vorhandenen Partition erstellen!\n" "\n" " * * Eine beliebige Taste zum Fortsetzen drcken.", NULL }, { //ERROR_DELETE_SPACE, - "Sie knnen unpartitionieren Speicher nicht lschen!\n" + "Sie knnen unpartitionierten Speicher nicht lschen!\n" "\n" " * Eine beliebige Taste zum Fortsetzen drcken.", NULL }, { //ERROR_INSTALL_BOOTCODE, - "Setup konnte den FAT-Bootcode nicht auf der Partition installieren.", - "ENTER = Computer neu starten" + "Der FAT-Bootcode konnte nicht auf der Partition installiert werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_NO_FLOPPY, - "Keine Diskette in Laufwerk A:.", - "ENTER = Fortsetzen" + "Keine Diskette in Laufwerk A: gefunden.", + "EINGABETASTE = Fortsetzen" }, { //ERROR_UPDATE_KBSETTINGS, - "Setup konnte das Tastaturlayout nicht aktualisieren.", - "ENTER = Computer neu starten" + "Das Tastaturlayout konnte nicht aktualisiert werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_UPDATE_DISPLAY_SETTINGS, - "Setup konnte die Display-Registrywerte nicht aktualisieren.", - "ENTER = Computer neu starten" + "Die Registrierungseintrge der Anzeigeeinstellungen\n" + "konnten nicht aktualisiert werden.", + "EINGABETASTER = Computer neu starten" }, { //ERROR_IMPORT_HIVE, - "Setup konnte keine Hive-Datei importieren.", - "ENTER = Computer neu starten" + "Es konnte keine Hive-Datei importiert werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_FIND_REGISTRY - "Setup konnte die Registrydateien nicht finden.", - "ENTER = Computer neu starten" + "Die Registrierungsdateien konnten nicht gefunden werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CREATE_HIVE, - "Setup konnte die Registryzweige nicht erstellen.", - "ENTER = Computer neu starten" + "Die Zweige in der Registrierung konnten nicht erstellt werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_INITIALIZE_REGISTRY, - "Setup konnte die Registry nicht initialisieren.", - "ENTER = Computer neu starten" + "Die Registrierung konnte nicht initialisiert werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_INVALID_CABINET_INF, - "Cabinet hat keine gltige .inf-Datei.\n", - "ENTER = Computer neu starten" + "Das CAB-Archiv besitzt keine gltige INF-Datei.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CABINET_MISSING, - "Cabinet nicht gefunden.\n", - "ENTER = Computer neu starten" + "Das CAB-Archiv wurde nicht gefunden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CABINET_SCRIPT, - "Cabinet enthlt kein Setup-Skript.\n", - "ENTER = Computer neu starten" + "Das CAB-Archiv enthlt kein Setup-Skript.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_COPY_QUEUE, - "Setup konnte die Liste mit zu kopierenden Dateien nicht finden.\n", - "ENTER = Computer neu starten" + "Die Liste mit den zu kopierenden Dateien\n" + "konnte nicht gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CREATE_DIR, - "Setup konnte die Installationspfade nicht erstellen.", - "ENTER = Computer neu starten" + "Die Installationspfade konnten nicht erstellt werden.", + "EINGABETASTE = Computer neu starten" }, { //ERROR_TXTSETUP_SECTION, - "Setup konnte die 'Ordner'-Sektion in\n" - "TXTSETUP.SIF nicht finden.\n", - "ENTER = Computer neu starten" + "Der Abschnitt 'Ordner' konnte in\n" + "TXTSETUP.SIF nicht gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CABINET_SECTION, - "Setup konnte die 'Ordner'-Sektion im\n" - "Cabinet nicht finden.\n", - "ENTER = Computer neu starten" + "Der Abschnitt 'Ordner' konnte\n" + "im im CAB-Archiv nicht gefunden werden.\n", + "EINGABETASTE = Computer neu starten" }, { //ERROR_CREATE_INSTALL_DIR "Setup konnte den Installationspfad nicht erstellen.", - "ENTER = Computer neu starten" + "EINGABETASTE = Computer neu starten" }, { //ERROR_FIND_SETUPDATA, "Setup konnte die 'SetupData'-Sektion in\n" "TXTSETUP.SIF nicht finden.\n", - "ENTER = Computer neu starten" + "EINGABETASTE = Computer neu starten" }, { //ERROR_WRITE_PTABLE, - "Setup konnte die Partitionstabellen nicht schreiben.\n" - "ENTER = Computer neu starten" + "Die Partitionstabellen konnten nicht geschrieben werden.\n" + "EINGABETASTE = Computer neu starten" }, { //ERROR_ADDING_CODEPAGE, - "Setup konnte den Codepage-Eintrag nicht hinzufgen.\n" - "ENTER = Computer neu starten" + "Es konnte kein Codepage-Eintrag hinzugefgt werden.\n" + "EINGABETASTE = Computer neu starten" }, { //ERROR_UPDATE_LOCALESETTINGS, - "Setup konnte die Systemsprache nicht einstellen.\n" - "ENTER = Computer neu starten" + "Die Systemsprache konnte nicht eingestellt werden.\n" + "EINGABETASTE = Computer neu starten" }, { //ERROR_ADDING_KBLAYOUTS, - "Setup konnte die Tastaturlayouts nicht in der Registry eintragen.\n" - "ENTER = Computer neu starten" + "Die Tastaturlayouts konnten nicht in die Registrierung\n" + "eingetragen werden.\n" + "EINGABETASTE = Computer neu starten" }, { //ERROR_UPDATE_GEOID, - "Setup konnte den geografischen Standort nicht einstellen.\n" - "ENTER = Computer neu starten" + "Der geografische Standort konnte nicht eingestellt werden.\n" + "EINGABETASTE = Computer neu starten" }, { //ERROR_INSUFFICIENT_DISKSPACE, - "Nicht genug Speicherplatz auf der gewhlten Partition vorhanden.\n" + "Es ist nicht gengend Speicherplatz auf der\n" + "gewhlten Partition vorhanden.\n" " * Eine beliebige Taste zum Fortsetzen drcken.", NULL }, @@ -1601,41 +1605,41 @@ MUI_STRING deDEStrings[] = {STRING_PLEASEWAIT, " Bitte warten..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Installieren C = Partition erstellen F3 = Beenden"}, + " EINGABETASTE = Installieren C = Partition erstellen F3 = Installation abbr."}, {STRING_INSTALLDELETEPARTITION, - " ENTER = Installieren D = Partition lschen F3 = Beenden"}, + " EINGABETASTE = Installieren D = Partition lschen F3 = Installation abbr."}, {STRING_PARTITIONSIZE, "Gre der neuen Partition:"}, {STRING_CHOOSENEWPARTITION, - "Sie haben beschlossen, eine neue Partition zu erstellen auf"}, + "Eine neue Partition soll hier erstellt werden:"}, {STRING_HDDSIZE, "Bitte geben Sie die Gre der neuen Partition in Megabyte ein."}, {STRING_CREATEPARTITION, - " ENTER = Partition erstellen ESC = Abbruch F3 = Beenden"}, + " EINGABETASTE = Partition erstellen ESC = Abbrechen F3 = Installation abbr."}, {STRING_PARTFORMAT, "Diese Partition wird als nchstes formatiert."}, {STRING_NONFORMATTEDPART, - "Sie wollen ReactOS auf einer neuen/unformatieren Partition installieren."}, + "Sie wollen ReactOS auf einer neuen/unformatierten Partition installieren."}, {STRING_INSTALLONPART, - "Setup installiert ReactOS auf dieser Partition"}, + "ReactOS wird auf dieser Partition installiert."}, {STRING_CHECKINGPART, - "Setup berprft die ausgewhlte Partition."}, + "Die ausgewhlte Partition wird berprft."}, {STRING_QUITCONTINUE, - "F3 = Beenden ENTER = Fortsetzen"}, + "F3 = Beenden EINGABETASTE = Fortsetzen"}, {STRING_REBOOTCOMPUTER, - "ENTER = Computer neu starten"}, + "EINGABETASTE = Computer neu starten"}, {STRING_TXTSETUPFAILED, - "Setup konnte die '%S'-Sektion\nin TXTSETUP.SIF nicht finden.\n"}, + "Der Abschnitt '%S'in TXTSETUP.SIF\nkonnte nicht gefunden werden.\n"}, {STRING_COPYING, " Kopiere Datei: %S"}, {STRING_SETUPCOPYINGFILES, - "Setup kopiert Dateien..."}, + "Dateien werden kopiert..."}, {STRING_REGHIVEUPDATE, - " Registryzweige werden aktualisiert..."}, + " Registrierungseintrge werden aktualisiert..."}, {STRING_IMPORTFILE, " Importiere %S..."}, {STRING_DISPLAYETTINGSUPDATE, - " Bildschirm-Registryeinstellungen werden aktualisiert..."}, + " Anzeigeeinstellungen werden aktualisiert..."}, {STRING_LOCALESETTINGSUPDATE, " Lokalisierungseinstellungen werden aktualisiert..."}, {STRING_KEYBOARDSETTINGSUPDATE, @@ -1645,7 +1649,7 @@ MUI_STRING deDEStrings[] = {STRING_DONE, " Fertig..."}, {STRING_REBOOTCOMPUTER2, - " ENTER = Computer neu starten"}, + " EINGABETASTE = Computer neu starten"}, {STRING_CONSOLEFAIL1, "Konsole konnte nicht geffnet werden\r\n\r\n"}, {STRING_CONSOLEFAIL2, @@ -1653,13 +1657,13 @@ MUI_STRING deDEStrings[] = {STRING_CONSOLEFAIL3, "USB-Tastaturen werden noch nicht vollstndig untersttzt\r\n"}, {STRING_FORMATTINGDISK, - "Setup formatiert Ihre Festplatte"}, + "Ihre Festplatte wird formatiert"}, {STRING_CHECKINGDISK, - "Setup berprft Ihre Festplatte"}, + "Ihre Festplatte wird berprft"}, {STRING_FORMATDISK1, - " Formatiere Partition als %S-Dateisystem (Schnell) "}, + " Partition mit dem %S-Dateisystem formatieren (Schnell) "}, {STRING_FORMATDISK2, - " Formatiere Partition als %S-Dateisystem "}, + " Partition mit dem %S-Dateisystem formatieren "}, {STRING_KEEPFORMAT, " Dateisystem beibehalten (Keine Vernderungen) "}, {STRING_HDINFOPARTCREATE, diff --git a/base/setup/usetup/mui.c b/base/setup/usetup/mui.c index 71a6250feb9..1ebcf4a31b4 100644 --- a/base/setup/usetup/mui.c +++ b/base/setup/usetup/mui.c @@ -63,8 +63,10 @@ FindLanguageIndex(VOID) return 0; } + BOOLEAN -IsLanguageAvailable(PWCHAR LanguageId) +IsLanguageAvailable( + PWCHAR LanguageId) { ULONG lngIndex = 0; @@ -82,7 +84,8 @@ IsLanguageAvailable(PWCHAR LanguageId) static const MUI_ENTRY * -FindMUIEntriesOfPage(IN ULONG PageNumber) +FindMUIEntriesOfPage( + IN ULONG PageNumber) { ULONG muiIndex = 0; ULONG lngIndex; @@ -102,6 +105,7 @@ FindMUIEntriesOfPage(IN ULONG PageNumber) return NULL; } + static const MUI_ERROR * FindMUIErrorEntries(VOID) @@ -110,6 +114,7 @@ FindMUIErrorEntries(VOID) return LanguageList[lngIndex].MuiErrors; } + static const MUI_STRING * FindMUIStringEntries(VOID) @@ -118,6 +123,7 @@ FindMUIStringEntries(VOID) return LanguageList[lngIndex].MuiStrings; } + LPCWSTR MUIDefaultKeyboardLayout(VOID) { @@ -125,6 +131,7 @@ MUIDefaultKeyboardLayout(VOID) return LanguageList[lngIndex].MuiLayouts[0].LayoutID; } + PWCHAR MUIGetGeoID(VOID) { @@ -132,6 +139,7 @@ MUIGetGeoID(VOID) return LanguageList[lngIndex].GeoID; } + const MUI_LAYOUTS * MUIGetLayoutsList(VOID) { @@ -139,8 +147,10 @@ MUIGetLayoutsList(VOID) return LanguageList[lngIndex].MuiLayouts; } + VOID -MUIClearPage(IN ULONG page) +MUIClearPage( + IN ULONG page) { const MUI_ENTRY * entry; int index; @@ -167,8 +177,10 @@ MUIClearPage(IN ULONG page) while (entry[index].Buffer != NULL); } + VOID -MUIDisplayPage(IN ULONG page) +MUIDisplayPage( + IN ULONG page) { const MUI_ENTRY * entry; int index; @@ -196,8 +208,12 @@ MUIDisplayPage(IN ULONG page) while (entry[index].Buffer != NULL); } + VOID -MUIDisplayError(IN ULONG ErrorNum, OUT PINPUT_RECORD Ir, IN ULONG WaitEvent) +MUIDisplayError( + IN ULONG ErrorNum, + OUT PINPUT_RECORD Ir, + IN ULONG WaitEvent) { const MUI_ERROR * entry; @@ -227,8 +243,10 @@ MUIDisplayError(IN ULONG ErrorNum, OUT PINPUT_RECORD Ir, IN ULONG WaitEvent) WaitEvent); } + LPSTR -MUIGetString(ULONG Number) +MUIGetString( + ULONG Number) { ULONG i; const MUI_STRING * entry; @@ -249,15 +267,20 @@ MUIGetString(ULONG Number) sprintf(szErr, "Error: failed find string id %lu for language index %lu\n", Number, FindLanguageIndex()); PopupError(szErr, - NULL, - NULL, - POPUP_WAIT_NONE); + NULL, + NULL, + POPUP_WAIT_NONE); return ""; } -static BOOLEAN -AddHotkeySettings(IN LPCWSTR Hotkey, IN LPCWSTR LangHotkey, IN LPCWSTR LayoutHotkey) + +static +BOOLEAN +AddHotkeySettings( + IN LPCWSTR Hotkey, + IN LPCWSTR LangHotkey, + IN LPCWSTR LayoutHotkey) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -340,8 +363,10 @@ AddHotkeySettings(IN LPCWSTR Hotkey, IN LPCWSTR LangHotkey, IN LPCWSTR LayoutHot return TRUE; } + BOOLEAN -AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts) +AddKbLayoutsToRegistry( + IN const MUI_LAYOUTS *MuiLayouts) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -509,10 +534,12 @@ AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts) return TRUE; } + BOOLEAN AddKeyboardLayouts(VOID) { ULONG lngIndex = 0; + do { if (_wcsicmp(LanguageList[lngIndex].LanguageID , SelectedLanguageId) == 0) @@ -527,8 +554,13 @@ AddKeyboardLayouts(VOID) return FALSE; } -static BOOLEAN -AddCodepageToRegistry(IN LPCWSTR ACPage, IN LPCWSTR OEMCPage, IN LPCWSTR MACCPage) + +static +BOOLEAN +AddCodepageToRegistry( + IN LPCWSTR ACPage, + IN LPCWSTR OEMCPage, + IN LPCWSTR MACCPage) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -603,8 +635,11 @@ AddCodepageToRegistry(IN LPCWSTR ACPage, IN LPCWSTR OEMCPage, IN LPCWSTR MACCPag return TRUE; } -static BOOLEAN -AddFontsSettingsToRegistry(IN const MUI_SUBFONT * MuiSubFonts) + +static +BOOLEAN +AddFontsSettingsToRegistry( + IN const MUI_SUBFONT * MuiSubFonts) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -654,6 +689,7 @@ AddFontsSettingsToRegistry(IN const MUI_SUBFONT * MuiSubFonts) return TRUE; } + BOOLEAN AddCodePage(VOID) { @@ -682,6 +718,7 @@ AddCodePage(VOID) return FALSE; } + VOID SetConsoleCodePage(VOID) { diff --git a/base/setup/usetup/mui.h b/base/setup/usetup/mui.h index f8074efd312..bf35835f792 100644 --- a/base/setup/usetup/mui.h +++ b/base/setup/usetup/mui.h @@ -54,16 +54,22 @@ typedef struct } MUI_LANGUAGE; BOOLEAN -IsLanguageAvailable(PWCHAR LanguageId); +IsLanguageAvailable( + PWCHAR LanguageId); VOID -MUIDisplayPage (ULONG PageNumber); +MUIDisplayPage( + ULONG PageNumber); VOID -MUIClearPage (ULONG PageNumber); +MUIClearPage( + ULONG PageNumber); VOID -MUIDisplayError (ULONG ErrorNum, PINPUT_RECORD Ir, ULONG WaitEvent); +MUIDisplayError( + ULONG ErrorNum, + PINPUT_RECORD Ir, + ULONG WaitEvent); LPCWSTR MUIDefaultKeyboardLayout(VOID); @@ -75,7 +81,8 @@ const MUI_LAYOUTS * MUIGetLayoutsList(VOID); BOOLEAN -AddKbLayoutsToRegistry(IN const MUI_LAYOUTS * MuiLayouts); +AddKbLayoutsToRegistry( + IN const MUI_LAYOUTS *MuiLayouts); BOOLEAN AddCodePage(VOID); @@ -87,7 +94,8 @@ VOID SetConsoleCodePage(VOID); LPSTR -MUIGetString(ULONG Number); +MUIGetString( + ULONG Number); #define STRING_PLEASEWAIT 1 #define STRING_INSTALLCREATEPARTITION 2 diff --git a/base/setup/usetup/muilanguages.h b/base/setup/usetup/muilanguages.h index a27f9ba7924..c2c4ea04895 100644 --- a/base/setup/usetup/muilanguages.h +++ b/base/setup/usetup/muilanguages.h @@ -409,424 +409,424 @@ const MUI_LANGUAGE LanguageList[] = { /* Lang ID, ANSI CP, OEM CP, MAC CP, Language Name, GeoID page strgs,error strings, other strings, fonts, kb layouts */ #ifdef LANGUAGE_AF_ZA - {L"00000436", L"1252", L"850", L"10000", L"Afrikaans", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, afZALayouts }, + {L"00000436", L"1252", L"850", L"10000", L"Afrikaans", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, afZALayouts }, #endif #ifdef LANGUAGE_SQ_AL {L"0000041C", L"1250", L"852", L"10029", L"Albanian (Albania)", L"355", sqALPages, sqALErrorEntries, sqALStrings, LatinFonts, sqALLayouts }, #endif #ifdef LANGUAGE_AR_SA - {L"00000401", L"1256", L"720", L"10004", L"Arabic (Saudi Arabia)", L"966", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSALayouts }, + {L"00000401", L"1256", L"720", L"10004", L"Arabic (Saudi Arabia)", L"966", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSALayouts }, #endif #ifdef LANGUAGE_AR_IQ - {L"00000801", L"1256", L"720", L"10004", L"Arabic (Iraq)", L"964", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arIQLayouts }, + {L"00000801", L"1256", L"720", L"10004", L"Arabic (Iraq)", L"964", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arIQLayouts }, #endif #ifdef LANGUAGE_AR_EG - {L"00000C01", L"1256", L"720", L"10004", L"Arabic (Egypt)", L"20", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arEGLayouts }, + {L"00000C01", L"1256", L"720", L"10004", L"Arabic (Egypt)", L"20", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arEGLayouts }, #endif #ifdef LANGUAGE_AR_LY - {L"00001001", L"1256", L"720", L"10004", L"Arabic (Libya)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLYLayouts }, + {L"00001001", L"1256", L"720", L"10004", L"Arabic (Libya)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLYLayouts }, #endif #ifdef LANGUAGE_AR_DZ - {L"00001401", L"1256", L"720", L"10004", L"Arabic (Algeria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arDZLayouts }, + {L"00001401", L"1256", L"720", L"10004", L"Arabic (Algeria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arDZLayouts }, #endif #ifdef LANGUAGE_AR_MA - {L"00001801", L"1256", L"720", L"10004", L"Arabic (Morocco)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arMALayouts }, + {L"00001801", L"1256", L"720", L"10004", L"Arabic (Morocco)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arMALayouts }, #endif #ifdef LANGUAGE_AR_TN - {L"00001C01", L"1256", L"720", L"10004", L"Arabic (Tunisia)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arTNLayouts }, + {L"00001C01", L"1256", L"720", L"10004", L"Arabic (Tunisia)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arTNLayouts }, #endif #ifdef LANGUAGE_AR_OM - {L"00002001", L"1256", L"720", L"10004", L"Arabic (Oman)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arOMLayouts }, + {L"00002001", L"1256", L"720", L"10004", L"Arabic (Oman)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arOMLayouts }, #endif #ifdef LANGUAGE_AR_YE - {L"00002401", L"1256", L"720", L"10004", L"Arabic (Yemen)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arYELayouts }, + {L"00002401", L"1256", L"720", L"10004", L"Arabic (Yemen)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arYELayouts }, #endif #ifdef LANGUAGE_AR_SY - {L"00002801", L"1256", L"720", L"10004", L"Arabic (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSYLayouts }, + {L"00002801", L"1256", L"720", L"10004", L"Arabic (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSYLayouts }, #endif #ifdef LANGUAGE_AR_JO - {L"00002C01", L"1256", L"720", L"10004", L"Arabic (Jordan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arJOLayouts }, + {L"00002C01", L"1256", L"720", L"10004", L"Arabic (Jordan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arJOLayouts }, #endif #ifdef LANGUAGE_AR_LB - {L"00003001", L"1256", L"720", L"10004", L"Arabic (Lebanon)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLBLayouts }, + {L"00003001", L"1256", L"720", L"10004", L"Arabic (Lebanon)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLBLayouts }, #endif #ifdef LANGUAGE_AR_KW - {L"00003401", L"1256", L"720", L"10004", L"Arabic (Kuwait)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arKWLayouts }, + {L"00003401", L"1256", L"720", L"10004", L"Arabic (Kuwait)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arKWLayouts }, #endif #ifdef LANGUAGE_AR_AE - {L"00003801", L"1256", L"720", L"10004", L"Arabic (U.A.E.)", L"971", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arAELayouts }, + {L"00003801", L"1256", L"720", L"10004", L"Arabic (U.A.E.)", L"971", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arAELayouts }, #endif #ifdef LANGUAGE_AR_BH - {L"00003C01", L"1256", L"720", L"10004", L"Arabic (Bahrain)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arBHLayouts }, + {L"00003C01", L"1256", L"720", L"10004", L"Arabic (Bahrain)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arBHLayouts }, #endif #ifdef LANGUAGE_AR_QA - {L"00004001", L"1256", L"720", L"10004", L"Arabic (Qatar)", L"974", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arQALayouts }, + {L"00004001", L"1256", L"720", L"10004", L"Arabic (Qatar)", L"974", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arQALayouts }, #endif #ifdef LANGUAGE_HY_AM - {L"0000042B", L"0", L"1", L"2", L"Armenian", L"374", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hyAMLayouts }, + {L"0000042B", L"0", L"1", L"2", L"Armenian", L"374", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hyAMLayouts }, #endif #ifdef LANGUAGE_AZ_AZ - {L"0000082C", L"1251", L"866", L"10007", L"Azeri (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, azAZLayouts }, + {L"0000082C", L"1251", L"866", L"10007", L"Azeri (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, azAZLayouts }, #endif #ifdef LANGUAGE_AZ_AZ - {L"0000042C", L"1254", L"857", L"10081", L"Azeri (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, azAZLayouts }, + {L"0000042C", L"1254", L"857", L"10081", L"Azeri (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, azAZLayouts }, #endif #ifdef LANGUAGE_EU_ES - {L"0000042D", L"1252", L"850", L"10000", L"Basque", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, euESLayouts }, + {L"0000042D", L"1252", L"850", L"10000", L"Basque", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, euESLayouts }, #endif #ifdef LANGUAGE_BE_BY - {L"00000423", L"1251", L"866", L"10007", L"Belarusian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, beBYLayouts }, + {L"00000423", L"1251", L"866", L"10007", L"Belarusian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, beBYLayouts }, #endif #ifdef LANGUAGE_BG_BG - {L"00000402", L"1251", L"866", L"10007", L"Bulgarian", L"359", bgBGPages, bgBGErrorEntries, bgBGStrings, CyrillicFonts, bgBGLayouts }, + {L"00000402", L"1251", L"866", L"10007", L"Bulgarian", L"359", bgBGPages, bgBGErrorEntries, bgBGStrings, CyrillicFonts, bgBGLayouts }, #endif #ifdef LANGUAGE_MY_MM - {L"00000455", L"0", L"1", L"2", L"Burmese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, myMMLayouts }, + {L"00000455", L"0", L"1", L"2", L"Burmese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, myMMLayouts }, #endif #ifdef LANGUAGE_CA_ES - {L"00000403", L"1252", L"850", L"10000", L"Catalan", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, caESLayouts }, + {L"00000403", L"1252", L"850", L"10000", L"Catalan", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, caESLayouts }, #endif #ifdef LANGUAGE_ZH_TW - {L"00000404", L"950", L"950", L"10008", L"Chinese (Taiwan)", L"886", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhTWLayouts }, + {L"00000404", L"950", L"950", L"10008", L"Chinese (Taiwan)", L"886", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhTWLayouts }, #endif #ifdef LANGUAGE_ZH_CN - {L"00000804", L"936", L"936", L"10008", L"Chinese (PRC)", L"86", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhCNLayouts }, + {L"00000804", L"936", L"936", L"10008", L"Chinese (PRC)", L"86", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhCNLayouts }, #endif #ifdef LANGUAGE_ZH_HK - {L"00000C04", L"950", L"950", L"10008", L"Chinese (Hong Kong S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhHKLayouts }, + {L"00000C04", L"950", L"950", L"10008", L"Chinese (Hong Kong S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhHKLayouts }, #endif #ifdef LANGUAGE_ZH_SG - {L"00001004", L"936", L"936", L"10008", L"Chinese (Singapore)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhSGLayouts }, + {L"00001004", L"936", L"936", L"10008", L"Chinese (Singapore)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhSGLayouts }, #endif #ifdef LANGUAGE_ZH_MO - {L"00001404", L"950", L"950", L"10002", L"Chinese (Macau S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhMOLayouts }, + {L"00001404", L"950", L"950", L"10002", L"Chinese (Macau S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhMOLayouts }, #endif #ifdef LANGUAGE_HR_HR - {L"0000041A", L"1250", L"852", L"10029", L"Croatian", L"385", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, hrHRLayouts }, + {L"0000041A", L"1250", L"852", L"10029", L"Croatian", L"385", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, hrHRLayouts }, #endif #ifdef LANGUAGE_CS_CZ - {L"00000405", L"1250", L"852", L"10029", L"Czech", L"420", csCZPages, csCZErrorEntries, csCZStrings, LatinFonts, csCZLayouts }, + {L"00000405", L"1250", L"852", L"10029", L"Czech", L"420", csCZPages, csCZErrorEntries, csCZStrings, LatinFonts, csCZLayouts }, #endif #ifdef LANGUAGE_DA_DK - {L"00000406", L"1252", L"850", L"10000", L"Danish", L"45", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, daDKLayouts }, + {L"00000406", L"1252", L"850", L"10000", L"Danish", L"45", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, daDKLayouts }, #endif #ifdef LANGUAGE_DV_MV - {L"00000465", L"0", L"1", L"2", L"Dhivehi (Maldives)", L"960", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, dvMVLayouts }, + {L"00000465", L"0", L"1", L"2", L"Dhivehi (Maldives)", L"960", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, dvMVLayouts }, #endif #ifdef LANGUAGE_NL_NL - {L"00000413", L"1252", L"850", L"10000", L"Dutch (Netherlands)", L"31", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlNLLayouts }, + {L"00000413", L"1252", L"850", L"10000", L"Dutch (Netherlands)", L"31", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlNLLayouts }, #endif #ifdef LANGUAGE_NL_BE - {L"00000813", L"1252", L"850", L"10000", L"Dutch (Belgium)", L"32", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlBELayouts }, + {L"00000813", L"1252", L"850", L"10000", L"Dutch (Belgium)", L"32", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlBELayouts }, #endif #ifdef LANGUAGE_EN_US - {L"00000409", L"1252", L"437", L"10000", L"English (United States)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enUSLayouts }, + {L"00000409", L"1252", L"437", L"10000", L"English (United States)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enUSLayouts }, #endif #ifdef LANGUAGE_EN_GB - {L"00000809", L"1252", L"850", L"10000", L"English (United Kingdom)", L"44", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enGBLayouts }, + {L"00000809", L"1252", L"850", L"10000", L"English (United Kingdom)", L"44", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enGBLayouts }, #endif #ifdef LANGUAGE_EN_AU - {L"00000C09", L"1252", L"850", L"10000", L"English (Australia)", L"61", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enAULayouts }, + {L"00000C09", L"1252", L"850", L"10000", L"English (Australia)", L"61", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enAULayouts }, #endif #ifdef LANGUAGE_EN_CA - {L"00001009", L"1252", L"850", L"10000", L"English (Canada)", L"107", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCALayouts }, + {L"00001009", L"1252", L"850", L"10000", L"English (Canada)", L"107", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCALayouts }, #endif #ifdef LANGUAGE_EN_NZ - {L"00001409", L"1252", L"850", L"10000", L"English (New Zealand)", L"64", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enNZLayouts }, + {L"00001409", L"1252", L"850", L"10000", L"English (New Zealand)", L"64", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enNZLayouts }, #endif #ifdef LANGUAGE_EN_IE - {L"00001809", L"1252", L"850", L"10000", L"English (Ireland)", L"353", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enIELayouts }, + {L"00001809", L"1252", L"850", L"10000", L"English (Ireland)", L"353", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enIELayouts }, #endif #ifdef LANGUAGE_EN_ZA - {L"00001C09", L"1252", L"437", L"10000", L"English (South Africa)", L"27", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZALayouts }, + {L"00001C09", L"1252", L"437", L"10000", L"English (South Africa)", L"27", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZALayouts }, #endif #ifdef LANGUAGE_EN_JM - {L"00002009", L"1252", L"850", L"10000", L"English (Jamaica)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enJMLayouts }, + {L"00002009", L"1252", L"850", L"10000", L"English (Jamaica)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enJMLayouts }, #endif #ifdef LANGUAGE_EN_CB - {L"00002409", L"1252", L"850", L"10000", L"English (Caribbean)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCBLayouts }, + {L"00002409", L"1252", L"850", L"10000", L"English (Caribbean)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCBLayouts }, #endif #ifdef LANGUAGE_EN_BZ - {L"00002809", L"1252", L"850", L"10000", L"English (Belize)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enBZLayouts }, + {L"00002809", L"1252", L"850", L"10000", L"English (Belize)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enBZLayouts }, #endif #ifdef LANGUAGE_EN_TT - {L"00002C09", L"1252", L"850", L"10000", L"English (Trinidad)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enTTLayouts }, + {L"00002C09", L"1252", L"850", L"10000", L"English (Trinidad)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enTTLayouts }, #endif #ifdef LANGUAGE_EN_ZW - {L"00003009", L"1252", L"437", L"10000", L"English (Zimbabwe)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZWLayouts }, + {L"00003009", L"1252", L"437", L"10000", L"English (Zimbabwe)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZWLayouts }, #endif #ifdef LANGUAGE_EN_PH - {L"00003409", L"1252", L"437", L"10000", L"English (Philippines)", L"63", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enPHLayouts }, + {L"00003409", L"1252", L"437", L"10000", L"English (Philippines)", L"63", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enPHLayouts }, #endif #ifdef LANGUAGE_EO_AA - {L"0000048F", L"1252", L"437", L"10000", L"Esperanto", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, eoAALayouts }, + {L"0000048F", L"1252", L"437", L"10000", L"Esperanto", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, eoAALayouts }, #endif #ifdef LANGUAGE_ET_EE - {L"00000425", L"1252", L"775", L"10029", L"Estonian", L"372", etEEPages, etEEErrorEntries, etEEStrings, LatinFonts, etEELayouts }, + {L"00000425", L"1252", L"775", L"10029", L"Estonian", L"372", etEEPages, etEEErrorEntries, etEEStrings, LatinFonts, etEELayouts }, #endif #ifdef LANGUAGE_FO_FO - {L"00000438", L"1252", L"850", L"10079", L"Faeroese", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, foFOLayouts }, + {L"00000438", L"1252", L"850", L"10079", L"Faeroese", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, foFOLayouts }, #endif #ifdef LANGUAGE_FA_IR - {L"00000429", L"1256", L"720", L"10004", L"Farsi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, faIRLayouts }, + {L"00000429", L"1256", L"720", L"10004", L"Farsi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, faIRLayouts }, #endif #ifdef LANGUAGE_FI_FI - {L"0000040B", L"1252", L"850", L"10000", L"Finnish", L"358", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, fiFILayouts }, + {L"0000040B", L"1252", L"850", L"10000", L"Finnish", L"358", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, fiFILayouts }, #endif #ifdef LANGUAGE_FR_CA - {L"00000C0C", L"1252", L"850", L"10000", L"French (Canada)", L"107", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCALayouts }, + {L"00000C0C", L"1252", L"850", L"10000", L"French (Canada)", L"107", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCALayouts }, #endif #ifdef LANGUAGE_FR_FR - {L"0000040C", L"1252", L"850", L"10000", L"French (France)", L"33", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frFRLayouts }, + {L"0000040C", L"1252", L"850", L"10000", L"French (France)", L"33", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frFRLayouts }, #endif #ifdef LANGUAGE_FR_BE - {L"0000080C", L"1252", L"850", L"10000", L"French (Belgium)", L"32", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frBELayouts }, + {L"0000080C", L"1252", L"850", L"10000", L"French (Belgium)", L"32", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frBELayouts }, #endif #ifdef LANGUAGE_FR_CH - {L"0000100C", L"1252", L"850", L"10000", L"French (Switzerland)", L"41", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCHLayouts }, + {L"0000100C", L"1252", L"850", L"10000", L"French (Switzerland)", L"41", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCHLayouts }, #endif #ifdef LANGUAGE_FR_LU - {L"0000140C", L"1252", L"850", L"10000", L"French (Luxembourg)", L"352", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frLULayouts }, + {L"0000140C", L"1252", L"850", L"10000", L"French (Luxembourg)", L"352", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frLULayouts }, #endif #ifdef LANGUAGE_FR_MC - {L"0000180C", L"1252", L"850", L"10000", L"French (Monaco)", L"1", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frMCLayouts }, + {L"0000180C", L"1252", L"850", L"10000", L"French (Monaco)", L"1", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frMCLayouts }, #endif #ifdef LANGUAGE_GL_ES - {L"00000456", L"1252", L"850", L"10000", L"Galician (Spain)", L"34", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, glESLayouts }, + {L"00000456", L"1252", L"850", L"10000", L"Galician (Spain)", L"34", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, glESLayouts }, #endif #ifdef LANGUAGE_KA_GE - {L"00000437", L"0", L"1", L"2", L"Georgian", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kaGELayouts }, + {L"00000437", L"0", L"1", L"2", L"Georgian", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kaGELayouts }, #endif #ifdef LANGUAGE_DE_DE - {L"00000407", L"1252", L"850", L"10000", L"German (Germany)", L"49", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deDELayouts }, + {L"00000407", L"1252", L"850", L"10000", L"German (Germany)", L"49", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deDELayouts }, #endif #ifdef LANGUAGE_DE_CH - {L"00000807", L"1252", L"850", L"10000", L"German (Switzerland)", L"41", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deCHLayouts }, + {L"00000807", L"1252", L"850", L"10000", L"German (Switzerland)", L"41", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deCHLayouts }, #endif #ifdef LANGUAGE_DE_AT - {L"00000C07", L"1252", L"850", L"10000", L"German (Austria)", L"43", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deATLayouts }, + {L"00000C07", L"1252", L"850", L"10000", L"German (Austria)", L"43", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deATLayouts }, #endif #ifdef LANGUAGE_DE_LU - {L"00001007", L"1252", L"850", L"10000", L"German (Luxembourg)", L"352", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLULayouts }, + {L"00001007", L"1252", L"850", L"10000", L"German (Luxembourg)", L"352", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLULayouts }, #endif #ifdef LANGUAGE_DE_LI - {L"00001407", L"1252", L"850", L"10000", L"German (Liechtenstein)", L"423", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLILayouts }, + {L"00001407", L"1252", L"850", L"10000", L"German (Liechtenstein)", L"423", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLILayouts }, #endif #ifdef LANGUAGE_EL_GR - {L"00000408", L"1253", L"737", L"10006", L"Greek", L"30", elGRPages, elGRErrorEntries, elGRStrings, GreekFonts, elGRLayouts }, + {L"00000408", L"1253", L"737", L"10006", L"Greek", L"30", elGRPages, elGRErrorEntries, elGRStrings, GreekFonts, elGRLayouts }, #endif #ifdef LANGUAGE_GU_IN - {L"00000447", L"0", L"1", L"2", L"Gujarati (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, guINLayouts }, + {L"00000447", L"0", L"1", L"2", L"Gujarati (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, guINLayouts }, #endif #ifdef LANGUAGE_HE_IL - {L"0000040D", L"1255", L"862", L"10005", L"Hebrew", L"1", heILPages, heILErrorEntries, heILStrings, HebrewFonts, heILLayouts }, + {L"0000040D", L"1255", L"862", L"10005", L"Hebrew", L"1", heILPages, heILErrorEntries, heILStrings, HebrewFonts, heILLayouts }, #endif #ifdef LANGUAGE_HI_IN - {L"00000439", L"1252", L"437", L"10000", L"Hindi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hiINLayouts }, + {L"00000439", L"1252", L"437", L"10000", L"Hindi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hiINLayouts }, #endif #ifdef LANGUAGE_HU_HU - {L"0000040E", L"1250", L"852", L"10029", L"Hungarian", L"36", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, huHULayouts }, + {L"0000040E", L"1250", L"852", L"10029", L"Hungarian", L"36", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, huHULayouts }, #endif #ifdef LANGUAGE_IS_IS - {L"0000040F", L"1252", L"850", L"10079", L"Icelandic", L"354", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, isISLayouts }, + {L"0000040F", L"1252", L"850", L"10079", L"Icelandic", L"354", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, isISLayouts }, #endif #ifdef LANGUAGE_ID_ID - {L"00000421", L"1252", L"850", L"10079", L"Indonesian", L"62", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, idIDLayouts }, + {L"00000421", L"1252", L"850", L"10079", L"Indonesian", L"62", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, idIDLayouts }, #endif #ifdef LANGUAGE_IT_IT - {L"00000410", L"1252", L"850", L"10000", L"Italian (Italy)", L"39", itITPages, itITErrorEntries, itITStrings, LatinFonts, itITLayouts }, + {L"00000410", L"1252", L"850", L"10000", L"Italian (Italy)", L"39", itITPages, itITErrorEntries, itITStrings, LatinFonts, itITLayouts }, #endif #ifdef LANGUAGE_IT_CH - {L"00000810", L"1252", L"850", L"10000", L"Italian (Switzerland)", L"41", itITPages, itITErrorEntries, itITStrings, LatinFonts, itCHLayouts }, + {L"00000810", L"1252", L"850", L"10000", L"Italian (Switzerland)", L"41", itITPages, itITErrorEntries, itITStrings, LatinFonts, itCHLayouts }, #endif #ifdef LANGUAGE_JA_JP - {L"00000411", L"932", L"932", L"10001", L"Japanese", L"81", jaJPPages, jaJPErrorEntries, jaJPStrings, CJKFonts, jaJPLayouts }, + {L"00000411", L"932", L"932", L"10001", L"Japanese", L"81", jaJPPages, jaJPErrorEntries, jaJPStrings, CJKFonts, jaJPLayouts }, #endif #ifdef LANGUAGE_KN_IN - {L"0000044B", L"1252", L"437", L"10079", L"Kannada (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, knINLayouts }, + {L"0000044B", L"1252", L"437", L"10079", L"Kannada (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, knINLayouts }, #endif #ifdef LANGUAGE_KK_KZ - {L"0000043F", L"1251", L"866", L"10007", L"Kazakh", L"705", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kkKZLayouts }, + {L"0000043F", L"1251", L"866", L"10007", L"Kazakh", L"705", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kkKZLayouts }, #endif #ifdef LANGUAGE_KOK_IN - {L"00000457", L"0", L"437", L"2", L"Konkani", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kokINLayouts}, + {L"00000457", L"0", L"437", L"2", L"Konkani", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kokINLayouts}, #endif #ifdef LANGUAGE_KO_KR - {L"00000412", L"949", L"949", L"10003", L"Korean", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, koKRLayouts }, + {L"00000412", L"949", L"949", L"10003", L"Korean", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, koKRLayouts }, #endif #ifdef LANGUAGE_KY_KG - {L"00000440", L"1251", L"866", L"10007", L"Kyrgyz (Kyrgyzstan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kyKGLayouts }, + {L"00000440", L"1251", L"866", L"10007", L"Kyrgyz (Kyrgyzstan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kyKGLayouts }, #endif #ifdef LANGUAGE_LV_LV - {L"00000426", L"1257", L"775", L"10029", L"Latvian", L"371", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, lvLVLayouts }, + {L"00000426", L"1257", L"775", L"10029", L"Latvian", L"371", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, lvLVLayouts }, #endif #ifdef LANGUAGE_LT_LT - {L"00000427", L"1257", L"775", L"10029", L"Lithuanian", L"370", ltLTPages, ltLTErrorEntries, ltLTStrings, LatinFonts, ltLTLayouts }, + {L"00000427", L"1257", L"775", L"10029", L"Lithuanian", L"370", ltLTPages, ltLTErrorEntries, ltLTStrings, LatinFonts, ltLTLayouts }, #endif #ifdef LANGUAGE_MK_MK - {L"0000042F", L"1251", L"866", L"10007", L"FYRO Macedonian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mkMKLayouts }, + {L"0000042F", L"1251", L"866", L"10007", L"FYRO Macedonian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mkMKLayouts }, #endif #ifdef LANGUAGE_MS_BN - {L"0000083E", L"1252", L"850", L"10000", L"Malay (Brunei Darussalam)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msBNLayouts }, + {L"0000083E", L"1252", L"850", L"10000", L"Malay (Brunei Darussalam)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msBNLayouts }, #endif #ifdef LANGUAGE_MS_MY - {L"0000043E", L"1252", L"850", L"10000", L"Malay (Malaysia)", L"60", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msMYLayouts }, + {L"0000043E", L"1252", L"850", L"10000", L"Malay (Malaysia)", L"60", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msMYLayouts }, #endif #ifdef LANGUAGE_MR_IN - {L"0000044E", L"0", L"1", L"2", L"Marathi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, mrINLayouts }, + {L"0000044E", L"0", L"1", L"2", L"Marathi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, mrINLayouts }, #endif #ifdef LANGUAGE_MN_MN - {L"00000450", L"1251", L"866", L"10007", L"Mongolian (Mongolia)", L"976", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mnMNLayouts }, + {L"00000450", L"1251", L"866", L"10007", L"Mongolian (Mongolia)", L"976", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mnMNLayouts }, #endif #ifdef LANGUAGE_NB_NO - {L"00000414", L"1252", L"850", L"10000", L"Norwegian (Bokmal)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nbNOLayouts }, + {L"00000414", L"1252", L"850", L"10000", L"Norwegian (Bokmal)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nbNOLayouts }, #endif #ifdef LANGUAGE_NN_NO - {L"00000814", L"1252", L"850", L"10000", L"Norwegian (Nynorsk)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nnNOLayouts }, + {L"00000814", L"1252", L"850", L"10000", L"Norwegian (Nynorsk)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nnNOLayouts }, #endif #ifdef LANGUAGE_PL_PL - {L"00000415", L"1250", L"852", L"10029", L"Polish", L"48", plPLPages, plPLErrorEntries, plPLStrings, LatinFonts, plPLLayouts }, + {L"00000415", L"1250", L"852", L"10029", L"Polish", L"48", plPLPages, plPLErrorEntries, plPLStrings, LatinFonts, plPLLayouts }, #endif #ifdef LANGUAGE_PT_PT - {L"00000816", L"1252", L"850", L"10000", L"Portuguese (Portugal)", L"351", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, ptPTLayouts }, + {L"00000816", L"1252", L"850", L"10000", L"Portuguese (Portugal)", L"351", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, ptPTLayouts }, #endif #ifdef LANGUAGE_PT_BR - {L"00000416", L"1252", L"850", L"10000", L"Portuguese (Brazil)", L"55", ptBRPages, ptBRErrorEntries, ptBRStrings, LatinFonts, ptBRLayouts }, + {L"00000416", L"1252", L"850", L"10000", L"Portuguese (Brazil)", L"55", ptBRPages, ptBRErrorEntries, ptBRStrings, LatinFonts, ptBRLayouts }, #endif #ifdef LANGUAGE_PA_IN - {L"00000446", L"0", L"1", L"2", L"Punjabi (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, paINLayouts }, + {L"00000446", L"0", L"1", L"2", L"Punjabi (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, paINLayouts }, #endif #ifdef LANGUAGE_RO_RO - {L"00000418", L"1250", L"852", L"10029", L"Romanian", L"40", roROPages, roROErrorEntries, roROStrings, LatinFonts, roROLayouts }, + {L"00000418", L"1250", L"852", L"10029", L"Romanian", L"40", roROPages, roROErrorEntries, roROStrings, LatinFonts, roROLayouts }, #endif #ifdef LANGUAGE_RM_CH - {L"00000417", L"1252", L"850", L"10000", L"Romansh", L"41", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, rmCHLayouts }, + {L"00000417", L"1252", L"850", L"10000", L"Romansh", L"41", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, rmCHLayouts }, #endif #ifdef LANGUAGE_RU_RU - {L"00000419", L"1251", L"866", L"10007", L"Russian", L"7", ruRUPages, ruRUErrorEntries, ruRUStrings, CyrillicFonts, ruRULayouts }, + {L"00000419", L"1251", L"866", L"10007", L"Russian", L"7", ruRUPages, ruRUErrorEntries, ruRUStrings, CyrillicFonts, ruRULayouts }, #endif #ifdef LANGUAGE_SA_IN - {L"0000044F", L"0", L"1", L"2", L"Sanskrit", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, saINLayouts }, + {L"0000044F", L"0", L"1", L"2", L"Sanskrit", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, saINLayouts }, #endif #ifdef LANGUAGE_SR_SP - {L"00000C1A", L"1251", L"855", L"10007", L"Serbian (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, srSPLayouts }, + {L"00000C1A", L"1251", L"855", L"10007", L"Serbian (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, srSPLayouts }, #endif #ifdef LANGUAGE_SR_SP - {L"0000081A", L"1250", L"852", L"10029", L"Serbian (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, srSPLayouts }, + {L"0000081A", L"1250", L"852", L"10029", L"Serbian (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, srSPLayouts }, #endif #ifdef LANGUAGE_SK_SK - {L"0000041B", L"1250", L"852", L"10029", L"Slovak", L"421", skSKPages, skSKErrorEntries, skSKStrings, LatinFonts, skSKLayouts }, + {L"0000041B", L"1250", L"852", L"10029", L"Slovak", L"421", skSKPages, skSKErrorEntries, skSKStrings, LatinFonts, skSKLayouts }, #endif #ifdef LANGUAGE_SL_SI - {L"00000424", L"1250", L"852", L"10029", L"Slovenian", L"386", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, slSILayouts }, + {L"00000424", L"1250", L"852", L"10029", L"Slovenian", L"386", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, slSILayouts }, #endif #ifdef LANGUAGE_ES_ES - {L"0000040A", L"1252", L"850", L"10000", L"Spanish (Traditional Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, + {L"0000040A", L"1252", L"850", L"10000", L"Spanish (Traditional Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, #endif #ifdef LANGUAGE_ES_MX - {L"0000080A", L"1252", L"850", L"10000", L"Spanish (Mexico)", L"52", esESPages, esESErrorEntries, esESStrings, LatinFonts, esMXLayouts }, + {L"0000080A", L"1252", L"850", L"10000", L"Spanish (Mexico)", L"52", esESPages, esESErrorEntries, esESStrings, LatinFonts, esMXLayouts }, #endif #ifdef LANGUAGE_ES_ES - {L"00000C0A", L"1252", L"850", L"10000", L"Spanish (International Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, + {L"00000C0A", L"1252", L"850", L"10000", L"Spanish (International Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, #endif #ifdef LANGUAGE_ES_GT - {L"0000100A", L"1252", L"850", L"10000", L"Spanish (Guatemala)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esGTLayouts }, + {L"0000100A", L"1252", L"850", L"10000", L"Spanish (Guatemala)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esGTLayouts }, #endif #ifdef LANGUAGE_ES_CR - {L"0000140A", L"1252", L"850", L"10000", L"Spanish (Costa Rica)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCRLayouts }, + {L"0000140A", L"1252", L"850", L"10000", L"Spanish (Costa Rica)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCRLayouts }, #endif #ifdef LANGUAGE_ES_PA - {L"0000180A", L"1252", L"850", L"10000", L"Spanish (Panama)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPALayouts }, + {L"0000180A", L"1252", L"850", L"10000", L"Spanish (Panama)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPALayouts }, #endif #ifdef LANGUAGE_ES_DO - {L"00001C0A", L"1252", L"850", L"10000", L"Spanish (Dominican Republic)", L"110", esESPages, esESErrorEntries, esESStrings, LatinFonts, esDOLayouts }, + {L"00001C0A", L"1252", L"850", L"10000", L"Spanish (Dominican Republic)", L"110", esESPages, esESErrorEntries, esESStrings, LatinFonts, esDOLayouts }, #endif #ifdef LANGUAGE_ES_VE - {L"0000200A", L"1252", L"850", L"10000", L"Spanish (Venezuela)", L"58", esESPages, esESErrorEntries, esESStrings, LatinFonts, esVELayouts }, + {L"0000200A", L"1252", L"850", L"10000", L"Spanish (Venezuela)", L"58", esESPages, esESErrorEntries, esESStrings, LatinFonts, esVELayouts }, #endif #ifdef LANGUAGE_ES_CO - {L"0000240A", L"1252", L"850", L"10000", L"Spanish (Colombia)", L"57", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCOLayouts }, + {L"0000240A", L"1252", L"850", L"10000", L"Spanish (Colombia)", L"57", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCOLayouts }, #endif #ifdef LANGUAGE_ES_PE - {L"0000280A", L"1252", L"850", L"10000", L"Spanish (Peru)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPELayouts }, + {L"0000280A", L"1252", L"850", L"10000", L"Spanish (Peru)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPELayouts }, #endif #ifdef LANGUAGE_ES_AR - {L"00002C0A", L"1252", L"850", L"10000", L"Spanish (Argentina)", L"54", esESPages, esESErrorEntries, esESStrings, LatinFonts, esARLayouts }, + {L"00002C0A", L"1252", L"850", L"10000", L"Spanish (Argentina)", L"54", esESPages, esESErrorEntries, esESStrings, LatinFonts, esARLayouts }, #endif #ifdef LANGUAGE_ES_EC - {L"0000300A", L"1252", L"850", L"10000", L"Spanish (Ecuador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esECLayouts }, + {L"0000300A", L"1252", L"850", L"10000", L"Spanish (Ecuador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esECLayouts }, #endif #ifdef LANGUAGE_ES_CL - {L"0000340A", L"1252", L"850", L"10000", L"Spanish (Chile)", L"56", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCLLayouts }, + {L"0000340A", L"1252", L"850", L"10000", L"Spanish (Chile)", L"56", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCLLayouts }, #endif #ifdef LANGUAGE_ES_UY - {L"0000380A", L"1252", L"850", L"10000", L"Spanish (Uruguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esUYLayouts }, + {L"0000380A", L"1252", L"850", L"10000", L"Spanish (Uruguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esUYLayouts }, #endif #ifdef LANGUAGE_ES_PY - {L"00003C0A", L"1252", L"850", L"10000", L"Spanish (Paraguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPYLayouts }, + {L"00003C0A", L"1252", L"850", L"10000", L"Spanish (Paraguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPYLayouts }, #endif #ifdef LANGUAGE_ES_BO - {L"0000400A", L"1252", L"850", L"10000", L"Spanish (Bolivia)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esBOLayouts }, + {L"0000400A", L"1252", L"850", L"10000", L"Spanish (Bolivia)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esBOLayouts }, #endif #ifdef LANGUAGE_ES_SV - {L"0000440A", L"1252", L"850", L"10000", L"Spanish (El Salvador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esSVLayouts }, + {L"0000440A", L"1252", L"850", L"10000", L"Spanish (El Salvador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esSVLayouts }, #endif #ifdef LANGUAGE_ES_HN - {L"0000480A", L"1252", L"850", L"10000", L"Spanish (Honduras)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esHNLayouts }, + {L"0000480A", L"1252", L"850", L"10000", L"Spanish (Honduras)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esHNLayouts }, #endif #ifdef LANGUAGE_ES_NI - {L"00004C0A", L"1252", L"850", L"10000", L"Spanish (Nicaragua)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esNILayouts }, + {L"00004C0A", L"1252", L"850", L"10000", L"Spanish (Nicaragua)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esNILayouts }, #endif #ifdef LANGUAGE_ES_PR - {L"0000500A", L"1252", L"850", L"10000", L"Spanish (Puerto Rico)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPRLayouts }, + {L"0000500A", L"1252", L"850", L"10000", L"Spanish (Puerto Rico)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPRLayouts }, #endif #ifdef LANGUAGE_SW_KE - {L"00000441", L"1252", L"437", L"10000", L"Swahili", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, swKELayouts }, + {L"00000441", L"1252", L"437", L"10000", L"Swahili", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, swKELayouts }, #endif #ifdef LANGUAGE_SV_SE - {L"0000041D", L"1252", L"850", L"10000", L"Swedish", L"46", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svSELayouts }, + {L"0000041D", L"1252", L"850", L"10000", L"Swedish", L"46", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svSELayouts }, #endif #ifdef LANGUAGE_SV_FI - {L"0000081D", L"1252", L"850", L"10000", L"Swedish (Finland)", L"358", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svFILayouts }, + {L"0000081D", L"1252", L"850", L"10000", L"Swedish (Finland)", L"358", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svFILayouts }, #endif #ifdef LANGUAGE_SYR_SY - {L"0000045A", L"0", L"1", L"2", L"Syriac (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, syrSYLayouts}, + {L"0000045A", L"0", L"1", L"2", L"Syriac (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, syrSYLayouts}, #endif #ifdef LANGUAGE_TA_IN - {L"00000449", L"0", L"1", L"2", L"Tamil", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, taINLayouts }, + {L"00000449", L"0", L"1", L"2", L"Tamil", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, taINLayouts }, #endif #ifdef LANGUAGE_TT_TA - {L"00000444", L"1251", L"866", L"10007", L"Tatar", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, ttTALayouts }, + {L"00000444", L"1251", L"866", L"10007", L"Tatar", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, ttTALayouts }, #endif #ifdef LANGUAGE_TE_IN - {L"0000044A", L"0", L"1", L"2", L"Telugu (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, teINLayouts }, + {L"0000044A", L"0", L"1", L"2", L"Telugu (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, teINLayouts }, #endif #ifdef LANGUAGE_TH_TH - {L"0000041E", L"874", L"874", L"10021", L"Thai", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, thTHLayouts }, + {L"0000041E", L"874", L"874", L"10021", L"Thai", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, thTHLayouts }, #endif #ifdef LANGUAGE_TR_TR - {L"0000041F", L"1254", L"857", L"10081", L"Turkish", L"90", trTRPages, trTRErrorEntries, trTRStrings, LatinFonts, trTRLayouts }, + {L"0000041F", L"1254", L"857", L"10081", L"Turkish", L"90", trTRPages, trTRErrorEntries, trTRStrings, LatinFonts, trTRLayouts }, #endif #ifdef LANGUAGE_UK_UA - {L"00000422", L"1251", L"866", L"10017", L"Ukrainian", L"380", ukUAPages, ukUAErrorEntries, ukUAStrings, CyrillicFonts, ukUALayouts }, + {L"00000422", L"1251", L"866", L"10017", L"Ukrainian", L"380", ukUAPages, ukUAErrorEntries, ukUAStrings, CyrillicFonts, ukUALayouts }, #endif #ifdef LANGUAGE_UR_PK - {L"00000420", L"1256", L"720", L"10004", L"Urdu", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, urPKLayouts }, + {L"00000420", L"1256", L"720", L"10004", L"Urdu", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, urPKLayouts }, #endif #ifdef LANGUAGE_UZ_UZ - {L"00000443", L"1254", L"857", L"10029", L"Uzbek (Latin)", L"998", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, uzUZLayouts }, + {L"00000443", L"1254", L"857", L"10029", L"Uzbek (Latin)", L"998", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, uzUZLayouts }, #endif #ifdef LANGUAGE_UZ_UZ - {L"00000843", L"1251", L"866", L"10007", L"Uzbek (Cyrillic)", L"998", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, uzUZLayouts }, + {L"00000843", L"1251", L"866", L"10007", L"Uzbek (Cyrillic)", L"998", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, uzUZLayouts }, #endif #ifdef LANGUAGE_VI_VN - {L"0000042A", L"1258", L"1258",L"10000", L"Vietnamese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, viVNLayouts }, + {L"0000042A", L"1258", L"1258",L"10000", L"Vietnamese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, viVNLayouts }, #endif #ifdef LANGUAGE_WA_BE - {L"00000490", L"1252", L"850", L"10000", L"Walon", L"32", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, waBELayouts }, + {L"00000490", L"1252", L"850", L"10000", L"Walon", L"32", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, waBELayouts }, #endif #ifdef LANGUAGE_ZU_ZU - {L"00000435", L"1252", L"850", L"10000", L"Zulu", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, zuZULayouts }, + {L"00000435", L"1252", L"850", L"10000", L"Zulu", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, zuZULayouts }, #endif - {NULL, NULL, NULL, NULL, NULL, NULL} + {NULL, NULL, NULL, NULL, NULL, NULL} }; diff --git a/base/setup/usetup/progress.c b/base/setup/usetup/progress.c index 55433819877..d41c9f07a2b 100644 --- a/base/setup/usetup/progress.c +++ b/base/setup/usetup/progress.c @@ -9,362 +9,372 @@ /* FUNCTIONS ****************************************************************/ -static VOID -DrawBorder(PPROGRESSBAR Bar) +static +VOID +DrawBorder( + PPROGRESSBAR Bar) { - COORD coPos; - DWORD Written; - SHORT i; + COORD coPos; + DWORD Written; + SHORT i; - /* draw upper left corner */ - coPos.X = Bar->Left; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xDA, // '+', - 1, - coPos, - &Written); + /* draw upper left corner */ + coPos.X = Bar->Left; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xDA, // '+', + 1, + coPos, + &Written); - /* draw upper edge */ - coPos.X = Bar->Left + 1; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xC4, // '-', - Bar->Right - Bar->Left - 1, - coPos, - &Written); + /* draw upper edge */ + coPos.X = Bar->Left + 1; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xC4, // '-', + Bar->Right - Bar->Left - 1, + coPos, + &Written); - /* draw upper right corner */ - coPos.X = Bar->Right; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xBF, // '+', - 1, - coPos, - &Written); + /* draw upper right corner */ + coPos.X = Bar->Right; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xBF, // '+', + 1, + coPos, + &Written); - /* draw left and right edge */ - for (i = Bar->Top + 2; i < Bar->Bottom; i++) + /* draw left and right edge */ + for (i = Bar->Top + 2; i < Bar->Bottom; i++) { - coPos.X = Bar->Left; - coPos.Y = i; - FillConsoleOutputCharacterA(StdOutput, - 0xB3, // '|', - 1, - coPos, - &Written); + coPos.X = Bar->Left; + coPos.Y = i; + FillConsoleOutputCharacterA(StdOutput, + 0xB3, // '|', + 1, + coPos, + &Written); - coPos.X = Bar->Right; - FillConsoleOutputCharacterA(StdOutput, - 0xB3, //'|', - 1, - coPos, - &Written); + coPos.X = Bar->Right; + FillConsoleOutputCharacterA(StdOutput, + 0xB3, //'|', + 1, + coPos, + &Written); } - /* draw lower left corner */ - coPos.X = Bar->Left; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xC0, // '+', - 1, - coPos, - &Written); + /* draw lower left corner */ + coPos.X = Bar->Left; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xC0, // '+', + 1, + coPos, + &Written); - /* draw lower edge */ - coPos.X = Bar->Left + 1; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xC4, // '-', - Bar->Right - Bar->Left - 1, - coPos, - &Written); + /* draw lower edge */ + coPos.X = Bar->Left + 1; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xC4, // '-', + Bar->Right - Bar->Left - 1, + coPos, + &Written); - /* draw lower right corner */ - coPos.X = Bar->Right; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xD9, // '+', - 1, - coPos, - &Written); + /* draw lower right corner */ + coPos.X = Bar->Right; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xD9, // '+', + 1, + coPos, + &Written); } -static VOID -DrawThickBorder(PPROGRESSBAR Bar) + +static +VOID +DrawThickBorder( + PPROGRESSBAR Bar) { - COORD coPos; - DWORD Written; - SHORT i; + COORD coPos; + DWORD Written; + SHORT i; - /* draw upper left corner */ - coPos.X = Bar->Left; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xC9, // '+', - 1, - coPos, - &Written); + /* draw upper left corner */ + coPos.X = Bar->Left; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xC9, // '+', + 1, + coPos, + &Written); - /* draw upper edge */ - coPos.X = Bar->Left + 1; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xCD, // '-', - Bar->Right - Bar->Left - 1, - coPos, - &Written); + /* draw upper edge */ + coPos.X = Bar->Left + 1; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xCD, // '-', + Bar->Right - Bar->Left - 1, + coPos, + &Written); - /* draw upper right corner */ - coPos.X = Bar->Right; - coPos.Y = Bar->Top + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xBB, // '+', - 1, - coPos, - &Written); + /* draw upper right corner */ + coPos.X = Bar->Right; + coPos.Y = Bar->Top + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xBB, // '+', + 1, + coPos, + &Written); - /* draw left and right edge */ - for (i = Bar->Top + 2; i < Bar->Bottom; i++) + /* draw left and right edge */ + for (i = Bar->Top + 2; i < Bar->Bottom; i++) { - coPos.X = Bar->Left; - coPos.Y = i; - FillConsoleOutputCharacterA(StdOutput, - 0xBA, // '|', - 1, - coPos, - &Written); + coPos.X = Bar->Left; + coPos.Y = i; + FillConsoleOutputCharacterA(StdOutput, + 0xBA, // '|', + 1, + coPos, + &Written); - coPos.X = Bar->Right; - FillConsoleOutputCharacterA(StdOutput, - 0xBA, //'|', - 1, - coPos, - &Written); + coPos.X = Bar->Right; + FillConsoleOutputCharacterA(StdOutput, + 0xBA, //'|', + 1, + coPos, + &Written); } - /* draw lower left corner */ - coPos.X = Bar->Left; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xC8, // '+', - 1, - coPos, - &Written); + /* draw lower left corner */ + coPos.X = Bar->Left; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xC8, // '+', + 1, + coPos, + &Written); - /* draw lower edge */ - coPos.X = Bar->Left + 1; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xCD, // '-', - Bar->Right - Bar->Left - 1, - coPos, - &Written); + /* draw lower edge */ + coPos.X = Bar->Left + 1; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xCD, // '-', + Bar->Right - Bar->Left - 1, + coPos, + &Written); - /* draw lower right corner */ - coPos.X = Bar->Right; - coPos.Y = Bar->Bottom; - FillConsoleOutputCharacterA(StdOutput, - 0xBC, // '+', - 1, - coPos, - &Written); + /* draw lower right corner */ + coPos.X = Bar->Right; + coPos.Y = Bar->Bottom; + FillConsoleOutputCharacterA(StdOutput, + 0xBC, // '+', + 1, + coPos, + &Written); } -static VOID -DrawProgressBar(PPROGRESSBAR Bar) + +static +VOID +DrawProgressBar( + PPROGRESSBAR Bar) { - CHAR TextBuffer[8]; - COORD coPos; - DWORD Written; - PROGRESSBAR BarBorder = *Bar; + CHAR TextBuffer[8]; + COORD coPos; + DWORD Written; + PROGRESSBAR BarBorder = *Bar; - /* Print percentage */ - sprintf(TextBuffer, "%-3lu%%", Bar->Percent); + /* Print percentage */ + sprintf(TextBuffer, "%-3lu%%", Bar->Percent); - coPos.X = Bar->Left + (Bar->Width - 2) / 2; - coPos.Y = Bar->Top; - WriteConsoleOutputCharacterA(StdOutput, - TextBuffer, - 4, - coPos, - &Written); + coPos.X = Bar->Left + (Bar->Width - 2) / 2; + coPos.Y = Bar->Top; + WriteConsoleOutputCharacterA(StdOutput, + TextBuffer, + 4, + coPos, + &Written); - /* Draw the progress bar border */ - DrawBorder(Bar); + /* Draw the progress bar border */ + DrawBorder(Bar); - /* Write Text Associated with Bar */ - CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text); + /* Write Text Associated with Bar */ + CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text); - /* Draw the progress bar "border" border */ - if (Bar->Double) - { - BarBorder.Top -= 5; - BarBorder.Bottom += 2; - BarBorder.Right += 5; - BarBorder.Left -= 5; - DrawThickBorder(&BarBorder); - } - - /* Draw the bar */ - coPos.X = Bar->Left + 1; - for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) + /* Draw the progress bar "border" border */ + if (Bar->Double) { - FillConsoleOutputAttribute(StdOutput, - FOREGROUND_YELLOW | BACKGROUND_BLUE, - Bar->Width - 2, - coPos, - &Written); - - FillConsoleOutputCharacterA(StdOutput, - ' ', - Bar->Width - 2, - coPos, - &Written); + BarBorder.Top -= 5; + BarBorder.Bottom += 2; + BarBorder.Right += 5; + BarBorder.Left -= 5; + DrawThickBorder(&BarBorder); } -} + /* Draw the bar */ + coPos.X = Bar->Left + 1; + for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) + { + FillConsoleOutputAttribute(StdOutput, + FOREGROUND_YELLOW | BACKGROUND_BLUE, + Bar->Width - 2, + coPos, + &Written); + FillConsoleOutputCharacterA(StdOutput, + ' ', + Bar->Width - 2, + coPos, + &Written); + } +} PPROGRESSBAR -CreateProgressBar(SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom, - SHORT TextTop, - SHORT TextRight, - IN BOOLEAN DoubleEdge, - char* Text) +CreateProgressBar( + SHORT Left, + SHORT Top, + SHORT Right, + SHORT Bottom, + SHORT TextTop, + SHORT TextRight, + IN BOOLEAN DoubleEdge, + CHAR *Text) { - PPROGRESSBAR Bar; + PPROGRESSBAR Bar; - Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap, - 0, - sizeof(PROGRESSBAR)); - if (Bar == NULL) - return(NULL); + Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap, + 0, + sizeof(PROGRESSBAR)); + if (Bar == NULL) + return NULL; - Bar->Left = Left; - Bar->Top = Top; - Bar->Right = Right; - Bar->Bottom = Bottom; - Bar->TextTop = TextTop; - Bar->TextRight = TextRight; - Bar->Double = DoubleEdge; - Bar->Text = Text; + Bar->Left = Left; + Bar->Top = Top; + Bar->Right = Right; + Bar->Bottom = Bottom; + Bar->TextTop = TextTop; + Bar->TextRight = TextRight; + Bar->Double = DoubleEdge; + Bar->Text = Text; - Bar->Width = Bar->Right - Bar->Left + 1; + Bar->Width = Bar->Right - Bar->Left + 1; - Bar->Percent = 0; - Bar->Pos = 0; + Bar->Percent = 0; + Bar->Pos = 0; - Bar->StepCount = 0; - Bar->CurrentStep = 0; + Bar->StepCount = 0; + Bar->CurrentStep = 0; - DrawProgressBar(Bar); + DrawProgressBar(Bar); - return(Bar); + return Bar; } VOID -DestroyProgressBar(PPROGRESSBAR Bar) +DestroyProgressBar( + PPROGRESSBAR Bar) { - RtlFreeHeap(ProcessHeap, - 0, - Bar); -} - -VOID -ProgressSetStepCount(PPROGRESSBAR Bar, - ULONG StepCount) -{ - Bar->CurrentStep = 0; - Bar->StepCount = StepCount; - - DrawProgressBar(Bar); + RtlFreeHeap(ProcessHeap, 0, Bar); } VOID -ProgressNextStep(PPROGRESSBAR Bar) +ProgressSetStepCount( + PPROGRESSBAR Bar, + ULONG StepCount) { - ProgressSetStep(Bar, Bar->CurrentStep + 1); + Bar->CurrentStep = 0; + Bar->StepCount = StepCount; + + DrawProgressBar(Bar); } VOID -ProgressSetStep (PPROGRESSBAR Bar, - ULONG Step) +ProgressNextStep( + PPROGRESSBAR Bar) { - CHAR TextBuffer[8]; - COORD coPos; - DWORD Written; - ULONG NewPercent; - ULONG NewPos; + ProgressSetStep(Bar, Bar->CurrentStep + 1); +} - if (Step > Bar->StepCount) - return; - Bar->CurrentStep = Step; +VOID +ProgressSetStep( + PPROGRESSBAR Bar, + ULONG Step) +{ + CHAR TextBuffer[8]; + COORD coPos; + DWORD Written; + ULONG NewPercent; + ULONG NewPos; - /* Calculate new percentage */ - NewPercent = (ULONG)(((100.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); + if (Step > Bar->StepCount) + return; - /* Redraw precentage if changed */ - if (Bar->Percent != NewPercent) + Bar->CurrentStep = Step; + + /* Calculate new percentage */ + NewPercent = (ULONG)(((100.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); + + /* Redraw precentage if changed */ + if (Bar->Percent != NewPercent) { - Bar->Percent = NewPercent; + Bar->Percent = NewPercent; - sprintf(TextBuffer, "%-3lu%%", Bar->Percent); + sprintf(TextBuffer, "%-3lu%%", Bar->Percent); - coPos.X = Bar->Left + (Bar->Width - 2) / 2; - coPos.Y = Bar->Top; - WriteConsoleOutputCharacterA(StdOutput, - TextBuffer, - 4, - coPos, - &Written); + coPos.X = Bar->Left + (Bar->Width - 2) / 2; + coPos.Y = Bar->Top; + WriteConsoleOutputCharacterA(StdOutput, + TextBuffer, + 4, + coPos, + &Written); } - /* Calculate bar position */ - NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); + /* Calculate bar position */ + NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); - /* Redraw bar if changed */ - if (Bar->Pos != NewPos) + /* Redraw bar if changed */ + if (Bar->Pos != NewPos) { - Bar->Pos = NewPos; + Bar->Pos = NewPos; - for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) - { - coPos.X = Bar->Left + 1; - FillConsoleOutputCharacterA(StdOutput, - 0xDB, - Bar->Pos / 2, - coPos, - &Written); - coPos.X += Bar->Pos/2; + for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) + { + coPos.X = Bar->Left + 1; + FillConsoleOutputCharacterA(StdOutput, + 0xDB, + Bar->Pos / 2, + coPos, + &Written); + coPos.X += Bar->Pos/2; - if (NewPos & 1) - { - FillConsoleOutputCharacterA(StdOutput, - 0xDD, - 1, - coPos, - &Written); - coPos.X++; - } + if (NewPos & 1) + { + FillConsoleOutputCharacterA(StdOutput, + 0xDD, + 1, + coPos, + &Written); + coPos.X++; + } - if (coPos.X <= Bar->Right - 1) - { - FillConsoleOutputCharacterA(StdOutput, - ' ', - Bar->Right - coPos.X, - coPos, - &Written); - } - } + if (coPos.X <= Bar->Right - 1) + { + FillConsoleOutputCharacterA(StdOutput, + ' ', + Bar->Right - coPos.X, + coPos, + &Written); + } + } } } diff --git a/base/setup/usetup/progress.h b/base/setup/usetup/progress.h index 948501c3d62..4e486048400 100644 --- a/base/setup/usetup/progress.h +++ b/base/setup/usetup/progress.h @@ -28,49 +28,54 @@ typedef struct _PROGRESS { - SHORT Left; - SHORT Top; - SHORT Right; - SHORT Bottom; - SHORT TextTop; - SHORT TextRight; + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; + SHORT TextTop; + SHORT TextRight; - SHORT Width; + SHORT Width; - ULONG Percent; - SHORT Pos; + ULONG Percent; + SHORT Pos; - ULONG StepCount; - ULONG CurrentStep; + ULONG StepCount; + ULONG CurrentStep; - BOOLEAN Double; - CHAR *Text; + BOOLEAN Double; + CHAR *Text; } PROGRESSBAR, *PPROGRESSBAR; /* FUNCTIONS ****************************************************************/ PPROGRESSBAR -CreateProgressBar(SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom, - SHORT TextTop, - SHORT TextRight, - BOOLEAN DoubleEdge, - char* Text); +CreateProgressBar( + SHORT Left, + SHORT Top, + SHORT Right, + SHORT Bottom, + SHORT TextTop, + SHORT TextRight, + BOOLEAN DoubleEdge, + CHAR *Text); VOID -DestroyProgressBar(PPROGRESSBAR Bar); +DestroyProgressBar( + PPROGRESSBAR Bar); VOID -ProgressSetStepCount(PPROGRESSBAR Bar, - ULONG StepCount); +ProgressSetStepCount( + PPROGRESSBAR Bar, + ULONG StepCount); VOID -ProgressNextStep(PPROGRESSBAR Bar); +ProgressNextStep( + PPROGRESSBAR Bar); VOID -ProgressSetStep (PPROGRESSBAR Bar, - ULONG Step); +ProgressSetStep( + PPROGRESSBAR Bar, + ULONG Step); /* EOF */ diff --git a/base/setup/usetup/registry.c b/base/setup/usetup/registry.c index 493a17a4a83..032c5d961b9 100644 --- a/base/setup/usetup/registry.c +++ b/base/setup/usetup/registry.c @@ -63,47 +63,49 @@ typedef struct _REG_DISK_MOUNT_INFO { - ULONG Signature; - LARGE_INTEGER StartingOffset; + ULONG Signature; + LARGE_INTEGER StartingOffset; } REG_DISK_MOUNT_INFO, *PREG_DISK_MOUNT_INFO; #include /* FUNCTIONS ****************************************************************/ -static BOOLEAN -GetRootKey (PWCHAR Name) +static +BOOLEAN +GetRootKey( + PWCHAR Name) { - if (!_wcsicmp (Name, L"HKCR")) + if (!_wcsicmp (Name, L"HKCR")) { - wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\"); - return TRUE; + wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\"); + return TRUE; } - if (!_wcsicmp (Name, L"HKCU")) + if (!_wcsicmp (Name, L"HKCU")) { - wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\"); - return TRUE; + wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\"); + return TRUE; } - if (!_wcsicmp (Name, L"HKLM")) + if (!_wcsicmp (Name, L"HKLM")) { - wcscpy (Name, L"\\Registry\\Machine\\"); - return TRUE; + wcscpy (Name, L"\\Registry\\Machine\\"); + return TRUE; } - if (!_wcsicmp (Name, L"HKU")) + if (!_wcsicmp (Name, L"HKU")) { - wcscpy (Name, L"\\Registry\\User\\"); - return TRUE; + wcscpy (Name, L"\\Registry\\User\\"); + return TRUE; } #if 0 - if (!_wcsicmp (Name, L"HKR")) - return FALSE; + if (!_wcsicmp (Name, L"HKR")) + return FALSE; #endif - return FALSE; + return FALSE; } @@ -500,7 +502,7 @@ CreateNestedKey (PHANDLE KeyHandle, * Called once for each AddReg and DelReg entry in a given section. */ static BOOLEAN -registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete) +registry_callback(HINF hInf, PCWSTR Section, BOOLEAN Delete) { OBJECT_ATTRIBUTES ObjectAttributes; WCHAR Buffer[MAX_INF_STRING_LENGTH]; @@ -624,148 +626,154 @@ registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete) BOOLEAN -ImportRegistryFile(PWSTR Filename, - PWSTR Section, - LCID LocaleId, - BOOLEAN Delete) +ImportRegistryFile( + PWSTR Filename, + PWSTR Section, + LCID LocaleId, + BOOLEAN Delete) { - WCHAR FileNameBuffer[MAX_PATH]; - HINF hInf; - UINT ErrorLine; + WCHAR FileNameBuffer[MAX_PATH]; + HINF hInf; + UINT ErrorLine; - /* Load inf file from install media. */ - wcscpy(FileNameBuffer, SourcePath.Buffer); - wcscat(FileNameBuffer, L"\\"); - wcscat(FileNameBuffer, Filename); + /* Load inf file from install media. */ + wcscpy(FileNameBuffer, SourcePath.Buffer); + wcscat(FileNameBuffer, L"\\"); + wcscat(FileNameBuffer, Filename); - hInf = SetupOpenInfFileW( - FileNameBuffer, - NULL, - INF_STYLE_WIN4, - LocaleId, - &ErrorLine); - if (hInf == INVALID_HANDLE_VALUE) + hInf = SetupOpenInfFileW(FileNameBuffer, + NULL, + INF_STYLE_WIN4, + LocaleId, + &ErrorLine); + if (hInf == INVALID_HANDLE_VALUE) { - DPRINT1("SetupOpenInfFile() failed\n"); - return FALSE; + DPRINT1("SetupOpenInfFile() failed\n"); + return FALSE; } - if (!registry_callback (hInf, L"AddReg", FALSE)) + if (!registry_callback(hInf, L"AddReg", FALSE)) { - DPRINT1("registry_callback() failed\n"); + DPRINT1("registry_callback() failed\n"); } - if (!registry_callback (hInf, L"AddReg.NT" Architecture, FALSE)) + if (!registry_callback(hInf, L"AddReg.NT" Architecture, FALSE)) { - DPRINT1("registry_callback() failed\n"); + DPRINT1("registry_callback() failed\n"); } - InfCloseFile (hInf); + InfCloseFile(hInf); - return TRUE; + return TRUE; } BOOLEAN -SetInstallPathValue(PUNICODE_STRING InstallPath) +SetInstallPathValue( + PUNICODE_STRING InstallPath) { - OBJECT_ATTRIBUTES ObjectAttributes; - UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE"); - UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath"); - HANDLE KeyHandle; - NTSTATUS Status; + OBJECT_ATTRIBUTES ObjectAttributes; + UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE"); + UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath"); + HANDLE KeyHandle; + NTSTATUS Status; - /* Create the 'secret' InstallPath key */ - InitializeObjectAttributes (&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); - Status = NtOpenKey (&KeyHandle, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) + /* Create the 'secret' InstallPath key */ + InitializeObjectAttributes(&ObjectAttributes, + &KeyName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); + Status = NtOpenKey(&KeyHandle, + KEY_ALL_ACCESS, + &ObjectAttributes); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); - return FALSE; + DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); + return FALSE; } - Status = NtSetValueKey (KeyHandle, - &ValueName, - 0, - REG_SZ, - (PVOID)InstallPath->Buffer, - InstallPath->Length + sizeof(WCHAR)); - NtClose(KeyHandle); - if (!NT_SUCCESS(Status)) - { - DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status); - return FALSE; - } - - return TRUE; -} - -BOOLEAN -SetMountedDeviceValue(CHAR Letter, ULONG Signature, LARGE_INTEGER StartingOffset) -{ - OBJECT_ATTRIBUTES ObjectAttributes; - WCHAR ValueNameBuffer[16]; - UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\MountedDevices"); - UNICODE_STRING ValueName; - REG_DISK_MOUNT_INFO MountInfo; - NTSTATUS Status; - HANDLE KeyHandle; - - swprintf(ValueNameBuffer, L"\\DosDevices\\%C:", Letter); - RtlInitUnicodeString(&ValueName, ValueNameBuffer); - - InitializeObjectAttributes (&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); - Status = NtOpenKey (&KeyHandle, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - Status = NtCreateKey(&KeyHandle, - KEY_ALL_ACCESS, - &ObjectAttributes, + Status = NtSetValueKey(KeyHandle, + &ValueName, 0, - NULL, - REG_OPTION_NON_VOLATILE, - NULL); - } - - if (!NT_SUCCESS(Status)) + REG_SZ, + (PVOID)InstallPath->Buffer, + InstallPath->Length + sizeof(WCHAR)); + NtClose(KeyHandle); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtCreateKey() failed (Status %lx)\n", Status); - return FALSE; + DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status); + return FALSE; } - MountInfo.Signature = Signature; - MountInfo.StartingOffset = StartingOffset; - Status = NtSetValueKey (KeyHandle, - &ValueName, - 0, - REG_BINARY, - (PVOID)&MountInfo, - sizeof(MountInfo)); - NtClose(KeyHandle); - if (!NT_SUCCESS(Status)) + return TRUE; +} + + +BOOLEAN +SetMountedDeviceValue( + CHAR Letter, + ULONG Signature, + LARGE_INTEGER StartingOffset) +{ + OBJECT_ATTRIBUTES ObjectAttributes; + WCHAR ValueNameBuffer[16]; + UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\MountedDevices"); + UNICODE_STRING ValueName; + REG_DISK_MOUNT_INFO MountInfo; + NTSTATUS Status; + HANDLE KeyHandle; + + swprintf(ValueNameBuffer, L"\\DosDevices\\%C:", Letter); + RtlInitUnicodeString(&ValueName, ValueNameBuffer); + + InitializeObjectAttributes(&ObjectAttributes, + &KeyName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); + Status = NtOpenKey(&KeyHandle, + KEY_ALL_ACCESS, + &ObjectAttributes); + if (!NT_SUCCESS(Status)) { - DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status); - return FALSE; + Status = NtCreateKey(&KeyHandle, + KEY_ALL_ACCESS, + &ObjectAttributes, + 0, + NULL, + REG_OPTION_NON_VOLATILE, + NULL); } - return TRUE; + if (!NT_SUCCESS(Status)) + { + DPRINT1("NtCreateKey() failed (Status %lx)\n", Status); + return FALSE; + } + + MountInfo.Signature = Signature; + MountInfo.StartingOffset = StartingOffset; + Status = NtSetValueKey(KeyHandle, + &ValueName, + 0, + REG_BINARY, + (PVOID)&MountInfo, + sizeof(MountInfo)); + NtClose(KeyHandle); + if (!NT_SUCCESS(Status)) + { + DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status); + return FALSE; + } + + return TRUE; } VOID -SetDefaultPagefile(WCHAR Drive) +SetDefaultPagefile( + WCHAR Drive) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management"); diff --git a/base/setup/usetup/registry.h b/base/setup/usetup/registry.h index 2b23cd8d33d..de02b0eb5d8 100644 --- a/base/setup/usetup/registry.h +++ b/base/setup/usetup/registry.h @@ -27,18 +27,24 @@ #pragma once BOOLEAN -ImportRegistryFile(PWSTR Filename, - PWSTR Section, - LCID LocaleId, - BOOLEAN Delete); +ImportRegistryFile( + PWSTR Filename, + PWSTR Section, + LCID LocaleId, + BOOLEAN Delete); BOOLEAN -SetInstallPathValue(PUNICODE_STRING InstallPath); +SetInstallPathValue( + PUNICODE_STRING InstallPath); BOOLEAN -SetMountedDeviceValue(CHAR Letter, ULONG Signature, LARGE_INTEGER StartingOffset); +SetMountedDeviceValue( + CHAR Letter, + ULONG Signature, + LARGE_INTEGER StartingOffset); VOID -SetDefaultPagefile(WCHAR Drive); +SetDefaultPagefile( + WCHAR Drive); /* EOF */ diff --git a/base/setup/usetup/settings.c b/base/setup/usetup/settings.c index 7dcb3291da1..03461671742 100644 --- a/base/setup/usetup/settings.c +++ b/base/setup/usetup/settings.c @@ -31,34 +31,45 @@ #define NDEBUG #include +/* GLOBALS ******************************************************************/ + +ULONG DefaultLanguageIndex = 0; + /* FUNCTIONS ****************************************************************/ -static BOOLEAN +static +BOOLEAN IsAcpiComputer(VOID) { - UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter"); - UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier"); - UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS"); - OBJECT_ATTRIBUTES ObjectAttributes; - PKEY_BASIC_INFORMATION pDeviceInformation = NULL; - ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR); - PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL; - ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR); - ULONG RequiredSize; - ULONG IndexDevice = 0; - UNICODE_STRING DeviceName, ValueName; - HANDLE hDevicesKey = NULL; - HANDLE hDeviceKey = NULL; - NTSTATUS Status; - BOOLEAN ret = FALSE; + UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter"); + UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier"); + UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS"); + OBJECT_ATTRIBUTES ObjectAttributes; + PKEY_BASIC_INFORMATION pDeviceInformation = NULL; + ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR); + PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL; + ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR); + ULONG RequiredSize; + ULONG IndexDevice = 0; + UNICODE_STRING DeviceName, ValueName; + HANDLE hDevicesKey = NULL; + HANDLE hDeviceKey = NULL; + NTSTATUS Status; + BOOLEAN ret = FALSE; - InitializeObjectAttributes(&ObjectAttributes, &MultiKeyPathU, OBJ_CASE_INSENSITIVE, NULL, NULL); - Status = NtOpenKey(&hDevicesKey, KEY_ENUMERATE_SUB_KEYS, &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - DPRINT("NtOpenKey() failed with status 0x%08lx\n", Status); - goto cleanup; - } + InitializeObjectAttributes(&ObjectAttributes, + &MultiKeyPathU, + OBJ_CASE_INSENSITIVE, + NULL, + NULL); + Status = NtOpenKey(&hDevicesKey, + KEY_ENUMERATE_SUB_KEYS, + &ObjectAttributes); + if (!NT_SUCCESS(Status)) + { + DPRINT("NtOpenKey() failed with status 0x%08lx\n", Status); + goto cleanup; + } pDeviceInformation = RtlAllocateHeap(RtlGetProcessHeap(), 0, DeviceInfoLength); if (!pDeviceInformation) @@ -170,9 +181,11 @@ cleanup: } -static BOOLEAN -GetComputerIdentifier(PWSTR Identifier, - ULONG IdentifierLength) +static +BOOLEAN +GetComputerIdentifier( + PWSTR Identifier, + ULONG IdentifierLength) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -212,14 +225,12 @@ GetComputerIdentifier(PWSTR Identifier, } /* Get number of subkeys */ - Status = NtQueryKey( - ProcessorsKey, - KeyFullInformation, - pFullInfo, - Size, - &Size); + Status = NtQueryKey(ProcessorsKey, + KeyFullInformation, + pFullInfo, + Size, + &Size); NtClose(ProcessorsKey); - if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW) { DPRINT("NtQueryKey() failed (Status 0x%lx)\n", Status); @@ -276,7 +287,8 @@ GetComputerIdentifier(PWSTR Identifier, PGENERIC_LIST -CreateComputerTypeList(HINF InfFile) +CreateComputerTypeList( + HINF InfFile) { CHAR Buffer[128]; PGENERIC_LIST List; @@ -364,8 +376,10 @@ CreateComputerTypeList(HINF InfFile) } -static BOOLEAN -GetDisplayIdentifier(PWSTR Identifier, +static +BOOLEAN +GetDisplayIdentifier( + PWSTR Identifier, ULONG IdentifierLength) { OBJECT_ATTRIBUTES ObjectAttributes; @@ -530,7 +544,8 @@ GetDisplayIdentifier(PWSTR Identifier, PGENERIC_LIST -CreateDisplayDriverList(HINF InfFile) +CreateDisplayDriverList( + HINF InfFile) { CHAR Buffer[128]; PGENERIC_LIST List; @@ -630,8 +645,12 @@ CreateDisplayDriverList(HINF InfFile) return List; } + BOOLEAN -ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSectionName) +ProcessComputerFiles( + HINF InfFile, + PGENERIC_LIST List, + PWCHAR *AdditionalSectionName) { PGENERIC_LIST_ENTRY Entry; static WCHAR SectionName[128]; @@ -654,7 +673,9 @@ ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSection BOOLEAN -ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) +ProcessDisplayRegistry( + HINF InfFile, + PGENERIC_LIST List) { PGENERIC_LIST_ENTRY Entry; INFCONTEXT Context; @@ -692,12 +713,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) StartValue = 1; Status = RtlWriteRegistryValue(RTL_REGISTRY_SERVICES, - ServiceName, - L"Start", - REG_DWORD, - &StartValue, - sizeof(ULONG)); - + ServiceName, + L"Start", + REG_DWORD, + &StartValue, + sizeof(ULONG)); if (!NT_SUCCESS(Status)) { DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); @@ -715,11 +735,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) Width = wcstoul(Buffer, NULL, 10); Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, - RegPath, - L"DefaultSettings.XResolution", - REG_DWORD, - &Width, - sizeof(ULONG)); + RegPath, + L"DefaultSettings.XResolution", + REG_DWORD, + &Width, + sizeof(ULONG)); if (!NT_SUCCESS(Status)) { DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); @@ -734,11 +754,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) Height = wcstoul(Buffer, 0, 0); Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, - RegPath, - L"DefaultSettings.YResolution", - REG_DWORD, - &Height, - sizeof(ULONG)); + RegPath, + L"DefaultSettings.YResolution", + REG_DWORD, + &Height, + sizeof(ULONG)); if (!NT_SUCCESS(Status)) { DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); @@ -753,11 +773,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) Bpp = wcstoul(Buffer, 0, 0); Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, - RegPath, - L"DefaultSettings.BitsPerPel", - REG_DWORD, - &Bpp, - sizeof(ULONG)); + RegPath, + L"DefaultSettings.BitsPerPel", + REG_DWORD, + &Bpp, + sizeof(ULONG)); if (!NT_SUCCESS(Status)) { DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); @@ -771,7 +791,8 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) BOOLEAN -ProcessLocaleRegistry(PGENERIC_LIST List) +ProcessLocaleRegistry( + PGENERIC_LIST List) { PGENERIC_LIST_ENTRY Entry; PWCHAR LanguageId; @@ -807,7 +828,6 @@ ProcessLocaleRegistry(PGENERIC_LIST List) Status = NtOpenKey(&KeyHandle, KEY_SET_VALUE, &ObjectAttributes); - if (!NT_SUCCESS(Status)) { DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); @@ -851,7 +871,8 @@ ProcessLocaleRegistry(PGENERIC_LIST List) PGENERIC_LIST -CreateKeyboardDriverList(HINF InfFile) +CreateKeyboardDriverList( + HINF InfFile) { CHAR Buffer[128]; PGENERIC_LIST List; @@ -879,9 +900,9 @@ CreateKeyboardDriverList(HINF InfFile) break; } - UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(KeyName) + 1) * sizeof(WCHAR)); + UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (wcslen(KeyName) + 1) * sizeof(WCHAR)); if (UserData == NULL) { /* FIXME: Handle error! */ @@ -896,7 +917,6 @@ CreateKeyboardDriverList(HINF InfFile) return List; } -ULONG DefaultLanguageIndex = 0; ULONG GetDefaultLanguageIndex(VOID) @@ -904,8 +924,11 @@ GetDefaultLanguageIndex(VOID) return DefaultLanguageIndex; } + PGENERIC_LIST -CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage) +CreateLanguageList( + HINF InfFile, + WCHAR *DefaultLanguage) { CHAR Buffer[128]; PGENERIC_LIST List; @@ -980,8 +1003,11 @@ CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage) return List; } + PGENERIC_LIST -CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout) +CreateKeyboardLayoutList( + HINF InfFile, + WCHAR *DefaultKBLayout) { CHAR Buffer[128]; PGENERIC_LIST List; @@ -1028,10 +1054,9 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout) if (_wcsicmp(LayoutsList[uIndex].LayoutID, KeyName) == 0) { - UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(KeyName) + 1) * sizeof(WCHAR)); - + UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap, + 0, + (wcslen(KeyName) + 1) * sizeof(WCHAR)); if (UserData == NULL) { /* FIXME: Handle error! */ @@ -1067,8 +1092,10 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout) return List; } + BOOLEAN -ProcessKeyboardLayoutRegistry(PGENERIC_LIST List) +ProcessKeyboardLayoutRegistry( + PGENERIC_LIST List) { PGENERIC_LIST_ENTRY Entry; PWCHAR LayoutId; @@ -1117,14 +1144,17 @@ ProcessKeyboardLayoutRegistry(PGENERIC_LIST List) #if 0 BOOLEAN -ProcessKeyboardLayoutFiles(PGENERIC_LIST List) +ProcessKeyboardLayoutFiles( + PGENERIC_LIST List) { return TRUE; } #endif + BOOLEAN -SetGeoID(PWCHAR Id) +SetGeoID( + PWCHAR Id) { OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING KeyName; @@ -1133,6 +1163,7 @@ SetGeoID(PWCHAR Id) WCHAR szKeyName[] = L"\\Registry\\User\\.DEFAULT\\Control Panel\\International\\Geo"; WCHAR szValueName[] = L"Nation"; NTSTATUS Status; + RtlInitUnicodeString(&KeyName, szKeyName); InitializeObjectAttributes(&ObjectAttributes, @@ -1143,24 +1174,25 @@ SetGeoID(PWCHAR Id) Status = NtOpenKey(&KeyHandle, KEY_SET_VALUE, - &ObjectAttributes); + &ObjectAttributes); if(!NT_SUCCESS(Status)) { DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); return FALSE; } + RtlInitUnicodeString(&ValueName, szValueName); Status = NtSetValueKey(KeyHandle, - &ValueName, - 0, - REG_SZ, - (PVOID)Id, - (wcslen(Id) + 1) * sizeof(WCHAR)); + &ValueName, + 0, + REG_SZ, + (PVOID)Id, + (wcslen(Id) + 1) * sizeof(WCHAR)); NtClose(KeyHandle); if (!NT_SUCCESS(Status)) { - DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status); - return FALSE; + DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status); + return FALSE; } return TRUE; diff --git a/base/setup/usetup/settings.h b/base/setup/usetup/settings.h index fb8cd3cdd1e..528247419b6 100644 --- a/base/setup/usetup/settings.h +++ b/base/setup/usetup/settings.h @@ -27,42 +27,55 @@ #pragma once PGENERIC_LIST -CreateComputerTypeList(HINF InfFile); +CreateComputerTypeList( + HINF InfFile); PGENERIC_LIST -CreateDisplayDriverList(HINF InfFile); +CreateDisplayDriverList( + HINF InfFile); BOOLEAN -ProcessComputerFiles(HINF InfFile, - PGENERIC_LIST List, - PWCHAR* AdditionalSectionName); +ProcessComputerFiles( + HINF InfFile, + PGENERIC_LIST List, + PWCHAR *AdditionalSectionName); BOOLEAN -ProcessDisplayRegistry(HINF InfFile, - PGENERIC_LIST List); +ProcessDisplayRegistry( + HINF InfFile, + PGENERIC_LIST List); PGENERIC_LIST -CreateKeyboardDriverList(HINF InfFile); +CreateKeyboardDriverList( + HINF InfFile); PGENERIC_LIST -CreateKeyboardLayoutList(HINF InfFile, WCHAR *DefaultKBLayout); +CreateKeyboardLayoutList( + HINF InfFile, + WCHAR *DefaultKBLayout); -PGENERIC_LIST -CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage); +PGENERIC_LIST +CreateLanguageList( + HINF InfFile, + WCHAR *DefaultLanguage); ULONG GetDefaultLanguageIndex(VOID); BOOLEAN -ProcessLocaleRegistry(PGENERIC_LIST List); +ProcessLocaleRegistry( + PGENERIC_LIST List); BOOLEAN -ProcessKeyboardLayoutRegistry(PGENERIC_LIST List); +ProcessKeyboardLayoutRegistry( + PGENERIC_LIST List); BOOLEAN -ProcessKeyboardLayoutFiles(PGENERIC_LIST List); +ProcessKeyboardLayoutFiles( + PGENERIC_LIST List); BOOLEAN -SetGeoID(PWCHAR Id); +SetGeoID( + PWCHAR Id); /* EOF */ diff --git a/base/setup/usetup/usetup.h b/base/setup/usetup/usetup.h index 2dfb99ba469..dd88ca8103b 100644 --- a/base/setup/usetup/usetup.h +++ b/base/setup/usetup/usetup.h @@ -113,43 +113,43 @@ extern BOOLEAN InfGetStringField(PINFCONTEXT Context, #define _PAGE_NUMBER_DEFINED typedef enum _PAGE_NUMBER { - START_PAGE, - LANGUAGE_PAGE, - INTRO_PAGE, - LICENSE_PAGE, - INSTALL_INTRO_PAGE, + START_PAGE, + LANGUAGE_PAGE, + INTRO_PAGE, + LICENSE_PAGE, + INSTALL_INTRO_PAGE, -// SCSI_CONTROLLER_PAGE, +// SCSI_CONTROLLER_PAGE, - DEVICE_SETTINGS_PAGE, - COMPUTER_SETTINGS_PAGE, - DISPLAY_SETTINGS_PAGE, - KEYBOARD_SETTINGS_PAGE, - LAYOUT_SETTINGS_PAGE, + DEVICE_SETTINGS_PAGE, + COMPUTER_SETTINGS_PAGE, + DISPLAY_SETTINGS_PAGE, + KEYBOARD_SETTINGS_PAGE, + LAYOUT_SETTINGS_PAGE, - SELECT_PARTITION_PAGE, - CREATE_PARTITION_PAGE, - DELETE_PARTITION_PAGE, + SELECT_PARTITION_PAGE, + CREATE_PARTITION_PAGE, + DELETE_PARTITION_PAGE, - SELECT_FILE_SYSTEM_PAGE, - FORMAT_PARTITION_PAGE, - CHECK_FILE_SYSTEM_PAGE, + SELECT_FILE_SYSTEM_PAGE, + FORMAT_PARTITION_PAGE, + CHECK_FILE_SYSTEM_PAGE, - PREPARE_COPY_PAGE, - INSTALL_DIRECTORY_PAGE, - FILE_COPY_PAGE, - REGISTRY_PAGE, - BOOT_LOADER_PAGE, - BOOT_LOADER_FLOPPY_PAGE, - BOOT_LOADER_HARDDISK_MBR_PAGE, - BOOT_LOADER_HARDDISK_VBR_PAGE, + PREPARE_COPY_PAGE, + INSTALL_DIRECTORY_PAGE, + FILE_COPY_PAGE, + REGISTRY_PAGE, + BOOT_LOADER_PAGE, + BOOT_LOADER_FLOPPY_PAGE, + BOOT_LOADER_HARDDISK_MBR_PAGE, + BOOT_LOADER_HARDDISK_VBR_PAGE, - REPAIR_INTRO_PAGE, + REPAIR_INTRO_PAGE, - SUCCESS_PAGE, - QUIT_PAGE, - FLUSH_PAGE, - REBOOT_PAGE, /* virtual page */ + SUCCESS_PAGE, + QUIT_PAGE, + FLUSH_PAGE, + REBOOT_PAGE, /* virtual page */ } PAGE_NUMBER, *PPAGE_NUMBER; #endif diff --git a/base/setup/vmwinst/lang/tr-TR.rc b/base/setup/vmwinst/lang/tr-TR.rc index 9a1528d50a3..657dcb770fd 100644 --- a/base/setup/vmwinst/lang/tr-TR.rc +++ b/base/setup/vmwinst/lang/tr-TR.rc @@ -4,24 +4,24 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT IDD_WELCOMEPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "ReactOS Kur, VMWare(r)'de çalıştığını algıladı.", -1, 117, 8, 140, 24 - LTEXT "VMware(r) SVGA sürücüsünü kurmak için ""İleri"" düğmesine tıklayınız. Eğer sürücüyü kurmak istemiyorsanız ""İptal"" düğmesine tıklayınız.", -1, 117, 140, 140, 24 + LTEXT "ReactOS Kur, sizin ReactOS'u VMWare(r)'de çalıştırdığınızı algıladı.", -1, 117, 8, 140, 24 + LTEXT "Eğer VMware(r) SVGA sürücüsünü kurmayı istiyorsanız ""İleri""ye tıklayınız, yoksa ""İptal""e tıklayınız.", -1, 117, 140, 140, 24 END IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "ReactOS Kur, VMware(r) SVGA sürücüsüyle birlikte gelmez.\n\nBu yüzden, VMWare(r)'de bulunan ""Install VMware tools..."" seçeneğine tıklayınız.\n\n\nİşlemi sürdürmek için ""İleri"" düğmesine, sürücünün kurulumunu atlamak için ""İptal"" düğmesine tıklayınız.", -1, 25, 25, 225, 85 + LTEXT "ReactOS Kur, VMware(r) SVGA sürücüsüyle gelmez.\n\nBu yüzden VMWare(r) seçke çubuğunuzdaki ""VM""ye gidiniz ve ""Install VMware tools...""u seçiniz.\n\n\nSürdürmek için ""İleri""ye ya da SVGA sürücüsünün kurulumunu atlamak için ""İptal""e tıklayınız.", -1, 25, 25, 225, 85 END IDD_INSTALLING_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "{STATUS}", IDC_INSTALLINGSTATUS, 25, 68, 225, 8 @@ -30,10 +30,10 @@ END IDD_CONFIG DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "VMware(r) SVGA sürücüsü, başarılı bir şekilde kuruldu. Aşağıdaki çözünürlüklerden birini seçiniz:", -1, 25, 5, 225, 20 + LTEXT "VMware(r) SVGA sürücüsü, başarılı bir şekilde kuruldu. Lütfen gözde görüntülük çözünürlüğünüzü seçiniz:", -1, 25, 5, 225, 20 PUSHBUTTON "640x480", 1120, 25, 30, 65, 15, BS_AUTORADIOBUTTON PUSHBUTTON "800x600", 1400, 25, 45, 65, 15, BS_AUTORADIOBUTTON PUSHBUTTON "1024x768", 1792, 25, 60, 65, 15, BS_AUTORADIOBUTTON @@ -45,89 +45,89 @@ BEGIN PUSHBUTTON "1792x1344", 3136, 195, 30, 65, 15, BS_AUTORADIOBUTTON PUSHBUTTON "1856x1392", 3248, 195, 45, 65, 15, BS_AUTORADIOBUTTON PUSHBUTTON "1920x1440", 3360, 195, 60, 50, 15, BS_AUTORADIOBUTTON - LTEXT "Aşağıdaki derinliklerden birini seçiniz:", -1, 25, 93, 225, 12 + LTEXT "Lütfen gözde renk derinliğinizi seçiniz:", -1, 25, 93, 225, 12 COMBOBOX IDC_COLORQUALITY, 25, 105, 75, 80, CBS_DROPDOWNLIST | WS_TABSTOP END IDD_INSTALLATION_FAILED DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "ReactOS Kur, VMware(r) SVGA sürücüsünü kuramadı.\n\n\nReactOS kurulumunu sürdürmek için ""Bitir"" düğmesine tıklayınız.", -1, 25, 25, 225, 85 + LTEXT "ReactOS Kur, VMware(r) SVGA sürücüsünü kuramadı.\n\n\nKurulum işlemini sürdürmek için ""Bitir""e tıklayınız.", -1, 25, 25, 225, 85 END IDD_CHOOSEACTION DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "VMware(r) SVGA sürücüsü, daha önceden kurulmuş.\n\nNe yapmak istediğinizi seçiniz:", -1, 25, 5, 225, 30 - PUSHBUTTON "Görüntülük Ayarlarını Yapılandırmak", IDC_CONFIGSETTINGS, 25, 40, 200, 15, BS_AUTORADIOBUTTON - PUSHBUTTON "Başka Bir Görüntülük Sürücüsü Kurmak", IDC_USEOTHERDRIVER, 25, 55, 200, 15, BS_AUTORADIOBUTTON - PUSHBUTTON "VMware(r) SVGA Sürücüsünü Kaldırmak", IDC_UNINSTALL, 25, 70, 200, 15, BS_AUTORADIOBUTTON - LTEXT "Sürdürmek için ""İleri"" düğmesine, çıkmak için ""İptal"" düğmesine tıklayınız.", -1, 25, 93, 225, 19 + LTEXT "VMware(r) SVGA sürücüsü önceden kurulmuş.\n\nLütfen ne yapmak istediğinizi seçiniz:", -1, 25, 5, 225, 30 + PUSHBUTTON "Görüntülük Ayarlarını Yapılandırma", IDC_CONFIGSETTINGS, 25, 40, 200, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "Başka Bir Çizge Sürücüsü Kurma", IDC_USEOTHERDRIVER, 25, 55, 200, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "VMware(r) SVGA Sürücüsünü Kaldırma", IDC_UNINSTALL, 25, 70, 200, 15, BS_AUTORADIOBUTTON + LTEXT "Sürdürmek için ""İleri""ye ya da büyücüden çıkmak için ""İptal""e tıklayınız.", -1, 25, 93, 225, 19 END IDD_SELECTDRIVER DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Kullanmak istediğiniz görüntülük sürücüsünü seçiniz:", -1, 25, 25, 225, 15 + LTEXT "Lütfen kullanmak istediğiniz çizge sürücüsünü seçiniz:", -1, 25, 25, 225, 15 PUSHBUTTON "ReactOS VGA Sürücüsü", IDC_VGA, 25, 40, 225, 15, BS_AUTORADIOBUTTON PUSHBUTTON "ReactOS VBE Sürücüsü (SVGA)", IDC_VBE, 25, 55, 225, 15, BS_AUTORADIOBUTTON - LTEXT "İşlemi bitirmek için ""Bitir"" düğmesine, hiçbir değişiklik yapmadan çıkmak için ""İptal"" düğmesine tıklayınız.", -1, 25, 93, 225, 20 + LTEXT "İşlemi bitirmek için ""Bitir""e ya da değişiklik yapmadan kurulumdan çıkmak için ""İptal""e tıklayınız.", -1, 25, 93, 225, 20 END IDD_DOUNINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Görüntülük Sürücüsü Kurulumu" +CAPTION "Vidyo Sürücüsü Kurulumu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "ReactOS Kur, VMware(r) SVGA sürücüsünü kaldırmak üzere.\n\n\nKaldırmayı bitirmek için ""Bitir"" düğmesine, hiçbir değişiklik yapılmadan çıkmak için ""İptal"" düğmesine tıklayınız.", -1, 25, 25, 225, 85 + LTEXT "ReactOS Kur, VMware(r) SVGA sürücünüzü kaldırmak üzere.\n\n\nSürücüyü kaldırmak için ""Bitir""e ya da onu olduğu gibi bırakmak için ""İptal""e tıklayınız.", -1, 25, 25, 225, 85 END STRINGTABLE BEGIN IDS_WIZARD_NAME "VMware(r) algılandı." - IDS_FAILEDTOLOCATEDRIVERS "ReactOS Kur, gerekli kütükleri bulamadı.\nVMWare(r) Araç CD'sini bağladığınızı doğrulayınız." - IDS_FAILEDTOCOPYFILES "ReactOS Kur, gerekli kütükleri çoğaltamadı.\nVMWare(r) Araç CD'sini bağladığınızı doğrulayınız.\n" - IDS_FAILEDTOACTIVATEDRIVER "VMware(r) SVGA sürücüsünün etkinleştirilmesi başarısız oldu." - IDS_FAILEDTOSELVGADRIVER "ReactOS VGA sürücüsünün etkinleştirilmesi başarısız oldu." - IDS_FAILEDTOSELVBEDRIVER "ReactOS VBE sürücüsünün etkinleştirilmesi başarısız oldu." - IDS_UNINSTNOTICE "VMware(r) SVGA sürücüsünün kütükleri silinmedi.\nOnları, dizgeyi yeniden başlatma sonrasında siliniz." - IDS_FAILEDTOADDREGENTRIES "VMware(r) SVGA sürücüsünün değerleri oluşturulamadı." + IDS_FAILEDTOLOCATEDRIVERS "ReactOS Kur gerekli kütükleri bulamadı.\nVMWare(r) Araç CD-ROM'unun takılı olduğundan emin olunuz." + IDS_FAILEDTOCOPYFILES "ReactOS Kur gerekli kütükleri çoğaltamadı.\nVMWare(r) Araç CD-ROM'unun takılı olduğundan emin olunuz.\n" + IDS_FAILEDTOACTIVATEDRIVER "VMware(r) SVGA sürücüsünü etkinleştirme başarısız oldu." + IDS_FAILEDTOSELVGADRIVER "ReactOS VGA sürücüsünü etkinleştirme başarısız oldu." + IDS_FAILEDTOSELVBEDRIVER "ReactOS VBE sürücüsünü etkinleştirme başarısız oldu." + IDS_UNINSTNOTICE "VMware(r) SVGA sürücüsünün kütükleri daha silinmedi.\nLütfen onları bir yeniden başlatmadan sonra elle siliniz." + IDS_FAILEDTOADDREGENTRIES "VMware(r) SVGA sürücüsü için değer defteri girdilerinin oluşturulması başarısız oldu." END STRINGTABLE BEGIN - 10001 "Düşük (8 İkillik)" - 10002 "Orta (16 İkillik)" - 10003 "Yüksek (32 İkillik)" + 10001 "En Düşük (Her Noktada 8 Bit)" + 10002 "Orta (Her Noktada 16 Bit)" + 10003 "En Yüksek (Her Noktada 32 Bit)" END STRINGTABLE BEGIN - IDS_SEARCHINGFORCDROM "VMWare(r) Araç CD'si aranıyor..." + IDS_SEARCHINGFORCDROM "VMWare(r) Araç CD-ROM'u aranıyor..." IDS_COPYINGFILES "Kütükler çoğaltılıyor..." IDS_ENABLINGDRIVER "VMware(r) SVGA sürücüsü etkinleştiriliyor..." END STRINGTABLE BEGIN - IDD_INSERT_VMWARE_TOOLSTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" - IDD_INSERT_VMWARE_TOOLSSUBTITLE "VMWare(r) Araç CD'sini bağlayınız." - IDD_INSTALLING_VMWARE_TOOLSTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" - IDD_INSTALLING_VMWARE_TOOLSSUBTITLE "VMware(r) SVGA sürücüsünü bulunuz ve çoğaltınız." - IDD_CONFIGTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" - IDD_CONFIGSUBTITLE "Çözünürlüklerden birini seçiniz." - IDD_INSTALLATION_FAILEDTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" + IDD_INSERT_VMWARE_TOOLSTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" + IDD_INSERT_VMWARE_TOOLSSUBTITLE "Lütfen VMWare(r) Araç CD-ROM'unu takınız." + IDD_INSTALLING_VMWARE_TOOLSTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" + IDD_INSTALLING_VMWARE_TOOLSSUBTITLE "VMware(r) SVGA sürücüsünü arayınız ve çoğaltınız." + IDD_CONFIGTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" + IDD_CONFIGSUBTITLE "Gözde görüntülük çözünürlüğünüzü seçiniz." + IDD_INSTALLATION_FAILEDTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" IDD_INSTALLATION_FAILEDSUBTITLE "VMware(r) SVGA sürücüsünün kurulumu başarısız oldu." - IDD_CHOOSEACTIONTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" + IDD_CHOOSEACTIONTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" IDD_CHOOSEACTIONSUBTITLE "Ne yapmak istediğinizi seçiniz." - IDD_SELECTDRIVERTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" + IDD_SELECTDRIVERTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" IDD_SELECTDRIVERSUBTITLE "Bir sürücü seçiniz." - IDD_DOUNINSTALLTITLE "VMware(r) SVGA Sürücüsünün Kurulumu" + IDD_DOUNINSTALLTITLE "VMware(r) SVGA Sürücüsünün Kurulum Büyücüsü" IDD_DOUNINSTALLSUBTITLE "Sürücüyü kaldırınız." END diff --git a/base/setup/vmwinst/vmwinst.rc b/base/setup/vmwinst/vmwinst.rc index 6ff883b4f9a..835aa28e736 100644 --- a/base/setup/vmwinst/vmwinst.rc +++ b/base/setup/vmwinst/vmwinst.rc @@ -77,12 +77,12 @@ IDB_HEADER BITMAP "resources/header.bmp" #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif -#ifdef LANGUAGE_SV_SE - #include "lang/sv-SE.rc" -#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" #endif +#ifdef LANGUAGE_SV_SE + #include "lang/sv-SE.rc" +#endif #ifdef LANGUAGE_TR_TR #include "lang/tr-TR.rc" #endif diff --git a/base/setup/welcome/lang/tr-TR.rc b/base/setup/welcome/lang/tr-TR.rc index d91b20872ea..78802c65f12 100644 --- a/base/setup/welcome/lang/tr-TR.rc +++ b/base/setup/welcome/lang/tr-TR.rc @@ -7,10 +7,10 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT /* Default settings */ STRINGTABLE BEGIN - IDS_APPTITLE "ReactOS - Hoşgeldiniz Uygulaması" - IDS_DEFAULTTOPICTITLE "ReactOS - Hoşgeldiniz Uygulaması" - IDS_DEFAULTTOPICDESC "React İşletim Dizgesi'ne hoşgeldiniz.\n\nFârenizi, soldaki herhangi bir seçeneğe götürebilirsiniz." -// IDS_CHECKTEXT "Bir sonraki sefere bu pencereyi göster." + IDS_APPTITLE "ReactOS - Hoşgeldiniz" + IDS_DEFAULTTOPICTITLE "ReactOS" + IDS_DEFAULTTOPICDESC "React İşletim Dizgesi'ne hoşgeldiniz.\n\nSolda bir konuya tıklayınız." +// IDS_CHECKTEXT "Bu iletiyi yine göster." // IDS_CLOSETEXT "Çıkış" END @@ -18,7 +18,7 @@ END STRINGTABLE BEGIN IDS_TOPICBUTTON0 "ReactOS'u Kur" - IDS_TOPICBUTTON1 "CD'nin İçini Araştır" + IDS_TOPICBUTTON1 "Bu CD'yi Araştır" IDS_TOPICBUTTON2 "Çıkış" // IDS_TOPICBUTTON3 "Empty Topic 3" // IDS_TOPICBUTTON4 "Empty Topic 4" @@ -33,7 +33,7 @@ END STRINGTABLE BEGIN IDS_TOPICTITLE0 "ReactOS'u Kur" - IDS_TOPICTITLE1 "CD'nin İçini Araştır" + IDS_TOPICTITLE1 "Bu CD'yi Araştır" IDS_TOPICTITLE2 "Çıkış" // IDS_TOPICTITLE3 "Empty Topic Title 3" // IDS_TOPICTITLE4 "Empty Topic Title 4" @@ -47,9 +47,9 @@ END /* Topic descriptions */ STRINGTABLE BEGIN - IDS_TOPICDESC0 "Bu seçenek ile bilgisayarınıza ReactOS yükleyebilir ya da bilgisayarınızda var olan bir ReactOS yüklemesini yükseltebilirsiniz." - IDS_TOPICDESC1 "CD'deki kütükleri gösterir." - IDS_TOPICDESC2 "Bu uygulamadan çıkar." + IDS_TOPICDESC0 "Bilgisayarınıza yeni bir ReactOS yükleyiniz ya da var olan bir yüklemeyi yükseltiniz." + IDS_TOPICDESC1 "CD'yi araştır." + IDS_TOPICDESC2 "Bu uygulamadan çıkmak için tıklayınız." // IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here." // IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here." // IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here." diff --git a/base/setup/welcome/welcome.rc b/base/setup/welcome/welcome.rc index 655fcf2b344..2391afe02b8 100644 --- a/base/setup/welcome/welcome.rc +++ b/base/setup/welcome/welcome.rc @@ -116,6 +116,9 @@ END #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif +#ifdef LANGUAGE_SQ_AL + #include "lang/sq-AL.rc" +#endif #ifdef LANGUAGE_SV_SE #include "lang/sv-SE.rc" #endif @@ -125,9 +128,6 @@ END #ifdef LANGUAGE_TR_TR #include "lang/tr-TR.rc" #endif -#ifdef LANGUAGE_SQ_AL - #include "lang/sq-AL.rc" -#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/shell/cmd/copy.c b/base/shell/cmd/copy.c index a5f896d17dd..c5c127f573b 100644 --- a/base/shell/cmd/copy.c +++ b/base/shell/cmd/copy.c @@ -200,7 +200,7 @@ copy(TCHAR source[MAX_PATH], } /* A page-aligned buffer usually give more speed */ - buffer = (LPBYTE)VirtualAlloc(NULL, BUFF_SIZE, MEM_COMMIT, PAGE_READWRITE); + buffer = VirtualAlloc(NULL, BUFF_SIZE, MEM_COMMIT, PAGE_READWRITE); if (buffer == NULL) { CloseHandle (hFileDest); diff --git a/base/shell/cmd/replace.c b/base/shell/cmd/replace.c index 4b139c82e5a..864e3fb6e24 100644 --- a/base/shell/cmd/replace.c +++ b/base/shell/cmd/replace.c @@ -160,7 +160,7 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d } /* Get buffer for the copy process */ - buffer = (LPBYTE)VirtualAlloc(NULL, BUFF_SIZE, MEM_COMMIT, PAGE_READWRITE); + buffer = VirtualAlloc(NULL, BUFF_SIZE, MEM_COMMIT, PAGE_READWRITE); if (buffer == NULL) { CloseHandle (hFileDest); @@ -188,7 +188,7 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d if (dwWritten != dwRead || CheckCtrlBreak(BREAK_INPUT)) { ConOutResPuts(STRING_COPY_ERROR3); - cmd_free (buffer); + VirtualFree (buffer, 0, MEM_RELEASE); CloseHandle (hFileDest); CloseHandle (hFileSrc); nErrorLevel = 1; diff --git a/base/shell/explorer-new/lang/tr-TR.rc b/base/shell/explorer-new/lang/tr-TR.rc index 5258caec0b5..95ea9523ca6 100644 --- a/base/shell/explorer-new/lang/tr-TR.rc +++ b/base/shell/explorer-new/lang/tr-TR.rc @@ -11,8 +11,8 @@ BEGIN MENUITEM "&Bildirimleri Husûsileştir...", ID_SHELL_CMD_CUST_NOTIF MENUITEM SEPARATOR MENUITEM "&Pencereleri Basamakla", ID_SHELL_CMD_CASCADE_WND - MENUITEM "P&encereleri Üst Üste Sırala", ID_SHELL_CMD_TILE_WND_H - MENUITEM "Pe&ncereleri Yan Yana Sırala", ID_SHELL_CMD_TILE_WND_V + MENUITEM "P&encereleri Yatay Olarak Döşe", ID_SHELL_CMD_TILE_WND_H + MENUITEM "Pe&ncereleri Dikey Olarak Döşe", ID_SHELL_CMD_TILE_WND_V MENUITEM "&Masaüstünü Göster", ID_SHELL_CMD_SHOW_DESKTOP MENUITEM "&Geri Al", ID_SHELL_CMD_UNDO_ACTION MENUITEM SEPARATOR @@ -28,11 +28,11 @@ BEGIN POPUP "" BEGIN MENUITEM "", -1, MFT_SEPARATOR - POPUP "&Yazılımlar", IDM_PROGRAMS + POPUP "&İzlenceler", IDM_PROGRAMS BEGIN MENUITEM "(Boş)", -1, MFT_STRING, MFS_GRAYED END - POPUP "Y&er İmleri", IDM_FAVORITES + POPUP "&Yer İmleri", IDM_FAVORITES BEGIN MENUITEM "(Boş)", -1, MFT_STRING, MFS_GRAYED END @@ -56,11 +56,11 @@ BEGIN MENUITEM "Yar&dım ve Destek", IDM_HELPANDSUPPORT, MFT_STRING, MFS_ENABLED MENUITEM "&Çalıştır...", IDM_RUN, MFT_STRING, MFS_ENABLED MENUITEM "", 450, MFT_SEPARATOR, MFS_ENABLED - MENUITEM "E&şle", IDM_SYNCHRONIZE, MFT_STRING, MFS_ENABLED - MENUITEM "&Oturumu Kapat %s...", IDM_LOGOFF, MFT_STRING, MFS_ENABLED + MENUITEM "&Eşle", IDM_SYNCHRONIZE, MFT_STRING, MFS_ENABLED + MENUITEM "&Oturumu Kapat: %s...", IDM_LOGOFF, MFT_STRING, MFS_ENABLED MENUITEM "Ba&ğlantıyı Kes...", IDM_DISCONNECT, MFT_STRING, MFS_ENABLED MENUITEM "B&ilgisayarı Ayır", IDM_UNDOCKCOMPUTER, MFT_STRING, MFS_ENABLED - MENUITEM "Bi&lgisayarı Kapat...", IDM_SHUTDOWN, MFT_STRING, MFS_ENABLED + MENUITEM "&Kapat...", IDM_SHUTDOWN, MFT_STRING, MFS_ENABLED END END @@ -69,7 +69,7 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Görev Çubuğu" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - GROUPBOX "Görev Çubuğunun Görünümü", IDC_STATIC, 6, 6, 240, 104 + GROUPBOX "Görev Çubuğu Görünümü", IDC_STATIC, 6, 6, 240, 104 CONTROL "", IDC_TASKBARPROP_TASKBARBITMAP, "Static", SS_BITMAP | SS_SUNKEN, 13, 18, 224, 21 AUTOCHECKBOX "&Görev Çubuğunu Kilitle", IDC_TASKBARPROP_LOCK, 13, 45, 200, 10 AUTOCHECKBOX "G&örev Çubuğunu Kendiliğinden Gizle", IDC_TASKBARPROP_HIDE, 13, 58, 200, 10 @@ -83,15 +83,15 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Başlat Seçkesi" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - AUTORADIOBUTTON "&Gelişmiş Başlat Seçkesi", IDC_TASKBARPROP_STARTMENU, 7, 7, 105, 10 - LTEXT "Gelişmiş Başlat Seçkesi; dizinlere, sık kullanılan yazılımlara ve aramaya kolayca ulaşmanıza olanak sağlar.", IDC_STATIC, 20, 17, 150, 24, WS_DISABLED + AUTORADIOBUTTON "&Başlat Seçkesi", IDC_TASKBARPROP_STARTMENU, 7, 7, 105, 10 + LTEXT "Bu seçke türü; size dizinlerinize, sık kullanılan izlencelere ve aramaya kolay erişim verir.", IDC_STATIC, 20, 17, 150, 24, WS_DISABLED PUSHBUTTON "&Husûsileştir...", IDC_TASKBARPROP_STARTMENUCUST, 192, 4, 53, 14, WS_DISABLED - AUTORADIOBUTTON "&Eski Başlat Seçkesi", IDC_TASKBARPROP_STARTMENUCLASSIC, 7, 47, 105, 10, WS_DISABLED - LTEXT "Eski Başlat Seçkesi, eski görünüm ve eski işlevliği sağlar.", -1, 20, 57, 150, 24, WS_DISABLED + AUTORADIOBUTTON "&Geleneklik Başlat Seçkesi", IDC_TASKBARPROP_STARTMENUCLASSIC, 7, 47, 105, 10, WS_DISABLED + LTEXT "Bu seçke türü, size geleneklik görünümü ve geleneklik işlevliliği sağlar.", -1, 20, 57, 150, 24, WS_DISABLED PUSHBUTTON "H&usûsileştir...", IDC_TASKBARPROP_STARTMENUCLASSICCUST, 192, 44, 53, 14, WS_DISABLED GROUPBOX "Gizlilik", IDC_STATIC, 7, 100, 238, 42 - AUTOCHECKBOX "&Son Kullanılan Kütüklerin Dizelgesini Sakla ve Görüntüle", IDC_TASKBARPROP_RECENTFILES, 14, 114, 224, 10, WS_DISABLED - AUTOCHECKBOX "S&on Kullanılan Yazılımların Dizelgesini Sakla ve Görüntüle", IDC_TASKBARPROP_RECENTFOLDERS, 14, 128, 224, 10, WS_DISABLED + AUTOCHECKBOX "&Son Zamanlarda Açılan Kütüklerin Bir Dizelgesini Sakla ve Görüntüle", IDC_TASKBARPROP_RECENTFILES, 14, 114, 224, 10, WS_DISABLED + AUTOCHECKBOX "S&on Zamanlarda Açılan Yazılımların Bir Dizelgesini Sakla ve Görüntüle", IDC_TASKBARPROP_RECENTFOLDERS, 14, 128, 224, 10, WS_DISABLED END IDD_TASKBARPROP_NOTIFICATION DIALOGEX 0, 0, 252, 218 @@ -101,13 +101,13 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CONTROL "", IDC_TASKBARPROP_NOTIFICATIONBITMAP, "Static", SS_BITMAP | SS_SUNKEN,7, 6, 238, 21, WS_DISABLED GROUPBOX "Simgeler", IDC_STATIC, 6, 33, 240, 58, WS_DISABLED - LTEXT "Yakın zamanda kullanmadığınız simgeleri gizleyerek bildirim alanının şişmesini önleyebilirsiniz.", IDC_STATIC, 13, 48, 223, 16, WS_DISABLED + LTEXT "Son zamanlarda tıklamadığınız simgeleri gizleyerek bildirim alanını düzenli tutabilirsiniz.", IDC_STATIC, 13, 48, 223, 16, WS_DISABLED AUTOCHECKBOX "E&dilgin Simgeleri Gizle", IDC_TASKBARPROP_HIDEICONS, 13, 70, 125, 10, WS_DISABLED PUSHBUTTON "&Husûsileştir...", IDC_TASKBARPROP_ICONCUST, 188, 70, 50, 14, WS_DISABLED GROUPBOX "Dizge Simgeleri", IDC_STATIC, 6, 97, 240, 84, WS_DISABLED - LTEXT "Sürekli görüntülenecek dizge simgelerini seçiniz:", IDC_STATIC, 13, 112, 223, 16, WS_DISABLED + LTEXT "Sürekli göstermek için dizge simgelerini seçiniz:", IDC_STATIC, 13, 112, 223, 16, WS_DISABLED AUTOCHECKBOX "&Saat", IDC_TASKBARPROP_CLOCK, 13, 126, 200, 10, WS_DISABLED - AUTOCHECKBOX "S&es Ayârı", IDC_TASKBARPROP_VOLUME, 13, 139, 200, 10, WS_DISABLED + AUTOCHECKBOX "S&es Düzeyi", IDC_TASKBARPROP_VOLUME, 13, 139, 200, 10, WS_DISABLED AUTOCHECKBOX "&Ağ", IDC_TASKBARPROP_NETWORK, 13, 152, 200, 10, WS_DISABLED AUTOCHECKBOX "&Güç", IDC_TASKBARPROP_POWER, 13, 164, 200, 10, WS_DISABLED END @@ -117,7 +117,7 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Araç Çubukları" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - LTEXT "Görev çubuğuna hangi araç çubuklarının ekleneceğini seçebilirsiniz:", IDC_STATIC, 7, 7, 223, 12, WS_DISABLED + LTEXT "Görev çubuğuna eklemek için araç çubuklarını seçiniz:", IDC_STATIC, 7, 7, 223, 12, WS_DISABLED CONTROL "", IDC_TASKBARPROP_DESKBANDLIST, "SysTreeView32", WS_BORDER | WS_TABSTOP | WS_DISABLED, 7, 20, 236, 160, WS_EX_CLIENTEDGE END @@ -137,7 +137,7 @@ BEGIN IDS_PROPERTIES "&Husûsiyetler" IDS_OPEN_ALL_USERS "&Tüm Kullanıcılar'da Aç" IDS_EXPLORE_ALL_USERS "T&üm Kullanıcılar'da Araştır" - IDS_STARTUP_ERROR "Dizge, gerekli değerlerin, bozuk olduğundan ya da olmadığından Gezgin'i başlatamadı." + IDS_STARTUP_ERROR "Dizge, değer defterinin, bozuk ya da olmadığından gezgini başlatamadı." END STRINGTABLE diff --git a/base/shell/explorer/explorer-cz.rc b/base/shell/explorer/explorer-cz.rc index e06138465d6..c2027c3d8ae 100644 --- a/base/shell/explorer/explorer-cz.rc +++ b/base/shell/explorer/explorer-cz.rc @@ -8,38 +8,38 @@ BEGIN BEGIN MENUITEM "&Spustit...", ID_EXECUTE MENUITEM SEPARATOR - MENUITEM "&Ukonit", ID_FILE_EXIT + MENUITEM "&Ukončit", ID_FILE_EXIT END - POPUP "&Zobrazen" + POPUP "&Zobrazení" BEGIN - MENUITEM "Panel &nstroj", ID_VIEW_TOOL_BAR + MENUITEM "Panel &nástrojů", ID_VIEW_TOOL_BAR MENUITEM "Panel &extra", ID_VIEW_EXTRA_BAR - MENUITEM "L&ita disk", ID_VIEW_DRIVE_BAR - MENUITEM "&Bon panel", ID_VIEW_SIDE_BAR - MENUITEM "&Stavov dek", ID_VIEW_STATUSBAR + MENUITEM "L&išta disků", ID_VIEW_DRIVE_BAR + MENUITEM "&Boční panel", ID_VIEW_SIDE_BAR + MENUITEM "&Stavový řádek", ID_VIEW_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Aktualizovat\tF5", ID_REFRESH - MENUITEM "&Cel obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&Celá obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN MENUITEM "SDI", ID_VIEW_SDI END POPUP "&Okno" BEGIN - MENUITEM "&Nov Okno", ID_WINDOW_NEW - MENUITEM "&Kaskdovat\tShift+F5", ID_WINDOW_CASCADE - MENUITEM "&Uspodat vodorovn", ID_WINDOW_TILE_HORZ - MENUITEM "U&spodat svisle\tShift+F4", ID_WINDOW_TILE_VERT - MENUITEM "Us&podat automaticky", ID_WINDOW_AUTOSORT - MENUITEM "Usp&odat symboly", ID_WINDOW_ARRANGE + MENUITEM "&Nové Okno", ID_WINDOW_NEW + MENUITEM "&Kaskádovat\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Uspořádat vodorovně", ID_WINDOW_TILE_HORZ + MENUITEM "U&spořádat svisle\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Us&pořádat automaticky", ID_WINDOW_AUTOSORT + MENUITEM "Usp&ořádat symboly", ID_WINDOW_ARRANGE END - POPUP "&Nstroje" + POPUP "&Nástroje" BEGIN - MENUITEM "&Monosti", ID_TOOLS_OPTIONS + MENUITEM "&Možnosti", ID_TOOLS_OPTIONS END - POPUP "N&povda" + POPUP "Ná&pověda" BEGIN - MENUITEM "&Przkumnk &FAQ", ID_EXPLORER_FAQ - MENUITEM "O P&rzkumnku", ID_ABOUT_EXPLORER - MENUITEM "&O operanm systmu", ID_ABOUT_WINDOWS + MENUITEM "&Průzkumník &FAQ", ID_EXPLORER_FAQ + MENUITEM "O P&růzkumníku", ID_ABOUT_EXPLORER + MENUITEM "&O operačním systému", ID_ABOUT_WINDOWS END END @@ -47,10 +47,10 @@ IDM_DESKTOPBAR MENU BEGIN POPUP "" BEGIN - MENUITEM "&Nastaven", ID_DESKTOPBAR_SETTINGS - MENUITEM "&Sprvce loh", ID_TASKMGR + MENUITEM "&Nastavení", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Správce úloh", ID_TASKMGR MENUITEM SEPARATOR - MENUITEM "&O Przkumnku", ID_ABOUT_EXPLORER + MENUITEM "&O Průzkumníku", ID_ABOUT_EXPLORER END END @@ -58,7 +58,7 @@ IDM_VOLUME MENU BEGIN POPUP "" BEGIN - MENUITEM "&Otevt ovldn hlasitosti", ID_TRAY_VOLUME + MENUITEM "&Otevřít ovládání hlasitosti", ID_TRAY_VOLUME MENUITEM "&Upravit vlastnosti zvuku", ID_VOLUME_PROPERTIES END END @@ -67,12 +67,12 @@ IDM_NOTIFYAREA MENU BEGIN POPUP "" BEGIN - MENUITEM "&Zobrazit skryt ikony", ID_SHOW_HIDDEN_ICONS - MENUITEM "Z&obrazit ikonu tlatka", ID_SHOW_ICON_BUTTON - MENUITEM "&Nastavit upozornn", ID_CONFIG_NOTIFYAREA - MENUITEM "N&astavit datum a as", ID_CONFIG_TIME + MENUITEM "&Zobrazit skryté ikony", ID_SHOW_HIDDEN_ICONS + MENUITEM "Z&obrazit ikonu tlačítka", ID_SHOW_ICON_BUTTON + MENUITEM "&Nastavit upozornění", ID_CONFIG_NOTIFYAREA + MENUITEM "N&astavit datum a čas", ID_CONFIG_TIME MENUITEM SEPARATOR - MENUITEM "&O Przkumnku", ID_ABOUT_EXPLORER + MENUITEM "&O Průzkumníku", ID_ABOUT_EXPLORER END END @@ -82,27 +82,27 @@ BEGIN BEGIN MENUITEM "&Spustit...", ID_EXECUTE MENUITEM SEPARATOR - MENUITEM "&Ukonit", ID_FILE_EXIT + MENUITEM "&Ukončit", ID_FILE_EXIT END - POPUP "&Zobrazen" + POPUP "&Zobrazení" BEGIN - MENUITEM "Panel &nstroj", ID_VIEW_TOOL_BAR - MENUITEM "&Bon panel", ID_VIEW_SIDE_BAR, GRAYED - MENUITEM "&Stavov dek", ID_VIEW_STATUSBAR + MENUITEM "Panel &nástrojů", ID_VIEW_TOOL_BAR + MENUITEM "&Boční panel", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Stavový řádek", ID_VIEW_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Aktualizovat\tF5", ID_REFRESH - MENUITEM "Cel obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "Celá obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN MENUITEM "&MDI", ID_VIEW_MDI END - POPUP "&Nstroje" + POPUP "&Nástroje" BEGIN - MENUITEM "&Nastaven", ID_TOOLS_OPTIONS + MENUITEM "&Nastavení", ID_TOOLS_OPTIONS END - POPUP "N&povda" + POPUP "Ná&pověda" BEGIN - MENUITEM "Przkumnk &FAQ", ID_EXPLORER_FAQ - MENUITEM "O &Przkumnku", ID_ABOUT_EXPLORER - MENUITEM "O &Operanm systmu", ID_ABOUT_WINDOWS + MENUITEM "Průzkumník &FAQ", ID_EXPLORER_FAQ + MENUITEM "O &Průzkumníku", ID_ABOUT_EXPLORER + MENUITEM "O &Operačním systému", ID_ABOUT_WINDOWS END END @@ -114,18 +114,18 @@ CAPTION "Spustit" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 - CONTROL "&Pkaz:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + CONTROL "&Příkaz:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL CONTROL "Jako &symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 DEFPUSHBUTTON "&Spustit", 1, 158, 6, 47, 14 PUSHBUTTON "&Storno", 2, 158, 23, 47, 14 - PUSHBUTTON "N&povda", 254, 158, 43, 47, 14 + PUSHBUTTON "Ná&pověda", 254, 158, 43, 47, 14 END IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME EXSTYLE WS_EX_APPWINDOW -CAPTION "Hledat program v nabdce Start" +CAPTION "Hledat program v nabídce Start" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN LTEXT "&Filtr:", IDC_STATIC, 7, 9, 18, 8 @@ -140,7 +140,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Vlastnosti plochy" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Prosm zvolte si zpsob zarovnn ikon:", IDC_STATIC, 7, 7, 166, 8 + LTEXT "Prosím zvolte si způsob zarovnání ikon:", IDC_STATIC, 7, 7, 166, 8 CONTROL "vlevo/n. d.", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 CONTROL "vlevo/n. p.", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 CONTROL "vpravo/n. l.", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 @@ -158,17 +158,17 @@ END IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Vlastnosti panelu loh" +CAPTION "Vlastnosti panelu úloh" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "&Zobrazit as", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 - CONTROL "&Skrt neaktivn ikony", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 - PUSHBUTTON "&Upozornn...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 + CONTROL "&Zobrazit čas", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Skrýt neaktivní ikony", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Upozornění...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 END IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Vlastnosti nabdky Start" +CAPTION "Vlastnosti nabídky Start" FONT 8, "MS Shell Dlg" BEGIN END @@ -176,24 +176,24 @@ END IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME EXSTYLE WS_EX_APPWINDOW -CAPTION "Nastaven ikon v oblasti upozorovn" +CAPTION "Nastavení ikon v oblasti upozorňování" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 LTEXT "&Text popisku:", IDC_LABEL1, 7, 44, 40, 8 EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL - LTEXT "&Nzev okna:", IDC_LABEL2, 7, 63, 44, 8 + LTEXT "&Název okna:", IDC_LABEL2, 7, 63, 44, 8 EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL LTEXT "&Cesta:", IDC_LABEL3, 7, 81, 80, 8 EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL - GROUPBOX "&Zobrazen", IDC_LABEL4, 7, 96, 157, 28 + GROUPBOX "&Zobrazení", IDC_LABEL4, 7, 96, 157, 28 CONTROL "z&obrazit", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 45, 10 - CONTROL "&skrt", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "&skrýt", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 CONTROL "&automaticky", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 104, 108, 55, 10 ICON "", IDC_PICTURE, 173, 101, 21, 20 - LTEXT "&Posledn zmna:", IDC_LABEL6, 7, 132, 60, 8 + LTEXT "&Poslední změna:", IDC_LABEL6, 7, 132, 60, 8 EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY - CONTROL "zob&razit skryt", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 158, 57, 10 + CONTROL "zob&razit skryté", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 158, 57, 10 DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP PUSHBUTTON "&Storno", IDCANCEL, 151, 153, 50, 14 END @@ -201,26 +201,26 @@ END IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW -CAPTION "Volba MDI / SDI mdu" +CAPTION "Volba MDI / SDI módu" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - LTEXT "Prosm zvolte si Vmi upednostovan zpsob zobrazen oken Przkumnka:", IDC_STATIC, 7, 7, 160, 8 - CONTROL "&MDI (Mnoho dokumentov interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 125, 10 - CONTROL "&SDI (Jedno dokumentov interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 125, 10 + LTEXT "Prosím zvolte si Vámi upřednostňovaný způsob zobrazení oken Průzkumníka:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Mnoho dokumentový interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 125, 10 + CONTROL "&SDI (Jedno dokumentový interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 125, 10 CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 - CONTROL "&Otevrat sloky v novm okn", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 - LTEXT "Toto nastaven bude pouito jako vchoz pro vechna okna Przkumnka.", IDC_STATIC, 7, 111, 174, 22 + CONTROL "&Otevírat složky v novém okně", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Toto nastavení bude použito jako výchozí pro všechna okna Průzkumníka.", IDC_STATIC, 7, 111, 174, 22 DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP PUSHBUTTON "&Storno", IDCANCEL, 106, 136, 50, 14 END IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "O ReactOS Przkumnku" +CAPTION "O ReactOS Průzkumníku" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS Przkumnk", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "ReactOS Průzkumník", IDC_ROS_EXPLORER, 91, 13, 104, 11 LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 @@ -232,61 +232,61 @@ END STRINGTABLE BEGIN - IDS_TITLE "ReactOS Przkumnk" + IDS_TITLE "ReactOS Průzkumník" IDS_START "Start" - IDS_LOGOFF "Odhlsit se..." + IDS_LOGOFF "Odhlásit se..." IDS_SHUTDOWN "Vypnout..." IDS_RESTART "Restartovat..." IDS_LAUNCH "Spustit..." - IDS_START_HELP "Npovda" + IDS_START_HELP "Nápověda" IDS_SEARCH_FILES "Hledat" IDS_DOCUMENTS "Dokumenty" - IDS_FAVORITES "Oblben" + IDS_FAVORITES "Oblíbené" IDS_PROGRAMS "Programy" - IDS_SETTINGS "Nastaven" + IDS_SETTINGS "Nastavení" IDS_EXPLORE "Prozkoumat" - IDS_EMPTY "(Przdn)" - IDS_RECENT "Nedvn dokumenty" - IDS_ADMIN "Systmov nstroje" + IDS_EMPTY "(Prázdné)" + IDS_RECENT "Nedávné dokumenty" + IDS_ADMIN "Systémové nástroje" END STRINGTABLE BEGIN - IDS_STARTMENU "Nabdka Start" - IDS_MINIMIZE_ALL "minimalizovat vechna okna" + IDS_STARTMENU "Nabídka Start" + IDS_MINIMIZE_ALL "minimalizovat všechna okna" IDS_DESKTOP_NUM "Plocha %d" IDS_VOLUME "Hlasitost" - IDS_ITEMS_CUR "souasn poloky" - IDS_ITEMS_CONFIGURED "nastaven" - IDS_ITEMS_VISIBLE "viditeln" - IDS_ITEMS_HIDDEN "skryt" + IDS_ITEMS_CUR "současné položky" + IDS_ITEMS_CONFIGURED "nastavení" + IDS_ITEMS_VISIBLE "viditelné" + IDS_ITEMS_HIDDEN "skryté" IDS_NOTIFY_SHOW "zobrazit" - IDS_NOTIFY_HIDE "skrt" - IDS_NOTIFY_AUTOHIDE "skrvat automaticky" - IDS_SHOW_HIDDEN_ICONS "Zobrazit skryt ikony" - IDS_HIDE_ICONS "Skrt ikony" - IDS_TERMINATE "Ukonit ReactOS Przkumnka" + IDS_NOTIFY_HIDE "skrýt" + IDS_NOTIFY_AUTOHIDE "skrývat automaticky" + IDS_SHOW_HIDDEN_ICONS "Zobrazit skryté ikony" + IDS_HIDE_ICONS "Skrýt ikony" + IDS_TERMINATE "Ukončit ReactOS Průzkumníka" END STRINGTABLE BEGIN - IDS_NETWORK "S" - IDS_CONNECTIONS "Sov spojen" + IDS_NETWORK "Síť" + IDS_CONNECTIONS "Síťové spojení" IDS_DRIVES "Disky" - IDS_SEARCH_COMPUTER "Hledat pota" - IDS_SETTINGS_MENU "Nastaven" - IDS_CONTROL_PANEL "Ovldac panel" - IDS_PRINTERS "Tiskrny" - IDS_BROWSE "Prohlet soubory" + IDS_SEARCH_COMPUTER "Hledat počítač" + IDS_SETTINGS_MENU "Nastavení" + IDS_CONTROL_PANEL "Ovládací panel" + IDS_PRINTERS "Tiskárny" + IDS_BROWSE "Prohlížet soubory" IDS_SEARCH_PRG "Hledat programy" - IDS_ALL_USERS "Vichni uivatel\\" + IDS_ALL_USERS "Všichni uživatelé\\" IDS_SEARCH "Hledat" - IDS_ABOUT_EXPLORER "&O Przkumnku" - IDS_LAUNCH_MANY_PROGRAMS "Bylo vybrno vce program.\nPejete si je spustit vechny?" - IDS_DESKTOPBAR_SETTINGS "Nastaven plochy" + IDS_ABOUT_EXPLORER "&O Průzkumníku" + IDS_LAUNCH_MANY_PROGRAMS "Bylo vybráno více programů.\nPřejete si je spustit všechny?" + IDS_DESKTOPBAR_SETTINGS "Nastavení plochy" IDS_DESKTOP "Plocha" - IDS_TASKBAR "Panel loh" - IDS_NAMECOLUMN "Nzev" + IDS_TASKBAR "Panel úloh" + IDS_NAMECOLUMN "Název" IDS_PATHCOLUMN "Cesta" IDS_MENUCOLUMN "Menu path" END diff --git a/base/shell/explorer/explorer.rc b/base/shell/explorer/explorer.rc index 53d232b2a31..13882b18369 100644 --- a/base/shell/explorer/explorer.rc +++ b/base/shell/explorer/explorer.rc @@ -27,19 +27,19 @@ IDB_SDI BITMAP "res/sdi.bmp" /* Accelerators */ -IDA_EXPLORER ACCELERATORS +IDA_EXPLORER ACCELERATORS BEGIN "S", ID_VIEW_FULLSCREEN, VIRTKEY, SHIFT, CONTROL, NOINVERT VK_F5, ID_REFRESH, VIRTKEY, NOINVERT "X", ID_FILE_EXIT, VIRTKEY, ALT, NOINVERT END -IDA_SEARCH_PROGRAM ACCELERATORS +IDA_SEARCH_PROGRAM ACCELERATORS BEGIN VK_F5, ID_REFRESH, VIRTKEY, NOINVERT END -IDA_TRAYNOTIFY ACCELERATORS +IDA_TRAYNOTIFY ACCELERATORS BEGIN VK_F5, ID_REFRESH, VIRTKEY, NOINVERT END @@ -112,9 +112,6 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "explorer.exe.manifest" #ifdef LANGUAGE_BG_BG #include "explorer-bg.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "explorer-cz.rc" -#endif #ifdef LANGUAGE_DE_DE #include "explorer-de.rc" #endif @@ -164,6 +161,9 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "explorer.exe.manifest" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "explorer-cz.rc" +#endif #ifdef LANGUAGE_HE_IL #include "explorer-he.rc" #endif diff --git a/base/system/rundll32/lang/tr-TR.rc b/base/system/rundll32/lang/tr-TR.rc index 65b747ef844..e33c668bc4e 100644 --- a/base/system/rundll32/lang/tr-TR.rc +++ b/base/system/rundll32/lang/tr-TR.rc @@ -3,6 +3,6 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT STRINGTABLE BEGIN - IDS_DllNotLoaded """%s"" kitaplığı yüklenemedi." - IDS_MissingEntry "%s giriş noktası %s içinde bulunamadı." + IDS_DllNotLoaded "LoadLibrary, ""%s"" kitaplığını yüklemede başarısız oldu." + IDS_MissingEntry "%s içinde %s giriş noktası eksik." END diff --git a/base/system/rundll32/rundll32.rc b/base/system/rundll32/rundll32.rc index 3a4b4de56d4..19f7703d58a 100644 --- a/base/system/rundll32/rundll32.rc +++ b/base/system/rundll32/rundll32.rc @@ -67,15 +67,15 @@ #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif +#ifdef LANGUAGE_SQ_AL + #include "lang/sq-AL.rc" +#endif #ifdef LANGUAGE_TH_TH #include "lang/th-TH.rc" #endif #ifdef LANGUAGE_TR_TR #include "lang/tr-TR.rc" #endif -#ifdef LANGUAGE_SQ_AL - #include "lang/sq-AL.rc" -#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/system/runonce/lang/tr-TR.rc b/base/system/runonce/lang/tr-TR.rc index 1e629c8c447..76de1eab405 100644 --- a/base/system/runonce/lang/tr-TR.rc +++ b/base/system/runonce/lang/tr-TR.rc @@ -7,7 +7,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS Kur" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS, şimdi aşağıdaki ayarlamaları yapıyor:", -1, 38, 8, 196, 18 + LTEXT "ReactOS şimdi aşağıdaki öğeleri kuruyor:", -1, 38, 8, 196, 18 LISTBOX IDC_COMP_LIST, 36, 32, 197, 131, LBS_OWNERDRAWVARIABLE | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP ICON IDI_ICON, -1, 5, 6, 21, 20 END diff --git a/base/system/runonce/runonce.rc b/base/system/runonce/runonce.rc index 5ed0a8f69c6..3ca6be68c51 100644 --- a/base/system/runonce/runonce.rc +++ b/base/system/runonce/runonce.rc @@ -48,12 +48,12 @@ IDI_ICON ICON "res/icon.ico" #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif -#ifdef LANGUAGE_TR_TR - #include "lang/tr-TR.rc" -#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" #endif +#ifdef LANGUAGE_TR_TR + #include "lang/tr-TR.rc" +#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/system/userinit/lang/tr-TR.rc b/base/system/userinit/lang/tr-TR.rc index c7d2d068ff4..870c00f1342 100644 --- a/base/system/userinit/lang/tr-TR.rc +++ b/base/system/userinit/lang/tr-TR.rc @@ -4,5 +4,5 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT STRINGTABLE BEGIN - STRING_USERINIT_FAIL "Userinit, kabuğu başlatamadı!\n" + STRING_USERINIT_FAIL "Userinit, kabuğu başlatmada başarısız oldu!\n" END diff --git a/base/system/userinit/userinit.rc b/base/system/userinit/userinit.rc index 20f5fa53937..5b573e5c3ad 100644 --- a/base/system/userinit/userinit.rc +++ b/base/system/userinit/userinit.rc @@ -70,6 +70,9 @@ #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif +#ifdef LANGUAGE_SQ_AL + #include "lang/sq-AL.rc" +#endif #ifdef LANGUAGE_SV_SE #include "lang/sv-SE.rc" #endif @@ -79,9 +82,6 @@ #ifdef LANGUAGE_TR_TR #include "lang/tr-TR.rc" #endif -#ifdef LANGUAGE_SQ_AL - #include "lang/sq-AL.rc" -#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/system/winlogon/lang/tr-TR.rc b/base/system/winlogon/lang/tr-TR.rc index 8ea502ef894..b919dcb19c5 100644 --- a/base/system/winlogon/lang/tr-TR.rc +++ b/base/system/winlogon/lang/tr-TR.rc @@ -7,7 +7,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Bilgisayarı Kapat" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Şimdi bilgisayarınızı kapatabilirsiniz.", IDC_SHUTDOWNCOMPUTER, 31, 13, 132, 8 + LTEXT "Şimdi bilgisayarınızı kapatmak güvenlidir.", IDC_SHUTDOWNCOMPUTER, 31, 13, 132, 8 ICON IDI_WINLOGON, IDC_SHTDOWNICON, 6, 7, 18, 20 DEFPUSHBUTTON "&Yeniden Başlat", IDC_BTNSHTDOWNCOMPUTER, 62, 32, 40, 14 END @@ -17,8 +17,8 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Kullanıcı Arayüzü Yanlışlığı" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Oturum Açma Kullanıcı Arayüzü DLL'si (%s) yüklenemedi.", IDC_GINALOADFAILED, 39, 16, 156, 24 - LTEXT "DLL'nin yenilenmesi için dizge yöneticinize başvurunuz.", IDC_GINALOADFAILEDCONTACT, 39, 53, 151, 25 + LTEXT "Oturum Açma Kullanıcı Arayüzü %s DLL'si yüklemede başarısız oldu.", IDC_GINALOADFAILED, 39, 16, 156, 24 + LTEXT "DLL'yi yenisiyle değiştirmek veyâ özgün DLL'yi onarmak için dizge yöneticinize başvurunuz.", IDC_GINALOADFAILEDCONTACT, 39, 53, 151, 25 DEFPUSHBUTTON "&Yeniden Başlat", 1, 80, 91, 68, 14 END @@ -26,21 +26,21 @@ STRINGTABLE BEGIN IDS_PREPARENETWORKCONNECTIONS "Ağ Bağlantıları Anıklanıyor..." IDS_APPLYINGCOMPUTERSETTINGS "Bilgisayar Ayarları Uygulanıyor..." - IDS_RUNNINGSTARTUPSCRIPTS "Bilgisayarı Açma Betikleri Çalıştırılıyor..." - IDS_RUNNINGSHUTDOWNSCRIPTS "Bilgisayarı Kapama Betikleri Çalıştırılıyor..." - IDS_APPLYINGYOURPERSONALSETTINGS "Kullanıcı Ayarlarınız Uygulanıyor..." + IDS_RUNNINGSTARTUPSCRIPTS "Açılış Betikleri Çalıştırılıyor..." + IDS_RUNNINGSHUTDOWNSCRIPTS "Kapanış Betikleri Çalıştırılıyor..." + IDS_APPLYINGYOURPERSONALSETTINGS "Şahsî Ayarlarınız Uygulanıyor..." IDS_RUNNINGLOGOFFSCRIPTS "Oturum Kapama Betikleri Çalıştırılıyor..." IDS_RUNNINGLOGONSCRIPTS "Oturum Açma Betikleri Çalıştırılıyor..." - IDS_LOADINGYOURPERSONALSETTINGS "Kullanıcı Ayarlarınız Yükleniyor..." + IDS_LOADINGYOURPERSONALSETTINGS "Şahsî Ayarlarınız Yükleniyor..." IDS_CLOSINGNETWORKCONNECTIONS "Ağ Bağlantıları Kapatılıyor..." IDS_REACTOSISSHUTTINGDOWN "ReactOS Kapatılıyor..." - IDS_PREPARETOSTANDBY "Uyku Kipine Geçiliyor..." - IDS_PREPARETOHIBERNATE "Anıkta Beklemeye Geçiliyor..." + IDS_PREPARETOSTANDBY "Beklemeye Anıklanıyor..." + IDS_PREPARETOHIBERNATE "Anıkta Beklemeye Anıklanıyor..." IDS_SAVEYOURSETTINGS "Ayarlarınız Kaydediliyor..." IDS_REACTOSISSTARTINGUP "ReactOS Başlatılıyor..." END STRINGTABLE BEGIN - IDS_FAILEDACTIVATEUSERSHELL "Winlogon, kullanıcı kabuğunu etkinleştiremedi." + IDS_FAILEDACTIVATEUSERSHELL "Winlogon, kullanıcı kabuğunu etkinleştirmede başarısız oldu." END diff --git a/base/system/winlogon/winlogon.rc b/base/system/winlogon/winlogon.rc index 1a68945b555..d3c4747160c 100644 --- a/base/system/winlogon/winlogon.rc +++ b/base/system/winlogon/winlogon.rc @@ -74,18 +74,18 @@ IDI_WINLOGON ICON "resources/winlogon.ico" #ifdef LANGUAGE_RU_RU #include "lang/ru-RU.rc" #endif -#ifdef LANGUAGE_SV_SE - #include "lang/sv-SE.rc" -#endif #ifdef LANGUAGE_SK_SK #include "lang/sk-SK.rc" #endif -#ifdef LANGUAGE_TR_TR - #include "lang/tr-TR.rc" -#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" #endif +#ifdef LANGUAGE_SV_SE + #include "lang/sv-SE.rc" +#endif +#ifdef LANGUAGE_TR_TR + #include "lang/tr-TR.rc" +#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/dll/cpl/access/access.rc b/dll/cpl/access/access.rc index 614340b9540..3f9530afdfc 100644 --- a/dll/cpl/access/access.rc +++ b/dll/cpl/access/access.rc @@ -19,9 +19,6 @@ IDI_CPLACCESS ICON "resources/applet.ico" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif @@ -62,6 +59,9 @@ IDI_CPLACCESS ICON "resources/applet.ico" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/access/lang/cs-CZ.rc b/dll/cpl/access/lang/cs-CZ.rc index a7c5147cc66..0b29558454b 100644 --- a/dll/cpl/access/lang/cs-CZ.rc +++ b/dll/cpl/access/lang/cs-CZ.rc @@ -2,25 +2,25 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_PROPPAGEKEYBOARD DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Klvesnice" +CAPTION "Klávesnice" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Jednm prstem", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) - LTEXT "Tuto funkci pouijte, pokud chcete pouvat Shift, Ctrl nebo Alt stisknutm pouze jedn klvesy najednou.", + GROUPBOX "Jedním prstem", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) + LTEXT "Tuto funkci použijte, pokud chcete používat Shift, Ctrl nebo Alt stisknutím pouze jedné klávesy najednou.", -1, PROPSHEETPADDING(2), LABELLINE(2), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "Pouvat funkci &Jednm prstem", IDC_STICKY_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "&Nastaven", IDC_STICKY_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 - GROUPBOX "Filtrovn klves", -1, PROPSHEETPADDING(1), LABELLINE(8) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(7) + 2 - LTEXT "Pouijte funkci Filtrovn klves, pokud chcete, aby ReactOS ignoroval nhodn nebo opakovan stisknut klves.", + AUTOCHECKBOX "Používat funkci &Jedním prstem", IDC_STICKY_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "&Nastavení", IDC_STICKY_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 + GROUPBOX "Filtrování kláves", -1, PROPSHEETPADDING(1), LABELLINE(8) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(7) + 2 + LTEXT "Použijte funkci Filtrování kláves, pokud chcete, aby ReactOS ignoroval náhodná nebo opakovaná stisknutí kláves.", -1, PROPSHEETPADDING(2), LABELLINE(10) - 3, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "Pouvat funkci &Filtrovn klves", IDC_FILTER_BOX, PROPSHEETPADDING(2), LABELLINE(13) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "N&astaven", IDC_FILTER_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(13) + 2, PROPSHEETPADDING(15), 14 - GROUPBOX "Ozvuen klves", -1, PROPSHEETPADDING(1), LABELLINE(16) + 3, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) - LTEXT "Pouijte funkci Ozvuen klves, chcete-li bt upozornni na stisk klves Caps Lock, Num Lock a Scroll Lock zvukovm signlem.", + AUTOCHECKBOX "Používat funkci &Filtrování kláves", IDC_FILTER_BOX, PROPSHEETPADDING(2), LABELLINE(13) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "N&astavení", IDC_FILTER_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(13) + 2, PROPSHEETPADDING(15), 14 + GROUPBOX "Ozvučení kláves", -1, PROPSHEETPADDING(1), LABELLINE(16) + 3, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) + LTEXT "Použijte funkci Ozvučení kláves, chcete-li být upozorněni na stisk kláves Caps Lock, Num Lock a Scroll Lock zvukovým signálem.", -1, PROPSHEETPADDING(2), LABELLINE(18) - 3, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) + 6 - AUTOCHECKBOX "Pouvat funkci O&zvuen klves", IDC_TOGGLE_BOX, PROPSHEETPADDING(2), LABELLINE(20) + 4, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "Na&staven", IDC_TOGGLE_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(20) + 4, PROPSHEETPADDING(15), 14 - AUTOCHECKBOX "&V programech zobrazovat dodatenou npovdu ke klvesm.", IDC_KEYBOARD_EXTRA, + AUTOCHECKBOX "Používat funkci O&zvučení kláves", IDC_TOGGLE_BOX, PROPSHEETPADDING(2), LABELLINE(20) + 4, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "Na&stavení", IDC_TOGGLE_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(20) + 4, PROPSHEETPADDING(15), 14 + AUTOCHECKBOX "&V programech zobrazovat dodatečnou nápovědu ke klávesám.", IDC_KEYBOARD_EXTRA, PROPSHEETPADDING(1), LABELLINE(23) + 3, PROPSHEETWIDTH - PROPSHEETPADDING(2), 14 END @@ -30,28 +30,28 @@ CAPTION "Zvuk" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "Funkce Popis zvuku", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(10) + PROPSHEETPADDING(1) - LTEXT "Pouijte funkci Zobrazen zvuku, pokud chcete aby ReactOS vizuln upozoroval na kad zvuk vydan systmem.", + LTEXT "Použijte funkci Zobrazení zvuku, pokud chcete aby ReactOS vizuálně upozorňoval na každý zvuk vydaný systémem.", -1, PROPSHEETPADDING(2), LABELLINE(2), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "&Pouvat funkci Popis zvuku", IDC_SENTRY_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETPADDING(20), 14 + AUTOCHECKBOX "&Používat funkci Popis zvuku", IDC_SENTRY_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETPADDING(20), 14 LTEXT "Use the following warning:", IDC_SENTRY_TEXT, PROPSHEETPADDING(2), LABELLINE(8) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(1) COMBOBOX IDC_SENTRY_COMBO, PROPSHEETPADDING(2), LABELLINE(9), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(6), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP - GROUPBOX "Funkce Zobrazen zvuku", -1, PROPSHEETPADDING(1), LABELLINE(12) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(7) + 2 - LTEXT "Pouijte Zobrazen zvuku, aby programy zobrazovaly textov popis zrove se zvukem.", + GROUPBOX "Funkce Zobrazení zvuku", -1, PROPSHEETPADDING(1), LABELLINE(12) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(7) + 2 + LTEXT "Použijte Zobrazení zvuku, aby programy zobrazovaly textový popis zároveň se zvukem.", -1, PROPSHEETPADDING(2), LABELLINE(14) - 3, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "Pouvat funkci &Zobrazen zvuku", IDC_SSHOW_BOX, PROPSHEETPADDING(2), LABELLINE(16) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 + AUTOCHECKBOX "Používat funkci &Zobrazení zvuku", IDC_SSHOW_BOX, PROPSHEETPADDING(2), LABELLINE(16) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 END IDD_PROPPAGEDISPLAY DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Zobrazen" +CAPTION "Zobrazení" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Funkce Vysok kontrast", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) - LTEXT "Vyberte tuto monost pokud chcete, aby Reactos pouval barvy a psma uren pro snadnou itelnost.", + GROUPBOX "Funkce Vysoký kontrast", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) + LTEXT "Vyberte tuto možnost pokud chcete, aby Reactos používal barvy a písma určené pro snadnou čitelnost.", -1, PROPSHEETPADDING(2), LABELLINE(2), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "&Pout funkci Vysok kontrast", IDC_CONTRAST_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "&Nastaven", IDC_CONTRAST_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 + AUTOCHECKBOX "&Použít funkci Vysoký kontrast", IDC_CONTRAST_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "&Nastavení", IDC_CONTRAST_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 GROUPBOX "Cursor options", -1, PROPSHEETPADDING(1), LABELLINE(8) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(13) LTEXT "Use the track bars to modify the blinking speed of the cursor and its width.", -1, PROPSHEETPADDING(2), LABELLINE(9) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) @@ -70,40 +70,40 @@ END IDD_PROPPAGEMOUSE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "My" +CAPTION "Myš" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Funkce My klvesnic", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) - LTEXT "Vyberte tuto monost, pokud chcete ovldat my pomoc ipek na numerick klvesnici.", + GROUPBOX "Funkce Myš klávesnicí", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) + LTEXT "Vyberte tuto možnost, pokud chcete ovládat myš pomocí šipek na numerické klávesnici.", -1, PROPSHEETPADDING(2), LABELLINE(2), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(3) - AUTOCHECKBOX "Pout funkci &My klvesnic", IDC_MOUSE_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "&Nastaven", IDC_MOUSE_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 + AUTOCHECKBOX "Použít funkci &Myš klávesnicí", IDC_MOUSE_BOX, PROPSHEETPADDING(2), LABELLINE(5) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "&Nastavení", IDC_MOUSE_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(5) + 2, PROPSHEETPADDING(15), 14 END IDD_PROPPAGEGENERAL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Obecn" +CAPTION "Obecné" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Automatick vypnut", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - AUTOCHECKBOX "Vypnout &funkce usnadnn po neinnosti del ne:", + GROUPBOX "Automatické vypnutí", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) + AUTOCHECKBOX "Vypnout &funkce usnadnění po nečinnosti delší než:", IDC_RESET_BOX, PROPSHEETPADDING(2), LABELLINE(2) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(10), LABELLINE(5), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP - GROUPBOX "Upozornn", -1, PROPSHEETPADDING(1), LABELLINE(7) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - AUTOCHECKBOX "Pi zapnut funkce zobrazit upozornn.", IDC_NOTIFICATION_MESSAGE, + GROUPBOX "Upozornění", -1, PROPSHEETPADDING(1), LABELLINE(7) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) + AUTOCHECKBOX "Při zapnutí funkce zobrazit upozornění.", IDC_NOTIFICATION_MESSAGE, PROPSHEETPADDING(2), LABELLINE(8) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 - AUTOCHECKBOX "Upozornit na zapnut nebo vypnut funkce usnadnn zvukem.", IDC_NOTIFICATION_SOUND, + AUTOCHECKBOX "Upozornit na zapnutí nebo vypnutí funkce usnadnění zvukem.", IDC_NOTIFICATION_SOUND, PROPSHEETPADDING(2), LABELLINE(10) - 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 GROUPBOX "Funkce SerialKey", -1, PROPSHEETPADDING(1), LABELLINE(13) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - LTEXT "Funkce SerialKey Vm umon alternativn pstup k funkcm myi a klvesnice.", + LTEXT "Funkce SerialKey Vám umožní alternativní přístup k funkcím myši a klávesnice.", -1, PROPSHEETPADDING(2), LABELLINE(14) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) - AUTOCHECKBOX "Pout funkci &SerialKey", IDC_SERIAL_BOX, PROPSHEETPADDING(2), LABELLINE(16) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 - PUSHBUTTON "Na&staven", IDC_SERIAL_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(16) - 4, PROPSHEETPADDING(15), 14 - GROUPBOX "Monosti sprvy", -1, PROPSHEETPADDING(1), LABELLINE(19) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - AUTOCHECKBOX "Pout &nastaven pi pihlen.", IDC_ADMIN_LOGON_BOX, + AUTOCHECKBOX "Použít funkci &SerialKey", IDC_SERIAL_BOX, PROPSHEETPADDING(2), LABELLINE(16) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 + PUSHBUTTON "Na&stavení", IDC_SERIAL_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(16) - 4, PROPSHEETPADDING(15), 14 + GROUPBOX "Možnosti správy", -1, PROPSHEETPADDING(1), LABELLINE(19) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) + AUTOCHECKBOX "Použít &nastavení při přihlášení.", IDC_ADMIN_LOGON_BOX, PROPSHEETPADDING(2), LABELLINE(20) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 - AUTOCHECKBOX "Po&ut nastaven jako vchoz pro nov uivatele.", IDC_ADMIN_USERS_BOX, + AUTOCHECKBOX "Po&užít nastavení jako výchozí pro nové uživatele.", IDC_ADMIN_USERS_BOX, PROPSHEETPADDING(2), LABELLINE(22) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 END @@ -280,8 +280,8 @@ END STRINGTABLE BEGIN - IDS_CPLSYSTEMNAME "Monosti usnadnn" - IDS_CPLSYSTEMDESCRIPTION "Uprav monosti usnadnn pro tento pota." + IDS_CPLSYSTEMNAME "Možnosti usnadnění" + IDS_CPLSYSTEMDESCRIPTION "Upraví možnosti usnadnění pro tento počítač." IDS_SENTRY_NONE "[None]" IDS_SENTRY_TITLE "Flash the titlebar" IDS_SENTRY_WINDOW "Flash the active window" diff --git a/dll/cpl/access/lang/de-DE.rc b/dll/cpl/access/lang/de-DE.rc index 2475d1faa9c..405a81a8be5 100644 --- a/dll/cpl/access/lang/de-DE.rc +++ b/dll/cpl/access/lang/de-DE.rc @@ -103,7 +103,7 @@ BEGIN AUTOCHECKBOX "E&xterne Eingabehilfen aktivieren", IDC_SERIAL_BOX, PROPSHEETPADDING(2), LABELLINE(16) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(20), 14 PUSHBUTTON "&Einstellungen", IDC_SERIAL_BUTTON, PROPSHEETWIDTH - PROPSHEETPADDING(17), LABELLINE(16) - 4, PROPSHEETPADDING(15), 14 GROUPBOX "Verwaltungsoptionen", -1, PROPSHEETPADDING(1), LABELLINE(19) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - AUTOCHECKBOX "&Alle Einstellungen auf dem Anmeldebildschrim anwenden.", IDC_ADMIN_LOGON_BOX, + AUTOCHECKBOX "&Alle Einstellungen auf dem Anmeldebildschirm anwenden.", IDC_ADMIN_LOGON_BOX, PROPSHEETPADDING(2), LABELLINE(20) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 AUTOCHECKBOX "Alle Einstellungen als &Standard fr neue Benutzer anwenden.", IDC_ADMIN_USERS_BOX, PROPSHEETPADDING(2), LABELLINE(22) - 4, PROPSHEETWIDTH - PROPSHEETPADDING(4), 14 @@ -134,7 +134,7 @@ END IDD_FILTERKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "AnschlagverzgerungseEinstellungen" +CAPTION "Einstellungen fr die Anschlagverzgerung" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Tastenkombination", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) @@ -174,7 +174,7 @@ END IDD_CONTRASTOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Einstellungen fr hohen Konstrast" +CAPTION "Einstellungen fr hohen Kontrast" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Tastenkombination", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(6) + PROPSHEETPADDING(1) @@ -227,7 +227,7 @@ CAPTION "Einstellungen f FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Tastenanschlge", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(5) - LTEXT "&Tastenanschlge igorieren, die schneller wiederholt werden als:", -1, PROPSHEETPADDING(2), LABELLINE(2) + 1, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) + LTEXT "&Tastenanschlge ignorieren, die schneller wiederholt werden als:", -1, PROPSHEETPADDING(2), LABELLINE(2) + 1, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) COMBOBOX IDC_BOUNCE_TIME_COMBO, PROPSHEETPADDING(2), LABELLINE(3) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(6), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "T&estbereich:", -1, PROPSHEETPADDING(1), LABELLINE(7) + 3, PROPSHEETPADDING(8), LABELLINE(1) @@ -242,7 +242,7 @@ CAPTION "Einstellungen f FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Tastenwiederholung", -1, PROPSHEETPADDING(1), LABELLINE(1), PROPSHEETWIDTH - PROPSHEETPADDING(2), LABELLINE(12) - LTEXT "Tastatureinstellungen in der Systemsteuerung bergehen:", + LTEXT "Tastatureinstellungen in der Systemsteuerung berschreiben:", -1, PROPSHEETPADDING(2), LABELLINE(2), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) AUTORADIOBUTTON "&Keine Wiederholung", IDC_REPEAT_NOREPEAT_RADIO, PROPSHEETPADDING(2), LABELLINE(3) + 3, 78, LABELLINE(1), WS_GROUP AUTORADIOBUTTON "&Wiederholungsraten verlangsamen", IDC_REPEAT_REPEAT_RADIO, PROPSHEETPADDING(2), LABELLINE(4) + 7, 131, LABELLINE(1) @@ -273,7 +273,7 @@ BEGIN LTEXT "&Serieller Port:", -1, PROPSHEETPADDING(2), LABELLINE(3) + 5, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) COMBOBOX IDC_SERIAL_PORT_COMBO, PROPSHEETPADDING(2), LABELLINE(4) + 7, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(6), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP - LTEXT "&Baud rate:", -1, PROPSHEETPADDING(2), LABELLINE(7), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) + LTEXT "Sym&bolrate:", -1, PROPSHEETPADDING(2), LABELLINE(7), PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(2) COMBOBOX IDC_SERIAL_BAUD_COMBO, PROPSHEETPADDING(2), LABELLINE(8) + 2, PROPSHEETWIDTH - PROPSHEETPADDING(4), LABELLINE(8), CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, PROPSHEETWIDTH - 111, PROPSHEETHEIGHT - 21, 50, 14 diff --git a/dll/cpl/desk/lang/de-DE.rc b/dll/cpl/desk/lang/de-DE.rc index c4598b8ee8a..e8d78355402 100644 --- a/dll/cpl/desk/lang/de-DE.rc +++ b/dll/cpl/desk/lang/de-DE.rc @@ -32,7 +32,7 @@ BEGIN LTEXT "Minuten", IDC_MINTEXT, 70, 125, 26, 9 CONTROL "&Passwort nach Reaktivierung", IDC_SCREENS_USEPASSCHK, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 108, 120, 117, 19 - GROUPBOX "&Enerigesparfunktionen des Monitors", IDC_SCREENS_DUMMY2, 6, 155, 232, 41 + GROUPBOX "&Energiesparfunktionen des Monitors", IDC_SCREENS_DUMMY2, 6, 155, 232, 41 LTEXT "Um die Energieeinstellungen des Monitors zu editieren, wählen Sie Energieeinstellungen.", IDC_STATIC, 14, 166, 146, 27 PUSHBUTTON "Energieoptionen", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 END @@ -118,7 +118,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Einstellungen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Verschieben Sie die Monitor-Symbole, so dass sie der physikalischen Anordnung Ihrer Monitore entsprechen.", -1, 3, 3, 240, 20 + LTEXT "Verschieben Sie die Monitor-Symbole, sodass sie der physischen Anordnung Ihrer Monitore entsprechen.", -1, 3, 3, 240, 20 CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE LTEXT "&Anzeige", 1820, 3, 107, 70, 9 @@ -144,8 +144,8 @@ BEGIN COMBOBOX IDC_FONTSIZE_COMBO, 14, 30, 223, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "", IDC_FONTSIZE_CUSTOM, 14, 46, 223, 12 GROUPBOX "Kompatibilität", -1, 7, 67, 237, 97 - LTEXT "Einige Programme könnten fehlerhaft arbeiten, wenn nach Änderung der Farbeinstellungen nicht neugestartet wird.\r\n\nNach Änderung der Farbeinstellungen", -1, 12, 78, 228, 34 - AUTORADIOBUTTON "&Computer vor dem Anwenden der Farbeinstellungen neustarten.", IDC_RESTART_RB, 14, 116, 228, 10 + LTEXT "Einige Programme könnten fehlerhaft arbeiten, wenn nach Änderung der Farbeinstellungen nicht neu gestartet wird.\r\n\nNach Änderung der Farbeinstellungen", -1, 12, 78, 228, 34 + AUTORADIOBUTTON "&Computer vor dem Anwenden der Farbeinstellungen neu starten.", IDC_RESTART_RB, 14, 116, 228, 10 AUTORADIOBUTTON "Farbeinstellungen ohne Neustart übernehmen.", IDC_WITHOUTREBOOT_RB, 14, 131, 228, 10 AUTORADIOBUTTON "Vor dem Anwenden der neuen Farbeinstellungen nachfragen.", IDC_ASKME_RB, 14, 146, 228, 10 END diff --git a/dll/cpl/hdwwiz/hdwwiz.rc b/dll/cpl/hdwwiz/hdwwiz.rc index 48d3922190e..ad82b37eaf2 100644 --- a/dll/cpl/hdwwiz/hdwwiz.rc +++ b/dll/cpl/hdwwiz/hdwwiz.rc @@ -25,9 +25,6 @@ IDB_HEADER BITMAP "resources/header.bmp" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif @@ -80,6 +77,9 @@ IDB_HEADER BITMAP "resources/header.bmp" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/hdwwiz/lang/cs-CZ.rc b/dll/cpl/hdwwiz/lang/cs-CZ.rc index b2680d1b72d..c0b30f246b6 100644 --- a/dll/cpl/hdwwiz/lang/cs-CZ.rc +++ b/dll/cpl/hdwwiz/lang/cs-CZ.rc @@ -1,27 +1,27 @@ /* FILE: dll/cpl/hdwwiz/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2009-02-03 + * UPDATED: 2014-04-25 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_STARTPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Vtejte v Prvodci pidnm hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "Tento prvodce vm pome:", -1, 114, 40, 182, 8 - LTEXT "1) Nainstalovat software pro podporu hardwaru pidanho do potae.", -1, 121, 56, 184, 16 - LTEXT "2) Vyeit problmy, kter mete s vam hardwarem mt.", -1, 121, 78, 185, 16 + LTEXT "Vítejte v Průvodci přidáním hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Tento průvodce vám pomůže:", -1, 114, 40, 182, 8 + LTEXT "1) Nainstalovat software pro podporu hardwaru přidaného do počítače.", -1, 121, 56, 184, 16 + LTEXT "2) Vyřešit problémy, které můžete s vaším hardwarem mít.", -1, 121, 78, 185, 16 ICON IDI_WARNINGICON, IDC_WARNINGICON, 124, 109, 20, 20 - LTEXT "Pokud bylo k hardwaru pibaleno instalan CD, doporuuje se ukonit tohoto prvodce klepnutm na tlatko Storno a pout k instalaci hardwaru toto CD.", 503, 150, 106, 155, 50 - LTEXT "Pokraujte klepnutm na tlatko Dal.", -1, 114, 166, 193, 8 + LTEXT "Pokud bylo k hardwaru přibaleno instalační CD, doporučuje se ukončit tohoto průvodce klepnutím na tlačítko Storno a použít k instalaci hardwaru toto CD.", 503, 150, 106, 155, 50 + LTEXT "Pokračujte klepnutím na tlačítko Další.", -1, 114, 166, 193, 8 END IDD_SEARCHPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_STATUSTEXT, 21, 8, 275, 32 @@ -30,63 +30,63 @@ END IDD_ISCONNECTEDPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Byl ji tento hardware pipojen k tomuto potai?", -1, 20, 11, 275, 8 - AUTORADIOBUTTON "&Ano, ji byl pipojen", IDC_CONNECTED, 29, 23, 266, 8, WS_GROUP - AUTORADIOBUTTON "&Ne, jet nebyl pidn", IDC_NOTCONNECTED, 29, 35, 266, 8 + LTEXT "Byl již tento hardware připojen k tomuto počítači?", -1, 20, 11, 275, 8 + AUTORADIOBUTTON "&Ano, již byl připojen", IDC_CONNECTED, 29, 23, 266, 8, WS_GROUP + AUTORADIOBUTTON "&Ne, ještě nebyl přidán", IDC_NOTCONNECTED, 29, 35, 266, 8 END IDD_PROBELISTPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Vyberte nainstalovan zazen ze seznamu ne, pot lze klepnutm na tlatko Dal zkontrolovat jeho vlastnosti nebo zjistit een monch problm.", -1, 21, 8, 275, 22 - LTEXT "Klepnutm na ""Pidat nov zazen."" pidte hardware, kter se v tomto seznamu nenachz.", -1, 21, 32, 275, 24 - LTEXT "Nai&nstalovan hardware:", -1, 21, 62, 140, 8 + LTEXT "Vyberte nainstalované zařízení ze seznamu níže, poté lze klepnutím na tlačítko Další zkontrolovat jeho vlastnosti nebo zjistit řešení možných problémů.", -1, 21, 8, 275, 22 + LTEXT "Klepnutím na ""Přidat nové zařízení."" přidáte hardware, který se v tomto seznamu nenachází.", -1, 21, 32, 275, 24 + LTEXT "Nai&nstalovaný hardware:", -1, 21, 62, 140, 8 CONTROL "", IDC_PROBELIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER, 21, 72, 275, 66 END IDD_SELECTWAYPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Prvodce me vyhledat dal hardware a automaticky ho nainstalovat, nebo jej mete vybrat ze seznamu, pokud vte o kter model se jedn.", -1, 21, 8, 280, 24 - LTEXT "Co m prvodce udlat?", -1, 23, 40, 275, 8 - AUTORADIOBUTTON "&Vyhledat a automaticky nainstalovat hardware (doporueno)", IDC_AUTOINSTALL, 30, 55, 266, 8, WS_GROUP | NOT WS_TABSTOP - AUTORADIOBUTTON "Nainstalovat hardware, kter si &run zvolm ze seznamu (pokroil)", IDC_MANUALLYINST, 30, 70, 266, 8, NOT WS_TABSTOP + LTEXT "Průvodce může vyhledat další hardware a automaticky ho nainstalovat, nebo jej můžete vybrat ze seznamu, pokud víte o který model se jedná.", -1, 21, 8, 280, 24 + LTEXT "Co má průvodce udělat?", -1, 23, 40, 275, 8 + AUTORADIOBUTTON "&Vyhledat a automaticky nainstalovat hardware (doporučeno)", IDC_AUTOINSTALL, 30, 55, 266, 8, WS_GROUP | NOT WS_TABSTOP + AUTORADIOBUTTON "Nainstalovat hardware, který si &ručně zvolím ze seznamu (pokročilé)", IDC_MANUALLYINST, 30, 70, 266, 8, NOT WS_TABSTOP END IDD_DETECTEDHWPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_STATUSTEXT, 21, 9, 275, 40 - LTEXT "Detekovan hardware:", IDC_DETECTEDHWTEXT, 21, 53, 176, 8 + LTEXT "Detekovaný hardware:", IDC_DETECTEDHWTEXT, 21, 53, 176, 8 CONTROL "", IDC_DETECTEDHWLIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER, 21, 65, 275, 70 END IDD_HWTYPESPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Pokud nevidte vmi hledan typ hardwaru, klepnte na Zobrazit vechna zazen.", IDC_STATUSTEXT, 21, 9, 275, 18 - LTEXT "Bn typy &hardwaru:", IDC_HWTYPESTEXT, 21, 31, 180, 8 + LTEXT "Pokud nevidíte vámi hledaný typ hardwaru, klepněte na Zobrazit všechna zařízení.", IDC_STATUSTEXT, 21, 9, 275, 18 + LTEXT "Běžné typy &hardwaru:", IDC_HWTYPESTEXT, 21, 31, 180, 8 CONTROL "", IDC_HWTYPESLIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER, 21, 42, 275, 92 END IDD_PROGRESSPAGE DIALOG 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Vyhledvn hardwaru me trvat nkolik minut.", -1, 21, 8, 275, 15 - LTEXT "Celkov postup:", IDC_TPROGRESSTEXT, 21, 25, 275, 8 + LTEXT "Vyhledávání hardwaru může trvat několik minut.", -1, 21, 8, 275, 15 + LTEXT "Celkový postup:", IDC_TPROGRESSTEXT, 21, 25, 275, 8 CONTROL "", IDC_TPROGRESSBAR, "msctls_progress32", 0, 21, 37, 275, 14 LTEXT "", IDC_PROGRESSTEXT, 58, 58, 200, 8, SS_NOPREFIX CONTROL "", IDC_PROGRESSBAR, "msctls_progress32", 0, 58, 70, 200, 8 @@ -94,59 +94,59 @@ END IDD_FINISHPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Dokonen Prvodce pidnm hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "Prvodce pidnm hardwaru byl spn dokonen.", -1, 114, 32, 193, 19 + LTEXT "Dokončení Průvodce přidáním hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Průvodce přidáním hardwaru byl úspěšně dokončen.", -1, 114, 32, 193, 19 LTEXT "", IDC_STATUSTEXT, 114, 70, 193, 92 - LTEXT "Klepnutm na Dokonit uzavete prvodce.", -1, 114, 166, 132, 8 + LTEXT "Klepnutím na Dokončit uzavřete průvodce.", -1, 114, 166, 132, 8 END IDD_ISFOUNDPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Dokonen Prvodce pidnm hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "Prvodce nael nsledujc hardware pipojen k tomuto potai:", -1, 114, 32, 193, 19 - LTEXT "Klepnutm na Dokonit uzavete prvodce.", -1, 114, 166, 132, 8 + LTEXT "Dokončení Průvodce přidáním hardwaru", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Průvodce našel následující hardware připojený k tomuto počítači:", -1, 114, 32, 193, 19 + LTEXT "Klepnutím na Dokončit uzavřete průvodce.", -1, 114, 166, 132, 8 CONTROL "", IDC_FOUNDHARDWARELIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS, 114, 56, 193, 78 END IDD_HWSTATUSPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Dokonen Prvodce pidnm hardwaru", IDC_FINISHTITLE, 114, 8, 195, 28 - LTEXT "Souasn stav zvolenho hardwaru:", -1, 114, 40, 193, 19 + LTEXT "Dokončení Průvodce přidáním hardwaru", IDC_FINISHTITLE, 114, 8, 195, 28 + LTEXT "Současný stav zvoleného hardwaru:", -1, 114, 40, 193, 19 EDITTEXT IDC_HWSTATUSEDIT, 114, 60, 193, 70, ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP - LTEXT "Klepnutm na Dokonit lze zat eit mon problmy.", -1, 114, 136, 193, 16 - LTEXT "Klepnutm na Storno ukonte prvodce.", IDC_STATUSTEXT, 114, 166, 132, 8 + LTEXT "Klepnutím na Dokončit lze začít řešit možné problémy.", -1, 114, 136, 193, 16 + LTEXT "Klepnutím na Storno ukončíte průvodce.", IDC_STATUSTEXT, 114, 166, 132, 8 END IDD_NOTCONNECTEDPAGE DIALOG 0, 0, 317, 186 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Prvodce pidnm hardwaru" +CAPTION "Průvodce přidáním hardwaru" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Nelze pokraovat v Prvodci pidnm hardwaru", IDC_FINISHTITLE, 114, 8, 203, 28 - LTEXT "Pokraovat lze po pipojen hardwaru k potai.", -1, 114, 40, 193, 16 - AUTOCHECKBOX "Vypnou&t pota po klepnut na tlatko Dokonit, aby mohl bt hardware pipojen.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE - LTEXT "Ve vtin ppad ReactOS automaticky nainstaluje hardware po jeho pipojen. Pokud jej ReactOS nenajde, lze tohoto prvodce znovu spustit a nainstalovat podprn software.", -1, 114, 98, 193, 32 - LTEXT "Klepnutm na tlatko Dokonit ukonte prvodce.", IDC_STATUSTEXT, 114, 166, 193, 8 + LTEXT "Nelze pokračovat v Průvodci přidáním hardwaru", IDC_FINISHTITLE, 114, 8, 203, 28 + LTEXT "Pokračovat lze po připojení hardwaru k počítači.", -1, 114, 40, 193, 16 + AUTOCHECKBOX "Vypnou&t počítač po klepnutí na tlačítko Dokončit, aby mohl být hardware připojen.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE + LTEXT "Ve většině případů ReactOS automaticky nainstaluje hardware po jeho připojení. Pokud jej ReactOS nenajde, lze tohoto průvodce znovu spustit a nainstalovat podpůrný software.", -1, 114, 98, 193, 32 + LTEXT "Klepnutím na tlačítko Dokončit ukončíte průvodce.", IDC_STATUSTEXT, 114, 166, 193, 8 END STRINGTABLE BEGIN - IDS_CPLNAME "Pidat hardware" - IDS_CPLDESCRIPTION "Pid hardware do tohoto potae." - IDS_SEARCHTITLE "ekejte, prosm, prvodce hled..." - IDS_SEARCHTEXT "Tento prvodce hled hardware, kter byl nedvno pipojen k tomuto potai, ale jet nebyl nainstalovn." - IDS_ISCONNECTED "Je hardware pipojen?" - IDS_PROBELISTTITLE "Nsledujc hardware ji je nainstalovn na tomto potai" - IDS_ADDNEWDEVICE "Pidat nov hardwarov zazen" - IDS_SELECTWAYTITLE "Prvodce vm me pomoci nainstalovat jin hardware" - IDS_HDTYPESTITLE "Ze seznamu ne zvolte typ instalovanho hardwaru" + IDS_CPLNAME "Přidat hardware" + IDS_CPLDESCRIPTION "Přidá hardware do tohoto počítače." + IDS_SEARCHTITLE "Čekejte, prosím, průvodce hledá..." + IDS_SEARCHTEXT "Tento průvodce hledá hardware, který byl nedávno připojen k tomuto počítači, ale ještě nebyl nainstalován." + IDS_ISCONNECTED "Je hardware připojen?" + IDS_PROBELISTTITLE "Následující hardware již je nainstalován na tomto počítači" + IDS_ADDNEWDEVICE "Přidat nové hardwarové zařízení" + IDS_SELECTWAYTITLE "Průvodce vám může pomoci nainstalovat jiný hardware" + IDS_HDTYPESTITLE "Ze seznamu níže zvolte typ instalovaného hardwaru" END diff --git a/dll/cpl/hdwwiz/lang/de-DE.rc b/dll/cpl/hdwwiz/lang/de-DE.rc index e0b1c753869..b0390d8406f 100644 --- a/dll/cpl/hdwwiz/lang/de-DE.rc +++ b/dll/cpl/hdwwiz/lang/de-DE.rc @@ -5,7 +5,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "Hardwareassistent" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wilkommen zum Hardwareassistenten", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Willkommen zum Hardwareassistenten", IDC_FINISHTITLE, 114, 8, 203, 24 LTEXT "Dieser Assistent untersttzt Sie bei:", -1, 114, 40, 182, 8 LTEXT "1) Software installieren, um die an den Computer angeschlossene Hardware zu untersttzen.", -1, 121, 56, 184, 16 LTEXT "2) Probleme lsen, die Sie mit Ihrer Hardware haben.", -1, 121, 78, 185, 16 @@ -81,7 +81,7 @@ CAPTION "Hardwareassistent" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Der Hardware-Suchvorgang kann mehrere Minuten dauern.", -1, 21, 8, 275, 15 - LTEXT "Fortschitt:", IDC_TPROGRESSTEXT, 21, 25, 275, 8 + LTEXT "Fortschritt:", IDC_TPROGRESSTEXT, 21, 25, 275, 8 CONTROL "", IDC_TPROGRESSBAR, "msctls_progress32", 0, 21, 37, 275, 14 LTEXT "", IDC_PROGRESSTEXT, 58, 58, 200, 8, SS_NOPREFIX CONTROL "", IDC_PROGRESSBAR, "msctls_progress32", 0, 58, 70, 200, 8 @@ -92,7 +92,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "Hardwareassistent" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Hardwareassistent wird vervollstndigt", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Hardwareassistent wird abgeschlossen", IDC_FINISHTITLE, 114, 8, 203, 24 LTEXT "Der Hardwareassistent wurde erfolgreich abgeschlossen.", -1, 114, 32, 193, 19 LTEXT "", IDC_STATUSTEXT, 114, 70, 193, 92 LTEXT "Klicken Sie ""Beenden"", um den Assistenten zu schlieen.", -1, 114, 166, 192, 8 @@ -103,7 +103,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "Hardwareassistent" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Hardwareassistent wird vervollstndigt", IDC_FINISHTITLE, 114, 8, 203, 24 + LTEXT "Hardwareassistent wird abgeschlossen", IDC_FINISHTITLE, 114, 8, 203, 24 LTEXT "Der Assistent fand folgende Hardware an ihrem Computer:", -1, 114, 32, 193, 19 LTEXT "Klicken Sie ""Beenden"", um den Assistenten zu schlieen.", -1, 114, 166, 192, 8 CONTROL "", IDC_FOUNDHARDWARELIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS, 114, 56, 193, 78 @@ -114,7 +114,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "Hardwareassistent" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Hardwareassistent wird vervollstndigt", IDC_FINISHTITLE, 114, 8, 195, 28 + LTEXT "Hardwareassistent wird abgeschlossen", IDC_FINISHTITLE, 114, 8, 195, 28 LTEXT "Derzeitiger Status der ausgewhlten Hardware:", -1, 114, 40, 193, 19 EDITTEXT IDC_HWSTATUSEDIT, 114, 60, 193, 70, ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP LTEXT "Klicken Sie ""Beenden"", um Hilfe zum Lsen von mglichen Problemen zu erhalten.", -1, 114, 136, 193, 16 @@ -128,8 +128,8 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Hardwareassistent kann nicht fortgesetzt werden", IDC_FINISHTITLE, 114, 8, 203, 28 LTEXT "Um fortsetzen zu knnen, verbinden Sie folgende Hardware mit dem Computer.", -1, 114, 40, 193, 16 - AUTOCHECKBOX "&Nach Beenden den Computer neustarten, um die Hardware anschlieen zu knnen.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE - LTEXT "In den meisten Fllen wird ReactOS die Hardware automatisch installieren, wenn Sie sie mit dem Computer verbinden. Andernfalls knnen Sie den Assistenten erneut starten, um die zu untersttzende Hardware zu installieren.", -1, 114, 98, 193, 32 + AUTOCHECKBOX "&Nach Beenden den Computer neu starten, um die Hardware anschlieen zu knnen.", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE + LTEXT "In den meisten Fllen wird ReactOS die Hardware automatisch installieren, wenn Sie diese mit dem Computer verbinden. Andernfalls knnen Sie den Assistenten erneut starten, um die zu untersttzende Hardware zu installieren.", -1, 114, 98, 193, 32 LTEXT "Klicken Sie auf ""Beenden"", um den Assistenten zu schlieen.", IDC_STATUSTEXT, 114, 166, 200, 8 END @@ -138,7 +138,7 @@ BEGIN IDS_CPLNAME "Hardware" IDS_CPLDESCRIPTION "Installiert neue Hardwarekomponenten." IDS_SEARCHTITLE "Bitte warten Sie, whrend der Assistent neue Hardware sucht..." - IDS_SEARCHTEXT "Dieser Assistent sucht nach Hardware, die vor kurzem an Ihren Computer angeschlossen, aber noch nicht installiert wurde." + IDS_SEARCHTEXT "Dieser Assistent sucht nach Hardware, die vor Kurzem an Ihren Computer angeschlossen, aber noch nicht installiert wurde." IDS_ISCONNECTED "Ist die Hardware bereits angeschlossen?" IDS_PROBELISTTITLE "Folgende Hardware ist bereits auf Ihrem Computer installiert" IDS_ADDNEWDEVICE "Ein neues Gert hinzufgen" diff --git a/dll/cpl/inetcpl/inetcpl.rc b/dll/cpl/inetcpl/inetcpl.rc index b509fceb789..c44f7c627b8 100644 --- a/dll/cpl/inetcpl/inetcpl.rc +++ b/dll/cpl/inetcpl/inetcpl.rc @@ -27,6 +27,9 @@ #include +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif diff --git a/dll/cpl/inetcpl/lang/cs-CZ.rc b/dll/cpl/inetcpl/lang/cs-CZ.rc new file mode 100644 index 00000000000..66847279e1a --- /dev/null +++ b/dll/cpl/inetcpl/lang/cs-CZ.rc @@ -0,0 +1,99 @@ +/* FILE: dll/cpl/inetcpl/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * UPDATED: 2014-04-21 + */ + + /* UTF-8 */ + #pragma code_page(65001) + + LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +/* "General" propsheet */ +IDD_GENERAL DIALOG 0, 0, 320, 220 +STYLE WS_CAPTION | WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +CAPTION "Obecné" +BEGIN + + GROUPBOX " Domovská stránka ", IDC_STATIC, 4, 4, 312, 52 + LTEXT "Zvolená adresa bude uložena jako domovská stránka.", + IDC_STATIC, 58, 10, 252, 10 + EDITTEXT IDC_HOME_EDIT, 58, 22, 252, 12, WS_VISIBLE | ES_AUTOHSCROLL + PUSHBUTTON "&Aktuální stránka", IDC_HOME_CURRENT, 58, 36, 80, 14 + PUSHBUTTON "&Výchozí stránka", IDC_HOME_DEFAULT, 144, 36, 80, 14 + PUSHBUTTON "&Prázdná stránka", IDC_HOME_BLANK, 230, 36, 80, 14 + GROUPBOX " Historie prohlížení ", IDC_STATIC, 4, 60, 312, 46 + LTEXT "Lze smazat stránky v mezipaměti, cookies a další data.", + IDC_STATIC, 58, 72, 252, 10 + PUSHBUTTON "Smazat &soubory...", IDC_HISTORY_DELETE, 144, 86, 80, 14 + PUSHBUTTON "&Nastavení...", IDC_HISTORY_SETTINGS, 230, 86, 80, 14 + +END + +/* "Delete browsing history" dialog */ +IDD_DELETE_HISTORY DIALOG 0, 0, 250, 250 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Smazat historii prohlížení" +BEGIN + + AUTOCHECKBOX "Dočasné internetové soubory\nUložené kopie webových stránek, obrázků a certifikátů.", + IDC_DELETE_TEMP_FILES, 10, 8, 230, 30, BS_TOP | BS_MULTILINE + AUTOCHECKBOX "Cookies\nSoubory uložené na počítači webovými stránkami, ve kterých jsou uložené například uživatelské předvolby nebo přihlašovací údaje.", + IDC_DELETE_COOKIES, 10, 38, 230, 30, BS_TOP | BS_MULTILINE + AUTOCHECKBOX "Historie\nSeznam navštívených webových stránek.", + IDC_DELETE_HISTORY, 10, 68, 230, 30, BS_TOP | BS_MULTILINE + AUTOCHECKBOX "Data formulářů\nUživatelská jména a další údaje, které byly zadány do formulářů.", + IDC_DELETE_FORM_DATA, 10, 98, 230, 30, BS_TOP | BS_MULTILINE + AUTOCHECKBOX "Hesla\nUložená hesla, která byla zadána do formulářů.", + IDC_DELETE_PASSWORDS, 10, 128, 230, 30, BS_TOP | BS_MULTILINE + DEFPUSHBUTTON "Storno", IDCANCEL, 185, 230, 60, 15, WS_GROUP + PUSHBUTTON "Smazat", IDOK, 120, 230, 60, 15, WS_GROUP + +END + +/* "Security" propsheet */ +IDD_SECURITY DIALOG 0, 0, 320, 220 +STYLE WS_CAPTION | WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +CAPTION "Zabezpečení" +BEGIN + + CONTROL "Listview", IDC_SEC_LISTVIEW, "SysListView32", + LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_VSCROLL, + 4, 4, 312, 58 + LTEXT "", IDC_SEC_ZONE_INFO, 4, 68, 312, 20 + GROUPBOX "", IDC_SEC_GROUP, 4, 88, 312, 126 + CONTROL "trackbar", IDC_SEC_TRACKBAR, "msctls_trackbar32", + TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_REVERSED, 8, 98, 32, 100 + LTEXT "", IDC_SEC_LEVEL, 48, 102, 180, 12 + LTEXT "", IDC_SEC_LEVEL_INFO, 48, 114, 260, 80 +END + +/* "Content" propsheet */ +IDD_CONTENT DIALOG 0, 0, 320, 220 +STYLE WS_CAPTION | WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +CAPTION "Obsah" +BEGIN + + GROUPBOX " Certifikáty ", IDC_STATIC, 4, 4, 312, 50 + LTEXT "Certifikáty slouží k osobní identifikaci a k identifikaci certifikačních autorit a vydavatelů.", + IDC_STATIC, 58, 14, 252, 18 + PUSHBUTTON "Certifikáty...", IDC_CERT, 146, 34, 80, 14 + PUSHBUTTON "Vydavatelé...", IDC_CERT_PUBLISHER, 230, 34, 80, 14 + +END + +STRINGTABLE +BEGIN + IDS_CPL_NAME "Nastavení Internetu" + IDS_CPL_INFO "Konfigurovat Internetový prohlížeč Wine a související nastavení" + IDS_SEC_SETTINGS "Nastavení zabezpečení pro zónu: " + IDS_SEC_LEVEL0 "Vlastní" + IDS_SEC_LEVEL1 "Velmi nízké" + IDS_SEC_LEVEL2 "Nízké" + IDS_SEC_LEVEL3 "Střední" + IDS_SEC_LEVEL4 "Zvýšené" + IDS_SEC_LEVEL5 "Vysoké" +END diff --git a/dll/cpl/inetcpl/lang/de-DE.rc b/dll/cpl/inetcpl/lang/de-DE.rc index b4e9e71817e..fdab3a1da3f 100644 --- a/dll/cpl/inetcpl/lang/de-DE.rc +++ b/dll/cpl/inetcpl/lang/de-DE.rc @@ -31,7 +31,7 @@ CAPTION "Allgemein" BEGIN GROUPBOX " Startseite ", IDC_STATIC, 4, 4, 312, 52 - LTEXT "Sie können eine Addresse wählen, die als Startseite verwendet wird.", + LTEXT "Sie können eine Adresse wählen, die als Startseite verwendet wird.", IDC_STATIC, 58, 10, 252, 10 EDITTEXT IDC_HOME_EDIT, 58, 22, 252, 12, WS_VISIBLE | ES_AUTOHSCROLL PUSHBUTTON "A&ktuelle Seite", IDC_HOME_CURRENT, 58, 36, 80, 14 @@ -49,10 +49,10 @@ END IDD_DELETE_HISTORY DIALOG 0, 0, 250, 250 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" -CAPTION "Gespeicherte Browserdaten löchen" +CAPTION "Gespeicherte Browserdaten löschen" BEGIN - AUTOCHECKBOX "&Temporäre Inernetdateien\nZwischengespeicherte Kopien von Webseiten, Bildern und Zertifikaten.", + AUTOCHECKBOX "&Temporäre Internetdateien\nZwischengespeicherte Kopien von Webseiten, Bildern und Zertifikaten.", IDC_DELETE_TEMP_FILES, 10, 8, 230, 30, BS_TOP | BS_MULTILINE AUTOCHECKBOX "&Cookies\nVon Webseiten auf ihrem Computer gespeicherte Dateien, die Benutzereinstellungen oder Anmeldeinformationen enthalten.", IDC_DELETE_COOKIES, 10, 38, 230, 30, BS_TOP | BS_MULTILINE diff --git a/dll/cpl/input/lang/de-DE.rc b/dll/cpl/input/lang/de-DE.rc index 5f943cf991c..ac5cc1a56c2 100644 --- a/dll/cpl/input/lang/de-DE.rc +++ b/dll/cpl/input/lang/de-DE.rc @@ -5,7 +5,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Einstellungen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wählen Sie die Dienste aus, die Sie für die Eingabesprachen in der Liste verwenden wollen.\nVerwenden Sie Hinzufügen und Entfernen, um die Liste zu bearbeiten.", -1, 9, 6, 238, 25 + LTEXT "Wählen Sie die Dienste aus, die Sie für die Eingabesprachen in der Liste verwenden wollen.\nVerwenden Sie ""Hinzufügen"" und ""Entfernen"", um die Liste zu bearbeiten.", -1, 9, 6, 238, 25 CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SORTASCENDING | LVS_REPORT | 0x0000808D, 8, 36, 237, 101 PUSHBUTTON "&Als Standard", IDC_SET_DEFAULT, 101, 159, 144, 14 PUSHBUTTON "&Hinzufügen...", IDC_ADD_BUTTON, 27, 142, 70, 14 @@ -20,7 +20,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Erweiterte Einstellungen" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "System Konfiguration", -1, 7, 7, 240, 70 + GROUPBOX "Systemkonfiguration", -1, 7, 7, 240, 70 AUTOCHECKBOX "&Erweiterte &Textdienste deaktivieren", IDC_TURNOFFTEXTSVCS_CB, 14, 20, 220, 12 LTEXT "Auswählen, um die erweiterte Sprachunterstützung in allen Programmen zu deaktivieren.\nNicht empfohlen für ostasiatische Benutzer, da die Sprachleiste hierdurch geschlossen wird.", -1, 14, 40, 230, 35 END @@ -62,7 +62,7 @@ FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "", -1, 9, 5, 155, 110 AUTOCHECKBOX "&Eingabesprache umschalten", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 - LTEXT "Shift", -1, 73, 37, 27, 12 + LTEXT "Umschalt", -1, 73, 37, 27, 12 CTEXT "+", -1, 62, 37, 8, 9 AUTORADIOBUTTON "&Strg", IDC_CTRL_LANG, 29, 31, 30, 11 AUTORADIOBUTTON "&Alt links", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 @@ -95,7 +95,7 @@ BEGIN IDS_KEYBOARD "Tastatur" IDS_NONE "(Keine)" IDS_UNKNOWN "(Unbekannt)" - IDS_RESTART "Wollen Sie Ihren Computer nun neustarten?" + IDS_RESTART "Wollen Sie Ihren Computer nun neu starten?" IDS_WHATS_THIS "Was ist das?" IDS_LANGUAGE "Sprache" IDS_LAYOUT "Tastaturlayout" @@ -118,8 +118,8 @@ BEGIN IDS_ARMENIAN_WESTERN_LAYOUT "Westarmenisch" IDS_ASSAMESE_LAYOUT "Assamisch" IDS_AZERI_CYRILLIC_LAYOUT "Aserbaidschanisch (Kyrillisch)" - IDS_AZERI_LATIN_LAYOUT "Aserbaidschanisch (Lateinisch)" - IDS_BELARUSIAN_LAYOUT "Belarussisch" + IDS_AZERI_LATIN_LAYOUT "Aserbaidschanisch (Latein)" + IDS_BELARUSIAN_LAYOUT "Weißrussisch" IDS_BELGIAN_COMMA_LAYOUT "Belgisch (Komma)" IDS_BELGIAN_FRENCH_LAYOUT "Belgisch (Wallonisch)" IDS_BELGIAN_LAYOUT "Belgisch (Punkt)" @@ -132,7 +132,7 @@ BEGIN IDS_BURMESE_LAYOUT "Burmesisch" IDS_CANADIAN_FRENCH_LAYOUT "Französisch (Kanada)" IDS_CANADIAN_FRENCH_LEGACY_LAYOUT "Französisch (Kanada, herkömmlich)" - IDS_CANADIAN_MULTILINGUAL_STD_LAYOUT "Kanada (Standard -- Multilingual)" + IDS_CANADIAN_MULTILINGUAL_STD_LAYOUT "Kanada (Standard -- multilingual)" IDS_CANTONESE_PHONETIC_LAYOUT "Phonetisches Kantonesisch" IDS_CHINESE_SIMPLIFIED_MSPINYINIME30_LAYOUT "Chinesisch (vereinfacht) - Microsoft Pinyin IME 3.0" IDS_CHINESE_SIMPLIFIED_NEIMA_LAYOUT "Chinesisch (vereinfacht) - NeiMa" @@ -140,7 +140,7 @@ BEGIN IDS_CHINESE_SIMPLIFIED_SHUANGPIN_LAYOUT "Chinesisch (vereinfacht) - ShuangPin" IDS_CHINESE_SIMPLIFIED_USKEYBOARD_LAYOUT "Chinesisch (vereinfacht) - US-Tastatur" IDS_CHINESE_SIMPLIFIED_ZHENGMA_LAYOUT "Chinesisch (vereinfacht) - ZhengMa" - IDS_CHINESE_TRADITIONAL_ALPHANUMERIC_LAYOUT "Chinesisch (traditionell) - Alphanummerisch" + IDS_CHINESE_TRADITIONAL_ALPHANUMERIC_LAYOUT "Chinesisch (traditionell) - alphanumerisch" IDS_CHINESE_TRADITIONAL_ARRAY_LAYOUT "Chinesisch (traditionell) - Array" IDS_CHINESE_TRADITIONAL_BIG5CODE_LAYOUT "Chinesisch (traditionell) - Big5-Code" IDS_CHINESE_TRADITIONAL_CHANGJIE_LAYOUT "Chinesisch (traditionell) - ChangJie" @@ -231,13 +231,13 @@ BEGIN IDS_TATAR_LAYOUT "Tatarisch" IDS_TELUGU_LAYOUT "Telugu" IDS_THAI_KEDMANEE_LAYOUT "Thai Kedmanee" - IDS_THAI_KEDMANEE_NONSHIFTLOCK_LAYOUT "Thai Kedmanee (nicht ShiftLock)" + IDS_THAI_KEDMANEE_NONSHIFTLOCK_LAYOUT "Thai Kedmanee (ohne ShiftLock)" IDS_THAI_PATTACHOTE_LAYOUT "Thai Pattachote" - IDS_THAI_PATTACHOTE_NONSHIFTLOCK_LAYOUT "Thai Pattachote (nicht ShiftLock)" + IDS_THAI_PATTACHOTE_NONSHIFTLOCK_LAYOUT "Thai Pattachote (ohne ShiftLock)" IDS_TURKISH_F_LAYOUT "Türkisch F" IDS_TURKISH_Q_LAYOUT "Türkisch Q" IDS_UKRAINIAN_LAYOUT "Ukrainisch" - IDS_UKRAINIAN_STUDENT_LAYOUT "Ukrainian (Student)" + IDS_UKRAINIAN_STUDENT_LAYOUT "Ukrainisch (Student)" IDS_UNITED_KINGDOM_LAYOUT "Englisch (Großbritannien u. Nordirland)" IDS_UNITED_STATES_DVIRAK_LAYOUT "Englisch (USA, Dvorak)" IDS_UNITED_STATES_DVORAK_FOR_LEFT_HAND_LAYOUT "Englisch (USA, Dvorak für Linkshänder)" diff --git a/dll/cpl/intl/lang/de-DE.rc b/dll/cpl/intl/lang/de-DE.rc index aea5d480f1f..179a951c921 100644 --- a/dll/cpl/intl/lang/de-DE.rc +++ b/dll/cpl/intl/lang/de-DE.rc @@ -22,7 +22,7 @@ BEGIN EDITTEXT IDC_SHORTTIMESAMPLE_EDIT, 89, 131, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP EDITTEXT IDC_FULLTIMESAMPLE_EDIT, 89, 146, 140, 12, ES_READONLY | WS_CHILD | WS_VISIBLE | WS_GROUP | NOT WS_TABSTOP GROUPBOX "Geografische Lage", -1, 5, 172, 234, 55 - LTEXT "Wählen Sie Ihren Standort, so dass Dienste Sie mit lokalen Informationen, wie Nachrichten und Wettervorhersagen, versorgen können.", -1, 14, 184, 210, 24 + LTEXT "Wählen Sie Ihren Standort, sodass Dienste Sie mit lokalen Informationen, wie Nachrichten und Wettervorhersagen, versorgen können.", -1, 14, 184, 210, 24 COMBOBOX IDC_LOCATION_COMBO, 14, 210, 217, 160, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP | CBS_SORT END @@ -35,7 +35,7 @@ BEGIN LTEXT "Um Ihre Sprache einsehen oder ändern zu können wählen Sie ""Details...""", -1, 12, 15, 220, 18 PUSHBUTTON "&Details...", IDC_DETAIL_BUTTON, 177, 34, 54, 14 GROUPBOX "Zusätzliche Sprachunterstützung", -1, 5, 62, 234, 82 - LTEXT "Die meisten Sprachen sind standardmäßig installiert. Um weitere Sprachen zu installieren, aktivieren Sie die unteren Kontollkästchen.", -1, 12, 72, 220, 18 + LTEXT "Die meisten Sprachen sind standardmäßig installiert. Um weitere Sprachen zu installieren, aktivieren Sie die unteren Kontrollkästchen.", -1, 12, 72, 220, 18 CHECKBOX "Dateien für Sprachen mit &komplexer Schrift und Rechts-nach-Links-Schreibstil installieren.", IDC_INST_FILES_FOR_RTOL_LANG, 12, 92, 215, 22, BS_MULTILINE CHECKBOX "Dateien für &ostasiatische Sprachen installieren.", IDC_INST_FILES_FOR_ASIAN, 12, 114, 180, 22, BS_MULTILINE END @@ -195,14 +195,14 @@ END STRINGTABLE BEGIN IDS_ERROR "Fehler" - IDS_ERROR_SYMBOL_SEPARATE "Das eingegebene kurze Datumstrennzeichen enthält falsche Symbole" - IDS_ERROR_SYMBOL_FORMAT_SHORT "Das eingegebene kurze Datumsformat enthält falsche Symbole" - IDS_ERROR_SYMBOL_FORMAT_LONG "Das eingegebene lange Datumsformat enthält falsche Symbole" - IDS_ERROR_OEM_CODE_PAGE "Die OEM-Codepage konnte nicht gelesen werden" - IDS_ERROR_ANSI_CODE_PAGE "Die ANSI-Codepage konnte nicht gelesen werden" - IDS_ERROR_INT_KEY_REG "Der Schlüssel HKCU\\Control Panel\\International konnte nicht geöffnet werden" - IDS_ERROR_DEF_INT_KEY_REG "Der Schlüssel HKU\\.DEFAULT\\Control Panel\\International konnte nicht geöffnet werden" - IDS_ERROR_NLS_KEY_REG "Der Schlüssel HKLM\\SYSTEM\\CurrentControlSet\\Control\\NLS\\Language konnte nicht geöffnet werden" - IDS_ERROR_NLS_CODE_REG "Der Schlüssel HKLM\\SYSTEM\\CurrentControlSet\\Control\\NLS\\CodePage konnte nicht geöffnet werden" - IDS_ERROR_INPUT_DLL "input.dll konnte nicht geladen werden" + IDS_ERROR_SYMBOL_SEPARATE "Das eingegebene kurze Datumstrennzeichen enthält falsche Symbole." + IDS_ERROR_SYMBOL_FORMAT_SHORT "Das eingegebene kurze Datumsformat enthält falsche Symbole." + IDS_ERROR_SYMBOL_FORMAT_LONG "Das eingegebene lange Datumsformat enthält falsche Symbole." + IDS_ERROR_OEM_CODE_PAGE "Die OEM-Codepage konnte nicht gelesen werden." + IDS_ERROR_ANSI_CODE_PAGE "Die ANSI-Codepage konnte nicht gelesen werden." + IDS_ERROR_INT_KEY_REG "Der Schlüssel HKCU\\Control Panel\\International konnte nicht geöffnet werden." + IDS_ERROR_DEF_INT_KEY_REG "Der Schlüssel HKU\\.DEFAULT\\Control Panel\\International konnte nicht geöffnet werden." + IDS_ERROR_NLS_KEY_REG "Der Schlüssel HKLM\\SYSTEM\\CurrentControlSet\\Control\\NLS\\Language konnte nicht geöffnet werden." + IDS_ERROR_NLS_CODE_REG "Der Schlüssel HKLM\\SYSTEM\\CurrentControlSet\\Control\\NLS\\CodePage konnte nicht geöffnet werden." + IDS_ERROR_INPUT_DLL "Die Datei input.dll konnte nicht geladen werden." END diff --git a/dll/cpl/joy/joy.rc b/dll/cpl/joy/joy.rc index 0536869cad3..7637ab013d2 100644 --- a/dll/cpl/joy/joy.rc +++ b/dll/cpl/joy/joy.rc @@ -18,9 +18,6 @@ IDI_CPLSYSTEM ICON "resources/applet.ico" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif @@ -55,6 +52,9 @@ IDI_CPLSYSTEM ICON "resources/applet.ico" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/joy/lang/cs-CZ.rc b/dll/cpl/joy/lang/cs-CZ.rc index 603132d3464..c737c3d3daa 100644 --- a/dll/cpl/joy/lang/cs-CZ.rc +++ b/dll/cpl/joy/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/cpl/joy/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2009-01-10 + * UPDATED: 2014-04-25 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT @@ -8,35 +8,35 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_PROPPAGEMAIN DIALOGEX 0, 0, 252, 205 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Hern ovladae" +CAPTION "Herní ovladače" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_CPLSYSTEM, -1, 7, 7, 20, 20 - LTEXT "Tato nastaven pomhaj konfigurovat hern ovladae nainstalovan na tomto potai.", -1, 33, 7, 214, 20, NOT WS_GROUP - GROUPBOX "Nai&nstalovan hern ovladae", -1, 7, 34, 238, 117 + LTEXT "Tato nastavení pomáhají konfigurovat herní ovladače nainstalované na tomto počítači.", -1, 33, 7, 214, 20, NOT WS_GROUP + GROUPBOX "Nai&nstalované herní ovladače", -1, 7, 34, 238, 117 CONTROL "List1", IDC_CONTROLLER_LIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | 0x0000808D, 14, 44, 224, 80 - PUSHBUTTON "&Pidat...", IDC_ADD_BUTTON, 35, 129, 65, 14 + PUSHBUTTON "&Přidat...", IDC_ADD_BUTTON, 35, 129, 65, 14 PUSHBUTTON "&Odebrat", IDC_REMOVE_BUTTON, 104, 129, 65, 14, WS_DISABLED PUSHBUTTON "&Vlastnosti", IDC_PROPERTIES_BUTTON, 173, 129, 65, 14, WS_DISABLED - PUSHBUTTON "&Rozen...", IDC_ADVANCED_BUTTON, 111, 157, 65, 14 - PUSHBUTTON "&een problm...", IDC_TROUBLESHOOT_BUTTON, 180, 157, 65, 14 + PUSHBUTTON "&Rozšířené...", IDC_ADVANCED_BUTTON, 111, 157, 65, 14 + PUSHBUTTON "Ř&ešení problémů...", IDC_TROUBLESHOOT_BUTTON, 180, 157, 65, 14 PUSHBUTTON "OK", IDOK, 195, 185, 50, 14 END IDD_ADD DIALOGEX 0, 0, 265, 200 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_SETFOREGROUND | WS_POPUPWINDOW | WS_CAPTION EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Pidat hern ovlada" +CAPTION "Přidat herní ovladač" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_CPLSYSTEM, -1, 8, 7, 20, 20 - LTEXT "Vyberte hern ovlada ze seznamu ne, pot kliknte na tlatko OK. Pokud se v ovlada v seznamu nenachz, kliknte na tlatko Vlastn.", -1, 35, 7, 210, 33 - LTEXT "&Hern ovladae:", -1, 8, 45, 126, 8 + LTEXT "Vyberte herní ovladač ze seznamu níže, poté klikněte na tlačítko OK. Pokud se váš ovladač v seznamu nenachází, klikněte na tlačítko Vlastní.", -1, 35, 7, 210, 33 + LTEXT "&Herní ovladače:", -1, 8, 45, 126, 8 LISTBOX IDC_GAME_CONTROLLERS_LIST, 7, 55, 251, 57, LBS_STANDARD | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT | WS_HSCROLL | WS_TABSTOP - AUTOCHECKBOX "&Zapnout kormidlo a pedly", IDC_ENABLE_RUDDERS_CHECKBOX, 7, 114, 100, 10, WS_GROUP + AUTOCHECKBOX "&Zapnout kormidlo a pedály", IDC_ENABLE_RUDDERS_CHECKBOX, 7, 114, 100, 10, WS_GROUP LTEXT "&Port:", -1, 7, 134, 38, 8, NOT WS_VISIBLE COMBOBOX IDC_GAME_PORT_COMBO, 7, 147, 140, 50, CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL - PUSHBUTTON "&Vlastn...", IDC_CUSTOM_BUTTON, 208, 147, 50, 14 + PUSHBUTTON "&Vlastní...", IDC_CUSTOM_BUTTON, 208, 147, 50, 14 CONTROL "", -25525, "STATIC", SS_ETCHEDHORZ, 7, 170, 251, 1 DEFPUSHBUTTON "OK", IDOK, 155, 179, 50, 14 PUSHBUTTON "Storno", IDCANCEL, 208, 179, 50, 14 @@ -45,22 +45,22 @@ END IDD_CUSTOM DIALOGEX 0, 0, 265, 183, 0 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_SETFOREGROUND | WS_POPUPWINDOW | WS_CAPTION EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Vlastn hern ovlada" +CAPTION "Vlastní herní ovladač" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Zvltn charakteristiky", -1, 7, 7, 245, 52 + GROUPBOX "Zvláštní charakteristiky", -1, 7, 7, 245, 52 AUTORADIOBUTTON "&Joystick", IDC_JOYSTICK_RADIO, 17, 23, 55, 10 - AUTORADIOBUTTON "&Leteck dc pka nebo kormidlo", IDC_FLIGHT_YOKE_RADIO, 147, 23, 89, 10 + AUTORADIOBUTTON "&Letecká řídící páka nebo kormidlo", IDC_FLIGHT_YOKE_RADIO, 147, 23, 89, 10 AUTORADIOBUTTON "&Gamepad", IDC_GAME_PAD_RADIO, 17, 40, 65, 10 - AUTORADIOBUTTON "zen &auta", IDC_RACE_CAR_RADIO, 147, 40, 93, 10 + AUTORADIOBUTTON "Řízení &auta", IDC_RACE_CAR_RADIO, 147, 40, 93, 10 GROUPBOX "&Osy", -1, 7, 67, 116, 44, WS_GROUP COMBOBOX IDC_AXES_COMBO, 37, 79, 48, 50, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTORADIOBUTTON "Kormidlo/Pedly", IDC_RUDDER_PEDALS_RADIO, 14, 97, 63, 10, NOT WS_VISIBLE + AUTORADIOBUTTON "Kormidlo/Pedály", IDC_RUDDER_PEDALS_RADIO, 14, 97, 63, 10, NOT WS_VISIBLE AUTORADIOBUTTON "Osa Z", IDC_Z_AXIS_RADIO, 81, 97, 35, 10, NOT WS_VISIBLE - GROUPBOX "&Tlatka", -1, 137, 67, 116, 44 + GROUPBOX "&Tlačítka", -1, 137, 67, 116, 44 COMBOBOX IDC_BUTTONS_COMBO, 178, 79, 48, 50, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL, WS_EX_CLIENTEDGE - AUTOCHECKBOX "Obsahuje zen zo&rnho hlu", IDC_INC_POINT_CHECKBOX, 7, 123, 115, 10 - LTEXT "Nzev hernho &ovladae:", -1, 7, 139, 200, 9 + AUTOCHECKBOX "Obsahuje řízení zo&rného úhlu", IDC_INC_POINT_CHECKBOX, 7, 123, 115, 10 + LTEXT "Název herního &ovladače:", -1, 7, 139, 200, 9 EDITTEXT IDC_CONTROLLER_NAME_EDIT, 7, 150, 116, 15, ES_AUTOHSCROLL, WS_EX_CLIENTEDGE | WS_EX_STATICEDGE DEFPUSHBUTTON "OK", IDOK, 137, 150, 50, 14 PUSHBUTTON "Storno", IDCANCEL, 203, 150, 50, 14 @@ -69,21 +69,21 @@ END IDD_ADVANCED DIALOGEX 0, 0, 220, 86 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Rozen nastaven" +CAPTION "Rozšířené nastavení" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_CPLSYSTEM, -1, 7, 24, 20, 20 DEFPUSHBUTTON "OK", IDOK, 106, 65, 50, 14 PUSHBUTTON "Storno", IDCANCEL, 163, 65, 50, 14 - LTEXT "Vyberte zazen, kter chcete pouvat se starmi programy.", -1, 7, 7, 208, 10 - LTEXT "&Preferovan zazen:", -1, 34, 24, 70, 10 + LTEXT "Vyberte zařízení, které chcete používat se staršími programy.", -1, 7, 7, 208, 10 + LTEXT "&Preferované zařízení:", -1, 34, 24, 70, 10 COMBOBOX IDC_PREFERRED_DEV_COMBO, 34, 38, 179, 75, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL END STRINGTABLE BEGIN - IDS_CPLSYSTEMNAME "Hern ovladae" - IDS_CPLSYSTEMDESCRIPTION "Pidat, odebrat a konfigurovat hern ovladae jako napklad joysticky nebo gamepady." - IDS_CONTROLLER "Ovlada" + IDS_CPLSYSTEMNAME "Herní ovladače" + IDS_CPLSYSTEMDESCRIPTION "Přidat, odebrat a konfigurovat herní ovladače jako například joysticky nebo gamepady." + IDS_CONTROLLER "Ovladač" IDS_STATUS "Stav" END diff --git a/dll/cpl/mmsys/lang/cs-CZ.rc b/dll/cpl/mmsys/lang/cs-CZ.rc index e0207108160..364fb40c3e1 100644 --- a/dll/cpl/mmsys/lang/cs-CZ.rc +++ b/dll/cpl/mmsys/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/cpl/mmsys/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2009-02-02 + * UPDATED: 2014-04-25 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT @@ -12,19 +12,19 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 32, 32 LTEXT "", IDC_DEVICE_NAME, 40, 10, 194, 36 - GROUPBOX "Hlasitost zazen", -1, 7, 30, 230, 100 + GROUPBOX "Hlasitost zařízení", -1, 7, 30, 230, 100 CONTROL "", IDC_MUTE_ICON, "Static", SS_ICON | WS_VISIBLE, 17, 45, 32, 32 CONTROL "", IDC_VOLUME_TRACKBAR, "msctls_trackbar32", TBS_AUTOTICKS | TBS_ENABLESELRANGE | TBS_BOTTOM | TBS_HORZ | WS_TABSTOP, 65, 45, 140, 14 - LTEXT "Nzk", -1, 62, 66, 30, 17 - LTEXT "Vysok", -1, 195, 66, 30, 17 + LTEXT "Nízká", -1, 62, 66, 30, 17 + LTEXT "Vysoká", -1, 195, 66, 30, 17 CHECKBOX "&Ztlumit", IDC_MUTE_CHECKBOX, 50, 78, 140, 10 - CHECKBOX "Umstit &ikonu hlasitosti na panel loh", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 - PUSHBUTTON "&Upesnit...", IDC_ADVANCED_BTN, 150, 105, 75, 15 - GROUPBOX "Nastaven reproduktor", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80 + CHECKBOX "Umístit &ikonu hlasitosti na panel úloh", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 + PUSHBUTTON "&Upřesnit...", IDC_ADVANCED_BTN, 150, 105, 75, 15 + GROUPBOX "Nastavení reproduktorů", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80 CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 160, 70, 70 - LTEXT "Nastaven ne lze pout ke zmnn hlasitosti jednotlivch reproduktor a dalch nastaven.", -1, 70, 155, 150, 36 - PUSHBUTTON "&Hlasitost reproduktor...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 - PUSHBUTTON "U&pesnit...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 + LTEXT "Nastavení níže lze použít ke změnění hlasitosti jednotlivých reproduktorů a dalších nastavení.", -1, 70, 155, 150, 36 + PUSHBUTTON "&Hlasitost reproduktorů...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 + PUSHBUTTON "U&přesnit...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 END IDD_SOUNDS DIALOGEX 0, 0, 246, 228 @@ -32,18 +32,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Zvuky" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Zvukov schma je soubor zvuk, kter jsou pehrvny pi udlostech v systmu ReactOS a programech. Lze zvolit existujc schma nebo uloit jin, upraven.", -1, 8, 7, 230, 40 - LTEXT "Zvukov s&chma:", -1, 8, 42, 150, 17 + LTEXT "Zvukové schéma je soubor zvuků, které jsou přehrávány při událostech v systému ReactOS a programech. Lze zvolit existující schéma nebo uložit jiné, upravené.", -1, 8, 7, 230, 40 + LTEXT "Zvukové s&chéma:", -1, 8, 42, 150, 17 COMBOBOX IDC_SOUND_SCHEME, 8, 53, 230, 46, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Uloit jako...", IDC_SAVEAS_BTN, 134, 70, 50, 15 + PUSHBUTTON "&Uložit jako...", IDC_SAVEAS_BTN, 134, 70, 50, 15 PUSHBUTTON "&Smazat", IDC_DELETE_BTN, 188, 70, 50, 15 - LTEXT "Zvuky lze mnit kliknutm na programovou udlost v nsledujcm seznamu a vybrnm zvuku, kter m bt pehrn. Zmny lze uloit jako nov zvukov schma.", -1, 8, 90, 230, 40 - LTEXT "&Udlosti program:", -1, 8, 118, 150, 17 + LTEXT "Zvuky lze měnit kliknutím na programovou událost v následujícím seznamu a vybráním zvuku, který má být přehrán. Změny lze uložit jako nové zvukové schéma.", -1, 8, 90, 230, 40 + LTEXT "&Události programů:", -1, 8, 118, 150, 17 CONTROL "", IDC_SCHEME_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 8, 130, 230, 60, WS_EX_CLIENTEDGE LTEXT "&Zvuky:", IDC_TEXT_SOUND, 8, 194, 80, 17, WS_DISABLED COMBOBOX IDC_SOUND_LIST, 8, 205, 155, 146, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | WS_DISABLED PUSHBUTTON "", IDC_PLAY_SOUND, 168, 205, 15, 15, WS_DISABLED | BS_ICON - PUSHBUTTON "&Prochzet...", IDC_BROWSE_SOUND, 188, 205, 50, 15, WS_DISABLED + PUSHBUTTON "&Procházet...", IDC_BROWSE_SOUND, 188, 205, 50, 15, WS_DISABLED END IDD_AUDIO DIALOGEX 0, 0, 246, 228 @@ -51,25 +51,25 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Zvuk" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Pehrvn zvuku", -1, 7, 7, 230, 60 + GROUPBOX "Přehrávání zvuku", -1, 7, 7, 230, 60 ICON IDI_CPLICON, IDI_CPLICON, 15, 20, 32, 32 - LTEXT "&Vchoz zazen:", -1, 50, 20, 80, 17 + LTEXT "&Výchozí zařízení:", -1, 50, 20, 80, 17 COMBOBOX IDC_DEVICE_PLAY_LIST, 50, 30, 180, 46, CBS_DROPDOWNLIST PUSHBUTTON "&Hlasitost...", IDC_VOLUME1_BTN, 85, 47, 70, 15 - PUSHBUTTON "&Upesnit...", IDC_ADV2_BTN, 160, 47, 70, 15 - GROUPBOX "Zznam zvuku", -1, 7, 75, 230, 60 + PUSHBUTTON "&Upřesnit...", IDC_ADV2_BTN, 160, 47, 70, 15 + GROUPBOX "Záznam zvuku", -1, 7, 75, 230, 60 ICON IDI_MICROPHONE_ICON, IDI_MICROPHONE_ICON, 15, 88, 32, 32 - LTEXT "V&choz zazen:", -1, 50, 88, 80, 17 + LTEXT "Vý&chozí zařízení:", -1, 50, 88, 80, 17 COMBOBOX IDC_DEVICE_REC_LIST, 50, 98, 180, 46, CBS_DROPDOWNLIST PUSHBUTTON "H&lasitost...", IDC_VOLUME2_BTN, 85, 115, 70, 15 - PUSHBUTTON "U&pesnit...", IDC_ADV1_BTN, 160, 115, 70, 15 - GROUPBOX "Pehrvn MIDI hudby", -1, 7, 145, 230, 60 + PUSHBUTTON "U&přesnit...", IDC_ADV1_BTN, 160, 115, 70, 15 + GROUPBOX "Přehrávání MIDI hudby", -1, 7, 145, 230, 60 ICON IDI_MIDICON, IDI_MIDICON, 15, 158, 32, 32 - LTEXT "Vcho&z zazen:", -1, 50, 158, 80, 17 + LTEXT "Výcho&zí zařízení:", -1, 50, 158, 80, 17 COMBOBOX IDC_DEVICE_MIDI_LIST, 50, 168, 180, 46, CBS_DROPDOWNLIST PUSHBUTTON "Hl&asitost...", IDC_VOLUME3_BTN, 85, 185, 70, 15 PUSHBUTTON "&O produktu...", IDC_ADV3_BTN, 160, 185, 70, 15 - CHECKBOX "Pouva&t jen vchoz zazen", IDC_DEFAULT_DEV_CHECKBOX, 7, 212, 140, 10 + CHECKBOX "Používa&t jen výchozí zařízení", IDC_DEFAULT_DEV_CHECKBOX, 7, 212, 140, 10 END IDD_VOICE DIALOGEX 0, 0, 246, 228 @@ -77,19 +77,19 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Hlas" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Tato nastaven ovlivuj hlasitost a rozen volby pro pehrvn hlasu a zvolen zznamov zazen.", -1, 8, 7, 230, 40 - GROUPBOX "Pehrvn hlasu", -1, 7, 37, 230, 60 + LTEXT "Tato nastavení ovlivňují hlasitost a rozšířené volby pro přehrávání hlasu a zvolené záznamové zařízení.", -1, 8, 7, 230, 40 + GROUPBOX "Přehrávání hlasu", -1, 7, 37, 230, 60 ICON IDI_CPLICON, IDI_CPLICON, 15, 50, 32, 32 - LTEXT "&Vchoz zazen:", -1, 50, 50, 80, 17 + LTEXT "&Výchozí zařízení:", -1, 50, 50, 80, 17 COMBOBOX IDC_DEVICE_VOICE_LIST, 50, 60, 180, 46, CBS_DROPDOWNLIST PUSHBUTTON "&Hlasitost...", IDC_VOLUME4_BTN, 85, 77, 70, 15 - PUSHBUTTON "&Upesnit...", IDC_ADV4_BTN, 160, 77, 70, 15 - GROUPBOX "Zznam hlasu", -1, 7, 105, 230, 60 + PUSHBUTTON "&Upřesnit...", IDC_ADV4_BTN, 160, 77, 70, 15 + GROUPBOX "Záznam hlasu", -1, 7, 105, 230, 60 ICON IDI_MICROPHONE_ICON, IDI_MICROPHONE_ICON, 15, 118, 32, 32 - LTEXT "V&choz zazen:", -1, 50, 118, 80, 17 + LTEXT "Vý&chozí zařízení:", -1, 50, 118, 80, 17 COMBOBOX IDC_DEVICE_VOICE_REC_LIST, 50, 128, 180, 46, CBS_DROPDOWNLIST PUSHBUTTON "H&lasitost...", IDC_VOLUME5_BTN, 85, 145, 70, 15 - PUSHBUTTON "U&pesnit...", IDC_ADV5_BTN, 160, 145, 70, 15 + PUSHBUTTON "U&přesnit...", IDC_ADV5_BTN, 160, 145, 70, 15 PUSHBUTTON "&Otestovat hardware...", IDC_TEST_HARDWARE, 160, 175, 70, 15 END @@ -102,10 +102,10 @@ END IDD_SAVE_SCHEME_AS DIALOG 9, 23, 225, 54 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Uloit schma jako" +CAPTION "Uložit schéma jako" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Uloit toto zvukov schma jako:", -1, 7, 7, 212, 9 + LTEXT "&Uložit toto zvukové schéma jako:", -1, 7, 7, 212, 9 EDITTEXT 8960, 7, 17, 211, 14, ES_AUTOHSCROLL DEFPUSHBUTTON "OK", IDOK, 93, 36, 60, 14 PUSHBUTTON "Storno", IDCANCEL, 157, 36, 60, 14 @@ -117,156 +117,156 @@ CAPTION "Reproduktory" FONT 8, "MS Shell Dlg" BEGIN ICON 4379, -1, 7, 8, 20, 20 - LTEXT "Zvolte rozmstn reproduktor, kter nejvce odpovd souasnmu.", -1, 36, 8, 215, 27 + LTEXT "Zvolte rozmístění reproduktorů, které nejvíce odpovídá současnému.", -1, 36, 8, 215, 27 CONTROL 110, 5376, "STATIC", SS_BITMAP | SS_CENTERIMAGE, 37, 40, 209, 112, WS_EX_TRANSPARENT - LTEXT "&Rozmstn reproduktor:", 8502, 53, 169, 55, 10 + LTEXT "&Rozmístění reproduktorů:", 8502, 53, 169, 55, 10 COMBOBOX 5401, 52, 182, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP END IDD_PERFORMANCE1 DIALOG 0, 0, 257, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Vkon" +CAPTION "Výkon" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Tato nastaven ovlivuj, jak systm ReactOS pehrv zvuk. Mohou pomoci pi een problm se zvukem.", 8492, 34, 7, 218, 23 - GROUPBOX "Pehrvn zvuku", 8494, 7, 32, 243, 152 + LTEXT "Tato nastavení ovlivňují, jak systém ReactOS přehrává zvuk. Mohou pomoci při řešení problémů se zvukem.", 8492, 34, 7, 218, 23 + GROUPBOX "Přehrávání zvuku", 8494, 7, 32, 243, 152 ICON 4379, 8512, 8, 8, 20, 20 - LTEXT "&Hardwarov akcelerace:", 8495, 13, 56, 111, 14 + LTEXT "&Hardwarová akcelerace:", 8495, 13, 56, 111, 14 CONTROL "Slider1", 5395, "MSCTLS_TRACKBAR32", WS_GROUP | WS_TABSTOP | 0x00000401, 150, 54, 62, 18 - LTEXT "&Kvalita pevodu vzorkovn:", 8496, 13, 123, 103, 14 + LTEXT "&Kvalita převodu vzorkování:", 8496, 13, 123, 103, 14 CONTROL "Slider1", 5396, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 150, 121, 62, 18 - PUSHBUTTON "&Obnovit vchoz", 5400, 7, 191, 110, 14 - LTEXT "dn", 8497, 128, 56, 21, 10 - LTEXT "Pln", 8498, 214, 56, 21, 9 - LTEXT "Dobr", 8499, 128, 123, 21, 10 - LTEXT "Nejlep", 8500, 214, 123, 23, 9 - LTEXT "Tento string popisuje hardwarov nastaven pro zachytvac zazen", 5399, 13, 145, 227, 21 - LTEXT "Tento string popisuje hardwarov nastaven pro vykreslovac zazen", 5398, 13, 78, 227, 22 + PUSHBUTTON "&Obnovit výchozí", 5400, 7, 191, 110, 14 + LTEXT "Žádná", 8497, 128, 56, 21, 10 + LTEXT "Plná", 8498, 214, 56, 21, 9 + LTEXT "Dobrá", 8499, 128, 123, 21, 10 + LTEXT "Nejlepší", 8500, 214, 123, 23, 9 + LTEXT "Tento string popisuje hardwarové nastavení pro zachytávací zařízení", 5399, 13, 145, 227, 21 + LTEXT "Tento string popisuje hardwarové nastavení pro vykreslovací zařízení", 5398, 13, 78, 227, 22 END IDD_PERFORMANCE2 DIALOG 0, 0, 257, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Vkon" +CAPTION "Výkon" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Tato nastaven ovlivuj, jak systm ReactOS zaznamenv zvuk. Mohou pomoci pi een problm se zvukem.", 8492, 34, 7, 217, 20 - GROUPBOX "Zznam zvuku", 8494, 7, 29, 242, 122 + LTEXT "Tato nastavení ovlivňují, jak systém ReactOS zaznamenává zvuk. Mohou pomoci při řešení problémů se zvukem.", 8492, 34, 7, 217, 20 + GROUPBOX "Záznam zvuku", 8494, 7, 29, 242, 122 ICON 4380, 8512, 8, 7, 20, 20 - LTEXT "&Hardwarov akcelerace:", 8495, 13, 46, 103, 17 + LTEXT "&Hardwarová akcelerace:", 8495, 13, 46, 103, 17 CONTROL "Slider1", 5395, "MSCTLS_TRACKBAR32", WS_GROUP | WS_TABSTOP | 0x00000401, 150, 43, 62, 18 - LTEXT "&Kvalita pevodu vzorkovn:", 8496, 13, 103, 103, 17 + LTEXT "&Kvalita převodu vzorkování:", 8496, 13, 103, 103, 17 CONTROL "Slider1", 5396, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 150, 101, 62, 18 - PUSHBUTTON "&Obnovit vchoz", 5400, 9, 158, 110, 14 - LTEXT "dn", 8497, 125, 46, 24, 10 - LTEXT "Pln", 8498, 217, 46, 19, 9 - LTEXT "Dobr", 8499, 125, 103, 24, 10 - LTEXT "Nejlep", 8500, 217, 103, 19, 9 - LTEXT "Tento string popisuje hardwarov nastaven pro zachytvac zazen", 5399, 13, 125, 222, 21 - LTEXT "Tento string popisuje hardwarov nastaven pro vykreslovac zazen", 5398, 13, 68, 218, 24 + PUSHBUTTON "&Obnovit výchozí", 5400, 9, 158, 110, 14 + LTEXT "Žádná", 8497, 125, 46, 24, 10 + LTEXT "Plná", 8498, 217, 46, 19, 9 + LTEXT "Dobrá", 8499, 125, 103, 24, 10 + LTEXT "Nejlepší", 8500, 217, 103, 19, 9 + LTEXT "Tento string popisuje hardwarové nastavení pro zachytávací zařízení", 5399, 13, 125, 222, 21 + LTEXT "Tento string popisuje hardwarové nastavení pro vykreslovací zařízení", 5398, 13, 68, 218, 24 END IDD_SETUP1 DIALOG 0, 0, 227, 206 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Nastaven" +CAPTION "Nastavení" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "ReactOS zvuk", 10243, 7, 5, 213, 192 ICON 4393, 10241, 26, 26, 20, 20 - LTEXT "Tento pota neme pehrvat zvuk, protoe sluba zvuku systmu ReactOS nen sputna.", 10245, 60, 25, 150, 40 + LTEXT "Tento počítač nemůže přehrávat zvuk, protože služba zvuku systému ReactOS není spuštěna.", 10245, 60, 25, 150, 40 AUTOCHECKBOX "&Spustit ReactOS zvuk", 10253, 60, 68, 150, 9 - LTEXT "Poznmky", 10246, 58, 87, 150, 11 - LTEXT "1. Pro sputn tto sluby je teba bt sprvcem potae. Pokud nejste pihleni jako sprvce, bude vydno jmno a heslo sprvce.", 10247, 60, 100, 150, 40 - LTEXT "2. Po sputn ReactOS zvuku bude teba restartovat pota.", 10248, 60, 140, 150, 40 + LTEXT "Poznámky", 10246, 58, 87, 150, 11 + LTEXT "1. Pro spuštění této služby je třeba být správcem počítače. Pokud nejste přihlášeni jako správce, bude vyžádáno jméno a heslo správce.", 10247, 60, 100, 150, 40 + LTEXT "2. Po spuštění ReactOS zvuku bude třeba restartovat počítač.", 10248, 60, 140, 150, 40 END IDD_MULTICHANNEL DIALOG 0, 0, 227, 218 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Vcekanlov zvuk" +CAPTION "Vícekanálový zvuk" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Tady bude popis.", 9506, 8, 4, 212, 24 - LTEXT "Nzk", 9473, 65, 31, 14, 8 + LTEXT "Nízká", 9473, 65, 31, 14, 8 LTEXT "", 9472, 5, 31, 55, 8 CONTROL "Slider1", 9475, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 29, 108, 17 - LTEXT "Vysok", 9474, 202, 31, 17, 8 - LTEXT "Nzk", 9477, 65, 50, 14, 8 + LTEXT "Vysoká", 9474, 202, 31, 17, 8 + LTEXT "Nízká", 9477, 65, 50, 14, 8 LTEXT "", 9476, 5, 50, 55, 8 CONTROL "Slider1", 9479, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 48, 108, 17 - LTEXT "Vysok", 9478, 202, 50, 17, 8 - LTEXT "Nzk", 9481, 65, 69, 14, 8 + LTEXT "Vysoká", 9478, 202, 50, 17, 8 + LTEXT "Nízká", 9481, 65, 69, 14, 8 LTEXT "", 9480, 5, 69, 55, 8 CONTROL "Slider1", 9483, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 67, 108, 17 - LTEXT "Vysok", 9482, 202, 69, 17, 8 - LTEXT "Nzk", 9485, 65, 88, 14, 8 + LTEXT "Vysoká", 9482, 202, 69, 17, 8 + LTEXT "Nízká", 9485, 65, 88, 14, 8 LTEXT "", 9484, 5, 88, 55, 8 CONTROL "Slider1", 9487, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 86, 108, 17 - LTEXT "Vysok", 9486, 202, 88, 17, 8 - LTEXT "Nzk", 9489, 65, 107, 14, 8 + LTEXT "Vysoká", 9486, 202, 88, 17, 8 + LTEXT "Nízká", 9489, 65, 107, 14, 8 LTEXT "", 9488, 5, 107, 55, 8 CONTROL "Slider1", 9491, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 105, 108, 17 - LTEXT "Vysok", 9490, 202, 107, 17, 8 - LTEXT "Nzk", 9493, 65, 126, 14, 8 + LTEXT "Vysoká", 9490, 202, 107, 17, 8 + LTEXT "Nízká", 9493, 65, 126, 14, 8 LTEXT "", 9492, 5, 126, 55, 8 CONTROL "Slider1", 9495, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 124, 108, 17 - LTEXT "Vysok", 9494, 202, 126, 17, 8 - LTEXT "Nzk", 9497, 65, 145, 14, 8 + LTEXT "Vysoká", 9494, 202, 126, 17, 8 + LTEXT "Nízká", 9497, 65, 145, 14, 8 LTEXT "", 9496, 5, 145, 55, 8 CONTROL "Slider1", 9499, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 143, 108, 17 - LTEXT "Vysok", 9498, 202, 145, 17, 8 - LTEXT "Nzk", 9501, 65, 164, 14, 8 + LTEXT "Vysoká", 9498, 202, 145, 17, 8 + LTEXT "Nízká", 9501, 65, 164, 14, 8 LTEXT "", 9500, 5, 164, 55, 8 CONTROL "Slider1", 9503, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 162, 108, 17 - LTEXT "Vysok", 9502, 202, 164, 17, 8 - AUTOCHECKBOX "&Pohybovat vemi posuvnky najednou", 9504, 5, 185, 216, 9 - PUSHBUTTON "&Obnovit vchoz", 9505, 110, 199, 110, 14 + LTEXT "Vysoká", 9502, 202, 164, 17, 8 + AUTOCHECKBOX "&Pohybovat všemi posuvníky najednou", 9504, 5, 185, 216, 9 + PUSHBUTTON "&Obnovit výchozí", 9505, 110, 199, 110, 14 END IDD_SETUP2 DIALOG 0, 0, 227, 206 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Nastaven" +CAPTION "Nastavení" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "ReactOS zvuk", 10259, 7, 5, 213, 192 ICON 4394, 10257, 25, 25, 20, 20 - LTEXT "Sluba zvuku systmu ReactOS je nyn sputna. Zvuk nicmn nemus fungovat sprvn, dokud nebude systm ReactOS restartovn. Pokud chcete restartovat nyn, nejdve ulote svou prci a ukonete vechny sputn programy.", 10261, 60, 25, 150, 50 - LTEXT "Klepnutm na tlatko OK restartujete systm ReactOS.", 10262, 60, 75, 150, 20 - LTEXT "Pokud klepnete na tlatko Storno, bude teba pota restartovat pozdji, aby ReactOS zvuk fungoval sprvn.", 10263, 60, 100, 150, 40 + LTEXT "Služba zvuku systému ReactOS je nyní spuštěna. Zvuk nicméně nemusí fungovat správně, dokud nebude systém ReactOS restartován. Pokud chcete restartovat nyní, nejdříve uložte svou práci a ukončete všechny spuštěné programy.", 10261, 60, 25, 150, 50 + LTEXT "Klepnutím na tlačítko OK restartujete systém ReactOS.", 10262, 60, 75, 150, 20 + LTEXT "Pokud klepnete na tlačítko Storno, bude třeba počítač restartovat později, aby ReactOS zvuk fungoval správně.", 10263, 60, 100, 150, 40 END STRINGTABLE BEGIN - IDS_CPLNAME "Zvuky a zvukov zazen" - IDS_CPLDESCRIPTION "Uprav zvukov schma Vaeho potae, nebo nastav reproduktory a nahrvac zazen." - IDS_NO_SOUND "(Nen)" + IDS_CPLNAME "Zvuky a zvuková zařízení" + IDS_CPLDESCRIPTION "Upraví zvukové schéma Vašeho počítače, nebo nastaví reproduktory a nahrávací zařízení." + IDS_NO_SOUND "(Není)" IDS_NO_DEVICES "No Devices" 5825 "Chyba programu" - 5826 "Ukonen programu" - 5827 "Varovn pi kritickm stavu baterie" - 5828 "Pipojen zazen" - 5829 "Odpojen zazen" - 5830 "Nezdaen pipojen zazen" - 5831 "Vysypn koe" - 5832 "Varovn pi nzkm stavu baterie" + 5826 "Ukončení programu" + 5827 "Varování při kritickém stavu baterie" + 5828 "Připojení zařízení" + 5829 "Odpojení zařízení" + 5830 "Nezdařené připojení zařízení" + 5831 "Vysypání koše" + 5832 "Varování při nízkém stavu baterie" 5833 "Maximalizace" - 5834 "Vyvoln pkazu z nabdky" - 5835 "Vyvoln nabdky" + 5834 "Vyvolání příkazu z nabídky" + 5835 "Vyvolání nabídky" 5836 "Minimalizace" - 5837 "Oznmen o nov pot" - 5838 "Zahjen navigace" - 5839 "Sputn programu" - 5840 "Dokonen tisku" - 5841 "Obnoven z maximalizace" - 5842 "Obnoven z minimalizace" - 5843 "Hvzdika" - 5844 "Vchoz nastaven zvuku" - 5845 "Vstraha" - 5846 "Ukonen systmu ReactOS" - 5847 "Kritick zastaven" - 5848 "Systmov oznmen" - 5849 "Otzka" - 5850 "Sputn systmu ReactOS" - 5851 "Oteven nabdky Start" - 5852 "Odhlen od systmu ReactOS" - 5853 "Pihlen k systmu ReactOS" + 5837 "Oznámení o nové poště" + 5838 "Zahájení navigace" + 5839 "Spuštění programu" + 5840 "Dokončení tisku" + 5841 "Obnovení z maximalizace" + 5842 "Obnovení z minimalizace" + 5843 "Hvězdička" + 5844 "Výchozí nastavení zvuku" + 5845 "Výstraha" + 5846 "Ukončení systému ReactOS" + 5847 "Kritické zastavení" + 5848 "Systémová oznámení" + 5849 "Otázka" + 5850 "Spuštění systému ReactOS" + 5851 "Otevření nabídky Start" + 5852 "Odhlášení od systému ReactOS" + 5853 "Přihlášení k systému ReactOS" 5854 "ReactOS Explorer" END diff --git a/dll/cpl/mmsys/lang/de-DE.rc b/dll/cpl/mmsys/lang/de-DE.rc index 7bae399d53d..04bef41c6c7 100644 --- a/dll/cpl/mmsys/lang/de-DE.rc +++ b/dll/cpl/mmsys/lang/de-DE.rc @@ -17,7 +17,7 @@ BEGIN PUSHBUTTON "Er&weitert", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Lautsprechereinstellungen", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80 CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 160, 70, 70 - LTEXT "Verwenden Sie die unteren Einstellungen um die Lautstre einzelner Gerte und andere Einstellungen zu verndern.", -1, 70, 155, 150, 36 + LTEXT "Verwenden Sie die unteren Einstellungen um die Lautstrke einzelner Gerte und andere Einstellungen zu verndern.", -1, 70, 155, 150, 36 PUSHBUTTON "&Lautstrke...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "E&rweitert...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 END @@ -27,7 +27,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Klnge" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Ein Klangschema ist eine Sammlung von Klngen, die bestimmten Programmereignissen in ReactOS zugordnet sind. Sie knnen ein existierendes Schema auswhlen oder ein modifiziertes speichern.", -1, 8, 7, 230, 40 + LTEXT "Ein Klangschema ist eine Sammlung von Klngen, die bestimmten Programmereignissen in ReactOS zugeordnet sind. Sie knnen ein existierendes Schema auswhlen oder ein modifiziertes speichern.", -1, 8, 7, 230, 40 LTEXT "Klang&schema:", -1, 8, 42, 150, 17 COMBOBOX IDC_SOUND_SCHEME, 8, 53, 230, 46, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Sp&eichern unter...", IDC_SAVEAS_BTN, 120, 70, 65, 15 @@ -179,7 +179,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Multichannel" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bezeichung kommt hier rein.", 9506, 8, 4, 212, 24 + LTEXT "Bezeichnung erscheint hier.", 9506, 8, 4, 212, 24 LTEXT "Niedrig", 9473, 65, 31, 22, 8 LTEXT "", 9472, 5, 31, 55, 8 CONTROL "Slider1", 9475, "MSCTLS_TRACKBAR32", WS_TABSTOP | 0x00000401, 87, 29, 108, 17 diff --git a/dll/cpl/mmsys/mmsys.rc b/dll/cpl/mmsys/mmsys.rc index b8992f7d09e..0d2cc8833f0 100644 --- a/dll/cpl/mmsys/mmsys.rc +++ b/dll/cpl/mmsys/mmsys.rc @@ -66,9 +66,6 @@ IDB_SPEAKIMG BITMAP "resources/speaker.bmp" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif @@ -112,6 +109,9 @@ IDB_SPEAKIMG BITMAP "resources/speaker.bmp" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/powercfg/lang/cs-CZ.rc b/dll/cpl/powercfg/lang/cs-CZ.rc index 52afc5b3bc1..5b747dcb77d 100644 --- a/dll/cpl/powercfg/lang/cs-CZ.rc +++ b/dll/cpl/powercfg/lang/cs-CZ.rc @@ -2,142 +2,142 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_PROPPAGEPOWERSHEMES DIALOGEX 0, 0, 252, 237 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Schmata napjen" +CAPTION "Schémata napájení" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ACDC, IDI_ACDC, 7, 7, 28, 22 - LTEXT "Vyberte napjec schma, kter se nejvce hod pro tento pota. Vechny zmny nastaven se ulo do vybranho schmatu.", -1, 37, 6, 209, 36 - GROUPBOX "&Schma napjen", -1, 6, 43, 240, 50 + LTEXT "Vyberte napájecí schéma, které se nejvíce hodí pro tento počítač. Všechny změny nastavení se uloží do vybraného schématu.", -1, 37, 6, 209, 36 + GROUPBOX "&Schéma napájení", -1, 6, 43, 240, 50 COMBOBOX IDC_ENERGYLIST, 14, 54, 224, 92, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL - PUSHBUTTON "&Uloit jako...", IDC_SAVEAS_BTN, 109, 72, 70, 14, WS_DISABLED + PUSHBUTTON "&Uložit jako...", IDC_SAVEAS_BTN, 109, 72, 70, 14, WS_DISABLED PUSHBUTTON "&Odstranit", IDC_DELETE_BTN, 183, 72, 55, 14, WS_DISABLED - GROUPBOX "Neznm", IDC_GRPDETAIL, 6, 95, 240, 136 - LTEXT "Pokud je pota:", IDC_SAT, 12, 109, 60, 12 - LTEXT "Pipojen", IDC_SAC, 123, 110, 45, 15 + GROUPBOX "Neznámý", IDC_GRPDETAIL, 6, 95, 240, 136 + LTEXT "Pokud je počítač:", IDC_SAT, 12, 109, 60, 12 + LTEXT "Připojen", IDC_SAC, 123, 110, 45, 15 ICON IDI_AC, IDC_IAC, 97, 108, 21, 20 LTEXT "Funguje na baterie", IDC_SDC, 195, 110, 45, 15 ICON IDI_DC, IDC_IDC, 170, 108, 21, 20 LTEXT "Vypnout &monitor:", IDC_MONITOR, 13, 148, 84, 10 COMBOBOX IDC_MONITORACLIST, 100, 145, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MONITORDCLIST, 173, 145, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Vypnout pevn &disky:", IDC_DISK, 13, 171, 84, 10 + LTEXT "Vypnout pevné &disky:", IDC_DISK, 13, 171, 84, 10 COMBOBOX IDC_DISKACLIST, 100, 167, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_DISKDCLIST, 173, 167, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "sporn &reim:", IDC_STANDBY, 13, 191, 84, 10 + LTEXT "Úsporný &režim:", IDC_STANDBY, 13, 191, 84, 10 COMBOBOX IDC_STANDBYACLIST, 100, 188, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_STANDBYDCLIST, 173, 188, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "&Reim spnku:", IDC_HYBERNATE, 13, 212, 84, 10 + LTEXT "&Režim spánku:", IDC_HYBERNATE, 13, 212, 84, 10 COMBOBOX IDC_HYBERNATEACLIST, 100, 209, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_HYBERNATEDCLIST, 173, 209, 65, 150, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END IDD_PROPPAGEALARMS DIALOGEX 0, 0, 252, 237 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Varovn" +CAPTION "Varování" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Varovn o nzkm stavu baterie", -1, 10, 15, 235, 95 - CONTROL "Aktivovat &varovn o nzkm stavu baterie, kdy rove nabit doshne:", IDC_ALARM1, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 15, 17, 190, 15 - LTEXT "neznm", IDC_ALARMVALUE1, 209, 20, 33, 10 + GROUPBOX "Varování o nízkém stavu baterie", -1, 10, 15, 235, 95 + CONTROL "Aktivovat &varování o nízkém stavu baterie, když úroveň nabití dosáhne:", IDC_ALARM1, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 15, 17, 190, 15 + LTEXT "neznámá", IDC_ALARMVALUE1, 209, 20, 33, 10 LTEXT "0%", -1, 28, 43, 15, 10 CONTROL "Slider1", IDC_ALARMBAR1, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_TABSTOP, 42, 45, 170, 15 LTEXT "100%", -1, 214, 43, 25, 10 - PUSHBUTTON "&Akce pi varovn...", -1, 17, 69, 70, 14, WS_DISABLED - LTEXT "Oznmen:", -1, 95, 71, 57, 10 - LTEXT "Neznm", IDC_ALARMMSG1, 154, 71, 84, 10 + PUSHBUTTON "&Akce při varování...", -1, 17, 69, 70, 14, WS_DISABLED + LTEXT "Oznámení:", -1, 95, 71, 57, 10 + LTEXT "Neznámé", IDC_ALARMMSG1, 154, 71, 84, 10 LTEXT "Akce:", -1, 95, 83, 55, 10 - LTEXT "Neznm", IDC_ALARMAKTION1, 154, 83, 84, 10 + LTEXT "Neznámá", IDC_ALARMAKTION1, 154, 83, 84, 10 LTEXT "Spustit program:", -1, 95, 95, 55, 10 - LTEXT "Neznm", IDC_ALARMPROG1, 154, 95, 84, 10 - GROUPBOX "Varovn o kritickm stavu baterie", -1, 6, 120, 239, 106 - CONTROL "Aktivovat varovn o &kritickm stavu baterie, kdy rove nabit doshne:", IDC_ALARM2, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 15, 131, 180, 15 - LTEXT "neznm", IDC_ALARMVALUE2, 209, 133, 33, 10 + LTEXT "Neznámý", IDC_ALARMPROG1, 154, 95, 84, 10 + GROUPBOX "Varování o kritickém stavu baterie", -1, 6, 120, 239, 106 + CONTROL "Aktivovat varování o &kritickém stavu baterie, když úroveň nabití dosáhne:", IDC_ALARM2, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 15, 131, 180, 15 + LTEXT "neznámá", IDC_ALARMVALUE2, 209, 133, 33, 10 LTEXT "0%", -1, 28, 154, 15, 10 CONTROL "Slider1", IDC_ALARMBAR2, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_TABSTOP, 42, 158, 170, 15 LTEXT "100%", -1, 214, 154, 25, 10 - PUSHBUTTON "Akce &pi varovn...", -1, 17, 183, 70, 14, WS_DISABLED - LTEXT "Oznmen:", -1, 95, 185, 50, 10 - LTEXT "Neznm", IDC_ALARMMSG2, 154, 185, 84, 10 + PUSHBUTTON "Akce &při varování...", -1, 17, 183, 70, 14, WS_DISABLED + LTEXT "Oznámení:", -1, 95, 185, 50, 10 + LTEXT "Neznámé", IDC_ALARMMSG2, 154, 185, 84, 10 LTEXT "Akce:", -1, 95, 198, 45, 10 - LTEXT "Neznm", IDC_ALARMAKTION2, 154, 198, 84, 10 + LTEXT "Neznámá", IDC_ALARMAKTION2, 154, 198, 84, 10 LTEXT "Spustit program:", -1, 95, 211, 50, 10 - LTEXT "Neznm", IDC_ALARMPROG2, 154, 211, 84, 10 + LTEXT "Neznámý", IDC_ALARMPROG2, 154, 211, 84, 10 END IDD_PROPPAGEADVANCED DIALOGEX 0, 0, 252, 237 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Upesnit" +CAPTION "Upřesnit" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ACDC, IDI_ACDC, 7, 7, 20, 20 - LTEXT "Vyberte, kter nastaven snen spoteby chcete pout.", -1, 37, 6, 207, 20 - GROUPBOX "Monosti", -1, 6, 30, 240, 65 - CONTROL "Vdy zobrazovat &ikonu na hlavnm panelu", IDC_SYSTRAYBATTERYMETER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 43, 220, 10 - CONTROL "Dotzat se na &heslo pi pechodu z spornho reimu", IDC_PASSWORDLOGON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 60, 220, 10 - CONTROL "&Snit jas displeje pi chodu na baterie.", IDC_VIDEODIMDISPLAY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 78, 220, 10 - GROUPBOX "Tlatka napjen", -1, 6, 101, 240, 127 - LTEXT "&Pi sklopen displeje penosnho potae:", IDC_SLIDCLOSE, 15, 115, 222, 10 + LTEXT "Vyberte, které nastavení snížené spotřeby chcete použít.", -1, 37, 6, 207, 20 + GROUPBOX "Možnosti", -1, 6, 30, 240, 65 + CONTROL "Vždy zobrazovat &ikonu na hlavním panelu", IDC_SYSTRAYBATTERYMETER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 43, 220, 10 + CONTROL "Dotázat se na &heslo při přechodu z úsporného režimu", IDC_PASSWORDLOGON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 60, 220, 10 + CONTROL "&Snížit jas displeje při chodu na baterie.", IDC_VIDEODIMDISPLAY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 78, 220, 10 + GROUPBOX "Tlačítka napájení", -1, 6, 101, 240, 127 + LTEXT "&Při sklopení displeje přenosného počítače:", IDC_SLIDCLOSE, 15, 115, 222, 10 COMBOBOX IDC_LIDCLOSE, 15, 127, 220, 90, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "Pi stisknut tlatka &napjen:", IDC_SPOWERBUTTON, 15, 153, 222, 10 + LTEXT "Při stisknutí tlačítka &napájení:", IDC_SPOWERBUTTON, 15, 153, 222, 10 COMBOBOX IDC_POWERBUTTON, 15, 165, 220, 90, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "Pi stisknut tlatka reimu &spnku:", IDC_SSLEEPBUTTON, 15, 191, 222, 10 + LTEXT "Při stisknutí tlačítka režimu &spánku:", IDC_SSLEEPBUTTON, 15, 191, 222, 10 COMBOBOX IDC_SLEEPBUTTON, 15, 203, 220, 90, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP END IDD_PROPPAGEHIBERNATE DIALOGEX 0, 0, 252, 237 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Reim spnku" +CAPTION "Režim spánku" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_HIBERNATE, IDI_HIBERNATE, 7, 7, 20, 20 - LTEXT "Pokud V pota pejde do reimu spnku, ulo obsah sv pamti na pevn disk a vypne se. Po optovnm sputn se vrt do pvodnho stavu.", -1, 37, 6, 210, 35 - GROUPBOX "Reim spnku", -1, 6, 41, 240, 32 - CONTROL "Zapnout funkci reim &spnku", IDC_HIBERNATEFILE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 55, 210, 10 - GROUPBOX "Msto na disku potebn pro reim spnku", -1, 6, 80, 240, 76 - LTEXT "Voln msto:", -1, 15, 95, 140, 10 - LTEXT "Neznm", IDC_FREESPACE, 160, 95, 80, 10 - LTEXT "Potebn msto na disku:", -1, 15, 115, 140, 10 - LTEXT "Neznm", IDC_SPACEFORHIBERNATEFILE, 160, 115, 80, 10 - LTEXT "Pro funkci reim spnku muste uvolnit msto na disku. ", IDC_TOLESSFREESPACE, 15, 135, 224, 20 + LTEXT "Pokud Váš počítač přejde do režimu spánku, uloží obsah své paměti na pevný disk a vypne se. Po opětovném spuštění se vrátí do původního stavu.", -1, 37, 6, 210, 35 + GROUPBOX "Režim spánku", -1, 6, 41, 240, 32 + CONTROL "Zapnout funkci režim &spánku", IDC_HIBERNATEFILE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 17, 55, 210, 10 + GROUPBOX "Místo na disku potřebné pro režim spánku", -1, 6, 80, 240, 76 + LTEXT "Volné místo:", -1, 15, 95, 140, 10 + LTEXT "Neznámé", IDC_FREESPACE, 160, 95, 80, 10 + LTEXT "Potřebné místo na disku:", -1, 15, 115, 140, 10 + LTEXT "Neznámé", IDC_SPACEFORHIBERNATEFILE, 160, 115, 80, 10 + LTEXT "Pro funkci režim spánku musíte uvolnit místo na disku. ", IDC_TOLESSFREESPACE, 15, 135, 224, 20 END STRINGTABLE BEGIN - IDS_CPLNAME_1 "Monosti napjen" - IDS_CPLDESCRIPTION_1 "Nastav monosti napjen a eten energi pro tento pota." + IDS_CPLNAME_1 "Možnosti napájení" + IDS_CPLDESCRIPTION_1 "Nastaví možnosti napájení a šetření energií pro tento počítač." IDS_PROCENT "%i%%" IDS_SOUND "Zvuk" IDS_TEXT "Text" - IDS_CONFIG1 "Nastaven pro schma napjen %1" - IDS_CONFIG2 "Pokroil nastaven pro %1" - IDS_SIZEBYTS "%i byt" + IDS_CONFIG1 "Nastavení pro schéma napájení %1" + IDS_CONFIG2 "Pokročilá nastavení pro %1" + IDS_SIZEBYTS "%i bytů" IDS_SIZEMB "%i MB" - IDS_NOACTION "Nedlat nic" - IDS_PowerActionNone1 "dn akce" - IDS_PowerActionUnknown "Neznm" - IDS_PowerActionSleep "sporn reim" - IDS_PowerActionHibernate "Reim spnku" + IDS_NOACTION "Nedělat nic" + IDS_PowerActionNone1 "Žádná akce" + IDS_PowerActionUnknown "Neznámý" + IDS_PowerActionSleep "Úsporný režim" + IDS_PowerActionHibernate "Režim spánku" IDS_PowerActionShutdown "Vypnout" IDS_PowerActionRestart "Restartovat" - IDS_PowerActionShutdownOff "Vypnout a odpojit napjen" - IDS_PowerActionWarmEject "Zeptat se na poadovanou akci" - IDS_PowerActionNone2 "Nen" - IDS_TIMEOUT1 "Po 1 minut" - IDS_TIMEOUT2 "Po 2 minutch" - IDS_TIMEOUT3 "Po 3 minutch" - IDS_TIMEOUT4 "Po 5 minutch" - IDS_TIMEOUT5 "Po 10 minutch" - IDS_TIMEOUT6 "Po 15 minutch" - IDS_TIMEOUT7 "Po 20 minutch" - IDS_TIMEOUT8 "Po 25 minutch" - IDS_TIMEOUT9 "Po 30 minutch" - IDS_TIMEOUT10 "Po 45 minutch" - IDS_TIMEOUT11 "Po 1 hodin" - IDS_TIMEOUT12 "Po 2 hodinch" - IDS_TIMEOUT13 "Po 3 hodinch" - IDS_TIMEOUT14 "Po 4 hodinch" - IDS_TIMEOUT15 "Po 5 hodinch" + IDS_PowerActionShutdownOff "Vypnout a odpojit napájení" + IDS_PowerActionWarmEject "Zeptat se na požadovanou akci" + IDS_PowerActionNone2 "Není" + IDS_TIMEOUT1 "Po 1 minutě" + IDS_TIMEOUT2 "Po 2 minutách" + IDS_TIMEOUT3 "Po 3 minutách" + IDS_TIMEOUT4 "Po 5 minutách" + IDS_TIMEOUT5 "Po 10 minutách" + IDS_TIMEOUT6 "Po 15 minutách" + IDS_TIMEOUT7 "Po 20 minutách" + IDS_TIMEOUT8 "Po 25 minutách" + IDS_TIMEOUT9 "Po 30 minutách" + IDS_TIMEOUT10 "Po 45 minutách" + IDS_TIMEOUT11 "Po 1 hodině" + IDS_TIMEOUT12 "Po 2 hodinách" + IDS_TIMEOUT13 "Po 3 hodinách" + IDS_TIMEOUT14 "Po 4 hodinách" + IDS_TIMEOUT15 "Po 5 hodinách" IDS_TIMEOUT16 "Nikdy" - IDS_DEL_SCHEME "Opravdu si pejete smazat toto schma napjen?" - IDS_DEL_SCHEME_TITLE "Smazat schma" + IDS_DEL_SCHEME "Opravdu si přejete smazat toto schéma napájení?" + IDS_DEL_SCHEME_TITLE "Smazat schéma" END diff --git a/dll/cpl/powercfg/powercfg.rc b/dll/cpl/powercfg/powercfg.rc index 944667529f0..0a1e3ea2c9d 100644 --- a/dll/cpl/powercfg/powercfg.rc +++ b/dll/cpl/powercfg/powercfg.rc @@ -23,9 +23,6 @@ IDI_HIBERNATE ICON "resources/hibernate.ico" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DE_DE #include "lang/de-DE.rc" #endif @@ -72,6 +69,9 @@ IDI_HIBERNATE ICON "resources/hibernate.ico" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/sysdm/lang/de-DE.rc b/dll/cpl/sysdm/lang/de-DE.rc index bb39dbfb75d..76bad0e1082 100644 --- a/dll/cpl/sysdm/lang/de-DE.rc +++ b/dll/cpl/sysdm/lang/de-DE.rc @@ -139,7 +139,7 @@ CAPTION "Benutzerprofile" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_USERPROF, IDC_STATIC, 6, 11, 16, 16, SS_ICON - LTEXT "Benutzerprofile enthalten Desktopeinstellungen und andere Informationen bezüglich ihrer Anmeldung. Sie können unterschiedliche Profile, für jeden Computer, den Sie benutzen, einrichten, oder aber auch ein einziges Profil wählen, welches auf jedem Computer gleich ist.", IDC_STATIC, 40, 7, 204, 40 + LTEXT "Benutzerprofile enthalten Desktopeinstellungen und andere Informationen bezüglich ihrer Anmeldung. Sie können unterschiedliche Profile für jeden Computer, den Sie benutzen einrichten oder ein einziges Profil wählen, welches auf jedem Computer gleich ist.", IDC_STATIC, 40, 7, 204, 40 LTEXT "Auf diesem Computer gespeicherte Profile:", IDC_STATIC, 16, 51, 204, 9 CONTROL "", IDC_USERPROFILE_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 6, 66, 244, 85, WS_EX_CLIENTEDGE @@ -165,7 +165,7 @@ BEGIN CONTROL "", IDC_STRRECLISTUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13 LTEXT "Sek.", IDC_STATIC, 221, 56, 14, 8 - AUTOCHECKBOX "Anze&igedauer der Wiederherstellungs-Optionen:", IDC_STRRECREC, 14, 70, 165, 8 + AUTOCHECKBOX "Anze&igedauer der Wiederherstellungsoptionen:", IDC_STRRECREC, 14, 70, 165, 8 EDITTEXT IDC_STRRECRECEDIT, 185, 68, 30, 12, ES_NUMBER CONTROL "", IDC_STRRECRECUPDWN, "msctls_updown32", UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_CHILD | WS_VISIBLE, 0, 0, 8, 13 @@ -176,7 +176,7 @@ BEGIN AUTOCHECKBOX "Ereignis in das Systemprotokoll &eintragen", IDC_STRRECWRITEEVENT, 14, 124, 148, 10 AUTOCHECKBOX "Administrator-Warnmeldung &senden", IDC_STRRECSENDALERT, 14, 138, 148, 10 AUTOCHECKBOX "Automatisch &neu starten", IDC_STRRECRESTART, 14, 152, 145, 10 - GROUPBOX "Debug-Informationen schreiben", IDC_STATIC, 12, 167, 227, 76 + GROUPBOX "Debuginformationen schreiben", IDC_STATIC, 12, 167, 227, 76 COMBOBOX IDC_STRRECDEBUGCOMBO, 17, 182, 151, 49, CBS_DROPDOWNLIST LTEXT "Dump-&Datei:", IDC_STATIC, 17, 202, 150, 8 EDITTEXT IDC_STRRECDUMPFILE, 17, 210, 153, 12 @@ -269,7 +269,7 @@ BEGIN IDS_TERABYTE "TB RAM" IDS_PETABYTE "PB RAM" IDS_VARIABLE "Variable" - IDS_VALUE "Value" + IDS_VALUE "Wert" IDS_NO_DUMP "(Keine)" IDS_MINI_DUMP "Kleines Speicherabbild (64KB)" IDS_KERNEL_DUMP "Kernelspeicherabbild" diff --git a/dll/cpl/timedate/lang/cs-CZ.rc b/dll/cpl/timedate/lang/cs-CZ.rc index d747d5a2674..eb347436365 100644 --- a/dll/cpl/timedate/lang/cs-CZ.rc +++ b/dll/cpl/timedate/lang/cs-CZ.rc @@ -2,7 +2,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_DATETIMEPAGE DIALOGEX 0, 0, 252, 146 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Datum && as" +CAPTION "Datum && Čas" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "&Datum", -1, 4, 2, 122, 125 @@ -11,7 +11,7 @@ BEGIN CONTROL "", IDC_YEAR, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_NOTHOUSANDS | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 120, 17, 50, 12 CONTROL "", IDC_MONTHCALENDAR, "MonthCalWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 11, 37, 108, 80, WS_EX_CLIENTEDGE - GROUPBOX "&as", -1, 132, 2, 113, 125 + GROUPBOX "&Čas", -1, 132, 2, 113, 125 CONTROL "", IDC_TIMEPICKER, "SysDateTimePick32", DTS_TIMEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 144, 105, 90, 12 LTEXT "", IDC_TIMEZONE, 6, 132, 242, 11 CONTROL "", IDC_CLOCKWND, "ClockWndClass", WS_CHILD | WS_VISIBLE, 138, 12, 102, 89 @@ -19,39 +19,39 @@ END IDD_TIMEZONEPAGE DIALOGEX 0, 0, 252, 146 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "asov psmo" +CAPTION "Časové pásmo" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN COMBOBOX IDC_TIMEZONELIST, 5, 4, 241, 136, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP CONTROL "", IDC_WORLD_BACKGROUND, "Static", SS_OWNERDRAW, 5, 20, 240, 110, WS_EX_STATICEDGE - AUTOCHECKBOX "Provdt zmnu na letn as a zpt automaticky", + AUTOCHECKBOX "Provádět změnu na letní čas a zpět automaticky", IDC_AUTODAYLIGHT, 6, 132, 242, 11, WS_VISIBLE | WS_GROUP | WS_TABSTOP END IDD_INETTIMEPAGE DIALOGEX 0, 0, 252, 146 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "as v Internetu" +CAPTION "Čas v Internetu" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN COMBOBOX IDC_SERVERLIST, 65, 22, 117, 136, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - AUTOCHECKBOX "Automaticky synchronizovat as s asovm serverem v Internetu", + AUTOCHECKBOX "Automaticky synchronizovat čas s časovým serverem v Internetu", IDC_AUTOSYNC, 11, 7, 241, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP LTEXT "Server:", IDC_SERVERTEXT, 34, 22, 28, 13 PUSHBUTTON "Aktualizovat", IDC_UPDATEBUTTON, 187, 22, 49, 14 LTEXT "", IDC_SUCSYNC, 16, 54, 214, 23 LTEXT "", IDC_NEXTSYNC, 12, 96, 137, 12 - LTEXT "Synchronizace me probhnout pouze v ppad, e je pota pipojen k sti Internet.", -1, 12, 114, 225, 25 + LTEXT "Synchronizace může proběhnout pouze v případě, že je počítač připojen k síti Internet.", -1, 12, 114, 225, 25 END STRINGTABLE BEGIN - IDS_CPLNAME "Datum/as" - IDS_CPLDESCRIPTION "Nastavuje datum, as a zmny asovho psma." - IDS_TIMEZONETEXT "Aktuln asov psmo: %s" - IDS_TIMEZONEINVALID "Neplatn" - IDS_TIMEZONEUNKNOWN "Neznm" - IDS_INETTIMESUCSYNC "as byl spn synchronizovn z %s %s v %s" - IDS_INETTIMENEXTSYNC "Dal synchronizace: %s v %s" - IDS_INETTIMESYNCING "Prosm ekejte, zatmco systm ReactOS synchronizuje as s %s" - IDS_INETTIMEERROR "Pi synchronizaci asu s %s nastala chyba" + IDS_CPLNAME "Datum/Čas" + IDS_CPLDESCRIPTION "Nastavuje datum, čas a změny časového pásma." + IDS_TIMEZONETEXT "Aktuální časové pásmo: %s" + IDS_TIMEZONEINVALID "Neplatné" + IDS_TIMEZONEUNKNOWN "Neznámé" + IDS_INETTIMESUCSYNC "Čas byl úspěšně synchronizován z %s %s v %s" + IDS_INETTIMENEXTSYNC "Další synchronizace: %s v %s" + IDS_INETTIMESYNCING "Prosím čekejte, zatímco systém ReactOS synchronizuje čas s %s" + IDS_INETTIMEERROR "Při synchronizaci času s %s nastala chyba" END diff --git a/dll/cpl/timedate/lang/de-DE.rc b/dll/cpl/timedate/lang/de-DE.rc index f7f265dbd9f..c256914a328 100644 --- a/dll/cpl/timedate/lang/de-DE.rc +++ b/dll/cpl/timedate/lang/de-DE.rc @@ -2,7 +2,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL IDD_DATETIMEPAGE DIALOGEX 0, 0, 252, 146 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Datum & Uhrzeit" +CAPTION "Datum und Uhrzeit" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "&Datum", -1, 4, 2, 122, 125 @@ -37,7 +37,7 @@ BEGIN AUTOCHECKBOX "Automatisch mit einem Internetzeitserver synchronisieren", IDC_AUTOSYNC, 11, 7, 241, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP LTEXT "Server:", IDC_SERVERTEXT, 34, 22, 28, 13 - PUSHBUTTON "Jetzt updaten", IDC_UPDATEBUTTON, 187, 22, 49, 14 + PUSHBUTTON "Jetzt aktualisieren", IDC_UPDATEBUTTON, 187, 22, 49, 14 LTEXT "", IDC_SUCSYNC, 16, 54, 214, 23 LTEXT "", IDC_NEXTSYNC, 12, 96, 137, 12 LTEXT "Zum Synchronisieren muss der Computer mit dem Internet verbunden sein.", -1, 12, 114, 225, 25 @@ -50,8 +50,8 @@ BEGIN IDS_TIMEZONETEXT "Aktuelle Zeitzone: %s" IDS_TIMEZONEINVALID "Ungltig" IDS_TIMEZONEUNKNOWN "Unbekannt" - IDS_INETTIMESUCSYNC "Die Zeit wurde erfolgreich mit %s am %s um %s synchronisiert" - IDS_INETTIMENEXTSYNC "Nchste Synchronisierung am %s um %s" - IDS_INETTIMESYNCING "Bitte warten Sie, whrend ReactOS die Zeit mit %s synchronisiert" - IDS_INETTIMEERROR "Ein Fehler trat beim Synchronisieren mit %s auf" + IDS_INETTIMESUCSYNC "Die Zeit wurde erfolgreich mit %s am %s um %s synchronisiert." + IDS_INETTIMENEXTSYNC "Nchste Synchronisierung am %s um %s." + IDS_INETTIMESYNCING "Bitte warten Sie, whrend ReactOS die Zeit mit %s synchronisiert." + IDS_INETTIMEERROR "Ein Fehler trat beim Synchronisieren mit %s auf." END diff --git a/dll/cpl/timedate/timedate.rc b/dll/cpl/timedate/timedate.rc index 701c66f0897..34df4980078 100644 --- a/dll/cpl/timedate/timedate.rc +++ b/dll/cpl/timedate/timedate.rc @@ -20,9 +20,6 @@ IDC_WORLD BITMAP "resources/world.bmp" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" #endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif #ifdef LANGUAGE_DA_DK #include "lang/da-DK.rc" #endif @@ -78,6 +75,9 @@ IDC_WORLD BITMAP "resources/world.bmp" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif diff --git a/dll/cpl/usrmgr/lang/cs-CZ.rc b/dll/cpl/usrmgr/lang/cs-CZ.rc new file mode 100644 index 00000000000..96d2228182f --- /dev/null +++ b/dll/cpl/usrmgr/lang/cs-CZ.rc @@ -0,0 +1,218 @@ +/* FILE: dll/cpl/usrmgr/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * UPDATED: 2014-04-21 + */ + + LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +/* Dialogs */ + +IDD_USERS DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Uživatelé" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", IDC_USERS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | + LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE + PUSHBUTTON "&Přidat...", IDC_USERS_ADD, 87, 98, 50, 14 + PUSHBUTTON "&Odebrat", IDC_USERS_REMOVE, 141, 98, 50, 14 + PUSHBUTTON "&Vlastnosti", IDC_USERS_PROPERTIES, 195, 98, 50, 14 + AUTOCHECKBOX "Vyžadovat uživatelské jméno a heslo při spuštění sytému.", IDC_USERS_STARTUP_REQUIRE, 10, 118, 200, 14, WS_DISABLED + PUSHBUTTON "Reset Password", IDC_USERS_RESET, 165, 200, 80, 14, WS_DISABLED +END + +IDD_GROUPS DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Skupiny" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", IDC_GROUPS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | + LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE + PUSHBUTTON "&Přidat...", IDC_GROUPS_ADD, 87, 98, 50, 14 + PUSHBUTTON "&Odebrat", IDC_GROUPS_REMOVE, 141, 98, 50, 14 + PUSHBUTTON "&Vlastnosti", IDC_GROUPS_PROPERTIES, 195, 98, 50, 14 +END + +IDD_EXTRA DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Další" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tady zatím nic není", IDC_STATIC, 66, 90, 112, 8 +END + +IDD_USER_GENERAL DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Obecné" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "", IDC_USER_GENERAL_NAME, 7, 12, 112, 8 + LTEXT "Celé jméno:", -1, 7, 46, 63, 8 + EDITTEXT IDC_USER_GENERAL_FULL_NAME, 77, 43, 168, 13, ES_AUTOHSCROLL + LTEXT "Popis:", -1, 7, 64, 63, 8 + EDITTEXT IDC_USER_GENERAL_DESCRIPTION, 77, 61, 168, 13, ES_AUTOHSCROLL + AUTOCHECKBOX "Uživatel musí změnit heslo po prvním přihlášení", IDC_USER_GENERAL_FORCE_CHANGE, 7, 82, 210, 10 + AUTOCHECKBOX "Uživatel nemůže měnit heslo", IDC_USER_GENERAL_CANNOT_CHANGE, 7, 95, 210, 10 + AUTOCHECKBOX "Platnost hesla je neomezená", IDC_USER_GENERAL_NEVER_EXPIRES, 7, 108, 210, 10 + AUTOCHECKBOX "Účet je vypnutý", IDC_USER_GENERAL_DISABLED, 7, 121, 210, 10 + AUTOCHECKBOX "Účet je zamčený", IDC_USER_GENERAL_LOCKED, 7, 134, 210, 10 +END + +IDD_USER_MEMBERSHIP DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Členství" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Člen:", -1, 7, 7, 56, 8 + CONTROL "", IDC_USER_MEMBERSHIP_LIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 18, 238, 173, WS_EX_CLIENTEDGE + PUSHBUTTON "Přidat...", IDC_USER_MEMBERSHIP_ADD, 7, 197, 50, 14 + PUSHBUTTON "Odebrat", IDC_USER_MEMBERSHIP_REMOVE, 61, 197, 50, 14, WS_DISABLED +END + +IDD_USER_PROFILE DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Profil" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Uživatelský profil", -1, 7, 7, 238, 54 + LTEXT "Cesta k profilu:", -1, 16, 22, 55, 8 + EDITTEXT IDC_USER_PROFILE_PATH, 78, 19, 160, 13, ES_AUTOHSCROLL + LTEXT "Přihlašovací skript:", -1, 16, 40, 55, 8 + EDITTEXT IDC_USER_PROFILE_SCRIPT, 78, 37, 160, 13, ES_AUTOHSCROLL + GROUPBOX "Domovský adresář", -1, 7, 68, 238, 54 + AUTORADIOBUTTON "Místní cesta:", IDC_USER_PROFILE_LOCAL, 16, 83, 60, 10 + AUTORADIOBUTTON "Připojit:", IDC_USER_PROFILE_REMOTE, 16, 100, 60, 10 + EDITTEXT IDC_USER_PROFILE_LOCAL_PATH, 78, 81, 160, 13, ES_AUTOHSCROLL + COMBOBOX IDC_USER_PROFILE_DRIVE, 78, 99, 26, 160, CBS_DROPDOWNLIST | CBS_SORT | + WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL + LTEXT "k:", -1, 112, 101, 12, 8 + EDITTEXT IDC_USER_PROFILE_REMOTE_PATH, 130, 99, 108, 13, ES_AUTOHSCROLL +END + +IDD_GROUP_GENERAL DIALOGEX 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Obecné" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "", IDC_GROUP_GENERAL_NAME, 7, 12, 112, 8 + LTEXT "Popis:", -1, 7, 45, 46, 8 + EDITTEXT IDC_GROUP_GENERAL_DESCRIPTION, 65, 42, 180, 13, ES_AUTOHSCROLL + LTEXT "Členové:", -1, 7, 63, 45, 8 + CONTROL "", IDC_GROUP_GENERAL_MEMBERS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | + LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 74, 238, 117, WS_EX_CLIENTEDGE + PUSHBUTTON "Přidat...", IDC_GROUP_GENERAL_ADD, 7, 197, 50, 14 + PUSHBUTTON "Odebrat", IDC_GROUP_GENERAL_REMOVE, 61, 197, 50, 14, WS_DISABLED +END + +IDD_CHANGE_PASSWORD DIALOGEX 0, 0, 267, 74 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Změna hesla" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_EDIT_PASSWORD1, 107, 7, 153, 14, ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Nové heslo:", -1, 7, 10, 96, 8 + EDITTEXT IDC_EDIT_PASSWORD2, 107, 25, 153, 14, ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Nové heslo znovu:", -1, 7, 28, 96, 8 + DEFPUSHBUTTON "OK", IDOK, 156, 53, 50, 14 + PUSHBUTTON "Storno", IDCANCEL, 210, 53, 50, 14 +END + +IDD_USER_NEW DIALOGEX 0, 0, 267, 200 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Nový uživatel" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_USER_NEW_NAME, 107, 7, 153, 14, ES_AUTOHSCROLL + RTEXT "Uživatelské jméno:", -1, 7, 10, 96, 8 + EDITTEXT IDC_USER_NEW_FULL_NAME, 107, 25, 153, 14, ES_AUTOHSCROLL + RTEXT "Celé jméno uživatele:", -1, 7, 28, 96, 8 + EDITTEXT IDC_USER_NEW_DESCRIPTION, 107, 43, 153, 14, ES_AUTOHSCROLL + RTEXT "Popis:", -1, 7, 46, 96, 8 + EDITTEXT IDC_USER_NEW_PASSWORD1, 107, 67, 153, 14, ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Heslo:", -1, 7, 70, 96, 8 + EDITTEXT IDC_USER_NEW_PASSWORD2, 107, 85, 153, 14, ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Heslo znovu:", -1, 7, 88, 96, 8 + AUTOCHECKBOX "Uživatel musí změnit heslo po prvním přihlášení", IDC_USER_NEW_FORCE_CHANGE, 7, 109, 200, 10 + AUTOCHECKBOX "Uživatel nemůže měnit heslo", IDC_USER_NEW_CANNOT_CHANGE, 7, 123, 200, 10, WS_DISABLED + AUTOCHECKBOX "Platnost hesla je neomezená", IDC_USER_NEW_NEVER_EXPIRES, 7, 137, 200, 10, WS_DISABLED + AUTOCHECKBOX "Účet je vypnutý", IDC_USER_NEW_DISABLED, 7, 151, 200, 10 + DEFPUSHBUTTON "OK", IDOK, 156, 179, 50, 14, WS_DISABLED + PUSHBUTTON "Storno", IDCANCEL, 210, 179, 50, 14 +END + +IDD_GROUP_NEW DIALOGEX 0, 0, 267, 74 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Nová skupina" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_GROUP_NEW_NAME, 107, 7, 153, 14, ES_AUTOHSCROLL + RTEXT "Jméno skupiny:", -1, 7, 10, 96, 8 + EDITTEXT IDC_GROUP_NEW_DESCRIPTION, 107, 25, 153, 14, ES_AUTOHSCROLL + RTEXT "Popis:", -1, 7, 28, 96, 8 + DEFPUSHBUTTON "OK", IDOK, 156, 53, 50, 14, WS_DISABLED + PUSHBUTTON "Storno", IDCANCEL, 210, 53, 50, 14 +END + +IDD_USER_ADD_MEMBERSHIP DIALOGEX 0, 0, 252, 223 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Členství ve skupině" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Člen:", -1, 7, 7, 56, 8 + CONTROL "", IDC_USER_ADD_MEMBERSHIP_LIST, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 18, 238, 173, WS_EX_CLIENTEDGE + DEFPUSHBUTTON "OK", IDOK, 141, 197, 50, 14 + PUSHBUTTON "Storno", IDCANCEL, 195, 197, 50, 14 +END + +/* Menus */ + +IDM_POPUP_GROUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Nová skupina...", IDM_GROUP_NEW + END + POPUP "" + BEGIN + MENUITEM "Přidat člena", IDM_GROUP_ADD_MEMBER, GRAYED + MENUITEM SEPARATOR + MENUITEM "Odstranit", IDM_GROUP_DELETE + MENUITEM "Přejmenovat", IDM_GROUP_RENAME + MENUITEM SEPARATOR + MENUITEM "Vlastnosti", IDM_GROUP_PROPERTIES + END +END + +IDM_POPUP_USER MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Nový uživatel...", IDM_USER_NEW + END + POPUP "" + BEGIN + MENUITEM "Změnit heslo", IDM_USER_CHANGE_PASSWORD + MENUITEM SEPARATOR + MENUITEM "Odstranit", IDM_USER_DELETE + MENUITEM "Přejmenovat", IDM_USER_RENAME + MENUITEM SEPARATOR + MENUITEM "Vlastnosti", IDM_USER_PROPERTIES + END +END + +/* Strings */ + +STRINGTABLE +BEGIN + IDS_CPLNAME "Uživatelské účty" + IDS_CPLDESCRIPTION "Spravuje uživatele a skupiny." +END + +STRINGTABLE +BEGIN + IDS_NAME "Jméno" + IDS_FULLNAME "Celé jméno" + IDS_DESCRIPTION "Popis" +END diff --git a/dll/cpl/usrmgr/lang/de-DE.rc b/dll/cpl/usrmgr/lang/de-DE.rc index 1ea06e779c3..56ed5210696 100644 --- a/dll/cpl/usrmgr/lang/de-DE.rc +++ b/dll/cpl/usrmgr/lang/de-DE.rc @@ -1,10 +1,5 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL -/* - * Attention Translators: - * DO NOT TRANSLATE THESE RESOURCES YET! - */ - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 @@ -54,7 +49,7 @@ BEGIN AUTOCHECKBOX "Benutzer muss das Passwort bei der ersten Anmeldung ndern", IDC_USER_GENERAL_FORCE_CHANGE, 7, 82, 230, 10 AUTOCHECKBOX "Benutzer kann das Passwort nicht ndern", IDC_USER_GENERAL_CANNOT_CHANGE, 7, 95, 210, 10 AUTOCHECKBOX "Passwort luft nie ab", IDC_USER_GENERAL_NEVER_EXPIRES, 7, 108, 210, 10 - AUTOCHECKBOX "Konto ist deativiert", IDC_USER_GENERAL_DISABLED, 7, 121, 210, 10 + AUTOCHECKBOX "Konto ist deaktiviert", IDC_USER_GENERAL_DISABLED, 7, 121, 210, 10 AUTOCHECKBOX "Konto ist gesperrt", IDC_USER_GENERAL_LOCKED, 7, 134, 210, 10 END diff --git a/dll/cpl/usrmgr/lang/en-US.rc b/dll/cpl/usrmgr/lang/en-US.rc index ec23327e02c..ef1f2dcee1b 100644 --- a/dll/cpl/usrmgr/lang/en-US.rc +++ b/dll/cpl/usrmgr/lang/en-US.rc @@ -1,10 +1,5 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -/* - * Attention Translators: - * DO NOT TRANSLATE THESE RESOURCES YET! - */ - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 diff --git a/dll/cpl/usrmgr/lang/fr-FR.rc b/dll/cpl/usrmgr/lang/fr-FR.rc index 7c7812e705e..463b14b84e7 100644 --- a/dll/cpl/usrmgr/lang/fr-FR.rc +++ b/dll/cpl/usrmgr/lang/fr-FR.rc @@ -1,6 +1,5 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 diff --git a/dll/cpl/usrmgr/lang/he-IL.rc b/dll/cpl/usrmgr/lang/he-IL.rc index d4b3327ec8d..4491055908a 100644 --- a/dll/cpl/usrmgr/lang/he-IL.rc +++ b/dll/cpl/usrmgr/lang/he-IL.rc @@ -1,10 +1,5 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT -/* - * Attention Translators: - * DO NOT TRANSLATE THESE RESOURCES YET! - */ - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 diff --git a/dll/cpl/usrmgr/lang/ru-RU.rc b/dll/cpl/usrmgr/lang/ru-RU.rc index 9c734d3bac5..7e79213af95 100644 --- a/dll/cpl/usrmgr/lang/ru-RU.rc +++ b/dll/cpl/usrmgr/lang/ru-RU.rc @@ -1,10 +1,5 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT -/* - * Attention Translators: - * DO NOT TRANSLATE THESE RESOURCES YET! - */ - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 diff --git a/dll/cpl/usrmgr/lang/uk-UA.rc b/dll/cpl/usrmgr/lang/uk-UA.rc index 87794ebc446..1299d85a801 100644 --- a/dll/cpl/usrmgr/lang/uk-UA.rc +++ b/dll/cpl/usrmgr/lang/uk-UA.rc @@ -1,10 +1,5 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT -/* - * Attention Translators: - * DO NOT TRANSLATE THESE RESOURCES YET! - */ - /* Dialogs */ IDD_USERS DIALOGEX 0, 0, 252, 223 diff --git a/dll/cpl/usrmgr/usrmgr.rc b/dll/cpl/usrmgr/usrmgr.rc index 0fe2763b982..2cecdc45a77 100644 --- a/dll/cpl/usrmgr/usrmgr.rc +++ b/dll/cpl/usrmgr/usrmgr.rc @@ -37,6 +37,9 @@ IDI_GROUP ICON "resources/group.ico" /* UTF-8 */ #pragma code_page(65001) +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif diff --git a/dll/directx/wine/quartz/avisplit.c b/dll/directx/wine/quartz/avisplit.c index f3c8ddce968..f651cf78167 100644 --- a/dll/directx/wine/quartz/avisplit.c +++ b/dll/directx/wine/quartz/avisplit.c @@ -803,7 +803,7 @@ static HRESULT AVISplitter_ProcessStreamList(AVISplitterImpl * This, const BYTE TRACE("dwChunkId: %.4s\n", (const char *)&pIndex->dwChunkId); if (pIndex->dwReserved[0]) TRACE("dwReserved[0]: %u\n", pIndex->dwReserved[0]); - if (pIndex->dwReserved[2]) + if (pIndex->dwReserved[1]) TRACE("dwReserved[1]: %u\n", pIndex->dwReserved[1]); if (pIndex->dwReserved[2]) TRACE("dwReserved[2]: %u\n", pIndex->dwReserved[2]); diff --git a/dll/ntdll/def/ntdll.spec b/dll/ntdll/def/ntdll.spec index e6f87994c59..c649d574d51 100644 --- a/dll/ntdll/def/ntdll.spec +++ b/dll/ntdll/def/ntdll.spec @@ -175,7 +175,7 @@ @ stdcall NtGetCurrentProcessorNumber() ; 5.2 and higher @ stdcall NtGetDevicePowerState(ptr ptr) @ stdcall NtGetPlugPlayEvent(long long ptr long) -@ stdcall -stub NtGetTickCount() +@ stdcall NtGetTickCount() RtlGetTickCount @ stdcall NtGetWriteWatch(long long ptr long ptr ptr ptr) @ stdcall NtImpersonateAnonymousToken(ptr) @ stdcall NtImpersonateClientOfPort(ptr ptr) @@ -1051,7 +1051,7 @@ @ stdcall ZwGetCurrentProcessorNumber() @ stdcall ZwGetDevicePowerState(ptr ptr) @ stdcall ZwGetPlugPlayEvent(long long ptr long) -;@ stdcall ZwGetTickCount() NtGetTickCount +@ stdcall ZwGetTickCount() RtlGetTickCount @ stdcall ZwGetWriteWatch(long long ptr long ptr ptr ptr) NtGetWriteWatch @ stdcall ZwImpersonateAnonymousToken(ptr) @ stdcall ZwImpersonateClientOfPort(ptr ptr) NtImpersonateClientOfPort diff --git a/dll/ntdll/rtl/libsupp.c b/dll/ntdll/rtl/libsupp.c index 9ceb2b0bda2..69d58f36f89 100644 --- a/dll/ntdll/rtl/libsupp.c +++ b/dll/ntdll/rtl/libsupp.c @@ -613,4 +613,32 @@ RtlpSafeCopyMemory( return STATUS_SUCCESS; } +/* FIXME: code duplication with kernel32/client/time.c */ +ULONG +NTAPI +RtlGetTickCount(VOID) +{ + ULARGE_INTEGER TickCount; + +#ifdef _WIN64 + TickCount.QuadPart = *((volatile ULONG64*)&SharedUserData->TickCount); +#else + while (TRUE) + { + TickCount.HighPart = (ULONG)SharedUserData->TickCount.High1Time; + TickCount.LowPart = SharedUserData->TickCount.LowPart; + + if (TickCount.HighPart == (ULONG)SharedUserData->TickCount.High2Time) + break; + + YieldProcessor(); + } +#endif + + return (ULONG)((UInt32x32To64(TickCount.LowPart, + SharedUserData->TickCountMultiplier) >> 24) + + UInt32x32To64((TickCount.HighPart << 8) & 0xFFFFFFFF, + SharedUserData->TickCountMultiplier)); +} + /* EOF */ diff --git a/dll/shellext/deskadp/lang/de-DE.rc b/dll/shellext/deskadp/lang/de-DE.rc index 3105ec86cf4..df4b79c7c03 100644 --- a/dll/shellext/deskadp/lang/de-DE.rc +++ b/dll/shellext/deskadp/lang/de-DE.rc @@ -40,8 +40,8 @@ BEGIN IDES_REFRESHRATEFMT "%d Hertz" IDS_4BPP "16 Farben" IDS_8BPP "256 Farben" - IDS_15BPP "High Color (15 bit)" - IDS_16BPP "High Color (16 bit)" - IDS_24BPP "True Color (24 bit)" - IDS_32BPP "True Color (32 bit)" + IDS_15BPP "High Color (15 Bit)" + IDS_16BPP "High Color (16 Bit)" + IDS_24BPP "True Color (24 Bit)" + IDS_32BPP "True Color (32 Bit)" END diff --git a/dll/shellext/slayer/lang/de-DE.rc b/dll/shellext/slayer/lang/de-DE.rc index 552f311a8c5..fd4894d3f83 100644 --- a/dll/shellext/slayer/lang/de-DE.rc +++ b/dll/shellext/slayer/lang/de-DE.rc @@ -5,7 +5,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Kompatibilitt" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "Falls dieses Programm Probleme verursacht, whlen Sie den zutreffenden Kompatibilittsmodus, der mit der Betriebssystem-Version bereinstimmt, unter der das Programm korrekt funktionierte.", -1, 7, 7, 210, 31 + LTEXT "Falls dieses Programm Probleme verursacht, whlen Sie einen Kompatibilittsmodus, unter dem das Programm mglicherweise korrekt funktioniert.", -1, 7, 7, 210, 31 GROUPBOX "Kompatibilittsmodus", IDC_COMPATGROUP, 7, 41, 210, 49 CHECKBOX "Programm im Kompatibilittsmodus ausfhren fr:", IDC_CHKRUNCOMPATIBILITY, 18, 57, 188, 10, BS_AUTOCHECKBOX | WS_TABSTOP COMBOBOX IDC_COMPATIBILITYMODE, 18, 70, 188, 85, CBS_HASSTRINGS | CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED @@ -33,5 +33,5 @@ END STRINGTABLE BEGIN IDS_SLAYER "Slayer" - IDS_DESCRIPTION "Anwendungs-Kompatibilittsschicht Shell Erweiterung" + IDS_DESCRIPTION "Shell-Erweiterung der Anwendungs-Kompatibilittsschicht" END diff --git a/dll/win32/aclui/lang/de-DE.rc b/dll/win32/aclui/lang/de-DE.rc index 5465cc44900..1e4a757c631 100644 --- a/dll/win32/aclui/lang/de-DE.rc +++ b/dll/win32/aclui/lang/de-DE.rc @@ -5,7 +5,7 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_CAPTION CAPTION "Sicherheit" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "&Gruppen oder Benutzernamen:", -1, 7, 21, 105, 8 + LTEXT "&Gruppen- oder Benutzernamen:", -1, 7, 21, 105, 8 CONTROL "", IDC_PRINCIPALS, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 7, 31, 213, 52, WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE LTEXT "&Besitzer:", -1, 7, 7, 49, 8 EDITTEXT IDC_OWNER, 63, 4, 156, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_READONLY diff --git a/dll/win32/atl/CMakeLists.txt b/dll/win32/atl/CMakeLists.txt index 1d7d6bbc536..580e31c495b 100644 --- a/dll/win32/atl/CMakeLists.txt +++ b/dll/win32/atl/CMakeLists.txt @@ -23,6 +23,5 @@ add_library(atl SHARED ${SOURCE} rsrc.rc) set_module_type(atl win32dll) target_link_libraries(atl uuid wine) add_importlibs(atl oleaut32 ole32 user32 gdi32 advapi32 msvcrt kernel32 ntdll) -add_dependencies(atl atl_atliface_header) add_pch(atl precomp.h SOURCE) add_cd_file(TARGET atl DESTINATION reactos/system32 FOR all) diff --git a/dll/win32/comctl32/lang/comctl_De.rc b/dll/win32/comctl32/lang/comctl_De.rc index 98e3edc4866..702468a35fa 100644 --- a/dll/win32/comctl32/lang/comctl_De.rc +++ b/dll/win32/comctl32/lang/comctl_De.rc @@ -57,7 +57,7 @@ END IDD_WIZARD DIALOG 0, 0, 290, 159 STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Wizard" +CAPTION "Assistent" FONT 8, "MS Shell Dlg" BEGIN PUSHBUTTON "< &Zurück", IDC_BACK_BUTTON,56,138,55,14 @@ -79,12 +79,12 @@ BEGIN DEFPUSHBUTTON "&Schließen", IDCANCEL,320,6,70,14 PUSHBUTTON "&Zurücksetzen", IDC_RESET_BTN,320,23,70,14 PUSHBUTTON "&Hilfe", IDC_HELP_BTN,320,40,70,14 - PUSHBUTTON "Nach &Oben verschieben", IDC_MOVEUP_BTN,320,74,70,14 - PUSHBUTTON "Nach &Unten verschieben", IDC_MOVEDN_BTN,320,91,70,14 - LTEXT "&Vorhandene Knöpfe:", -1,4,5,120,10 + PUSHBUTTON "Nach &oben verschieben", IDC_MOVEUP_BTN,320,74,70,14 + PUSHBUTTON "Nach &unten verschieben", IDC_MOVEDN_BTN,320,91,70,14 + LTEXT "&Vorhandene Buttons:", -1,4,5,120,10 LISTBOX IDC_AVAILBTN_LBOX,5,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP PUSHBUTTON "H&inzufügen ->", IDOK, 132, 42, 55, 14 PUSHBUTTON "<- &Löschen", IDC_REMOVE_BTN,132,62,55,14 - LTEXT "Symbolleis&tenknöpfe:", -1,194,5,120,10 + LTEXT "Symbolleis&tenbuttons:", -1,194,5,120,10 LISTBOX IDC_TOOLBARBTN_LBOX, 194,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP END diff --git a/dll/win32/comctl32/treeview.c b/dll/win32/comctl32/treeview.c index ec60708de55..73e5ca0a3c9 100644 --- a/dll/win32/comctl32/treeview.c +++ b/dll/win32/comctl32/treeview.c @@ -5242,6 +5242,10 @@ TREEVIEW_KeyDown(TREEVIEW_INFO *infoPtr, WPARAM wParam) newSelection = TREEVIEW_GetNextListItem(infoPtr, prevItem); break; + case VK_RETURN: + TREEVIEW_SendSimpleNotify(infoPtr, NM_RETURN); + break; + case VK_HOME: newSelection = infoPtr->root->firstChild; break; diff --git a/dll/win32/comdlg32/lang/cdlg_De.rc b/dll/win32/comdlg32/lang/cdlg_De.rc index c92c5ccb0c4..b5a264f03c8 100644 --- a/dll/win32/comdlg32/lang/cdlg_De.rc +++ b/dll/win32/comdlg32/lang/cdlg_De.rc @@ -66,7 +66,7 @@ Bitte geben Sie eine Zahl zwischen 1 und %d ein." PD32_DRIVER_UNKNOWN "Unbekannter Druckertreiber." PD32_NO_DEVICES "Bevor Sie Drucker-relevante Aufgaben ausführen können, wie die Seiteneinrichtung oder ein Dokument zu drucken, müssen Sie einen Drucker installieren. Bitte führen Sie dies zuerst aus und versuchen Sie es erneut." - PD32_DEFAULT_PRINTER "Standard Drucker; " + PD32_DEFAULT_PRINTER "Standarddrucker; " PD32_NR_OF_DOCUMENTS_IN_QUEUE "Es sind %d Dokumente in der Warteschlange" PD32_MARGINS_IN_INCHES "Ränder [Zoll]" PD32_MARGINS_IN_MILLIMETERS "Ränder [mm]" @@ -80,16 +80,16 @@ Bitte geben Sie eine Zahl zwischen 1 und %d ein." PD32_PRINTER_STATUS_PAPER_OUT "Papierfach leer; " PD32_PRINTER_STATUS_MANUAL_FEED "Papier manuell zuführen; " PD32_PRINTER_STATUS_PAPER_PROBLEM "Papierproblem; " - PD32_PRINTER_STATUS_OFFLINE "Drucker ist offline; " + PD32_PRINTER_STATUS_OFFLINE "Drucker ist unerreichbar; " PD32_PRINTER_STATUS_IO_ACTIVE "Datenübertragung; " PD32_PRINTER_STATUS_BUSY "Beschäftigt; " - PD32_PRINTER_STATUS_PRINTING "Druckend; " - PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Ausgabe Fach ist voll; " + PD32_PRINTER_STATUS_PRINTING "Druckt; " + PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Ausgabefach ist voll; " PD32_PRINTER_STATUS_NOT_AVAILABLE "Nicht vorhanden; " - PD32_PRINTER_STATUS_WAITING "Wartend; " + PD32_PRINTER_STATUS_WAITING "Warten; " PD32_PRINTER_STATUS_PROCESSING "In Bearbeitung; " - PD32_PRINTER_STATUS_INITIALIZING "Initialisierend; " - PD32_PRINTER_STATUS_WARMING_UP "Aufwärmend; " + PD32_PRINTER_STATUS_INITIALIZING "Initialisierung; " + PD32_PRINTER_STATUS_WARMING_UP "Aufwärmen; " PD32_PRINTER_STATUS_TONER_LOW "Tonerstand niedrig; " PD32_PRINTER_STATUS_NO_TONER "Kein Toner mehr; " PD32_PRINTER_STATUS_PAGE_PUNT "Seitenausgabe; " @@ -123,7 +123,7 @@ STRINGTABLE /* Color names */ IDS_COLOR_LIME "Hellgrün" IDS_COLOR_YELLOW "Gelb" IDS_COLOR_BLUE "Blau" - IDS_COLOR_FUCHSIA "Fuchsin" + IDS_COLOR_FUCHSIA "Fuchsie" IDS_COLOR_AQUA "Aquamarin" IDS_COLOR_WHITE "Weiß" } @@ -193,7 +193,7 @@ FONT 8, "MS Shell Dlg" { LTEXT "Drucker:", stc1, 6, 6, 40, 9 LTEXT "", stc2, 60, 6, 150, 9 - GROUPBOX "Druck Bereich", grp1, 6, 30, 160, 65, BS_GROUPBOX + GROUPBOX "Druckbereich", grp1, 6, 30, 160, 65, BS_GROUPBOX RADIOBUTTON "&Alles", rad1, 16, 45, 60, 12 RADIOBUTTON "A&uswahl", rad2, 16, 60, 60, 12 RADIOBUTTON "&Seiten", rad3, 16, 75, 60, 12 diff --git a/dll/win32/cryptui/lang/cryptui_De.rc b/dll/win32/cryptui/lang/cryptui_De.rc index ef2806b259a..742ec682385 100644 --- a/dll/win32/cryptui/lang/cryptui_De.rc +++ b/dll/win32/cryptui/lang/cryptui_De.rc @@ -318,7 +318,7 @@ IDD_IMPORT_STORE DIALOG 0,0,317,143 CAPTION "Importassistent für die Zertifikatsverwaltung" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wine kann automatisch einen Zertifikatsspeicher wählen, oder Sie wählen einen aus.", + LTEXT "ReactOS kann automatisch einen Zertifikatsspeicher wählen, oder Sie wählen einen aus.", -1, 21,1,220,25 AUTORADIOBUTTON "A&utomatisch einen Zertifikatsspeicher wählen", IDC_IMPORT_AUTO_STORE, 31,28,220,12, BS_AUTORADIOBUTTON|WS_TABSTOP @@ -381,11 +381,11 @@ CAPTION "Exportassistent für die Zertifikatsverwaltung" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Willkommen", IDC_EXPORT_TITLE, 115,7,195,30 - LTEXT "Dieser Assistent hilft ihnen Zertifikate, Zertifikatssperrlisten und Zertifikatsvertrauenslisten in eine Datei zu exportieren.\n\ + LTEXT "Dieser Assistent hilft ihnen, Zertifikate, Zertifikatssperrlisten und Zertifikatsvertrauenslisten in eine Datei zu exportieren.\n\ \n\ Ein Zertifikat dient zur Identifikation von Ihnen oder ihrem Computer. Es kann auch für die Authentifizierung und zum Unterzeichnen genutzt werden. Zertifikatsspeicher sind Sammlungen von Zertifikaten, Zertifikatssperrlisten und Zertifikatsvertrauenslisten.\n\ \n\ -Klicken Sie Weiter um fortzufahren.", +Klicken Sie auf Weiter, um fortzufahren.", -1, 115,40,195,120 END @@ -393,7 +393,7 @@ IDD_EXPORT_PRIVATE_KEY DIALOG 0,0,317,143 CAPTION "Exportassistent für die Zertifikatsverwaltung" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wenn Sie sich entscheiden den privaten Schlüssel zu exportieren, werden Sie später nach einem Passwort gefragt.", -1, 21,1,195,25 + LTEXT "Wenn Sie sich entscheiden, den privaten Schlüssel zu exportieren, werden Sie später nach einem Passwort gefragt.", -1, 21,1,195,25 LTEXT "Privaten Schlüssel exportieren?", -1, 21,27,195,10 AUTORADIOBUTTON "&Ja, privaten Schlüssel exportieren", IDC_EXPORT_PRIVATE_KEY_YES, 31,36,200,12, BS_AUTORADIOBUTTON|WS_TABSTOP @@ -423,15 +423,15 @@ BEGIN IDC_EXPORT_FORMAT_BASE64, 31,30,280,12, BS_AUTORADIOBUTTON AUTORADIOBUTTON "&Syntaxstandard kryptografischer Meldungen/PKCS #7 Zertifikate (.p7b)", IDC_EXPORT_FORMAT_CMS, 31,42,280,12, BS_AUTORADIOBUTTON - CHECKBOX "&Wenn möglich alle Zertifikate im Zertifizierungspfad einbeziehen", + CHECKBOX "&Wenn möglich, alle Zertifikate im Zertifizierungspfad einbeziehen", IDC_EXPORT_CMS_INCLUDE_CHAIN, 44,57,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED AUTORADIOBUTTON "&Privater Informationsaustausch/PKCS #12 (.pfx)", IDC_EXPORT_FORMAT_PFX, 31,72,280,12, BS_AUTORADIOBUTTON|WS_DISABLED - CHECKBOX "W&enn möglich alle Zertifikate im Zertifizierungspfad einbeziehen", + CHECKBOX "W&enn möglich, alle Zertifikate im Zertifizierungspfad einbeziehen", IDC_EXPORT_PFX_INCLUDE_CHAIN, 44,87,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED CHECKBOX "&Verstärkte Sicherheit aktivieren", IDC_EXPORT_PFX_STRONG_ENCRYPTION, 44,102,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED - CHECKBOX "Priva&ten Schlüssel löschen wenn der Export erfolgreich war", + CHECKBOX "Priva&ten Schlüssel löschen, wenn der Export erfolgreich war", IDC_EXPORT_PFX_DELETE_PRIVATE_KEY, 44,117,280,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED END diff --git a/dll/win32/devmgr/lang/de-DE.rc b/dll/win32/devmgr/lang/de-DE.rc index 9390aa27e8d..98bfd492609 100644 --- a/dll/win32/devmgr/lang/de-DE.rc +++ b/dll/win32/devmgr/lang/de-DE.rc @@ -20,7 +20,7 @@ BEGIN IDS_DEVONPARENT "auf %1" IDS_TROUBLESHOOTDEV "Problem &lösen..." IDS_ENABLEDEV "Gerät &aktivieren" - IDS_REINSTALLDRV "Treiber neu&installieren" + IDS_REINSTALLDRV "Treiber neu &installieren" IDS_PROPERTIES "&Eigenschaften" IDS_UPDATEDRV "Treiber &aktualisieren..." IDS_REBOOT "Computer neusta&rten..." @@ -40,7 +40,7 @@ STRINGTABLE BEGIN IDS_DEV_NO_PROBLEM "Dieses Gerät funktioniert einwandfrei." IDS_DEV_NOT_CONFIGURED "Dieses Gerät ist nicht richtig konfiguriert." - IDS_DEV_DEVLOADER_FAILED "ReactOS konnte den Treiber für dieses Gerät nicht laden, weil der Computer zwei %1 Bustypen meldet." + IDS_DEV_DEVLOADER_FAILED "ReactOS konnte den Treiber für dieses Gerät nicht laden, weil der Computer zwei %1 Bustypen meldet." IDS_DEV_DEVLOADER_FAILED2 "Der/die %1 Gerätelader für dieses Gerät konnte den Gerätetreiber nicht laden." IDS_DEV_OUT_OF_MEMORY "Der Treiber für dieses Gerät könnte beschädigt sein, oder Ihr System verfügt über zu wenig Speicher oder andere Ressourcen." IDS_DEV_ENTRY_IS_WRONG_TYPE "Dieses Gerät arbeitet nicht korrekt, weil einer seiner Treiber oder die Registry beschädigt ist." @@ -49,7 +49,7 @@ BEGIN IDS_DEV_FAILED_FILTER "Die Treiber für dieses Gerät müssen neu installiert werden." IDS_DEV_DEVLOADER_NOT_FOUND "Dieses Gerät arbeitet nicht korrekt, weil ReactOS die Datei %1 nicht laden kann, die die Treiber für dieses Gerät lädt." IDS_DEV_DEVLOADER_NOT_FOUND2 "Dieses Gerät arbeitet nicht korrekt, weil die Datei %1, die die Treiber für dieses Gerät lädt, defekt ist." - IDS_DEV_DEVLOADER_NOT_FOUND3 "Gerätefehler: Versuchen Sie, den Treiber für dieses Gerät auszutauschen. Wenn das nicht hilft, sehen Sie in die Gerätedokumentation." + IDS_DEV_DEVLOADER_NOT_FOUND3 "Gerätefehler: Versuchen Sie, einen anderen Treiber für dieses Gerät zu verwenden. Wenn das nicht hilft, sehen Sie in die Gerätedokumentation." IDS_DEV_INVALID_DATA "Dieses Gerät arbeitet nicht korrekt, weil das BIOS ihres Computers die Ressourcen für dieses Gerät falsch angibt." IDS_DEV_INVALID_DATA2 "Dieses Gerät arbeitet nicht korrekt, weil das BIOS dieses Gerätes die Ressourcen für dieses Gerät falsch angibt. " IDS_DEV_FAILED_START "Dieses Gerät ist entweder nicht vorhanden, funktioniert nicht korrekt, oder es sind nicht alle Treiber installiert." diff --git a/dll/win32/iccvid/lang/iccvid_De.rc b/dll/win32/iccvid/lang/iccvid_De.rc index 075d5618961..f2c4e4f088f 100644 --- a/dll/win32/iccvid/lang/iccvid_De.rc +++ b/dll/win32/iccvid/lang/iccvid_De.rc @@ -25,6 +25,6 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_NAME "Cinepak Video Codec" - IDS_DESCRIPTION "Cinepak Video Codec" + IDS_NAME "Cinepak Video-Codec" + IDS_DESCRIPTION "Cinepak Video-Codec" } diff --git a/dll/win32/icmp/icmp_main.c b/dll/win32/icmp/icmp_main.c index 8257c1156b1..187b310f0a6 100644 --- a/dll/win32/icmp/icmp_main.c +++ b/dll/win32/icmp/icmp_main.c @@ -179,6 +179,7 @@ HANDLE WINAPI IcmpCreateFile(VOID) icp=HeapAlloc(GetProcessHeap(), 0, sizeof(*icp)); if (icp==NULL) { + closesocket(sid); SetLastError(IP_NO_RESOURCES); return INVALID_HANDLE_VALUE; } diff --git a/dll/win32/ieframe/shelluihelper.c b/dll/win32/ieframe/shelluihelper.c index f5141659906..5399cd56bb2 100644 --- a/dll/win32/ieframe/shelluihelper.c +++ b/dll/win32/ieframe/shelluihelper.c @@ -41,7 +41,7 @@ static HRESULT WINAPI ShellUIHelper2_QueryInterface(IShellUIHelper2 *iface, REFI }else if(IsEqualGUID(&IID_IShellUIHelper, riid)) { TRACE("(%p)->(IID_IShellUIHelper %p)\n", This, ppv); *ppv = &This->IShellUIHelper2_iface; - }else if(IsEqualGUID(&IID_IShellUIHelper, riid)) { + }else if(IsEqualGUID(&IID_IShellUIHelper2, riid)) { TRACE("(%p)->(IID_IShellUIHelper2 %p)\n", This, ppv); *ppv = &This->IShellUIHelper2_iface; }else { diff --git a/dll/win32/jscript/lang/jscript_De.rc b/dll/win32/jscript/lang/jscript_De.rc index 74d77bfb608..70a068cdf96 100644 --- a/dll/win32/jscript/lang/jscript_De.rc +++ b/dll/win32/jscript/lang/jscript_De.rc @@ -22,26 +22,26 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_TO_PRIMITIVE "Fehler beim umwandeln des Objektes in einen Grundtyp" - IDS_INVALID_CALL_ARG "Ungültiger Funktionsaufruf oder Argument" + IDS_TO_PRIMITIVE "Fehler beim Umwandeln des Objektes in einen Grundtyp" + IDS_INVALID_CALL_ARG "Ungültiger Funktionsaufruf oder ungültiges Argument" IDS_CREATE_OBJ_ERROR "Automatisierungsserver konnte das Objekt nicht erstellen" IDS_NO_PROPERTY "Das Objekt unterstützt diese Eigenschaft oder Methode nicht" - IDS_ARG_NOT_OPT "Argument nicht optional" - IDS_SYNTAX_ERROR "Syntax Fehler" + IDS_ARG_NOT_OPT "Dieses Argument ist nicht optional" + IDS_SYNTAX_ERROR "Syntaxfehler" IDS_SEMICOLON "';' erwartet" IDS_LBRACKET "'(' erwartet" IDS_RBRACKET "')' erwartet" - IDS_UNTERMINATED_STR "konstante Zeichenkette nicht terminiert" + IDS_UNTERMINATED_STR "konstante Zeichenkette wurde nicht abgeschlossen" IDS_NOT_FUNC "Funktion erwartet" IDS_NOT_DATE "'[Objekt]' ist kein Datums-Objekt" - IDS_NOT_NUM "Nummer erwartet" + IDS_NOT_NUM "Zahl erwartet" IDS_OBJECT_EXPECTED "Objekt erwartet" IDS_ILLEGAL_ASSIGN "Unzulässige Zuweisung" IDS_UNDEFINED "'|' nicht definiert" - IDS_NOT_BOOL "Boolisches Objekt erwartet" - IDS_JSCRIPT_EXPECTED "JScript Objekt erwartet" - IDS_REGEXP_SYNTAX_ERROR "Syntax Fehler in regulärem Ausdruck" + IDS_NOT_BOOL "Boolsches Objekt erwartet" + IDS_JSCRIPT_EXPECTED "JScript-Objekt erwartet" + IDS_REGEXP_SYNTAX_ERROR "Syntaxfehler in regulärem Ausdruck" IDS_URI_INVALID_CHAR "Zu verschlüsselnde URI enthält ungültige Zeichen" - IDS_INVALID_LENGTH "Array-Größe muss eine endliche, positive Ganzzahl sein" - IDS_ARRAY_EXPECTED "Array Objekt erwartet" + IDS_INVALID_LENGTH "Größe des Array muss eine endliche, positive Ganzzahl sein" + IDS_ARRAY_EXPECTED "Array-Objekt erwartet" } diff --git a/dll/win32/kernel32/client/time.c b/dll/win32/kernel32/client/time.c index aee6d8ab169..abba55b6a90 100644 --- a/dll/win32/kernel32/client/time.c +++ b/dll/win32/kernel32/client/time.c @@ -446,6 +446,9 @@ GetTickCount(VOID) { ULARGE_INTEGER TickCount; +#ifdef _WIN64 + TickCount.QuadPart = *((volatile ULONG64*)&SharedUserData->TickCount); +#else while (TRUE) { TickCount.HighPart = (ULONG)SharedUserData->TickCount.High1Time; @@ -456,6 +459,7 @@ GetTickCount(VOID) YieldProcessor(); } +#endif return (ULONG)((UInt32x32To64(TickCount.LowPart, SharedUserData->TickCountMultiplier) >> 24) + diff --git a/dll/win32/localspl/lang/spl_De.rc b/dll/win32/localspl/lang/spl_De.rc index 4ad1148b0e7..29191bd9a1c 100644 --- a/dll/win32/localspl/lang/spl_De.rc +++ b/dll/win32/localspl/lang/spl_De.rc @@ -26,5 +26,5 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE { IDS_LOCALPORT "Lokaler Anschluss" - IDS_LOCALMONITOR "Lokaler Monitor" + IDS_LOCALMONITOR "Lokale Anzeige" } diff --git a/dll/win32/localui/lang/ui_De.rc b/dll/win32/localui/lang/ui_De.rc index 9a22d931635..cee6d7b61d0 100644 --- a/dll/win32/localui/lang/ui_De.rc +++ b/dll/win32/localui/lang/ui_De.rc @@ -29,7 +29,7 @@ STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_SETFONT | DS_SETFOREGROUND | WS_POPUPW CAPTION "Lokalen Anschluss hinzufügen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Lokaler Anschuss, der hinzugefügt werden soll:", -1, 7, 13, 194, 13, WS_VISIBLE + LTEXT "&Lokaler Anschluss, der hinzugefügt werden soll:", -1, 7, 13, 194, 13, WS_VISIBLE EDITTEXT ADDPORT_EDIT, 6, 28, 174, 12, WS_VISIBLE | ES_AUTOHSCROLL DEFPUSHBUTTON "OK", IDOK, 188, 10, 50, 14, WS_VISIBLE PUSHBUTTON "Abbrechen", IDCANCEL, 188, 27, 50, 14, WS_VISIBLE @@ -54,5 +54,5 @@ STRINGTABLE IDS_LOCALPORT "Lokaler Anschluss" IDS_INVALIDNAME "'%s' ist kein gültiger Anschlussname" IDS_PORTEXISTS "Der Anschluss %s existiert bereits" - IDS_NOTHINGTOCONFIG "Dieser Anschluss hat keine Optionen zum Konfigurieren" + IDS_NOTHINGTOCONFIG "Dieser Anschluss besitzt keine zu konfigurierenden Optionen" } diff --git a/dll/win32/lsasrv/lang/de-DE.rc b/dll/win32/lsasrv/lang/de-DE.rc index 6ea9330f2f4..0c53df7dada 100644 --- a/dll/win32/lsasrv/lang/de-DE.rc +++ b/dll/win32/lsasrv/lang/de-DE.rc @@ -32,13 +32,13 @@ BEGIN IDS_ALIAS_RID_USERS "Benutzer" IDS_ALIAS_RID_GUESTS "Gäste" IDS_ALIAS_RID_POWER_USERS "Hauptbenutzer" - IDS_ALIAS_RID_ACCOUNT_OPS "Konten-Operatoren" - IDS_ALIAS_RID_SYSTEM_OPS "Server-Operatoren" - IDS_ALIAS_RID_PRINT_OPS "Druck-Operatoren" - IDS_ALIAS_RID_BACKUP_OPS "Sicherungs-Operatoren" - IDS_ALIAS_RID_REPLICATOR "Replikations-Operatoren" + IDS_ALIAS_RID_ACCOUNT_OPS "Kontenoperatoren" + IDS_ALIAS_RID_SYSTEM_OPS "Serveroperatoren" + IDS_ALIAS_RID_PRINT_OPS "Druckoperatoren" + IDS_ALIAS_RID_BACKUP_OPS "Sicherungsoperatoren" + IDS_ALIAS_RID_REPLICATOR "Replikationsoperatoren" IDS_ALIAS_RID_RAS_SERVERS "RAS- und IAS-Server" IDS_ALIAS_RID_PREW2KCOMPACCESS "Prä-Windows 2000 kompatibler Zugriff" IDS_ALIAS_RID_REMOTE_DESKTOP_USERS "Remotedesktopbenutzer" - IDS_ALIAS_RID_NETWORK_CONFIGURATION_OPS "Netzwerkkonfigurations-Operatoren" + IDS_ALIAS_RID_NETWORK_CONFIGURATION_OPS "Netzwerk-Konfigurationsoperatoren" END diff --git a/dll/win32/mapi32/lang/De.rc b/dll/win32/mapi32/lang/De.rc index 2bbaee89fa7..31bda205643 100644 --- a/dll/win32/mapi32/lang/De.rc +++ b/dll/win32/mapi32/lang/De.rc @@ -23,6 +23,6 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_NO_MAPI_CLIENT, "Das senden der E-Mails scheiterte, da Sie keinen MAPI E-Mail Programm installiert haben." + IDS_NO_MAPI_CLIENT, "Das Senden der E-Mails scheiterte, da Sie kein MAPI-fähiges E-Mail-Programm installiert haben." IDS_SEND_MAIL, "E-Mail senden" } diff --git a/dll/win32/msgina/lang/de-DE.rc b/dll/win32/msgina/lang/de-DE.rc index e71838cc2be..82d9a6a236c 100644 --- a/dll/win32/msgina/lang/de-DE.rc +++ b/dll/win32/msgina/lang/de-DE.rc @@ -62,7 +62,7 @@ BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 ICON IDI_LOCKICON, -1, 7, 59, 20, 20 LTEXT "Dieser Computer wird verwendet und ist gesperrt.", IDC_STATIC, 37, 61, 231, 8 - LTEXT "Message", IDC_LOCKMSG, 37, 75, 231, 26 + LTEXT "Nachricht", IDC_LOCKMSG, 37, 75, 231, 26 LTEXT "Drücken Sie Strg+Alt+Entf um den Computer zu entsperren.", IDC_STATIC, 37, 106, 231, 8 END @@ -74,7 +74,7 @@ BEGIN CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54 ICON IDI_LOCKICON, -1, 7, 59, 20, 20 LTEXT "Dieser Computer wird verwendet und ist gesperrt.", IDC_STATIC, 36, 61, 232, 8 - LTEXT "Message", IDC_LOCKMSG, 36, 75, 232, 26 + LTEXT "Nachricht", IDC_LOCKMSG, 36, 75, 232, 26 LTEXT "Benutzername:", IDC_STATIC, 36, 107, 54, 8 EDITTEXT IDC_USERNAME, 92, 104, 119, 14, ES_AUTOHSCROLL LTEXT "Passwort:", IDC_STATIC, 36, 125, 42, 8 @@ -148,22 +148,22 @@ BEGIN IDS_LOGONTITLE "Anmeldemeldung" IDS_LOGONWRONGUSERORPWD "Sie konnten nicht angemeldet werden. Prüfen Sie Benutzername und Domäne, und geben Sie das Passwort erneut ein. Bei Passworten wird Groß- und Kleinschreibung unterschieden." IDS_LOGONUSERDISABLED "Ihr Konto wurde deaktiviert. Wenden Sie sich an Ihren Systemadministrator." - IDS_PASSWORDMUSTCHANGE "Sie müssen Ihr Paasswort bei der ersten Anmeldung ändern." + IDS_PASSWORDMUSTCHANGE "Sie müssen Ihr Passwort bei der ersten Anmeldung ändern." IDS_PASSWORDEXPIRED "Ihr Passwort ist abgelaufen und muss geändert werden." END /* Shutdown Dialog Strings */ STRINGTABLE BEGIN - IDS_SHUTDOWN_LOGOFF "Log off ""%s""" - IDS_SHUTDOWN_SHUTDOWN "Shut down" - IDS_SHUTDOWN_RESTART "Restart" - IDS_SHUTDOWN_SLEEP "Sleep" - IDS_SHUTDOWN_HIBERNATE "Hibernate" + IDS_SHUTDOWN_LOGOFF """%s"" abmelden" + IDS_SHUTDOWN_SHUTDOWN "Herunterfahren" + IDS_SHUTDOWN_RESTART "Neustart" + IDS_SHUTDOWN_SLEEP "Schlafmodus" + IDS_SHUTDOWN_HIBERNATE "Energiesparmodus" /* Shut down descriptions */ - IDS_SHUTDOWN_LOGOFF_DESC "Ends your current session and allows other users to log on to the system." - IDS_SHUTDOWN_SHUTDOWN_DESC "Ends your current session and shuts down the system so you can safely shut down the power." - IDS_SHUTDOWN_RESTART_DESC "Ends your current session and reboots the system." - IDS_SHUTDOWN_SLEEP_DESC "Puts the system in sleep mode." - IDS_SHUTDOWN_HIBERNATE_DESC "Saves the current session and shuts down the computer." + IDS_SHUTDOWN_LOGOFF_DESC "Beendet Ihre aktuelle Sitzung und erlaubt es anderen Benutzern, sich an diesem System anzumelden." + IDS_SHUTDOWN_SHUTDOWN_DESC "Beendet Ihre aktuelle Sitzung, fährt ReactOS herunter und schaltet den Computer aus." + IDS_SHUTDOWN_RESTART_DESC "Beendet Ihre aktuelle Sitzung und startet den Computer neu." + IDS_SHUTDOWN_SLEEP_DESC "Versetzt das System in den Schlafmodus" + IDS_SHUTDOWN_HIBERNATE_DESC "Speichert die aktuelle Sitzung und fährt den Computer herunter, sodass die Sitzung schnell wiederhergestellt werden kann." END diff --git a/dll/win32/mshtml/CMakeLists.txt b/dll/win32/mshtml/CMakeLists.txt index d0de62d0140..012cd047b88 100644 --- a/dll/win32/mshtml/CMakeLists.txt +++ b/dll/win32/mshtml/CMakeLists.txt @@ -7,7 +7,7 @@ add_definitions( -DCOM_NO_WINDOWS_H) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -add_idl_Headers(mshtml_nsiface_header nsiface.idl) +add_idl_headers(mshtml_nsiface_header nsiface.idl) spec2def(mshtml.dll mshtml.spec) list(APPEND SOURCE diff --git a/dll/win32/mshtml/lang/De.rc b/dll/win32/mshtml/lang/De.rc index 6b761a64e85..09615acb4f4 100644 --- a/dll/win32/mshtml/lang/De.rc +++ b/dll/win32/mshtml/lang/De.rc @@ -24,8 +24,8 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE { - IDS_STATUS_DONE "Done" - IDS_STATUS_DOWNLOADINGFROM "Downloading from %s..." + IDS_STATUS_DONE "Fertig" + IDS_STATUS_DOWNLOADINGFROM "Herunterladen von %s..." } STRINGTABLE @@ -38,7 +38,7 @@ STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Hyperlink" FONT 8, "MS Shell Dlg" { - GROUPBOX "Hyperlink Informationen", -1, 5, 5, 190, 55 + GROUPBOX "Hyperlink-Eigenschaften", -1, 5, 5, 190, 55 LTEXT "&Typ:", -1, 10, 22, 20, 10 COMBOBOX IDC_TYPE, 35, 20, 45, 100, WS_TABSTOP | WS_GROUP | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS LTEXT "&URL:", -1, 10, 42, 20, 10 diff --git a/dll/win32/mshtml/msvc.S b/dll/win32/mshtml/msvc.S index 9d210be115f..90b65d8ab37 100644 --- a/dll/win32/mshtml/msvc.S +++ b/dll/win32/mshtml/msvc.S @@ -4,13 +4,23 @@ .code MACRO(DEFINE_WRAPPER_FUNC, n, off, x) +#ifdef _M_IX86 PUBLIC _wrapper_func_&n& _wrapper_func_&n&: -mov eax, [esp+4] -mov eax, [eax+4] -mov [esp+4], eax -mov eax, [eax] -jmp dword ptr [eax+off] + mov eax, [esp+4] + mov eax, [eax+4] + mov [esp+4], eax + mov eax, [eax] + jmp dword ptr [eax+off] +#elif defined(_M_AMD64) +PUBLIC wrapper_func_&n& +wrapper_func_&n&: + mov rcx, [rcx+4] + mov rax, [rcx] + jmp qword ptr [rax+off] +#else +#error Unimplemented +#endif ENDM DEFINE_WRAPPER_FUNC 3, 12, 24 diff --git a/dll/win32/msports/lang/de-DE.rc b/dll/win32/msports/lang/de-DE.rc index 5306117bdd1..d1afcbb3c50 100644 --- a/dll/win32/msports/lang/de-DE.rc +++ b/dll/win32/msports/lang/de-DE.rc @@ -2,7 +2,7 @@ IDD_SERIALSETTINGS DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Port Einstellungen" +CAPTION "Porteinstellungen" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&its pro Sekunde:", -1, 74, 19, 62, 8, WS_GROUP @@ -21,7 +21,7 @@ END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Port Einstellungen" +CAPTION "Porteinstellungen" FONT 8, "MS Shell Dlg" BEGIN RTEXT "TEST", -1, 74, 19, 62, 8, WS_GROUP diff --git a/dll/win32/msvcrt/msvcrt.spec b/dll/win32/msvcrt/msvcrt.spec index 1e5e0670fd1..8587c0d9e66 100644 --- a/dll/win32/msvcrt/msvcrt.spec +++ b/dll/win32/msvcrt/msvcrt.spec @@ -73,7 +73,7 @@ # @ cdecl ??_U@YAPAXIHPBDH@Z(long long str long) MSVCRT_operator_new_dbg @ cdecl -arch=win32 ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete @ cdecl -arch=win64 ??_V@YAXPEAX@Z(ptr) MSVCRT_operator_delete -@ cdecl -arch=win64 -norelay __uncaught_exception(ptr) +@ cdecl -norelay __uncaught_exception(ptr) @ cdecl -arch=win32 -norelay ?_query_new_handler@@YAP6AHI@ZXZ() MSVCRT__query_new_handler @ cdecl -arch=win64 -norelay ?_query_new_handler@@YAP6AH_K@ZXZ() MSVCRT__query_new_handler @ cdecl ?_query_new_mode@@YAHXZ() MSVCRT__query_new_mode @@ -256,7 +256,6 @@ @ cdecl __threadhandle() kernel32.GetCurrentThread @ cdecl __threadid() kernel32.GetCurrentThreadId @ cdecl __toascii(long) -@ cdecl __uncaught_exception() @ cdecl __unDName(ptr str long ptr ptr long) @ cdecl __unDNameEx(ptr str long ptr ptr ptr long) @ extern __unguarded_readlc_active diff --git a/dll/win32/msvfw32/lang/msvfw32_De.rc b/dll/win32/msvfw32/lang/msvfw32_De.rc index 54b915ffc31..0024db45e25 100644 --- a/dll/win32/msvfw32/lang/msvfw32_De.rc +++ b/dll/win32/msvfw32/lang/msvfw32_De.rc @@ -23,7 +23,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL ICM_CHOOSE_COMPRESSOR DIALOG 36, 24, 187, 95 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Video Compression" +CAPTION "Videokompression" FONT 8, "MS Shell Dlg" { DEFPUSHBUTTON "OK",IDOK,129,2,49,14 @@ -39,13 +39,13 @@ FONT 8, "MS Shell Dlg" LTEXT "Komprimierungsqualität:",886,9,34,80,8 - CONTROL "&Key Frame alle",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,66,12 + CONTROL "Ein &Key-Frame alle",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,66,12 EDITTEXT 888,78,60,22,12 LTEXT "Frames",889,103,62,26,10 CONTROL "&Datenrate",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,66,12 EDITTEXT 895,78,76,22,12 - LTEXT "KB/sec",896,102,78,26,10 + LTEXT "kB/Sek",896,102,78,26,10 } STRINGTABLE diff --git a/dll/win32/netcfgx/lang/de-DE.rc b/dll/win32/netcfgx/lang/de-DE.rc index a8fdfd32adf..cd432808ce6 100644 --- a/dll/win32/netcfgx/lang/de-DE.rc +++ b/dll/win32/netcfgx/lang/de-DE.rc @@ -198,7 +198,7 @@ END STRINGTABLE BEGIN IDS_NET_CONNECT "LAN-Verbindung" - IDS_NO_IPADDR_SET "Der Adapter erfordert mindestens eine IP-Addresse. Geben Sie eine IP-Adresse ein." + IDS_NO_IPADDR_SET "Der Adapter erfordert mindestens eine IP-Adresse. Geben Sie eine IP-Adresse ein." IDS_NO_SUBMASK_SET "Sie haben eine Adresse eingegeben, für die keine Subnetzmaske vorhanden ist. Fügen Sie eine Subnetzmaske hinzu." IDS_TCPFILTERDESC "Mit der TCP/IP-Filterung können Sie die Art der TCP/IP-Netzwerkdaten, die den Windows-Computer erreichen sollen, steuern." IDS_TCPFILTER "TCP/IP-Filterung" diff --git a/dll/win32/netid/lang/de-DE.rc b/dll/win32/netid/lang/de-DE.rc index 09a4e6f6fe5..3dbeacfa291 100644 --- a/dll/win32/netid/lang/de-DE.rc +++ b/dll/win32/netid/lang/de-DE.rc @@ -21,7 +21,7 @@ BEGIN EDITTEXT IDC_COMPUTERNAME, 98, 68, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Arbeitsgruppe:", IDC_WORKGROUPDOMAIN, 6, 84, 64, 9 EDITTEXT IDC_WORKGROUPDOMAIN_NAME, 98, 84, 144, 12, ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - LTEXT "Um den Netzwerk-Identifikations-Assistenten zum Anmelden an einer Domäne und dem Erstellen eines lokalen Benutzers aufzurufen, klicken Sie auf ""Netzwerk-ID"".", IDC_STATIC, 6, 108, 172, 32 + LTEXT "Um den Netzwerk-Assistenten zum Anmelden an einer Domäne und dem Erstellen eines lokalen Benutzers aufzurufen, klicken Sie auf ""Netzwerk-ID"".", IDC_STATIC, 6, 108, 172, 32 PUSHBUTTON "&Netzwerk-ID...", IDC_NETWORK_ID, 190, 114, 58, 15 LTEXT "Um diesen Computer umzubenennen oder sich an einer Domäne anzumelden, klicken Sie auf ""Ändern"".", IDC_STATIC, 6, 149, 170, 17 PUSHBUTTON "&Ändern...", IDC_NETWORK_PROPERTY, 190, 149, 58, 15 @@ -30,7 +30,7 @@ END IDD_PROPPAGECOMPNAMECHENGE DIALOGEX 0, 0, 232, 222 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_CAPTION -CAPTION "Computername ändern" +CAPTION "Den Computernamen ändern" FONT 8, "MS Shell Dlg" BEGIN LTEXT "(message goes here)", 1017, 7, 5, 218, 30 @@ -54,21 +54,21 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_CAPTIO CAPTION "DNS-Suffix und NetBIOS-Computername" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Primäres DNS Suffix dieses Computers:", -1, 7, 5, 253, 8 + LTEXT "&Primäres DNS-Suffix dieses Computers:", -1, 7, 5, 253, 8 EDITTEXT 1011, 7, 17, 252, 14, ES_AUTOHSCROLL - AUTOCHECKBOX "Primäres DN&S-Suffix bei Domänenmitgliedschaftsänderung ändern", 115, 11, 39, 250, 10 + AUTOCHECKBOX "Primäres DN&S-Suffix bei Änderung der Domänenmitgliedschaft ändern", 115, 11, 39, 250, 10 LTEXT "&NetBIOS Computername:", -1, 7, 57, 148, 8 EDITTEXT 1013, 7, 69, 150, 14, ES_UPPERCASE | ES_AUTOHSCROLL | ES_READONLY DEFPUSHBUTTON "OK", 1, 153, 104, 50, 14 PUSHBUTTON "Abbrechen", 2, 209, 104, 50, 14 - LTEXT "Dieser Name dient der Interoperatibilität mit älteren Computern und Diensten.", 13, 7, 88, 253, 8 + LTEXT "Dieser Name dient der Interoperabilität mit älteren Computern und Diensten.", 13, 7, 88, 253, 8 END STRINGTABLE BEGIN 1 "* Unbekannt *" 2 "ARBEITSGRUPPE" - 3 "Bei dem Versuch, Domänenmitgliedschaftsinformationen zu lesen, trat folgender Fehler auf:" + 3 "Bei dem Versuch, Informationen über Domänenmitgliedschaften zu lesen, trat folgender Fehler auf:" 4 "Computernamen ändern" 5 "Arbeitsgruppe:" 6 "Domäne:" @@ -82,5 +82,5 @@ BEGIN 3210 "&Details >>" 3220 "<< &Details" 4000 "Information" - 4001 "Kann neuen Computernamen nicht setzen!" + 4001 "Kann den neuen Computernamen nicht einstellen!" END diff --git a/dll/win32/netshell/lang/de-DE.rc b/dll/win32/netshell/lang/de-DE.rc index 2a3e16ad21e..6d01c32a7ca 100644 --- a/dll/win32/netshell/lang/de-DE.rc +++ b/dll/win32/netshell/lang/de-DE.rc @@ -94,13 +94,13 @@ BEGIN IDS_SHV_COLUMN_TYPE "Typ" IDS_SHV_COLUMN_STATE "Status" IDS_SHV_COLUMN_DEVNAME "Gerätename" - IDS_SHV_COLUMN_PHONE "Rufnummer oder Hostaddresse" + IDS_SHV_COLUMN_PHONE "Rufnummer oder Hostadresse" IDS_SHV_COLUMN_OWNER "Besitzer" IDS_TYPE_ETHERNET "LAN oder Hochgeschwindigkeitsinternet" IDS_STATUS_NON_OPERATIONAL "Deaktiviert" IDS_STATUS_UNREACHABLE "Nicht verbunden" IDS_STATUS_DISCONNECTED "Netzwerkkabel wurde entfernt" - IDS_STATUS_CONNECTING "Netzwerkaddresse beziehen" + IDS_STATUS_CONNECTING "Netzwerkadresse beziehen" IDS_STATUS_CONNECTED "Verbindung hergestellt" IDS_STATUS_OPERATIONAL "Verbindung hergestellt" IDS_NET_ACTIVATE "Aktivieren" diff --git a/dll/win32/oleacc/lang/oleacc_De.rc b/dll/win32/oleacc/lang/oleacc_De.rc index 6c0c9542c81..cc0bb0df805 100644 --- a/dll/win32/oleacc/lang/oleacc_De.rc +++ b/dll/win32/oleacc/lang/oleacc_De.rc @@ -33,7 +33,7 @@ STRINGTABLE ROLE_SYSTEM_GRIP "Fangpunkt" ROLE_SYSTEM_SOUND "Audio" ROLE_SYSTEM_CURSOR "Cursor" - ROLE_SYSTEM_CARET "Caret-Zeichen" + ROLE_SYSTEM_CARET "Zirkumflex" ROLE_SYSTEM_ALERT "Warnung" ROLE_SYSTEM_WINDOW "Fenster" ROLE_SYSTEM_CLIENT "Client" @@ -73,7 +73,7 @@ STRINGTABLE ROLE_SYSTEM_CHECKBUTTON "Kontrollkästchen" ROLE_SYSTEM_RADIOBUTTON "Optionskästchen" ROLE_SYSTEM_COMBOBOX "Kombinationsfeld" - ROLE_SYSTEM_DROPLIST "Drop Down" + ROLE_SYSTEM_DROPLIST "Dropdown-Liste" ROLE_SYSTEM_PROGRESSBAR "Fortschrittsanzeige" ROLE_SYSTEM_DIAL "wählen" ROLE_SYSTEM_HOTKEYFIELD "Schnellzugriffsfeld" @@ -82,13 +82,13 @@ STRINGTABLE ROLE_SYSTEM_DIAGRAM "Diagramm" ROLE_SYSTEM_ANIMATION "Animation" ROLE_SYSTEM_EQUATION "Gleichung" - ROLE_SYSTEM_BUTTONDROPDOWN "Dropdown Schaltfläche" + ROLE_SYSTEM_BUTTONDROPDOWN "Dropdown-Schaltfläche" ROLE_SYSTEM_BUTTONMENU "Menü Schaltfläche" ROLE_SYSTEM_BUTTONDROPDOWNGRID "Raster Dropdown Schaltfläche" ROLE_SYSTEM_WHITESPACE "Leerzeichen" ROLE_SYSTEM_PAGETABLIST "Register" ROLE_SYSTEM_CLOCK "Uhr" - ROLE_SYSTEM_SPLITBUTTON "Trenn Schaltfläche" - ROLE_SYSTEM_IPADDRESS "IP Addresse" - ROLE_SYSTEM_OUTLINEBUTTON "Gliederung Schaltfläche" + ROLE_SYSTEM_SPLITBUTTON "Trenn-Schaltfläche" + ROLE_SYSTEM_IPADDRESS "IP-Adresse" + ROLE_SYSTEM_OUTLINEBUTTON "Gliederungsschaltfläche" /* outline kann aber auch umrahmen heißen... */ } diff --git a/dll/win32/oledlg/lang/oledlg_De.rc b/dll/win32/oledlg/lang/oledlg_De.rc index b771e75de32..17d2d978435 100644 --- a/dll/win32/oledlg/lang/oledlg_De.rc +++ b/dll/win32/oledlg/lang/oledlg_De.rc @@ -49,10 +49,10 @@ END STRINGTABLE { - IDS_RESULTOBJDESC "Fügt ein neues %s - Objekt in Ihr Dokument ein." + IDS_RESULTOBJDESC "Fügt ein neues %s-Objekt in Ihr Dokument ein." IDS_RESULTFILEOBJDESC "Fügt den Inhalt der Datei als Objekt so in Ihr Dokument ein, dass Sie es mit dem Programm aktivieren können, mit dem es erstellt wurde." IDS_BROWSE "Durchsuchen" - IDS_NOTOLEMOD "Die Datei ist offenbar kein gültiges OLE - Steuermodul. Die OLE - Steuerung konnte nicht registiert werden." + IDS_NOTOLEMOD "Die Datei ist offenbar kein gültiges OLE-Steuermodul. Die OLE-Steuerung konnte nicht registriert werden." IDS_NOTOLEMODCAPTION "Steuerung hinzufügen" } @@ -85,12 +85,12 @@ END STRINGTABLE { IDS_PS_PASTE_DATA "Fügt den Inhalt der Zwischenablage in Ihr Dokument als %s ein." - IDS_PS_PASTE_OBJECT "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein dass Sie es mit %s aktivieren können." - IDS_PS_PASTE_OBJECT_AS_ICON "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein dass Sie es mit %s aktivieren können. Wird als Symbol dargestellt." - IDS_PS_PASTE_LINK_DATA "Fügt den Inhalt der Zwischenablage in Ihr Dokument als %s ein. Die Daten sind mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." - IDS_PS_PASTE_LINK_OBJECT "Fügt ein Bild des Zwischenablagen-Inhalts in Ihr Dokument ein. Das Bild ist mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." - IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Fügt eine Verknüpfung ein die auf den Ort des Zwischenablagen-Inhalts zeigt. Die Verknüpfung ist mit der Ursprungsdatei verknüpft so dass Änderungen an dieser in Ihrem Dokument erscheinen." - IDS_PS_NON_OLE "Fügt den Inhalt der Zwischenablage in Ihr Dokument als ein." + IDS_PS_PASTE_OBJECT "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein, dass Sie ihn mit %s aktivieren können." + IDS_PS_PASTE_OBJECT_AS_ICON "Fügt den Inhalt der Zwischenablage so in Ihr Dokument ein, dass Sie ihn mit %s aktivieren können. Er wird dann als Symbol dargestellt." + IDS_PS_PASTE_LINK_DATA "Fügt den Inhalt der Zwischenablage in Ihr Dokument als %s ein. Die Daten sind mit der Ursprungsdatei verknüpft, sodass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_PASTE_LINK_OBJECT "Fügt ein Bild aus der Zwischenablage in Ihr Dokument ein. Das Bild ist mit der Ursprungsdatei verknüpft, sodass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Fügt eine Verknüpfung ein, die auf den Ort in der Zwischenablage zeigt. Die Verknüpfung ist mit der Ursprungsdatei verknüpft, sodass Änderungen an dieser in Ihrem Dokument erscheinen." + IDS_PS_NON_OLE "Fügt den Inhalt der Zwischenablage in Ihr Dokument ein." IDS_PS_UNKNOWN_TYPE "Unbekannter Typ" IDS_PS_UNKNOWN_SRC "Unbekannte Quelle" IDS_PS_UNKNOWN_APP "dem Erzeugerprogramm" diff --git a/dll/win32/rpcrt4/rpc_transport.c b/dll/win32/rpcrt4/rpc_transport.c index f60ea9f50d1..6608d8aedf2 100644 --- a/dll/win32/rpcrt4/rpc_transport.c +++ b/dll/win32/rpcrt4/rpc_transport.c @@ -307,7 +307,10 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) { RpcConnection_np *npc = (RpcConnection_np *) Connection; static const char prefix[] = "\\\\"; - static const char local[] ="."; + static const char local[] = "."; + BOOL bUseLocalName = TRUE; + CHAR ComputerName[MAX_COMPUTERNAME_LENGTH + 1]; + DWORD bufLen = sizeof(ComputerName)/sizeof(ComputerName[0]); RPC_STATUS r; LPSTR pname; INT size; @@ -318,15 +321,39 @@ static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) /* protseq=ncacn_np: named pipes */ size = strlen(prefix); + if (Connection->NetworkAddr == NULL || strlen(Connection->NetworkAddr) == 0) + { + bUseLocalName = TRUE; size += strlen(local); + } else - size += strlen(Connection->NetworkAddr); + { + if (GetComputerNameA(ComputerName, &bufLen)) + { + if (stricmp(ComputerName, Connection->NetworkAddr) == 0) + { + bUseLocalName = TRUE; + size += strlen(local); + } + else + { + bUseLocalName = FALSE; + size += strlen(Connection->NetworkAddr); + } + } + else + { + bUseLocalName = FALSE; + size += strlen(Connection->NetworkAddr); + } + } + size += strlen(Connection->Endpoint) + 1; pname = I_RpcAllocate(size); strcpy(pname, prefix); - if (Connection->NetworkAddr == NULL || strlen(Connection->NetworkAddr) == 0) + if (bUseLocalName) strcat(pname, local); else strcat(pname, Connection->NetworkAddr); diff --git a/dll/win32/rpcrt4/rpcrt4_ros.diff b/dll/win32/rpcrt4/rpcrt4_ros.diff index 36b824b02bc..098606b3610 100644 --- a/dll/win32/rpcrt4/rpcrt4_ros.diff +++ b/dll/win32/rpcrt4/rpcrt4_ros.diff @@ -1,40 +1,16 @@ -diff -prudN e:\Wine\dlls\rpcrt4/epm_towers.h e:\reactos\dll\win32\rpcrt4/epm_towers.h ---- e:\Wine\dlls\rpcrt4/epm_towers.h 2011-09-16 23:22:37.031828000 +0100 -+++ e:\reactos\dll\win32\rpcrt4/epm_towers.h 2013-01-25 14:13:03.257632500 +0100 -@@ -19,7 +19,7 @@ - * - */ +diff -prudN .\wine\dlls\rpcrt4/rpc_epmap.c .\reactos\dll\win32\rpcrt4/rpc_epmap.c +--- .\wine\dlls\rpcrt4/rpc_epmap.c 2014-05-09 03:43:55.965035900 +0200 ++++ .\reactos\dll\win32\rpcrt4/rpc_epmap.c 2013-12-27 18:11:56.421567500 +0100 +@@ -92,7 +80,7 @@ static BOOL start_rpcss(void) + lstrcatW( cmd, rpcss ); --#include "epm.h" -+#include + Wow64DisableWow64FsRedirection( &redir ); +- rslt = CreateProcessW( cmd, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si, &pi ); ++ rslt = CreateProcessW( cmd, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ); + Wow64RevertWow64FsRedirection( redir ); - #define EPM_PROTOCOL_DNET_NSP 0x04 - #define EPM_PROTOCOL_OSI_TP4 0x05 -diff -prudN e:\Wine\dlls\rpcrt4/ndr_marshall.c e:\reactos\dll\win32\rpcrt4/ndr_marshall.c ---- e:\Wine\dlls\rpcrt4/ndr_marshall.c 2012-04-02 20:39:58.270363100 +0100 -+++ e:\reactos\dll\win32\rpcrt4/ndr_marshall.c 2013-12-06 20:04:02.897835300 +0100 -@@ -1211,7 +1211,7 @@ static unsigned char * EmbeddedPointerMa - unsigned char *bufptr = bufbase + *(const SHORT*)&info[2]; - unsigned char *saved_memory = pStubMsg->Memory; - -- pStubMsg->Memory = pMemory; -+ pStubMsg->Memory = membase; - PointerMarshall(pStubMsg, bufptr, *(unsigned char**)memptr, info+4); - pStubMsg->Memory = saved_memory; - } -@@ -1365,7 +1365,7 @@ static void EmbeddedPointerBufferSize(PM - unsigned char *memptr = membase + *(const SHORT*)&info[0]; - unsigned char *saved_memory = pStubMsg->Memory; - -- pStubMsg->Memory = pMemory; -+ pStubMsg->Memory = membase; - PointerBufferSize(pStubMsg, *(unsigned char**)memptr, info+4); - pStubMsg->Memory = saved_memory; - } -diff -prudN e:\Wine\dlls\rpcrt4/rpc_epmap.c e:\reactos\dll\win32\rpcrt4/rpc_epmap.c ---- e:\Wine\dlls\rpcrt4/rpc_epmap.c 2013-03-02 14:18:00.736492500 +0100 -+++ e:\reactos\dll\win32\rpcrt4/rpc_epmap.c 2013-12-06 20:28:21.361553600 +0100 -@@ -162,7 +169,7 @@ static RPC_STATUS get_epm_handle_server( + if (rslt) +@@ -162,7 +150,7 @@ static RPC_STATUS get_epm_handle_server( static LONG WINAPI rpc_filter(EXCEPTION_POINTERS *__eptr) { @@ -43,10 +19,10 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_epmap.c e:\reactos\dll\win32\rpcrt4/rpc_epma { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_ILLEGAL_INSTRUCTION: -diff -prudN e:\Wine\dlls\rpcrt4/rpc_server.c e:\reactos\dll\win32\rpcrt4/rpc_server.c ---- e:\Wine\dlls\rpcrt4/rpc_server.c 2012-12-09 09:57:02.680308600 +0100 -+++ e:\reactos\dll\win32\rpcrt4/rpc_server.c 2013-12-06 23:50:04.564226300 +0100 -@@ -1075,8 +1077,10 @@ void RPCRT4_destroy_all_protseqs(void) +diff -prudN .\wine\dlls\rpcrt4/rpc_server.c .\reactos\dll\win32\rpcrt4/rpc_server.c +--- .\wine\dlls\rpcrt4/rpc_server.c 2014-05-09 03:43:55.973036400 +0200 ++++ .\reactos\dll\win32\rpcrt4/rpc_server.c 2013-12-27 18:11:56.780368100 +0100 +@@ -1075,8 +1053,10 @@ void RPCRT4_destroy_all_protseqs(void) EnterCriticalSection(&server_cs); LIST_FOR_EACH_ENTRY_SAFE(cps, cursor2, &protseqs, RpcServerProtseq, entry) { @@ -57,10 +33,10 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_server.c e:\reactos\dll\win32\rpcrt4/rpc_ser destroy_serverprotoseq(cps); } LeaveCriticalSection(&server_cs); -diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_transport.c ---- e:\Wine\dlls\rpcrt4/rpc_transport.c 2013-12-06 20:10:59.302378700 +0100 -+++ e:\reactos\dll\win32\rpcrt4/rpc_transport.c 2013-12-06 23:39:38.664465200 +0100 -@@ -111,31 +115,41 @@ typedef struct _RpcConnection_np +diff -prudN .\wine\dlls\rpcrt4/rpc_transport.c .\reactos\dll\win32\rpcrt4/rpc_transport.c +--- .\wine\dlls\rpcrt4/rpc_transport.c 2014-05-09 03:43:55.977036600 +0200 ++++ .\reactos\dll\win32\rpcrt4/rpc_transport.c 2014-05-09 03:10:59.250551600 +0200 +@@ -113,31 +91,41 @@ typedef struct _RpcConnection_np { RpcConnection common; HANDLE pipe; @@ -109,26 +85,20 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ case ERROR_NO_DATA_DETECTED: /* client has disconnected, retry */ DisconnectNamedPipe( npc->pipe ); -@@ -148,28 +162,12 @@ static DWORD CALLBACK listen_thread(void +@@ -150,6 +138,7 @@ static DWORD CALLBACK listen_thread(void } } --static RPC_STATUS rpcrt4_conn_listen_pipe(RpcConnection_np *npc) --{ -- if (npc->listening) -- return RPC_S_OK; -- -- npc->listening = TRUE; -- npc->listen_thread = CreateThread(NULL, 0, listen_thread, npc, 0, NULL); -- if (!npc->listen_thread) -- { -- npc->listening = FALSE; -- ERR("Couldn't create listen thread (error was %d)\n", GetLastError()); -- return RPC_S_OUT_OF_RESOURCES; -- } -- return RPC_S_OK; --} -- ++#ifndef __REACTOS__ + static RPC_STATUS rpcrt4_conn_listen_pipe(RpcConnection_np *npc) + { + if (npc->listening) +@@ -165,13 +154,14 @@ static RPC_STATUS rpcrt4_conn_listen_pip + } + return RPC_S_OK; + } ++#endif + static RPC_STATUS rpcrt4_conn_create_pipe(RpcConnection *Connection, LPCSTR pname) { RpcConnection_np *npc = (RpcConnection_np *) Connection; @@ -139,7 +109,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE, PIPE_UNLIMITED_INSTANCES, RPC_MAX_PACKET_SIZE, RPC_MAX_PACKET_SIZE, 5000, NULL); -@@ -181,6 +179,9 @@ static RPC_STATUS rpcrt4_conn_create_pip +@@ -183,6 +173,9 @@ static RPC_STATUS rpcrt4_conn_create_pip return RPC_S_CANT_CREATE_ENDPOINT; } @@ -149,7 +119,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ /* Note: we don't call ConnectNamedPipe here because it must be done in the * server thread as the thread must be alertable */ return RPC_S_OK; -@@ -227,6 +228,9 @@ static RPC_STATUS rpcrt4_conn_open_pipe( +@@ -229,6 +222,9 @@ static RPC_STATUS rpcrt4_conn_open_pipe( if (err == ERROR_PIPE_BUSY) { TRACE("connection failed, error=%x\n", err); return RPC_S_SERVER_TOO_BUSY; @@ -159,7 +129,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ } if (!wait || !WaitNamedPipeA(pname, NMPWAIT_WAIT_FOREVER)) { err = GetLastError(); -@@ -236,9 +240,11 @@ static RPC_STATUS rpcrt4_conn_open_pipe( +@@ -238,9 +234,11 @@ static RPC_STATUS rpcrt4_conn_open_pipe( } /* success */ @@ -171,13 +141,16 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ npc->pipe = pipe; return RPC_S_OK; -@@ -306,18 +312,32 @@ static RPC_STATUS rpcrt4_protseq_ncalrpc +@@ -308,18 +306,59 @@ static RPC_STATUS rpcrt4_protseq_ncalrpc static RPC_STATUS rpcrt4_ncacn_np_open(RpcConnection* Connection) { RpcConnection_np *npc = (RpcConnection_np *) Connection; - static const char prefix[] = "\\\\."; + static const char prefix[] = "\\\\"; -+ static const char local[] ="."; ++ static const char local[] = "."; ++ BOOL bUseLocalName = TRUE; ++ CHAR ComputerName[MAX_COMPUTERNAME_LENGTH + 1]; ++ DWORD bufLen = sizeof(ComputerName)/sizeof(ComputerName[0]); RPC_STATUS r; LPSTR pname; + INT size; @@ -191,15 +164,39 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ - strcat(strcpy(pname, prefix), Connection->Endpoint); - r = rpcrt4_conn_open_pipe(Connection, pname, FALSE); + size = strlen(prefix); ++ + if (Connection->NetworkAddr == NULL || strlen(Connection->NetworkAddr) == 0) ++ { ++ bUseLocalName = TRUE; + size += strlen(local); ++ } + else -+ size += strlen(Connection->NetworkAddr); ++ { ++ if (GetComputerNameA(ComputerName, &bufLen)) ++ { ++ if (stricmp(ComputerName, Connection->NetworkAddr) == 0) ++ { ++ bUseLocalName = TRUE; ++ size += strlen(local); ++ } ++ else ++ { ++ bUseLocalName = FALSE; ++ size += strlen(Connection->NetworkAddr); ++ } ++ } ++ else ++ { ++ bUseLocalName = FALSE; ++ size += strlen(Connection->NetworkAddr); ++ } ++ } ++ + size += strlen(Connection->Endpoint) + 1; + + pname = I_RpcAllocate(size); + strcpy(pname, prefix); -+ if (Connection->NetworkAddr == NULL || strlen(Connection->NetworkAddr) == 0) ++ if (bUseLocalName) + strcat(pname, local); + else + strcat(pname, Connection->NetworkAddr); @@ -208,7 +205,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ I_RpcFree(pname); return r; -@@ -366,9 +386,9 @@ static void rpcrt4_conn_np_handoff(RpcCo +@@ -368,9 +407,9 @@ static void rpcrt4_conn_np_handoff(RpcCo * to the child, then reopen the server binding to continue listening */ new_npc->pipe = old_npc->pipe; @@ -220,7 +217,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ old_npc->listening = FALSE; } -@@ -413,11 +433,17 @@ static int rpcrt4_conn_np_read(RpcConnec +@@ -415,11 +454,17 @@ static int rpcrt4_conn_np_read(RpcConnec char *buf = buffer; BOOL ret = TRUE; unsigned int bytes_left = count; @@ -239,7 +236,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ if (!ret && GetLastError() == ERROR_MORE_DATA) ret = TRUE; if (!ret || !bytes_read) -@@ -425,6 +451,7 @@ static int rpcrt4_conn_np_read(RpcConnec +@@ -427,6 +472,7 @@ static int rpcrt4_conn_np_read(RpcConnec bytes_left -= bytes_read; buf += bytes_read; } @@ -247,7 +244,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ return ret ? count : -1; } -@@ -435,16 +462,23 @@ static int rpcrt4_conn_np_write(RpcConne +@@ -437,16 +483,23 @@ static int rpcrt4_conn_np_write(RpcConne const char *buf = buffer; BOOL ret = TRUE; unsigned int bytes_left = count; @@ -272,7 +269,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ return ret ? count : -1; } -@@ -456,9 +490,9 @@ static int rpcrt4_conn_np_close(RpcConne +@@ -458,9 +511,9 @@ static int rpcrt4_conn_np_close(RpcConne CloseHandle(npc->pipe); npc->pipe = 0; } @@ -285,7 +282,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ } return 0; } -@@ -662,7 +696,7 @@ static void *rpcrt4_protseq_np_get_wait_ +@@ -664,7 +717,7 @@ static void *rpcrt4_protseq_np_get_wait_ conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { rpcrt4_conn_listen_pipe(conn); @@ -294,7 +291,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ (*count)++; conn = CONTAINING_RECORD(conn->common.Next, RpcConnection_np, common); } -@@ -683,7 +717,7 @@ static void *rpcrt4_protseq_np_get_wait_ +@@ -685,7 +738,7 @@ static void *rpcrt4_protseq_np_get_wait_ *count = 1; conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { @@ -303,7 +300,7 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ (*count)++; conn = CONTAINING_RECORD(conn->common.Next, RpcConnection_np, common); } -@@ -730,18 +764,12 @@ static int rpcrt4_protseq_np_wait_for_ne +@@ -732,18 +785,12 @@ static int rpcrt4_protseq_np_wait_for_ne EnterCriticalSection(&protseq->cs); conn = CONTAINING_RECORD(protseq->conn, RpcConnection_np, common); while (conn) { @@ -324,9 +321,9 @@ diff -prudN e:\Wine\dlls\rpcrt4/rpc_transport.c e:\reactos\dll\win32\rpcrt4/rpc_ else ERR("failed to locate connection for handle %p\n", b_handle); LeaveCriticalSection(&protseq->cs); -diff -prudN e:\Wine\dlls\rpcrt4/rpcrt4.spec e:\reactos\dll\win32\rpcrt4/rpcrt4.spec ---- e:\Wine\dlls\rpcrt4/rpcrt4.spec 2012-09-09 19:47:53.677232900 +0100 -+++ e:\reactos\dll\win32\rpcrt4/rpcrt4.spec 2013-12-06 20:29:09.804227500 +0100 +diff -prudN .\wine\dlls\rpcrt4/rpcrt4.spec .\reactos\dll\win32\rpcrt4/rpcrt4.spec +--- .\wine\dlls\rpcrt4/rpcrt4.spec 2014-05-09 03:43:55.911032800 +0200 ++++ .\reactos\dll\win32\rpcrt4/rpcrt4.spec 2013-12-07 15:35:15.331527800 +0100 @@ -266,7 +266,7 @@ @ stdcall NdrRangeUnmarshall(ptr ptr ptr long) @ stub NdrRpcSmClientAllocate diff --git a/dll/win32/samsrv/lang/de-DE.rc b/dll/win32/samsrv/lang/de-DE.rc index be6da81a353..d0e32b428b9 100644 --- a/dll/win32/samsrv/lang/de-DE.rc +++ b/dll/win32/samsrv/lang/de-DE.rc @@ -8,7 +8,7 @@ BEGIN IDS_ALIAS_ADMINISTRATORS_NAME "Administratoren" IDS_ALIAS_ADMINISTRATORS_COMMENT "Administratoren haben unbeschränkten Zugriff auf den Computer oder die Domäne." IDS_ALIAS_GUESTS_NAME "Gäste" - IDS_ALIAS_GUESTS_COMMENT "Gäste besitzen standadmäßig die selben Rechte wie die Mitglieder der Benutzer-Gruppe." + IDS_ALIAS_GUESTS_COMMENT "Gäste besitzen standardmäßig die selben Rechte wie die Mitglieder der Benutzer-Gruppe." IDS_ALIAS_POWER_USERS_NAME "Hauptbenutzer" IDS_ALIAS_POWER_USERS_COMMENT "Hauptbenutzer besitzen die meisten Rechte mit einigen Einschränkungen." IDS_ALIAS_USERS_NAME "Benutzer" @@ -19,7 +19,7 @@ BEGIN * syssetup.dll:IDS_ADMINISTRATOR_NAME synchronized. */ IDS_USER_ADMINISTRATOR_NAME "Administrator" - IDS_USER_ADMINISTRATOR_COMMENT "Vordefiniertes Konto für die Verwaltung des Comuters oder der Domäne." + IDS_USER_ADMINISTRATOR_COMMENT "Vordefiniertes Konto für die Verwaltung des Computers oder der Domäne." IDS_USER_GUEST_NAME "Gast" IDS_USER_GUEST_COMMENT "Vordefiniertes Konto für Gastzugriff auf den Computer oder die Domäne." END diff --git a/dll/win32/serialui/lang/de-DE.rc b/dll/win32/serialui/lang/de-DE.rc index a4b481dac5c..cba734ca851 100644 --- a/dll/win32/serialui/lang/de-DE.rc +++ b/dll/win32/serialui/lang/de-DE.rc @@ -2,14 +2,14 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_EVENPARITY "Even" - IDS_MARKPARITY "Mark" - IDS_NOPARITY "No parity" - IDS_ODDPARITY "Odd" - IDS_SPACEPARITY "Space" - IDS_ONESTOPBIT "1 Stopbit" - IDS_ONE5STOPBITS "1.5 Stopbits" - IDS_TWOSTOPBITS "2 Stopbits" + IDS_EVENPARITY "Gerade" + IDS_MARKPARITY "Kennzeichnen" + IDS_NOPARITY "ohne Parität (gerade/ungerade)" + IDS_ODDPARITY "Ungerade" + IDS_SPACEPARITY "Lücke" + IDS_ONESTOPBIT "1 Stoppbit" + IDS_ONE5STOPBITS "1.5 Stoppbits" + IDS_TWOSTOPBITS "2 Stoppbits" IDS_FC_NO "Nein" IDS_FC_CTSRTS "CTS/RTS" IDS_FC_XONXOFF "XON/XOFF" @@ -24,11 +24,11 @@ BEGIN CONTROL "", IDC_GRP1, "Button", 0x50000007, 6, 5, 210, 146, 0x00000000 CONTROL "OK", IDC_OKBTN, "Button", 0x50010000, 98, 156, 56, 13, 0x00000000 CONTROL "Abbrechen", IDC_CANCELBTN, "Button", 0x50010000, 158, 156, 56, 13, 0x00000000 - CONTROL "Baud rate:", IDC_STC1, "Static", 0x50000000, 24, 31, 42, 9, 0x00000000 + CONTROL "Symbolrate:", IDC_STC1, "Static", 0x50000000, 24, 31, 42, 9, 0x00000000 CONTROL "Bytegröße:", IDC_STC2, "Static", 0x50000000, 24, 53, 42, 9, 0x00000000 CONTROL "Parität:", IDC_STC3, "Static", 0x50000000, 24, 73, 42, 9, 0x00000000 - CONTROL "Stop bits:", IDC_STC4, "Static", 0x50000000, 24, 96, 42, 9, 0x00000000 - CONTROL "Flusskontrolle:", IDC_STC5, "Static", 0x50000000, 24, 120, 45, 9, 0x00000000 + CONTROL "Stoppbits:", IDC_STC4, "Static", 0x50000000, 24, 96, 42, 9, 0x00000000 + CONTROL "Flusssteuerung:", IDC_STC5, "Static", 0x50000000, 24, 120, 45, 9, 0x00000000 CONTROL "", IDC_BAUDRATE, "ComboBox", 0x50210003, 98, 29, 100, 50, 0x00000000 CONTROL "", IDC_BYTESIZE, "ComboBox", 0x50210003, 98, 49, 100, 50, 0x00000000 CONTROL "", IDC_PARITY, "ComboBox", 0x50210003, 98, 72, 100, 50, 0x00000000 diff --git a/dll/win32/setupapi/CMakeLists.txt b/dll/win32/setupapi/CMakeLists.txt index 3d1af9fe4ca..5f0c7365c4a 100644 --- a/dll/win32/setupapi/CMakeLists.txt +++ b/dll/win32/setupapi/CMakeLists.txt @@ -40,7 +40,7 @@ add_library(setupapi SHARED set_module_type(setupapi win32dll UNICODE) target_link_libraries(setupapi uuid wine ${PSEH_LIB}) -add_delay_importlibs(setupapi shell32) +add_delay_importlibs(setupapi shell32 wintrust) add_importlibs(setupapi msvcrt diff --git a/dll/win32/setupapi/install.c b/dll/win32/setupapi/install.c index 533820b8064..6bc03bee219 100644 --- a/dll/win32/setupapi/install.c +++ b/dll/win32/setupapi/install.c @@ -2173,6 +2173,7 @@ BOOL WINAPI SetupCopyOEMInfA( PWSTR DestinationInfFileNameW = NULL; PWSTR DestinationInfFileNameComponentW = NULL; BOOL ret = FALSE; + DWORD size; TRACE("%s %s 0x%lx 0x%lx %p 0%lu %p %p\n", SourceInfFileName, OEMSourceMediaLocation, OEMSourceMediaType, @@ -2204,11 +2205,14 @@ BOOL WINAPI SetupCopyOEMInfA( CopyStyle, DestinationInfFileNameW, DestinationInfFileNameSize, - RequiredSize, + &size, DestinationInfFileNameComponent ? &DestinationInfFileNameComponentW : NULL); if (!ret) + { + if (RequiredSize) *RequiredSize = size; goto cleanup; - + } + if (DestinationInfFileNameSize != 0) { if (WideCharToMultiByte(CP_ACP, 0, DestinationInfFileNameW, -1, diff --git a/dll/win32/setupapi/misc.c b/dll/win32/setupapi/misc.c index cca5891450e..138dcae87d5 100644 --- a/dll/win32/setupapi/misc.c +++ b/dll/win32/setupapi/misc.c @@ -1217,6 +1217,34 @@ DWORD WINAPI InstallCatalog( LPCSTR catalog, LPCSTR basename, LPSTR fullname ) return 0; } +/*********************************************************************** + * pSetupInstallCatalog (SETUPAPI.@) + */ +DWORD WINAPI pSetupInstallCatalog( LPCWSTR catalog, LPCWSTR basename, LPWSTR fullname ) +{ + HCATADMIN admin; + HCATINFO cat; + + TRACE ("%s, %s, %p\n", debugstr_w(catalog), debugstr_w(basename), fullname); + + if (!CryptCATAdminAcquireContext(&admin,NULL,0)) + return GetLastError(); + + if (!(cat = CryptCATAdminAddCatalog( admin, (PWSTR)catalog, (PWSTR)basename, 0 ))) + { + DWORD rc = GetLastError(); + CryptCATAdminReleaseContext(admin, 0); + return rc; + } + CryptCATAdminReleaseCatalogContext(admin, cat, 0); + CryptCATAdminReleaseContext(admin,0); + + if (fullname) + FIXME("not returning full installed catalog path\n"); + + return NO_ERROR; +} + static UINT detect_compression_type( LPCWSTR file ) { DWORD size; @@ -1536,26 +1564,29 @@ static DWORD decompress_file_lz( LPCWSTR source, LPCWSTR target ) return ret; } +struct callback_context +{ + BOOL has_extracted; + LPCWSTR target; +}; + static UINT CALLBACK decompress_or_copy_callback( PVOID context, UINT notification, UINT_PTR param1, UINT_PTR param2 ) { + struct callback_context *context_info = context; FILE_IN_CABINET_INFO_W *info = (FILE_IN_CABINET_INFO_W *)param1; switch (notification) { case SPFILENOTIFY_FILEINCABINET: { - LPCWSTR filename, targetname = context; - WCHAR *p; + if (context_info->has_extracted) + return FILEOP_ABORT; - if ((p = strrchrW( targetname, '\\' ))) filename = p + 1; - else filename = targetname; - - if (!lstrcmpiW( filename, info->NameInCabinet )) - { - strcpyW( info->FullTargetName, targetname ); - return FILEOP_DOIT; - } - return FILEOP_SKIP; + TRACE("Requesting extraction of cabinet file %s\n", + wine_dbgstr_w(info->NameInCabinet)); + strcpyW( info->FullTargetName, context_info->target ); + context_info->has_extracted = TRUE; + return FILEOP_DOIT; } default: return NO_ERROR; } @@ -1563,9 +1594,10 @@ static UINT CALLBACK decompress_or_copy_callback( PVOID context, UINT notificati static DWORD decompress_file_cab( LPCWSTR source, LPCWSTR target ) { + struct callback_context context = {0, target}; BOOL ret; - ret = SetupIterateCabinetW( source, 0, decompress_or_copy_callback, (PVOID)target ); + ret = SetupIterateCabinetW( source, 0, decompress_or_copy_callback, &context ); if (ret) return ERROR_SUCCESS; else return GetLastError(); @@ -1578,7 +1610,7 @@ static DWORD decompress_file_cab( LPCWSTR source, LPCWSTR target ) */ DWORD WINAPI SetupDecompressOrCopyFileA( PCSTR source, PCSTR target, PUINT type ) { - DWORD ret = FALSE; + DWORD ret = 0; WCHAR *sourceW = NULL, *targetW = NULL; if (source && !(sourceW = pSetupMultiByteToUnicode( source, CP_ACP ))) return FALSE; diff --git a/dll/win32/setupapi/setupapi.spec b/dll/win32/setupapi/setupapi.spec index 81f2125f8ac..2a6ad8d47e0 100644 --- a/dll/win32/setupapi/setupapi.spec +++ b/dll/win32/setupapi/setupapi.spec @@ -562,7 +562,7 @@ @ stub pSetupHandleFailedVerification @ stub pSetupInfCacheBuild @ stub pSetupInfIsFromOemLocation -@ stub pSetupInstallCatalog +@ stdcall pSetupInstallCatalog(wstr wstr ptr) @ stub pSetupInstallStopEx @ stdcall pSetupIsGuidNull(ptr) @ stub pSetupIsLocalSystem diff --git a/dll/win32/setupapi/setupapi_private.h b/dll/win32/setupapi/setupapi_private.h index 53db948def9..80a818a66bf 100644 --- a/dll/win32/setupapi/setupapi_private.h +++ b/dll/win32/setupapi/setupapi_private.h @@ -37,6 +37,8 @@ #include #include #include +#include +#include #include #include #define NTOS_MODE_USER diff --git a/dll/win32/shell32/folders/cpanel.cpp b/dll/win32/shell32/folders/cpanel.cpp index 47ec5b670c3..cf0c9cf448d 100644 --- a/dll/win32/shell32/folders/cpanel.cpp +++ b/dll/win32/shell32/folders/cpanel.cpp @@ -852,9 +852,14 @@ HRESULT WINAPI CControlPanelFolder::ExecuteFromIdList(LPCITEMIDLIST pidl) } /* Build control panel applet cmd - Note: we passes applet name to Control_RunDLL to distinguish between applets in one .cpl file */ + Note: we pass the applet name to Control_RunDLL to distinguish between multiple applets in one .cpl file */ WCHAR wszCmd[2*MAX_PATH]; - StringCbPrintfW(wszCmd, sizeof(wszCmd), L"rundll32 shell32.dll,Control_RunDLL \"%hs\",\"%hs\"", pCPanel->szName, pCPanel->szName + pCPanel->offsDispName); + WCHAR wszAppletName[MAX_PATH]; + + if(!MultiByteToWideChar(CP_ACP, 0, pCPanel->szName + pCPanel->offsDispName, -1, wszAppletName, MAX_PATH)) + return E_FAIL; + + StringCbPrintfW(wszCmd, sizeof(wszCmd), L"rundll32 shell32.dll,Control_RunDLL \"%hs\",\"%ls\"", pCPanel->szName, wszAppletName); /* Start the applet */ TRACE("Run cpl %ls\n", wszCmd); diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index d653e611a86..b3f7b9336cd 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/win32/shell32/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2013-06-01 + * UPDATED: 2014-04-25 * THANKS TO: navaraf, who translated major part of this file */ @@ -764,7 +764,7 @@ BEGIN IDS_SYS_FILE "Systémový soubor" IDS_OPEN_VERB "Otevřít" - IDS_EXPLORE_VERB "Explore" + IDS_EXPLORE_VERB "Prozkoumat" IDS_RUNAS_VERB "Spustit jako " IDS_EDIT_VERB "Upravit" IDS_FIND_VERB "Najít" diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc index 9fb4a3f4fcd..22636caa597 100644 --- a/dll/win32/shell32/lang/de-DE.rc +++ b/dll/win32/shell32/lang/de-DE.rc @@ -114,7 +114,7 @@ BEGIN LTEXT ")", IDC_STATIC, 153, 65, 5, 10 LTEXT "Copyright 1998-", IDC_STATIC, 35, 75, 53, 10 LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 - LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 + LTEXT " Das ReactOS Team\0", IDC_STATIC, 105, 75, 70, 10 LTEXT "", IDC_ABOUT_OTHERSTUFF, 35, 90, 180, 20 LTEXT "Diese ReactOS-Version wurde registriert auf:", IDC_STATIC, 35, 115, 180, 10 LTEXT "", IDC_ABOUT_REG_USERNAME, 45, 125, 180, 10 @@ -183,7 +183,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Wählen Sie die erweiterten Einstellungen für diese Verknüpfung.", -1, 5, 30, 210, 10 CHECKBOX "Als anderer Benutzer ausführen", 14000, 25, 50, 150, 10 - LTEXT "Diese Einstellung ermöglicht es, diese Verknüpfung unter einem anderen oder Ihrem eingenen Bentzerkonto auszuführen während der Computer und Ihre Daten vor unauthorisierten Programmaktivitäten geschützt werden können.", -1, 50, 60, 175, 40 + LTEXT "Diese Einstellung ermöglicht es, diese Verknüpfung unter einem anderen oder Ihrem eigenen Benutzerkonto auszuführen während der Computer und Ihre Daten vor unautorisierten Programmaktivitäten geschützt werden können.", -1, 50, 60, 175, 40 CHECKBOX "In getrenntem Speicherbereich ausführen", 14001, 25, 100, 150, 10, WS_DISABLED PUSHBUTTON "OK", 1, 63, 124, 50, 15, WS_VISIBLE PUSHBUTTON "Abbrechen", 2, 120, 124, 50, 15, WS_VISIBLE @@ -311,13 +311,13 @@ CAPTION "Extras" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "Fehlerüberprüfung", -1, 5, 5, 230, 60 - LTEXT "Bei Wahl dieser Option wird das Volume\nauf Fehler überprüft.", -1, 40, 25, 160, 20 + LTEXT "Bei Wahl dieser Option wird der Datenträger\nauf Fehler überprüft.", -1, 40, 25, 160, 20 PUSHBUTTON "Jetzt &prüfen...", 14000, 130, 45, 90, 15, WS_TABSTOP GROUPBOX "Defragmentierung", -1, 5, 65, 230, 60 - LTEXT "Bei Wahl dieser Option werden die Dateien auf\ndem Volume defragmentiert.", -1, 40, 85, 160, 20 + LTEXT "Bei Wahl dieser Option werden die Dateien auf\ndem Datenträger defragmentiert.", -1, 40, 85, 160, 20 PUSHBUTTON "Jetzt &defragmentieren...", 14001, 130, 105, 90, 15, WS_TABSTOP GROUPBOX "Sicherung", -1, 5, 130, 230, 60 - LTEXT "Bei Wahl dieser Option werden die auf dem\nVolume gespeicherten Dateien gesichert.", -1, 40, 150, 160, 20 + LTEXT "Bei Wahl dieser Option werden die auf dem\nDatenträger gespeicherten Dateien gesichert.", -1, 40, 150, 160, 20 PUSHBUTTON "Jetzt &sichern...", 14002, 130, 170, 90, 15, WS_TABSTOP END @@ -335,7 +335,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Welches Benutzerkonto wollen Sie zum Starten dieser Anwendung verwenden?", -1, 10, 20, 220, 20 CHECKBOX "Aktueller Benutzer %s", 14000, 10, 45, 150, 10 - LTEXT "Computer vor unauthorisierten Programmaktiviäten schützen", -1, 25, 57, 200, 10, WS_DISABLED + LTEXT "Computer vor unautorisierten Programmaktivitäten schützen", -1, 25, 57, 200, 10, WS_DISABLED CHECKBOX "Diese Einstellung kann Computerviren daran hindern, ihrem Computer oder Ihren persönlichen Daten zu schaden, aber es kann auch Programme daran hindern, ordnungsgemäß zu arbeiten.", 14001, 25, 68, 200, 30, WS_DISABLED | BS_MULTILINE CHECKBOX "Folgender Benutzer:", 14002, 10, 100, 90, 10 LTEXT "Benutzername:", -1, 20, 118, 54, 10 @@ -404,8 +404,8 @@ BEGIN GROUPBOX "Markieren von Elementen", -1, 7, 110, 249, 60 ICON "", 30111, 14, 120, 21, 20, SS_REALSIZECONTROL AUTORADIOBUTTON "&Öffnen durch &einfachen Klick (Markieren durch zeigen)", 14007, 40, 120, 210, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "Symbolunerschriften wie im Br&owser unterstreichen", 14008, 50, 132, 210, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "Symbolunerschriften nur beim Zeigen &unterstreichen", 14009, 50, 144, 210, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "Symbolbeschriftungen wie im Br&owser unterstreichen", 14008, 50, 132, 210, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "Symbolbeschriftungen nur beim Zeigen &unterstreichen", 14009, 50, 144, 210, 10, WS_TABSTOP | WS_GROUP AUTORADIOBUTTON "&Öffnen durch &Doppelklick (Markieren durch einfachen Klick)", 14010, 40, 156, 210, 10, WS_TABSTOP | WS_GROUP PUSHBUTTON "&Wiederherstellen", 14011, 180, 180, 60, 14, WS_TABSTOP END diff --git a/dll/win32/shell32/shlexec.cpp b/dll/win32/shell32/shlexec.cpp index a2707112b1e..7adbd0d0e03 100644 --- a/dll/win32/shell32/shlexec.cpp +++ b/dll/win32/shell32/shlexec.cpp @@ -450,16 +450,14 @@ static UINT_PTR SHELL_ExecuteW(const WCHAR *lpCmd, WCHAR *env, BOOL shWait, startup.cb = sizeof(STARTUPINFOW); startup.dwFlags = STARTF_USESHOWWINDOW; startup.wShowWindow = psei->nShow; + dwCreationFlags = CREATE_UNICODE_ENVIRONMENT; + if (psei->fMask & SEE_MASK_NO_CONSOLE) + dwCreationFlags |= CREATE_NEW_CONSOLE; startup.lpTitle = (LPWSTR)(psei->fMask & (SEE_MASK_HASLINKNAME | SEE_MASK_HASTITLE) ? psei->lpClass : NULL); if (psei->fMask & SEE_MASK_HASLINKNAME) startup.dwFlags |= STARTF_TITLEISLINKNAME; - dwCreationFlags = CREATE_UNICODE_ENVIRONMENT; - - if (psei->fMask & SEE_MASK_NO_CONSOLE) - dwCreationFlags |= CREATE_NEW_CONSOLE; - if (CreateProcessW(NULL, (LPWSTR)lpCmd, NULL, NULL, FALSE, dwCreationFlags, env, lpDirectory, &startup, &info)) { @@ -703,7 +701,13 @@ static UINT SHELL_FindExecutable(LPCWSTR lpPath, LPCWSTR lpFile, LPCWSTR lpOpera lpFile = xlpFile; /* Hey, isn't this value ignored? Why make this call? Shouldn't we return here? --dank*/ } - + else if (lpPath && SearchPathW(NULL, lpFile, wszExe, sizeof(xlpFile)/sizeof(WCHAR), xlpFile, NULL)) + { + TRACE("SearchPathW returned non-zero\n"); + lpFile = xlpFile; + /* The file was found in one of the directories in the system-wide search path */ + } + attribs = GetFileAttributesW(lpFile); if (attribs != INVALID_FILE_ATTRIBUTES && (attribs & FILE_ATTRIBUTE_DIRECTORY)) { diff --git a/dll/win32/syssetup/lang/cs-CZ.rc b/dll/win32/syssetup/lang/cs-CZ.rc index f94b9705d0e..f9eb3a794ea 100644 --- a/dll/win32/syssetup/lang/cs-CZ.rc +++ b/dll/win32/syssetup/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/win32/syssetup/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2009-08-02 + * UPDATED: 2014-04-21 * THANKS TO: Filip Navara and Kamil Hornicek, who translated major part of this file */ @@ -12,7 +12,7 @@ CAPTION "ReactOS Instalátor" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Vítejte v průvodci instalace systému ReactOS.", IDC_WELCOMETITLE, 115, 9, 189, 31 - LTEXT "Tento průvodce nainstaluje systém ReactOS na Váš počítač. Průvodce potřebuje získat některé informace o Vás a Vašem počítači aby mohl systém správně nastavit.", IDC_STATIC, 115, 50, 189, 100 + LTEXT "Tento průvodce nainstaluje systém ReactOS na Váš počítač. Průvodce potřebuje získat některé informace o Vás a Vašem počítači, aby mohl systém správně nastavit.", IDC_STATIC, 115, 50, 189, 100 LTEXT "Kliknutím na Další pokračujte v instalaci.", IDC_STATIC, 115, 160, 189, 31 END @@ -155,7 +155,7 @@ BEGIN IDS_TIMEOUT "Vypršel časový limit registrace" IDS_REASON_UNKNOWN "" /* - * ATTENTION: + * ATTENTION: * If you translate the administator account name, keep IDS_ADMINISTRATOR_NAME and * samsrv.dll:IDS_USER_ADMINISTRATOR_NAME synchronized. * Also check the IDD_COMPUTERPAGE dialog. diff --git a/dll/win32/syssetup/lang/de-DE.rc b/dll/win32/syssetup/lang/de-DE.rc index f39054967f8..8cb09d7abe3 100644 --- a/dll/win32/syssetup/lang/de-DE.rc +++ b/dll/win32/syssetup/lang/de-DE.rc @@ -2,7 +2,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL IDD_WELCOMEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Willkommen beim ReactOS Installationsassistenten.", IDC_WELCOMETITLE, 115, 9, 189, 31 @@ -12,7 +12,7 @@ END IDD_ACKPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Die Entwicklung von ReactOS wurde teilweise durch folgende Open-Source-Projekte ermöglicht:", IDC_STATIC, 15, 7, 286, 19 @@ -24,11 +24,11 @@ END IDD_OWNERPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON2, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Bitte geben Sie Ihren Namen und den Namen Ihrer Firma ein.", IDC_STATIC, 54, 7, 242, 21 + LTEXT "Bitte geben Sie Ihren Namen und den Namen Ihrer Firma oder Organisation ein.", IDC_STATIC, 54, 7, 242, 21 LTEXT "Na&me:", IDC_STATIC, 54, 37, 44, 8 EDITTEXT IDC_OWNERNAME, 132, 35, 163, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL LTEXT "&Organisation:", IDC_STATIC, 54, 57, 44, 8 @@ -37,15 +37,15 @@ END IDD_COMPUTERPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Bitte geben Sie einen Computernamen ein (maximal 15 Zeichen). Wenn Sie im Netzwerk sind, muss dieser Name einmalig sein.", IDC_STATIC, 54, 7, 250, 24 - LTEXT "&Computer Name:", IDC_STATIC, 54, 38, 75, 8 + LTEXT "Bitte geben Sie einen Computernamen maximal 15 Zeichen ein. Wenn Sie im Netzwerk sind, muss dieser Name einmalig sein.", IDC_STATIC, 54, 7, 250, 24 + LTEXT "&Computername:", IDC_STATIC, 54, 38, 75, 8 EDITTEXT IDC_COMPUTERNAME, 132, 35, 163, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_UPPERCASE ICON IDI_ICON5, IDC_STATIC, 21, 57, 20, 20 - LTEXT "Das Setup wird ein Administratorkonto erstellen. Benutzen Sie es, wenn Sie vollen Zugriff auf Ihren Computer benötigen.", IDC_STATIC, 54, 57, 250, 25 + LTEXT "Das Installationsprogramm wird ein Administratorkonto erstellen. Benutzen Sie es, wenn Sie vollen Zugriff auf Ihren Computer benötigen.", IDC_STATIC, 54, 57, 250, 25 LTEXT "Geben Sie ein Passwort für das Administratorkonto mit max. 127 Zeichen ein.", IDC_STATIC, 54, 87, 250, 8 LTEXT "&Administratorpasswort:", IDC_STATIC, 54, 104, 75, 8 EDITTEXT IDC_ADMINPASSWORD1, 132, 101, 172, 14, WS_VISIBLE | WS_TABSTOP | ES_PASSWORD @@ -55,27 +55,27 @@ END IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON4, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Die lokalen Systemeinstellungen sollten mit der Sprache der Anwendungen, die Sie nutzen wollen übereinstimmen. Die lokalen Nutzereinstellungen geben vor, wie Nummern, Währungen und Datumsangaben dargestellt werden.", IDC_STATIC, 53, 6, 253, 30 + LTEXT "Die Spracheinstellungen des Systems sollten mit der Sprache der Anwendungen, die Sie nutzen wollen übereinstimmen. Die Nutzereinstellungen geben vor, wie Zahlen, Währungen und Datumsangaben dargestellt werden.", IDC_STATIC, 53, 6, 253, 30 LTEXT "", IDC_LOCALETEXT, 54, 34, 250, 16 - LTEXT "Um die lokalen Nutzer- oder Systemeinstellungen zu ändern, klicken Sie auf Einstellen.", IDC_STATIC, 53, 57, 188, 16 + LTEXT "Klicken Sie auf Einstellen, um die regionalen Einstellungen zu ändern.", IDC_STATIC, 53, 57, 188, 16 PUSHBUTTON "&Einstellen...", IDC_CUSTOMLOCALE, 245, 57, 50, 14 LTEXT "Das Tastaturlayout gibt vor, welches Zeichen ein Tastendruck bewirkt.", IDC_STATIC, 53, 86, 253, 8 LTEXT "", IDC_LAYOUTTEXT, 53, 100, 250, 16 - LTEXT "Um das Tastaturlayout zu ändern, klicken Sie auf Einstellen.", IDC_STATIC, 53, 122, 188, 16 - PUSHBUTTON "&Einstellen...", IDC_CUSTOMLAYOUT, 245, 122, 50, 14 + LTEXT "Klicken Sie auf Einstellen, um das Tastaturlayout zu ändern.", IDC_STATIC, 53, 122, 188, 16 + PUSHBUTTON "Eins&tellen...", IDC_CUSTOMLAYOUT, 245, 122, 50, 14 END IDD_DATETIMEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON3, IDC_STATIC, 21, 10, 20, 20 - LTEXT "Datum und Zeit", IDC_STATIC, 53, 7, 253, 8 + LTEXT "Datum und Uhrzeit", IDC_STATIC, 53, 7, 253, 8 CONTROL "", IDC_DATEPICKER, "SysDateTimePick32", DTS_LONGDATEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 53, 17, 137, 14 CONTROL "", IDC_TIMEPICKER, "SysDateTimePick32", DTS_TIMEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 200, 17, 54, 14 LTEXT "Zeitzone", IDC_STATIC, 53, 42, 253, 8 @@ -85,7 +85,7 @@ END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS-Setup" +CAPTION "ReactOS-Installation" FONT 8, "MS Shell Dlg" BEGIN LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20 @@ -99,14 +99,14 @@ CAPTION "Fertigstellung der Installation" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Fertigstellung des ReactOS Installationsassistenten", IDC_FINISHTITLE, 115, 9, 195, 37 - LTEXT "Das ReactOS-Setup wurde erfolgreich fertiggestellt.\n\nWenn Sie auf Beenden klicken, wird der Computer neu gestartet.", IDC_STATIC, 115, 58, 195, 100 + LTEXT "Die Installation von ReactOS wurde erfolgreich fertiggestellt.\n\nWenn Sie auf Beenden klicken, wird der Computer neu gestartet.", IDC_STATIC, 115, 58, 195, 100 CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 115, 138, 188, 12 - LTEXT "Entfernen Sie die CD, wenn vorhanden. Danach klicken Sie auf Beenden, um den Computer neu zu starten.", IDC_STATIC, 115, 160, 195, 31 + LTEXT "Entfernen Sie die CD und klicken Sie auf Beenden, um den Computer neuzustarten.", IDC_STATIC, 115, 160, 195, 31 END IDD_GPL DIALOGEX 0, 0, 333, 230 STYLE DS_SHELLFONT | DS_CENTER | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "GNU General Public License" +CAPTION "GNU General Public License (GPL)" FONT 8, "MS Shell Dlg" BEGIN EDITTEXT IDC_GPL_TEXT, 7, 7, 319, 190, ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL @@ -123,7 +123,7 @@ END STRINGTABLE BEGIN - IDS_ACKTITLE "Anerkennungen" + IDS_ACKTITLE "Danksagungen" IDS_ACKSUBTITLE "Informationen über die Entwickler und Softwarelizenzen" IDS_OWNERTITLE "Personalisieren Sie Ihre Software" IDS_OWNERSUBTITLE "Das Setup nutzt diese Informationen über Sie, um ReactOS zu personalisieren." @@ -132,14 +132,14 @@ BEGIN IDS_LOCALETITLE "Regionale Einstellungen" IDS_LOCALESUBTITLE "Sie können ReactOS auf unterschiedliche Regionen und Sprachen einstellen." IDS_DATETIMETITLE "Datum und Uhrzeit" - IDS_DATETIMESUBTITLE "Setzen Sie das korrekte Datum und Uhrzeit für Ihren Computer." - IDS_PROCESSTITLE "Registriere Komponenten" + IDS_DATETIMESUBTITLE "Stellen Sie das korrekte Datum und die Uhrzeit für Ihren Computer ein." + IDS_PROCESSTITLE "Komponenten werden registriert" IDS_PROCESSSUBTITLE "Bitte warten..." END STRINGTABLE BEGIN - IDS_REACTOS_SETUP "ReactOS-Setup" + IDS_REACTOS_SETUP "ReactOS-Installation" IDS_UNKNOWN_ERROR "Unbekannter Fehler" IDS_REGISTERING_COMPONENTS "Registriere Komponenten..." IDS_LOADLIBRARY_FAILED "LoadLibrary fehlgeschlagen: " @@ -159,13 +159,13 @@ END STRINGTABLE BEGIN - IDS_WZD_NAME "Setup kann erst fortgesetzt werden, wenn ein Name eingegeben wurde." - IDS_WZD_SETCOMPUTERNAME "Setup konnte den Computernamen nicht setzen." - IDS_WZD_COMPUTERNAME "Setup kann erst fortgesetzt werden, wenn ein Computername eingegeben wurde." - IDS_WZD_PASSWORDEMPTY "Sie müssen ein Passwort setzen!" - IDS_WZD_PASSWORDMATCH "Die Passwörter sind nicht gleich. Bitte setzen Sie die Passwörter erneut." - IDS_WZD_PASSWORDCHAR "Das Passwort, das Sie setzten, enthält ungültige Zeichen. Bitte setzen Sie ein gültiges Passwort." - IDS_WZD_LOCALTIME "Setup konnte die lokale Zeit nicht setzen." + IDS_WZD_NAME "Die Installation kann erst fortgesetzt werden, wenn ein Name eingegeben wurde." + IDS_WZD_SETCOMPUTERNAME "Das Installationsprogramm konnte den Computernamen nicht einstellen." + IDS_WZD_COMPUTERNAME "Die Installation kann erst fortgesetzt werden, wenn ein Computername eingegeben wurde." + IDS_WZD_PASSWORDEMPTY "Sie müssen ein Passwort vergeben!" + IDS_WZD_PASSWORDMATCH "Die Passwörter sind nicht identisch. Bitte geben Sie die Passwörter erneut ein." + IDS_WZD_PASSWORDCHAR "Das Passwort enthält ungültige Zeichen. Bitte wählen Sie ein gültiges Passwort." + IDS_WZD_LOCALTIME "Das Installationsprogramm konnte die lokale Zeit nicht einstellen." END STRINGTABLE diff --git a/dll/win32/winmm/lang/winmm_De.rc b/dll/win32/winmm/lang/winmm_De.rc index bd062136c91..7acfc61f732 100644 --- a/dll/win32/winmm/lang/winmm_De.rc +++ b/dll/win32/winmm/lang/winmm_De.rc @@ -25,7 +25,7 @@ MMSYSERR_ERROR, "Unbekannter externer Fehler." MMSYSERR_BADDEVICEID, "Die derzeit verwendete Gertekennung ist auerhalb des zulssigen Bereichs fr Ihr System." MMSYSERR_NOTENABLED, "Der Treiber konnte nicht gestartet werden." MMSYSERR_ALLOCATED, "Das Gert wird bereits verwendet. Warten Sie, bis es freigegeben ist, und versuchen Sie es erneut." -MMSYSERR_INVALHANDLE, "Das angegebende Gertehandle ist ungltig." +MMSYSERR_INVALHANDLE, "Das angegebene Gertehandle ist ungltig." MMSYSERR_NODRIVER, "Es ist kein Treiber auf Ihrem System installiert !\n" MMSYSERR_NOMEM, "Nicht gengend Speicher fr diesen Befehl. Beenden Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut." MMSYSERR_NOTSUPPORTED, "Diese Funktion wird nicht untersttzt. Benutzen Sie die Funktion 'Capabilities', um zu ermitteln, welche Funktion dieser Treiber untersttzt." @@ -70,7 +70,7 @@ MCIERR_INTERNAL, "Ein Fehler ereignete sich beim Starten von MCI. Versuche Rea MCIERR_DRIVER, "Es gibt ein Problem mit dem Gertetreiber. Der Treiber wird geschlossen. Ein Fehler kann nicht gemeldet werden." MCIERR_CANNOT_USE_ALL, "Der Gertename 'all' ist nicht in diesem Befehl erlaubt." MCIERR_MULTIPLE, "Es traten Fehler in mehr als einem Gert auf. Geben Sie jeden Befehl fr jedes Gert einzeln an, um zu bestimmen, welches Gert die Fehler verursachte." -MCIERR_EXTENSION_NOT_FOUND, "Kann keinen Gertetyp aus der angegebenen Dateinamenerweiterung ermitteln." +MCIERR_EXTENSION_NOT_FOUND, "Kann keinen Gertetyp aus der angegebenen Dateinamenserweiterung ermitteln." MCIERR_OUTOFRANGE, "Der angegebene Parameter liegt auerhalb des zulssigen Bereichs fr diesen Befehl." MCIERR_FLAGS_NOT_COMPATIBLE, "Die Parameter knnen nicht zusammen verwendet werden." MCIERR_FILE_NOT_SAVED, "Die Datei kann nicht gespeichert werden. Stellen Sie sicher, dass gengend Platz auf dem Datentrger verfgbar ist oder Ihre Netzwerkverbindung noch besteht." @@ -91,7 +91,7 @@ MCIERR_NOTIFY_ON_AUTO_OPEN, "Das 'notify' Flag ist unzul MCIERR_NO_ELEMENT_ALLOWED, "Ein Dateiname kann mit diesem Gert nicht verwendet werden." MCIERR_NONAPPLICABLE_FUNCTION, "Die Befehle sind in der angegebenen Reihenfolge nicht ausfhrbar. ndern Sie die Reihenfolge, und versuchen Sie es erneut." MCIERR_ILLEGAL_FOR_AUTO_OPEN, "Der Befehl kann nicht auf ein selbstffnedes Gert angewandt werden. Warten Sie, bis das Gert geschlossen wurde und versuchen Sie es erneut." -MCIERR_FILENAME_REQUIRED, "Der Dateiname ist ungltig. Der Dateiname muss aus maximal 8 Zeichen, gefolgt von einem Punkt und einer Dateinamenerweiterung bestehen." +MCIERR_FILENAME_REQUIRED, "Der Dateiname ist ungltig. Der Dateiname muss aus maximal 8 Zeichen, gefolgt von einem Punkt und einer Dateinamenserweiterung bestehen." MCIERR_EXTRA_CHARACTERS, "Zustzliche Zeichen nach einer Zeichenkette mit Anfhrungszeichen sind nicht erlaubt." MCIERR_DEVICE_NOT_INSTALLED, "Das angegebene Gert ist nicht auf Ihren System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um das Gert zu installieren." MCIERR_GET_CD, "Auf die angegebene Datei oder das MCI - Gert kann nicht zugegriffen werden. Versuchen Sie, das Verzeichnis zu wechseln oder das System neu zu starten." @@ -104,8 +104,8 @@ MCIERR_WAVE_OUTPUTSINUSE, "Alle Waveformger MCIERR_WAVE_SETOUTPUTINUSE, "Das gegenwrtige Waveformgert kann nicht wiedergeben, weil es gerade benutzt wird. Warten Sie, bis das Gert frei ist, und wiederholen Sie den Vorgang." MCIERR_WAVE_INPUTSINUSE, "Es ist kein Waveformgert frei, das das gegenwrtige Format aufzeichnen knnte. Warten Sie, bis ein Waveformgert frei ist, und wiederholen Sie den Vorgang." MCIERR_WAVE_SETINPUTINUSE, "Das gegenwrtige Waveformgert kann nicht aufzeichnen, weil es gerade verwendet wird. Warten Sie, bis das Gert frei ist, und wiederholen Sie den Vorgang." -MCIERR_WAVE_OUTPUTUNSPECIFIED, "Jedes kompatible Waveform - Wiedergabegert kann verwendet werden." -MCIERR_WAVE_INPUTUNSPECIFIED, "Jedes kompatible Waveform - Aufnahmegert kann verwendet werden." +MCIERR_WAVE_OUTPUTUNSPECIFIED, "Jedes kompatible Waveform-Wiedergabegert kann verwendet werden." +MCIERR_WAVE_INPUTUNSPECIFIED, "Jedes kompatible Waveform-Aufnahmegert kann verwendet werden." MCIERR_WAVE_OUTPUTSUNSUITABLE, "Es ist kein Waveformgert installiert, das Dateien im aktuellen Format wiedergeben kann. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein Waveformgert zu installieren." MCIERR_WAVE_SETOUTPUTUNSUITABLE,"Das Wiedergabegert erkennt das gegenwrtige Dateiformat nicht." MCIERR_WAVE_INPUTSUNSUITABLE, "Es ist kein Waveformgert installiert, das Dateien im aktuellen Format aufnehmen kann. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein Waveformgert zu installieren." @@ -114,13 +114,13 @@ MCIERR_NO_WINDOW, "Es gibt kein Anzeigefenster." MCIERR_CREATEWINDOW, "Fenster konnte nicht erzeugt oder verwendet werden." MCIERR_FILE_READ, "Die Datei konnte nicht gelesen werden. Stellen Sie sicher, dass die Datei existiert oder Ihre Netzwerkverbindung noch besteht." MCIERR_FILE_WRITE, "Die Datei konnte nicht geschrieben werden. Stellen Sie sicher, dass gengend Platz auf dem Datentrger verfgbar ist, oder dass die Netzwerkverbindung noch besteht." -MCIERR_SEQ_DIV_INCOMPATIBLE, "Die Zeitformate von ""song pointer"" und SMPTE schliessen sich gegenseitig aus. Sie knnen sie nicht zusammen verwenden." +MCIERR_SEQ_DIV_INCOMPATIBLE, "Die Zeitformate von ""song pointer"" und SMPTE schlieen sich gegenseitig aus. Sie knnen sie nicht zusammen verwenden." MCIERR_SEQ_NOMIDIPRESENT, "Es sind keine MIDI - Gerte auf dem System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um einen MIDI - Treiber zu installieren." MCIERR_SEQ_PORT_INUSE, "Der angegebene MIDI - Anschluss wird bereits verwendet. Warten Sie bis der Anschluss frei ist, und versuchen Sie es erneut." MCIERR_SEQ_PORT_MAPNODEVICE, "Das gegenwrtige MIDI - Mapper Setup benutzt ein MIDI - Gert, dass nicht auf Ihren System installiert ist. Benutzen Sie den MIDI - Mapper in der Systemsteuerung, um das Setup zu ndern." MCIERR_SEQ_PORT_MISCERROR, "Beim Benutzen des angegebenen Anschlusses trat ein Fehler auf." -MCIERR_SEQ_PORT_NONEXISTENT, "Es sind keine angegebnen MIDI - Gerte auf dem System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein MIDI - Gert zu installieren." -MCIERR_SEQ_PORTUNSPECIFIED, "Es gibt keinen aktuellen MIDI - Anschluss auf dem System." +MCIERR_SEQ_PORT_NONEXISTENT, "Es sind keine angegebenen MIDI-Gerte auf dem System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein MIDI - Gert zu installieren." +MCIERR_SEQ_PORTUNSPECIFIED, "Es gibt keinen aktuellen MIDI-Anschluss auf dem System." MCIERR_SEQ_TIMER, "Alle Multimediazeitgeber werden von anderen Anwendungen verwendet. Beenden Sie eine dieser Anwendungen, und versuchen Sie es erneut." END diff --git a/drivers/base/kdcom/kdserial.c b/drivers/base/kdcom/kdserial.c index 2837900a299..bb37a3d9228 100644 --- a/drivers/base/kdcom/kdserial.c +++ b/drivers/base/kdcom/kdserial.c @@ -38,7 +38,7 @@ KdpSendBuffer( * \brief Receives data from the KD port and fills a buffer. * \param Buffer Pointer to a buffer that receives the data. * \param Size Size of data to receive in bytes. - * \return KDP_PACKET_RECEIVED if successful. + * \return KDP_PACKET_RECEIVED if successful. * KDP_PACKET_TIMEOUT if the receice timed out. */ KDP_STATUS @@ -69,7 +69,7 @@ KdpReceiveBuffer( * \name KdpReceivePacketLeader * \brief Receives a packet leadr from the KD port. * \param PacketLeader Pointer to an ULONG that receives the packet leader. - * \return KDP_PACKET_RECEIVED if successful. + * \return KDP_PACKET_RECEIVED if successful. * KDP_PACKET_TIMEOUT if the receive timed out. * KDP_PACKET_RESEND if a breakin byte was detected. */ @@ -141,7 +141,7 @@ KdpReceivePacketLeader( while (Index < 4); /* Enable the debugger */ - KdDebuggerNotPresent = FALSE; + KD_DEBUGGER_NOT_PRESENT = FALSE; SharedUserData->KdDebuggerEnabled |= 0x00000002; /* Return the received packet leader */ diff --git a/drivers/bus/acpi/compbatt/compmisc.c b/drivers/bus/acpi/compbatt/compmisc.c index f34aa9af0c2..337c521835c 100644 --- a/drivers/bus/acpi/compbatt/compmisc.c +++ b/drivers/bus/acpi/compbatt/compmisc.c @@ -14,7 +14,7 @@ NTSTATUS NTAPI -BatteryIoctl(IN ULONG IoControlCode, +BatteryIoctl(IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, IN PVOID InputBuffer, IN ULONG InputBufferLength, @@ -50,11 +50,11 @@ BatteryIoctl(IN ULONG IoControlCode, KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL); Status = IoStatusBlock.Status; } - + /* Print failure */ if (!(NT_SUCCESS(Status)) && (CompBattDebug & 8)) DbgPrint("BatteryIoctl: Irp failed - %x\n", Status); - + /* Done */ if (CompBattDebug & 0x100) DbgPrint("CompBatt: EXITING BatteryIoctl\n"); } @@ -64,7 +64,7 @@ BatteryIoctl(IN ULONG IoControlCode, if (CompBattDebug & 8) DbgPrint("BatteryIoctl: couldn't create Irp\n"); Status = STATUS_INSUFFICIENT_RESOURCES; } - + /* Return status */ return Status; } @@ -82,7 +82,7 @@ CompBattGetDeviceObjectPointer(IN PUNICODE_STRING DeviceName, PFILE_OBJECT LocalFileObject; HANDLE DeviceHandle; PAGED_CODE(); - + /* Open a file object handle to the device */ InitializeObjectAttributes(&ObjectAttributes, DeviceName, 0, NULL, NULL); Status = ZwCreateFile(&DeviceHandle, @@ -101,7 +101,7 @@ CompBattGetDeviceObjectPointer(IN PUNICODE_STRING DeviceName, /* Reference the file object */ Status = ObReferenceObjectByHandle(DeviceHandle, 0, - IoFileObjectType, + *IoFileObjectType, KernelMode, (PVOID)&LocalFileObject, NULL); @@ -111,11 +111,11 @@ CompBattGetDeviceObjectPointer(IN PUNICODE_STRING DeviceName, *FileObject = LocalFileObject; *DeviceObject = IoGetRelatedDeviceObject(LocalFileObject); } - + /* Close the handle */ ZwClose(DeviceHandle); } - + /* Return status */ return Status; } diff --git a/drivers/crypto/ksecdd/random.c b/drivers/crypto/ksecdd/random.c index 392ad0f70ca..1d1168a8776 100644 --- a/drivers/crypto/ksecdd/random.c +++ b/drivers/crypto/ksecdd/random.c @@ -31,11 +31,13 @@ KsecGenRandom( PVOID Buffer, SIZE_T Length) { + LARGE_INTEGER TickCount; ULONG i, RandomValue; PULONG P; /* Try to generate a more random seed */ - KsecRandomSeed ^= _rotl(KeTickCount.LowPart, (KsecRandomSeed % 23)); + KeQueryTickCount(&TickCount); + KsecRandomSeed ^= _rotl(TickCount.LowPart, (KsecRandomSeed % 23)); P = Buffer; for (i = 0; i < Length / sizeof(ULONG); i++) @@ -94,7 +96,7 @@ KsecGatherEntropyData( PTEB Teb; PPEB Peb; PWSTR String; - ULONG ReturnLength; + SIZE_T ReturnLength; NTSTATUS Status; /* Query some generic values */ @@ -125,7 +127,7 @@ KsecGatherEntropyData( /* Update the MD4 context from the environment data */ MD4Update(&Md4Context, (PUCHAR)Peb->ProcessParameters->Environment, - (PUCHAR)String - (PUCHAR)Peb->ProcessParameters->Environment); + (ULONG)((PUCHAR)String - (PUCHAR)Peb->ProcessParameters->Environment)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { diff --git a/drivers/filters/mountmgr/device.c b/drivers/filters/mountmgr/device.c index c86df7a5426..4ee8096c7e6 100644 --- a/drivers/filters/mountmgr/device.c +++ b/drivers/filters/mountmgr/device.c @@ -1552,7 +1552,7 @@ MountMgrVolumeMountPointChanged(IN PDEVICE_EXTENSION DeviceExtension, } /* Reference it */ - Status = ObReferenceObjectByHandle(Handle, 0, IoFileObjectType, KernelMode, (PVOID *)&FileObject, NULL); + Status = ObReferenceObjectByHandle(Handle, 0, *IoFileObjectType, KernelMode, (PVOID *)&FileObject, NULL); if (!NT_SUCCESS(Status)) { goto Cleanup; diff --git a/drivers/ksfilter/ks/api.c b/drivers/ksfilter/ks/api.c index 26aa2cf8025..575a5a4bc73 100644 --- a/drivers/ksfilter/ks/api.c +++ b/drivers/ksfilter/ks/api.c @@ -1140,7 +1140,7 @@ KsSynchronousIoControlDevice( if (Status) { /* store bytes returned */ - *BytesReturned = IoStatusBlock.Information; + *BytesReturned = (ULONG)IoStatusBlock.Information; /* return status */ return IoStatusBlock.Status; } @@ -1181,7 +1181,7 @@ KsSynchronousIoControlDevice( Status = IoStatusBlock.Status; } - *BytesReturned = IoStatusBlock.Information; + *BytesReturned = (ULONG)IoStatusBlock.Information; return Status; } @@ -1716,8 +1716,8 @@ KsCompletePendingRequest( return; } - /* FIXME - * delete object / device header + /* FIXME + * delete object / device header * remove dead pin / filter instance */ UNIMPLEMENTED @@ -1782,7 +1782,7 @@ KspDeviceSetGetBusData( Status = IoCallDriver(DeviceObject, Irp); /* is the request still pending */ - if (Status == STATUS_PENDING) + if (Status == STATUS_PENDING) { /* have a nap */ KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL); @@ -1887,7 +1887,7 @@ KsGetNextSibling( /* get the basic header */ BasicHeader = (PKSBASIC_HEADER)((ULONG_PTR)Object - sizeof(KSBASIC_HEADER)); - ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || + ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || BasicHeader->Type == KsObjectTypeFilter || BasicHeader->Type == KsObjectTypePin); return (PVOID)BasicHeader->Next.Pin; @@ -2128,7 +2128,7 @@ KspMergePropertySet( PKSPROPERTY_ITEM PropertyItem, CurrentPropertyItem; NTSTATUS Status; - // max properties + // max properties PropertyCount = PropertySetA->PropertiesCount + PropertySetB->PropertiesCount; // allocate items @@ -2518,7 +2518,7 @@ KsRegisterAggregatedClientUnknown( PKSBASIC_HEADER BasicHeader = (PKSBASIC_HEADER)((ULONG_PTR)Object - sizeof(KSBASIC_HEADER)); /* sanity check */ - ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || + ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || BasicHeader->Type == KsObjectTypeFilter || BasicHeader->Type == KsObjectTypePin); if (BasicHeader->ClientAggregate) diff --git a/drivers/ksfilter/ks/event.c b/drivers/ksfilter/ks/event.c index f851957c19e..96f01464760 100644 --- a/drivers/ksfilter/ks/event.c +++ b/drivers/ksfilter/ks/event.c @@ -87,7 +87,7 @@ NTSTATUS KspEnableEvent( IN PIRP Irp, IN ULONG EventSetsCount, - IN PKSEVENT_SET EventSet, + IN const KSEVENT_SET* EventSet, IN OUT PLIST_ENTRY EventsList OPTIONAL, IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, IN PVOID EventsLock OPTIONAL, @@ -99,7 +99,7 @@ KspEnableEvent( KSEVENT Event; PKSEVENT_ITEM EventItem, FoundEventItem; PKSEVENTDATA EventData; - PKSEVENT_SET FoundEventSet; + const KSEVENT_SET *FoundEventSet; PKSEVENT_ENTRY EventEntry; ULONG Index, SubIndex, Size; PVOID Object; @@ -234,7 +234,7 @@ KspEnableEvent( if (EventData->NotificationType == KSEVENTF_SEMAPHORE_HANDLE) { /* get semaphore object handle */ - Status = ObReferenceObjectByHandle(EventData->SemaphoreHandle.Semaphore, SEMAPHORE_MODIFY_STATE, ExSemaphoreObjectType, Irp->RequestorMode, &Object, NULL); + Status = ObReferenceObjectByHandle(EventData->SemaphoreHandle.Semaphore, SEMAPHORE_MODIFY_STATE, *ExSemaphoreObjectType, Irp->RequestorMode, &Object, NULL); if (!NT_SUCCESS(Status)) { @@ -245,7 +245,7 @@ KspEnableEvent( else if (EventData->NotificationType == KSEVENTF_EVENT_HANDLE) { /* get event object handle */ - Status = ObReferenceObjectByHandle(EventData->EventHandle.Event, EVENT_MODIFY_STATE, ExEventObjectType, Irp->RequestorMode, &Object, NULL); + Status = ObReferenceObjectByHandle(EventData->EventHandle.Event, EVENT_MODIFY_STATE, *ExEventObjectType, Irp->RequestorMode, &Object, NULL); if (!NT_SUCCESS(Status)) { @@ -270,7 +270,7 @@ KspEnableEvent( /* invalid type requested */ return STATUS_INVALID_PARAMETER; } - } + } /* calculate request size */ @@ -398,18 +398,19 @@ KsEnableEvent( /* @implemented */ +_IRQL_requires_max_(PASSIVE_LEVEL) KSDDKAPI NTSTATUS NTAPI KsEnableEventWithAllocator( - IN PIRP Irp, - IN ULONG EventSetsCount, - IN PKSEVENT_SET EventSet, - IN OUT PLIST_ENTRY EventsList OPTIONAL, - IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, - IN PVOID EventsLock OPTIONAL, - IN PFNKSALLOCATOR Allocator OPTIONAL, - IN ULONG EventItemSize OPTIONAL) + _In_ PIRP Irp, + _In_ ULONG EventSetsCount, + _In_reads_(EventSetsCount) const KSEVENT_SET* EventSet, + _Inout_opt_ PLIST_ENTRY EventsList, + _In_opt_ KSEVENTS_LOCKTYPE EventsFlags, + _In_opt_ PVOID EventsLock, + _In_opt_ PFNKSALLOCATOR Allocator, + _In_opt_ ULONG EventItemSize) { return KspEnableEvent(Irp, EventSetsCount, EventSet, EventsList, EventsFlags, EventsLock, Allocator, EventItemSize); } diff --git a/drivers/ksfilter/ks/ksfunc.h b/drivers/ksfilter/ks/ksfunc.h index 83d57b2bef8..8a930dde136 100644 --- a/drivers/ksfilter/ks/ksfunc.h +++ b/drivers/ksfilter/ks/ksfunc.h @@ -175,7 +175,7 @@ NTSTATUS KspEnableEvent( IN PIRP Irp, IN ULONG EventSetsCount, - IN PKSEVENT_SET EventSet, + IN const KSEVENT_SET* EventSet, IN OUT PLIST_ENTRY EventsList OPTIONAL, IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, IN PVOID EventsLock OPTIONAL, diff --git a/drivers/ksfilter/ks/methods.c b/drivers/ksfilter/ks/methods.c index 65b49c60373..e58a6ff0a81 100644 --- a/drivers/ksfilter/ks/methods.c +++ b/drivers/ksfilter/ks/methods.c @@ -147,7 +147,7 @@ KspMethodHandlerWithAllocator( if (Allocator) { /* allocate the requested amount */ - Status = Allocator(Irp, Irp->IoStatus.Information, FALSE); + Status = Allocator(Irp, (ULONG)Irp->IoStatus.Information, FALSE); /* check if the block was allocated */ if (!NT_SUCCESS(Status)) @@ -189,13 +189,14 @@ KspMethodHandlerWithAllocator( /* @implemented */ +_IRQL_requires_max_(PASSIVE_LEVEL) KSDDKAPI NTSTATUS NTAPI KsMethodHandler( - IN PIRP Irp, - IN ULONG MethodSetsCount, - IN PKSMETHOD_SET MethodSet) + _In_ PIRP Irp, + _In_ ULONG MethodSetsCount, + _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet) { return KspMethodHandlerWithAllocator(Irp, MethodSetsCount, MethodSet, NULL, 0); } @@ -203,15 +204,16 @@ KsMethodHandler( /* @implemented */ +_IRQL_requires_max_(PASSIVE_LEVEL) KSDDKAPI NTSTATUS NTAPI KsMethodHandlerWithAllocator( - IN PIRP Irp, - IN ULONG MethodSetsCount, - IN PKSMETHOD_SET MethodSet, - IN PFNKSALLOCATOR Allocator OPTIONAL, - IN ULONG MethodItemSize OPTIONAL) + _In_ PIRP Irp, + _In_ ULONG MethodSetsCount, + _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet, + _In_opt_ PFNKSALLOCATOR Allocator, + _In_opt_ ULONG MethodItemSize) { return KspMethodHandlerWithAllocator(Irp, MethodSetsCount, MethodSet, Allocator, MethodItemSize); } diff --git a/drivers/ksfilter/ks/misc.c b/drivers/ksfilter/ks/misc.c index 1aa2b7dcbdc..9ad2cc57883 100644 --- a/drivers/ksfilter/ks/misc.c +++ b/drivers/ksfilter/ks/misc.c @@ -103,7 +103,7 @@ KspCopyCreateRequest( OUT PVOID * Result) { PIO_STACK_LOCATION IoStack; - ULONG ObjectLength, ParametersLength; + SIZE_T ObjectLength, ParametersLength; PVOID Buffer; /* get current irp stack */ @@ -129,7 +129,7 @@ KspCopyCreateRequest( /* store result */ *Result = Buffer; - *Size = ParametersLength; + *Size = (ULONG)ParametersLength; return STATUS_SUCCESS; } @@ -199,7 +199,7 @@ KsGetOuterUnknown( PKSBASIC_HEADER BasicHeader = (PKSBASIC_HEADER)((ULONG_PTR)Object - sizeof(KSBASIC_HEADER)); /* sanity check */ - ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || + ASSERT(BasicHeader->Type == KsObjectTypeDevice || BasicHeader->Type == KsObjectTypeFilterFactory || BasicHeader->Type == KsObjectTypeFilter || BasicHeader->Type == KsObjectTypePin); /* return objects outer unknown */ diff --git a/drivers/ksfilter/ks/pin.c b/drivers/ksfilter/ks/pin.c index 0865b3b7b8c..2226223c90c 100644 --- a/drivers/ksfilter/ks/pin.c +++ b/drivers/ksfilter/ks/pin.c @@ -193,7 +193,7 @@ IKsPin_PinMasterClock( { Mode = ExGetPreviousMode(); - Status = ObReferenceObjectByHandle(*Handle, SYNCHRONIZE | DIRECTORY_QUERY, IoFileObjectType, Mode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(*Handle, SYNCHRONIZE | DIRECTORY_QUERY, *IoFileObjectType, Mode, (PVOID*)&FileObject, NULL); DPRINT("IKsPin_PinMasterClock ObReferenceObjectByHandle %lx\n", Status); if (NT_SUCCESS(Status)) @@ -2221,7 +2221,7 @@ IKsPin_DispatchCreateClock( pResolution = &Resolution; } - Status = KsAllocateDefaultClockEx(&This->DefaultClock, + Status = KsAllocateDefaultClockEx(&This->DefaultClock, (PVOID)&This->Pin, (PFNKSSETTIMER)This->Pin.Descriptor->Dispatch->Clock->SetTimer, (PFNKSCANCELTIMER)This->Pin.Descriptor->Dispatch->Clock->CancelTimer, @@ -2265,7 +2265,7 @@ IKsPin_DispatchCreateNode( return STATUS_NOT_IMPLEMENTED; } -static KSDISPATCH_TABLE PinDispatchTable = +static KSDISPATCH_TABLE PinDispatchTable = { IKsPin_DispatchDeviceIoControl, KsDispatchInvalidDeviceRequest, @@ -2329,10 +2329,10 @@ KspCreatePin( DPRINT("KspCreatePin Index %lu FileAlignment %lx\n", Index, Descriptor->AllocatorFraming->FramingItem[Index].FileAlignment); DPRINT("KspCreatePin Index %lu MemoryTypeWeight %lx\n", Index, Descriptor->AllocatorFraming->FramingItem[Index].MemoryTypeWeight); DPRINT("KspCreatePin Index %lu PhysicalRange MinFrameSize %lu MaxFrameSize %lu Stepping %lu\n", Index, Descriptor->AllocatorFraming->FramingItem[Index].PhysicalRange.MinFrameSize, - Descriptor->AllocatorFraming->FramingItem[Index].PhysicalRange.MaxFrameSize, + Descriptor->AllocatorFraming->FramingItem[Index].PhysicalRange.MaxFrameSize, Descriptor->AllocatorFraming->FramingItem[Index].PhysicalRange.Stepping); - DPRINT("KspCreatePin Index %lu FramingRange MinFrameSize %lu MaxFrameSize %lu Stepping %lu InPlaceWeight %lu NotInPlaceWeight %lu\n", + DPRINT("KspCreatePin Index %lu FramingRange MinFrameSize %lu MaxFrameSize %lu Stepping %lu InPlaceWeight %lu NotInPlaceWeight %lu\n", Index, Descriptor->AllocatorFraming->FramingItem[Index].FramingRange.Range.MinFrameSize, Descriptor->AllocatorFraming->FramingItem[Index].FramingRange.Range.MaxFrameSize, diff --git a/drivers/ksfilter/ks/property.c b/drivers/ksfilter/ks/property.c index 7d6a29b704c..029043574a1 100644 --- a/drivers/ksfilter/ks/property.c +++ b/drivers/ksfilter/ks/property.c @@ -300,7 +300,7 @@ KspPropertyHandler( if (Allocator) { /* allocate the requested amount */ - Status = Allocator(Irp, Irp->IoStatus.Information, FALSE); + Status = Allocator(Irp, (ULONG)Irp->IoStatus.Information, FALSE); /* check if the block was allocated */ if (!NT_SUCCESS(Status)) @@ -364,15 +364,16 @@ KsPropertyHandler( /* @implemented */ +_IRQL_requires_max_(PASSIVE_LEVEL) KSDDKAPI NTSTATUS NTAPI KsPropertyHandlerWithAllocator( - IN PIRP Irp, - IN ULONG PropertySetsCount, - IN PKSPROPERTY_SET PropertySet, - IN PFNKSALLOCATOR Allocator OPTIONAL, - IN ULONG PropertyItemSize OPTIONAL) + _In_ PIRP Irp, + _In_ ULONG PropertySetsCount, + _In_reads_(PropertySetsCount) const KSPROPERTY_SET* PropertySet, + _In_opt_ PFNKSALLOCATOR Allocator, + _In_opt_ ULONG PropertyItemSize) { return KspPropertyHandler(Irp, PropertySetsCount, PropertySet, Allocator, PropertyItemSize); } diff --git a/drivers/ksfilter/ks/swenum.c b/drivers/ksfilter/ks/swenum.c index 0b76c8562a4..93dbb41274f 100644 --- a/drivers/ksfilter/ks/swenum.c +++ b/drivers/ksfilter/ks/swenum.c @@ -329,7 +329,7 @@ KspCreateDeviceReference( IN LPWSTR ReferenceString) { LPWSTR DeviceName; - ULONG Length; + SIZE_T Length; PLIST_ENTRY Entry; PBUS_DEVICE_ENTRY DeviceEntry = NULL; /* GCC warning */ BOOLEAN ItemExists = FALSE; @@ -523,7 +523,7 @@ KspBusQueryReferenceString( IN OUT PWCHAR *String) { LPWSTR Name; - ULONG Length; + SIZE_T Length; PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension = (PBUS_ENUM_DEVICE_EXTENSION)Context; /* sanity checks */ @@ -665,7 +665,7 @@ KspDoReparseForIrp( PIRP Irp, PBUS_DEVICE_ENTRY DeviceEntry) { - ULONG Length; + SIZE_T Length; LPWSTR Buffer; PIO_STACK_LOCATION IoStack; @@ -885,7 +885,7 @@ KspQueryId( PBUS_DEVICE_ENTRY DeviceEntry; PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension; LPWSTR Name; - ULONG Length; + SIZE_T Length; /* get current irp stack location */ IoStack = IoGetCurrentIrpStackLocation(Irp); @@ -972,7 +972,7 @@ KspInstallInterface( IN PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension, IN PSWENUM_INSTALL_INTERFACE InstallInterface) { - ULONG Length, Index; + SIZE_T Length, Index; UNICODE_STRING DeviceString, InterfaceString, ReferenceString; HANDLE hKey, hDeviceKey, hInterfaceKey, hReferenceKey; NTSTATUS Status; @@ -1369,7 +1369,7 @@ KsGetBusEnumIdentifier( PDEV_EXTENSION DeviceExtension; PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension; PIO_STACK_LOCATION IoStack; - ULONG Length; + SIZE_T Length; NTSTATUS Status; LPWSTR Buffer; @@ -1489,7 +1489,7 @@ KsCreateBusEnumObject( IN REFGUID InterfaceGuid OPTIONAL, IN PWCHAR ServiceRelativePath OPTIONAL) { - ULONG Length; + SIZE_T Length; NTSTATUS Status = STATUS_SUCCESS; UNICODE_STRING ServiceKeyPath = RTL_CONSTANT_STRING(L"\\REGISTRY\\MACHINE\\SYSTEM\\CurrentControlSet\\Services\\"); PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension; diff --git a/drivers/ksfilter/ks/topology.c b/drivers/ksfilter/ks/topology.c index c6dc1b77718..2785a9b871b 100644 --- a/drivers/ksfilter/ks/topology.c +++ b/drivers/ksfilter/ks/topology.c @@ -28,7 +28,7 @@ KspCreateObjectType( /* calculate request length */ Name.Length = 0; - Name.MaximumLength = wcslen(ObjectType) * sizeof(WCHAR) + CreateParametersSize + 1 * sizeof(WCHAR); + Name.MaximumLength = (USHORT)(wcslen(ObjectType) * sizeof(WCHAR) + CreateParametersSize + 1 * sizeof(WCHAR)); Name.MaximumLength += sizeof(WCHAR); /* acquire request buffer */ Name.Buffer = AllocateItem(NonPagedPool, Name.MaximumLength); @@ -39,7 +39,7 @@ KspCreateObjectType( return STATUS_INSUFFICIENT_RESOURCES; } - /* build a request which looks like {ObjectClass}\CreateParameters + /* build a request which looks like {ObjectClass}\CreateParameters * For pins the parent is the reference string used in registration * For clocks it is full path for pin\{ClockGuid}\ClockCreateParams */ diff --git a/drivers/network/afd/afd/bind.c b/drivers/network/afd/afd/bind.c index 5bc13bf51a9..21a64fe53f1 100644 --- a/drivers/network/afd/afd/bind.c +++ b/drivers/network/afd/afd/bind.c @@ -105,7 +105,7 @@ AfdBindSocket(PDEVICE_OBJECT DeviceObject, PIRP Irp, 0, NULL, MAXIMUM_ALLOWED, - IoFileObjectType, + *IoFileObjectType, Irp->RequestorMode, &UserHandle); if (NT_SUCCESS(Status)) diff --git a/drivers/network/afd/afd/select.c b/drivers/network/afd/afd/select.c index 66b8ac846ca..2e30ca3ba2b 100644 --- a/drivers/network/afd/afd/select.c +++ b/drivers/network/afd/afd/select.c @@ -289,7 +289,7 @@ AfdEventSelect( PDEVICE_OBJECT DeviceObject, PIRP Irp, Status = ObReferenceObjectByHandle( (PVOID)EventSelectInfo-> EventObject, EVENT_ALL_ACCESS, - ExEventObjectType, + *ExEventObjectType, UserMode, (PVOID *)&FCB->EventSelect, NULL ); @@ -346,7 +346,7 @@ AfdEnumEvents( PDEVICE_OBJECT DeviceObject, PIRP Irp, Status = ObReferenceObjectByHandle(EnumReq->Event, EVENT_ALL_ACCESS, - ExEventObjectType, + *ExEventObjectType, UserMode, (PVOID *)&UserEvent, NULL); diff --git a/drivers/network/afd/afd/tdi.c b/drivers/network/afd/afd/tdi.c index 60040e16d39..a36a09dc841 100644 --- a/drivers/network/afd/afd/tdi.c +++ b/drivers/network/afd/afd/tdi.c @@ -144,7 +144,7 @@ static NTSTATUS TdiOpenDevice( if (NT_SUCCESS(Status)) { Status = ObReferenceObjectByHandle(*Handle, /* Handle to open file */ GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE, /* Access mode */ - IoFileObjectType, /* Object type */ + *IoFileObjectType, /* Object type */ KernelMode, /* Access mode */ (PVOID*)Object, /* Pointer to object */ NULL); /* Handle information */ diff --git a/drivers/network/tcpip/tcpip/dispatch.c b/drivers/network/tcpip/tcpip/dispatch.c index 94d127db46b..69ed6bf2bf6 100644 --- a/drivers/network/tcpip/tcpip/dispatch.c +++ b/drivers/network/tcpip/tcpip/dispatch.c @@ -173,7 +173,7 @@ VOID NTAPI DispCancelRequest( case TDI_CONNECT: DequeuedIrp = TCPRemoveIRP(TranContext->Handle.ConnectionContext, Irp); break; - + case TDI_DISCONNECT: Connection = (PCONNECTION_ENDPOINT)TranContext->Handle.ConnectionContext; @@ -303,7 +303,7 @@ NTSTATUS DispTdiAssociateAddress( Status = ObReferenceObjectByHandle( Parameters->AddressHandle, 0, - IoFileObjectType, + *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); @@ -511,7 +511,7 @@ NTSTATUS DispTdiDisconnect( Status = STATUS_INVALID_PARAMETER; goto done; } - + Status = DispPrepareIrpForCancel (TranContext->Handle.ConnectionContext, Irp, @@ -716,7 +716,7 @@ NTSTATUS DispTdiQueryInformation( case TDI_CONNECTION_FILE: Endpoint = (PCONNECTION_ENDPOINT)TranContext->Handle.ConnectionContext; - + Address->TAAddressCount = 1; Address->Address[0].AddressLength = TDI_ADDRESS_LENGTH_IP; Address->Address[0].AddressType = TDI_ADDRESS_TYPE_IP; @@ -761,12 +761,12 @@ NTSTATUS DispTdiQueryInformation( case TDI_QUERY_MAX_DATAGRAM_INFO: { PTDI_MAX_DATAGRAM_INFO MaxDatagramInfo; - + if (MmGetMdlByteCount(Irp->MdlAddress) < sizeof(*MaxDatagramInfo)) { TI_DbgPrint(MID_TRACE, ("MDL buffer too small.\n")); return STATUS_BUFFER_TOO_SMALL; } - + MaxDatagramInfo = (PTDI_MAX_DATAGRAM_INFO) MmGetSystemAddressForMdl(Irp->MdlAddress); @@ -1560,7 +1560,7 @@ NTSTATUS DispTdiSetIPAddress( PIRP Irp, PIO_STACK_LOCATION IrpSp ) { IF->Netmask.Type = IP_ADDRESS_V4; IF->Netmask.Address.IPv4Address = IpAddrChange->Netmask; - + IF->Broadcast.Type = IP_ADDRESS_V4; IF->Broadcast.Address.IPv4Address = IF->Unicast.Address.IPv4Address | diff --git a/drivers/storage/floppy/floppy.c b/drivers/storage/floppy/floppy.c index 740fd9e18e4..ea4a2be1fa1 100644 --- a/drivers/storage/floppy/floppy.c +++ b/drivers/storage/floppy/floppy.c @@ -761,9 +761,9 @@ InitController(PCONTROLLER_INFO ControllerInfo) HeadLoadTime = SPECIFY_HLT_500K; HeadUnloadTime = SPECIFY_HUT_500K; StepRateTime = SPECIFY_SRT_500K; - + INFO_(FLOPPY, "InitController: setting data rate\n"); - + /* Set data rate */ if(HwSetDataRate(ControllerInfo, DRSR_DSEL_500KBPS) != STATUS_SUCCESS) { @@ -1176,7 +1176,7 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) return STATUS_INSUFFICIENT_RESOURCES; } - if(ObReferenceObjectByHandle(ThreadHandle, STANDARD_RIGHTS_ALL, PsThreadType, KernelMode, &QueueThreadObject, NULL) != STATUS_SUCCESS) + if(ObReferenceObjectByHandle(ThreadHandle, STANDARD_RIGHTS_ALL, *PsThreadType, KernelMode, &QueueThreadObject, NULL) != STATUS_SUCCESS) { WARN_(FLOPPY, "Unable to reference returned thread handle; failing init\n"); return STATUS_UNSUCCESSFUL; diff --git a/drivers/wdm/audio/legacy/wdmaud/control.c b/drivers/wdm/audio/legacy/wdmaud/control.c index 1b6a90d355e..89d85fd1618 100644 --- a/drivers/wdm/audio/legacy/wdmaud/control.c +++ b/drivers/wdm/audio/legacy/wdmaud/control.c @@ -97,7 +97,7 @@ WdmAudControlDeviceState( DPRINT("WdmAudControlDeviceState\n"); - Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_READ | GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_READ | GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("Error: invalid device handle provided %p Type %x\n", DeviceInfo->hDevice, DeviceInfo->DeviceType); @@ -197,7 +197,7 @@ WdmAudFrameSize( NTSTATUS Status; /* Get sysaudio pin file object */ - Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("Invalid buffer handle %p\n", DeviceInfo->hDevice); @@ -290,7 +290,7 @@ WdmAudResetStream( DPRINT("WdmAudResetStream\n"); - Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_READ | GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_READ | GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("Error: invalid device handle provided %p Type %x\n", DeviceInfo->hDevice, DeviceInfo->DeviceType); @@ -528,7 +528,7 @@ WdmAudReadWrite( ASSERT(DeviceInfo); /* now get sysaudio file object */ - Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(DeviceInfo->hDevice, GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("Invalid pin handle %p\n", DeviceInfo->hDevice); diff --git a/drivers/wdm/audio/legacy/wdmaud/deviface.c b/drivers/wdm/audio/legacy/wdmaud/deviface.c index 4363a03b1c3..477ac30fc0b 100644 --- a/drivers/wdm/audio/legacy/wdmaud/deviface.c +++ b/drivers/wdm/audio/legacy/wdmaud/deviface.c @@ -165,7 +165,7 @@ WdmAudOpenSysAudioDevices( } /* get the file object */ - Status = ObReferenceObjectByHandle(hSysAudio, FILE_READ_DATA | FILE_WRITE_DATA, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(hSysAudio, FILE_READ_DATA | FILE_WRITE_DATA, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("Failed to reference FileObject %x\n", Status); @@ -200,7 +200,7 @@ WdmAudRegisterDeviceInterface( } /* failed to register device interface - * create a symbolic link instead + * create a symbolic link instead */ DeviceExtension->DeviceInterfaceSupport = FALSE; diff --git a/drivers/wdm/audio/legacy/wdmaud/mmixer.c b/drivers/wdm/audio/legacy/wdmaud/mmixer.c index 6642447d73a..deafa02aa40 100644 --- a/drivers/wdm/audio/legacy/wdmaud/mmixer.c +++ b/drivers/wdm/audio/legacy/wdmaud/mmixer.c @@ -202,7 +202,7 @@ Control( PFILE_OBJECT FileObject; /* get file object */ - Status = ObReferenceObjectByHandle(hMixer, GENERIC_READ | GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(hMixer, GENERIC_READ | GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT("failed to reference %p with %lx\n", hMixer, Status); @@ -420,7 +420,7 @@ WdmAudControlOpenMixer( if (DeviceInfo->u.hNotifyEvent) { - Status = ObReferenceObjectByHandle(DeviceInfo->u.hNotifyEvent, EVENT_MODIFY_STATE, ExEventObjectType, UserMode, (LPVOID*)&EventObject, NULL); + Status = ObReferenceObjectByHandle(DeviceInfo->u.hNotifyEvent, EVENT_MODIFY_STATE, *ExEventObjectType, UserMode, (LPVOID*)&EventObject, NULL); if (!NT_SUCCESS(Status)) { diff --git a/drivers/wdm/audio/legacy/wdmaud/sup.c b/drivers/wdm/audio/legacy/wdmaud/sup.c index c7c33a53005..f19178980d8 100644 --- a/drivers/wdm/audio/legacy/wdmaud/sup.c +++ b/drivers/wdm/audio/legacy/wdmaud/sup.c @@ -420,7 +420,7 @@ OpenDevice( if (FileObject) { - Status = ObReferenceObjectByHandle(hDevice, FILE_READ_DATA | FILE_WRITE_DATA, IoFileObjectType, KernelMode, (PVOID*)FileObject, NULL); + Status = ObReferenceObjectByHandle(hDevice, FILE_READ_DATA | FILE_WRITE_DATA, *IoFileObjectType, KernelMode, (PVOID*)FileObject, NULL); if (!NT_SUCCESS(Status)) { diff --git a/drivers/wdm/audio/sysaudio/deviface.c b/drivers/wdm/audio/sysaudio/deviface.c index 8db29770753..5e5bb098092 100644 --- a/drivers/wdm/audio/sysaudio/deviface.c +++ b/drivers/wdm/audio/sysaudio/deviface.c @@ -50,7 +50,7 @@ OpenDevice( return Status; } - Status = ObReferenceObjectByHandle(NodeHandle, GENERIC_READ | GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(NodeHandle, GENERIC_READ | GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { ZwClose(NodeHandle); diff --git a/drivers/wdm/audio/sysaudio/pin.c b/drivers/wdm/audio/sysaudio/pin.c index f0c7f444214..1b688aac936 100644 --- a/drivers/wdm/audio/sysaudio/pin.c +++ b/drivers/wdm/audio/sysaudio/pin.c @@ -35,7 +35,7 @@ Pin_fnDeviceIoControl( ASSERT(Context); /* acquire real pin file object */ - Status = ObReferenceObjectByHandle(Context->Handle, GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(Context->Handle, GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { Irp->IoStatus.Information = 0; @@ -94,7 +94,7 @@ Pin_fnWrite( } /* acquire real pin file object */ - Status = ObReferenceObjectByHandle(Context->Handle, GENERIC_WRITE, IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + Status = ObReferenceObjectByHandle(Context->Handle, GENERIC_WRITE, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("failed\n"); @@ -235,8 +235,8 @@ CreateMixerPinAndSetFormat( } Status = ObReferenceObjectByHandle(PinHandle, - GENERIC_READ | GENERIC_WRITE, - IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); + GENERIC_READ | GENERIC_WRITE, + *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); if (!NT_SUCCESS(Status)) { diff --git a/drivers/wmi/CMakeLists.txt b/drivers/wmi/CMakeLists.txt index 2fb593b2893..35f19842bab 100644 --- a/drivers/wmi/CMakeLists.txt +++ b/drivers/wmi/CMakeLists.txt @@ -12,4 +12,4 @@ set_module_type(wmilib kernelmodedriver ENTRYPOINT 0) add_importlibs(wmilib ntoskrnl) -add_cd_file(TARGET wmilib DESTINATION reactos/system32/drivers FOR all) +add_cd_file(TARGET wmilib DESTINATION reactos/system32/drivers NO_CAB FOR all) diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index b8e4e03d995..8cf5a48f28a 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -1666,14 +1666,12 @@ typedef struct { #endif } HAL_DISPATCH, *PHAL_DISPATCH; -/* GCC/MSVC and WDK compatible declaration */ -extern NTKERNELAPI HAL_DISPATCH HalDispatchTable; - -#if defined(_NTOSKRNL_) || defined(_BLDR_) +#ifdef _NTSYSTEM_ +extern HAL_DISPATCH HalDispatchTable; #define HALDISPATCH (&HalDispatchTable) #else -/* This is a WDK compatibility definition */ -#define HalDispatchTable (&HalDispatchTable) +extern PHAL_DISPATCH HalDispatchTable; +__CREATE_NTOS_DATA_IMPORT_ALIAS(HalDispatchTable) #define HALDISPATCH HalDispatchTable #endif diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h index df190c10d0a..53b2d135915 100644 --- a/include/ddk/ntifs.h +++ b/include/ddk/ntifs.h @@ -4937,35 +4937,13 @@ FsRtlNotifyStreamFileObject( _In_ BOOLEAN SafeToRecurse); #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ -#define DO_VERIFY_VOLUME 0x00000002 -#define DO_BUFFERED_IO 0x00000004 -#define DO_EXCLUSIVE 0x00000008 -#define DO_DIRECT_IO 0x00000010 -#define DO_MAP_IO_BUFFER 0x00000020 -#define DO_DEVICE_HAS_NAME 0x00000040 -#define DO_DEVICE_INITIALIZING 0x00000080 -#define DO_SYSTEM_BOOT_PARTITION 0x00000100 -#define DO_LONG_TERM_REQUESTS 0x00000200 -#define DO_NEVER_LAST_DEVICE 0x00000400 -#define DO_SHUTDOWN_REGISTERED 0x00000800 -#define DO_BUS_ENUMERATED_DEVICE 0x00001000 -#define DO_POWER_PAGABLE 0x00002000 -#define DO_POWER_INRUSH 0x00004000 -#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000 -#define DO_SUPPORTS_TRANSACTIONS 0x00040000 -#define DO_FORCE_NEITHER_IO 0x00080000 -#define DO_VOLUME_DEVICE_OBJECT 0x00100000 -#define DO_SYSTEM_SYSTEM_PARTITION 0x00200000 -#define DO_SYSTEM_CRITICAL_PARTITION 0x00400000 -#define DO_DISALLOW_EXECUTE 0x00800000 - -extern KSPIN_LOCK IoStatisticsLock; -extern ULONG IoReadOperationCount; -extern ULONG IoWriteOperationCount; -extern ULONG IoOtherOperationCount; -extern LARGE_INTEGER IoReadTransferCount; -extern LARGE_INTEGER IoWriteTransferCount; -extern LARGE_INTEGER IoOtherTransferCount; +extern NTKERNELAPI KSPIN_LOCK IoStatisticsLock; +extern NTKERNELAPI ULONG IoReadOperationCount; +extern NTKERNELAPI ULONG IoWriteOperationCount; +extern NTKERNELAPI ULONG IoOtherOperationCount; +extern NTKERNELAPI LARGE_INTEGER IoReadTransferCount; +extern NTKERNELAPI LARGE_INTEGER IoWriteTransferCount; +extern NTKERNELAPI LARGE_INTEGER IoOtherTransferCount; #define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE 64 #define IO_FILE_OBJECT_PAGED_POOL_CHARGE 1024 @@ -5731,6 +5709,7 @@ SeLocateProcessImageName( ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken ) extern NTKERNELAPI PSE_EXPORTS SeExports; + /****************************************************************************** * Process Manager Functions * ******************************************************************************/ @@ -8413,26 +8392,31 @@ FsRtlRemovePerFileObjectContext( (InterlockedDecrement((LONG volatile *)&((FL)->LockRequestsInProgress)));\ } -/* GCC compatible definition, MS one is retarded */ -extern NTKERNELAPI const UCHAR * const FsRtlLegalAnsiCharacterArray; -#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray +#ifdef _NTSYSTEM_ +extern const UCHAR * const FsRtlLegalAnsiCharacterArray; +#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray +#else +extern const UCHAR * const *FsRtlLegalAnsiCharacterArray; +__CREATE_NTOS_DATA_IMPORT_ALIAS(FsRtlLegalAnsiCharacterArray) +#define LEGAL_ANSI_CHARACTER_ARRAY (*FsRtlLegalAnsiCharacterArray) +#endif #define FsRtlIsAnsiCharacterWild(C) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \ ) #define FsRtlIsAnsiCharacterLegalFat(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) #define FsRtlIsAnsiCharacterLegalHpfs(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) #define FsRtlIsAnsiCharacterLegalNtfs(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) @@ -8460,7 +8444,7 @@ extern NTKERNELAPI const UCHAR * const FsRtlLegalAnsiCharacterArray; #define FsRtlIsUnicodeCharacterWild(C) ( \ (((C) >= 0x40) ? \ FALSE : \ - FlagOn(FsRtlLegalAnsiCharacterArray[(C)], FSRTL_WILD_CHARACTER )) \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(C)], FSRTL_WILD_CHARACTER )) \ ) #define FsRtlInitPerFileContext( _fc, _owner, _inst, _cb) \ @@ -8623,7 +8607,7 @@ typedef VOID (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \ ) -extern ULONG CcFastMdlReadWait; +extern NTKERNELAPI ULONG CcFastMdlReadWait; #if (NTDDI_VERSION >= NTDDI_WIN2K) @@ -11005,13 +10989,14 @@ HalGetDmaAlignmentRequirement( #define HalGetDmaAlignmentRequirement() 1L #endif -extern NTKERNELAPI PUSHORT NlsOemLeadByteInfo; -#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo - -#ifdef NLS_MB_CODE_PAGE_TAG -#undef NLS_MB_CODE_PAGE_TAG +#ifdef _NTSYSTEM_ +extern PUSHORT NlsOemLeadByteInfo; +#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo +#else +extern PUSHORT *NlsOemLeadByteInfo; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsOemLeadByteInfo) +#define NLS_OEM_LEAD_BYTE_INFO (*NlsOemLeadByteInfo) #endif -#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag #if (NTDDI_VERSION >= NTDDI_VISTA) diff --git a/include/ddk/vddsvc.h b/include/ddk/vddsvc.h index eb808223141..451a2c444e9 100644 --- a/include/ddk/vddsvc.h +++ b/include/ddk/vddsvc.h @@ -50,7 +50,7 @@ call_ica_hw_interrupt */ PVOID WINAPI getIntelRegistersPointer(VOID); -#ifdef __i386__ +#ifndef _M_MIPS ULONG WINAPI getEAX(VOID); VOID WINAPI setEAX(ULONG); diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 124e45b4012..8d040604b0c 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -82,10 +82,13 @@ extern "C" { #endif /* For ReactOS */ -#if !defined(_NTOSKRNL_) && !defined(_BLDR_) +#if !defined(_NTOSKRNL_) && !defined(_BLDR_) && !defined(_NTSYSTEM_) #define NTKERNELAPI DECLSPEC_IMPORT #else #define NTKERNELAPI +#ifndef _NTSYSTEM_ +#define _NTSYSTEM_ +#endif #endif #if defined(_X86_) && !defined(_NTHAL_) @@ -129,6 +132,29 @@ extern "C" { #define ALLOC_DATA_PRAGMA 1 #endif +#endif /* _MSC_VER */ + +/* These macros are used to create aliases for imported data. We need to do + this to have declarations that are compatible with MS DDK */ +#ifdef _M_IX86 +#define __SYMBOL(_Name) "_"#_Name +#define __IMPORTSYMBOL(_Name) "__imp__"#_Name +#define __IMPORTNAME(_Name) _imp__##_Name +#else +#define __SYMBOL(_Name) #_Name +#define __IMPORTSYMBOL(_Name) "__imp_"#_Name +#define __IMPORTNAME(_Name) __imp_##_Name +#endif +#ifdef _MSC_VER +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ + __pragma(comment(linker, "/alternatename:"__SYMBOL(_Name) "=" __IMPORTSYMBOL(_Name))) +#else /* !_MSC_VER */ +#ifndef __STRINGIFY +#define __STRINGIFY(_exp) #_exp +#endif +#define _Pragma_redefine_extname(_Name, _Target) _Pragma(__STRINGIFY(redefine_extname _Name _Target)) +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ + _Pragma_redefine_extname(_Name,__IMPORTNAME(_Name)) #endif #if defined(_WIN64) @@ -599,11 +625,19 @@ typedef struct _EXCEPTION_POINTERS { PCONTEXT ContextRecord; } EXCEPTION_POINTERS, *PEXCEPTION_POINTERS; -/* MS definition is broken! */ -extern BOOLEAN NTSYSAPI NlsMbCodePageTag; -extern BOOLEAN NTSYSAPI NlsMbOemCodePageTag; +#ifdef _NTSYSTEM_ +extern BOOLEAN NlsMbCodePageTag; #define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag +extern BOOLEAN NlsMbOemCodePageTag; #define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag +#else +extern BOOLEAN *NlsMbCodePageTag; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbCodePageTag) +#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag) +extern BOOLEAN *NlsMbOemCodePageTag; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbOemCodePageTag) +#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag) +#endif #define SHORT_LEAST_SIGNIFICANT_BIT 0 #define SHORT_MOST_SIGNIFICANT_BIT 1 @@ -1673,6 +1707,7 @@ extern NTSYSAPI volatile CCHAR KeNumberProcessors; extern NTSYSAPI CCHAR KeNumberProcessors; #else extern PCCHAR KeNumberProcessors; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KeNumberProcessors) #endif @@ -1824,8 +1859,11 @@ typedef enum _MM_SYSTEM_SIZE { MmLargeSystem } MM_SYSTEMSIZE; -extern NTKERNELAPI BOOLEAN Mm64BitPhysicalAddress; -extern PVOID MmBadPointer; +#ifndef _NTSYSTEM_ +extern PBOOLEAN Mm64BitPhysicalAddress; +__CREATE_NTOS_DATA_IMPORT_ALIAS(Mm64BitPhysicalAddress) +#endif +extern NTKERNELAPI PVOID MmBadPointer; /****************************************************************************** @@ -2098,7 +2136,7 @@ typedef struct _RESOURCE_PERFORMANCE_DATA { /* Global debug flag */ #if DEVL -extern ULONG NtGlobalFlag; +extern NTKERNELAPI ULONG NtGlobalFlag; #define IF_NTOS_DEBUG(FlagName) if (NtGlobalFlag & (FLG_##FlagName)) #else #define IF_NTOS_DEBUG(FlagName) if(FALSE) @@ -7857,6 +7895,7 @@ typedef struct _OBJECT_NAME_INFORMATION { } OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION; /* Exported object types */ +#ifdef _NTSYSTEM_ extern POBJECT_TYPE NTSYSAPI CmKeyObjectType; extern POBJECT_TYPE NTSYSAPI ExEventObjectType; extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType; @@ -7864,6 +7903,30 @@ extern POBJECT_TYPE NTSYSAPI IoFileObjectType; extern POBJECT_TYPE NTSYSAPI PsThreadType; extern POBJECT_TYPE NTSYSAPI SeTokenObjectType; extern POBJECT_TYPE NTSYSAPI PsProcessType; +#else +extern POBJECT_TYPE *CmKeyObjectType; +extern POBJECT_TYPE *IoFileObjectType; +extern POBJECT_TYPE *ExEventObjectType; +extern POBJECT_TYPE *ExSemaphoreObjectType; +extern POBJECT_TYPE *TmTransactionManagerObjectType; +extern POBJECT_TYPE *TmResourceManagerObjectType; +extern POBJECT_TYPE *TmEnlistmentObjectType; +extern POBJECT_TYPE *TmTransactionObjectType; +extern POBJECT_TYPE *PsProcessType; +extern POBJECT_TYPE *PsThreadType; +extern POBJECT_TYPE *SeTokenObjectType; +__CREATE_NTOS_DATA_IMPORT_ALIAS(CmKeyObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(IoFileObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(ExEventObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(ExSemaphoreObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmTransactionManagerObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmResourceManagerObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmEnlistmentObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmTransactionObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(PsProcessType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(PsThreadType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(SeTokenObjectType) +#endif /****************************************************************************** @@ -8339,7 +8402,7 @@ KeRestoreFloatingPointState(PVOID FloatingState) #define HIGH_LEVEL 15 #define KI_USER_SHARED_DATA ((ULONG_PTR)(KADDRESS_BASE + 0xFFFE0000)) -extern volatile LARGE_INTEGER KeTickCount; +extern NTKERNELAPI volatile LARGE_INTEGER KeTickCount; #define PAUSE_PROCESSOR __yield(); @@ -15770,27 +15833,18 @@ DbgSetDebugPrintCallback( #endif /* !DBG */ -#if defined(__GNUC__) - -extern NTKERNELAPI BOOLEAN KdDebuggerNotPresent; -extern NTKERNELAPI BOOLEAN KdDebuggerEnabled; -#define KD_DEBUGGER_ENABLED KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent - -#elif defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_) - -extern NTKERNELAPI PBOOLEAN KdDebuggerNotPresent; -extern NTKERNELAPI PBOOLEAN KdDebuggerEnabled; -#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent - -#else - -extern BOOLEAN KdDebuggerNotPresent; +#ifdef _NTSYSTEM_ extern BOOLEAN KdDebuggerEnabled; #define KD_DEBUGGER_ENABLED KdDebuggerEnabled +extern BOOLEAN KdDebuggerNotPresent; #define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent - +#else +extern BOOLEAN *KdDebuggerEnabled; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerEnabled) +#define KD_DEBUGGER_ENABLED (*KdDebuggerEnabled) +extern BOOLEAN *KdDebuggerNotPresent; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerNotPresent) +#define KD_DEBUGGER_NOT_PRESENT (*KdDebuggerNotPresent) #endif #if (NTDDI_VERSION >= NTDDI_WIN2K) diff --git a/include/psdk/ks.h b/include/psdk/ks.h index eb5d2f5b2d6..3ae6e9a3f23 100644 --- a/include/psdk/ks.h +++ b/include/psdk/ks.h @@ -3525,7 +3525,7 @@ NTAPI KsMethodHandler( _In_ PIRP Irp, _In_ ULONG MethodSetsCount, - _In_reads_(MethodSetsCount) const PKSMETHOD_SET MethodSet); + _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet); _IRQL_requires_max_(PASSIVE_LEVEL) KSDDKAPI @@ -3534,7 +3534,7 @@ NTAPI KsMethodHandlerWithAllocator( _In_ PIRP Irp, _In_ ULONG MethodSetsCount, - _In_reads_(MethodSetsCount) const PKSMETHOD_SET MethodSet, + _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet, _In_opt_ PFNKSALLOCATOR Allocator, _In_opt_ ULONG MethodItemSize); @@ -3576,7 +3576,7 @@ NTAPI KsPropertyHandlerWithAllocator( _In_ PIRP Irp, _In_ ULONG PropertySetsCount, - _In_reads_(PropertySetsCount) const PKSPROPERTY_SET PropertySet, + _In_reads_(PropertySetsCount) const KSPROPERTY_SET* PropertySet, _In_opt_ PFNKSALLOCATOR Allocator, _In_opt_ ULONG PropertyItemSize); @@ -3659,7 +3659,7 @@ NTAPI KsEnableEventWithAllocator( _In_ PIRP Irp, _In_ ULONG EventSetsCount, - _In_reads_(EventSetsCount) const PKSEVENT_SET EventSet, + _In_reads_(EventSetsCount) const KSEVENT_SET* EventSet, _Inout_opt_ PLIST_ENTRY EventsList, _In_opt_ KSEVENTS_LOCKTYPE EventsFlags, _In_opt_ PVOID EventsLock, @@ -4819,7 +4819,7 @@ DEFINE_GUID(IID_IKsControl, 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, DECLARE_INTERFACE_(IKsControl,IUnknown) { - STDMETHOD_(NTSTATUS, QueryInterface)( THIS_ + STDMETHOD_(NTSTATUS, QueryInterface)( THIS_ REFIID InterfaceId, PVOID* Interface)PURE; diff --git a/include/reactos/libs/pseh/pseh3.h b/include/reactos/libs/pseh/pseh3.h index 6aa15dd9c15..8337b41522a 100644 --- a/include/reactos/libs/pseh/pseh3.h +++ b/include/reactos/libs/pseh/pseh3.h @@ -120,7 +120,7 @@ void * __cdecl __attribute__((error("Can only be used inside an exception filter #define _SEH3$_EnforceFramePointer() asm volatile ("#\n" : : "m"(*(char*)__builtin_alloca(4)) : "%esp", "memory") /* CLANG doesn't have asm goto! */ -#define _SEH3$_ASM_GOTO(_Label, ...) +#define _SEH3$_ASM_GOTO(...) int __attribute__((regparm(3))) @@ -167,7 +167,7 @@ _SEH3$_RegisterTryLevelWithNonVolatiles( /* This will make GCC use ebp, even if it was disabled by -fomit-frame-pointer */ #define _SEH3$_EnforceFramePointer() asm volatile ("#\n" : : "m"(*(char*)__builtin_alloca(0)) : "%esp", "memory") -#define _SEH3$_ASM_GOTO(_Label, ...) asm goto ("#\n" : : : "memory", ## __VA_ARGS__ : _Label) +#define _SEH3$_ASM_GOTO(...) asm goto ("#\n" : : : "memory" : __VA_ARGS__) #ifdef __cplusplus #define _SEH3$_CALL_WRAPPER(_Function, _TrylevelFrame, _DataTable) \ @@ -177,7 +177,7 @@ _SEH3$_RegisterTryLevelWithNonVolatiles( : \ : "m" (*(_TrylevelFrame)), "m" (*(_DataTable)), "c"(__builtin_alloca(0)) \ : "eax", "edx", "memory" \ - : _SEH3$_l_HandlerTarget, _SEH3$_l_FilterOrFinally) + : _SEH3$_l_BeforeTry, _SEH3$_l_HandlerTarget, _SEH3$_l_OnException, _SEH3$_l_BeforeFilterOrFinally, _SEH3$_l_FilterOrFinally) #else #define _SEH3$_CALL_WRAPPER(_Function, _TrylevelFrame, _DataTable) \ @@ -187,7 +187,7 @@ _SEH3$_RegisterTryLevelWithNonVolatiles( : \ : "m" (*(_TrylevelFrame)), "m" (*(_DataTable)) \ : "eax", "edx", "ecx", "memory" \ - : _SEH3$_l_HandlerTarget) + : _SEH3$_l_BeforeTry, _SEH3$_l_HandlerTarget, _SEH3$_l_OnException, _SEH3$_l_BeforeFilterOrFinally, _SEH3$_l_FilterOrFinally) #endif /* This is an asm wrapper around _SEH3$_RegisterFrame */ @@ -202,10 +202,8 @@ _SEH3$_RegisterTryLevelWithNonVolatiles( around into places that are never executed. */ #define _SEH3$_SCARE_GCC() \ void *plabel; \ - _SEH3$_ASM_GOTO(_SEH3$_l_BeforeTry); \ - _SEH3$_ASM_GOTO(_SEH3$_l_HandlerTarget); \ - _SEH3$_ASM_GOTO(_SEH3$_l_OnException); \ - asm volatile ("#" : "=a"(plabel) : "p"(&&_SEH3$_l_BeforeTry), "p"(&&_SEH3$_l_HandlerTarget), "p"(&&_SEH3$_l_OnException) \ + _SEH3$_ASM_GOTO(_SEH3$_l_BeforeTry, _SEH3$_l_HandlerTarget, _SEH3$_l_OnException, _SEH3$_l_BeforeFilterOrFinally, _SEH3$_l_FilterOrFinally); \ + asm volatile ("#" : "=a"(plabel) : "p"(&&_SEH3$_l_BeforeTry), "p"(&&_SEH3$_l_HandlerTarget), "p"(&&_SEH3$_l_OnException), "p"(&&_SEH3$_l_FilterOrFinally) \ : "ebx", "ecx", "edx", "esi", "edi", "flags", "memory" ); \ goto _SEH3$_l_OnException; diff --git a/include/reactos/wine/port.h b/include/reactos/wine/port.h index 8c075637343..30d8e9e41b8 100644 --- a/include/reactos/wine/port.h +++ b/include/reactos/wine/port.h @@ -278,7 +278,7 @@ ssize_t pwrite( int fd, const void *buf, size_t count, off_t offset ); #endif /* HAVE_PWRITE */ #endif /* __REACTOS__ */ -#ifdef WIN32 +#ifdef _WIN32 #ifndef HAVE_SIGSETJMP # include typedef jmp_buf sigjmp_buf; diff --git a/include/xdk/ccfuncs.h b/include/xdk/ccfuncs.h index 9192381f5f4..5e998d89ed3 100644 --- a/include/xdk/ccfuncs.h +++ b/include/xdk/ccfuncs.h @@ -6,7 +6,7 @@ $if (_NTIFS_) (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \ ) -extern ULONG CcFastMdlReadWait; +extern NTKERNELAPI ULONG CcFastMdlReadWait; #if (NTDDI_VERSION >= NTDDI_WIN2K) diff --git a/include/xdk/extypes.h b/include/xdk/extypes.h index ae252d375ed..548dceee203 100644 --- a/include/xdk/extypes.h +++ b/include/xdk/extypes.h @@ -271,7 +271,7 @@ typedef struct _RESOURCE_PERFORMANCE_DATA { /* Global debug flag */ #if DEVL -extern ULONG NtGlobalFlag; +extern NTKERNELAPI ULONG NtGlobalFlag; #define IF_NTOS_DEBUG(FlagName) if (NtGlobalFlag & (FLG_##FlagName)) #else #define IF_NTOS_DEBUG(FlagName) if(FALSE) diff --git a/include/xdk/fsrtlfuncs.h b/include/xdk/fsrtlfuncs.h index b98897c0bb8..24465b8e2ea 100644 --- a/include/xdk/fsrtlfuncs.h +++ b/include/xdk/fsrtlfuncs.h @@ -1580,26 +1580,31 @@ FsRtlRemovePerFileObjectContext( (InterlockedDecrement((LONG volatile *)&((FL)->LockRequestsInProgress)));\ } -/* GCC compatible definition, MS one is retarded */ -extern NTKERNELAPI const UCHAR * const FsRtlLegalAnsiCharacterArray; -#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray +#ifdef _NTSYSTEM_ +extern const UCHAR * const FsRtlLegalAnsiCharacterArray; +#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray +#else +extern const UCHAR * const *FsRtlLegalAnsiCharacterArray; +__CREATE_NTOS_DATA_IMPORT_ALIAS(FsRtlLegalAnsiCharacterArray) +#define LEGAL_ANSI_CHARACTER_ARRAY (*FsRtlLegalAnsiCharacterArray) +#endif #define FsRtlIsAnsiCharacterWild(C) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \ ) #define FsRtlIsAnsiCharacterLegalFat(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) #define FsRtlIsAnsiCharacterLegalHpfs(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) #define FsRtlIsAnsiCharacterLegalNtfs(C, WILD) ( \ - FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \ ((WILD) ? FSRTL_WILD_CHARACTER : 0 )) \ ) @@ -1627,7 +1632,7 @@ extern NTKERNELAPI const UCHAR * const FsRtlLegalAnsiCharacterArray; #define FsRtlIsUnicodeCharacterWild(C) ( \ (((C) >= 0x40) ? \ FALSE : \ - FlagOn(FsRtlLegalAnsiCharacterArray[(C)], FSRTL_WILD_CHARACTER )) \ + FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(C)], FSRTL_WILD_CHARACTER )) \ ) #define FsRtlInitPerFileContext( _fc, _owner, _inst, _cb) \ diff --git a/include/xdk/haltypes.h b/include/xdk/haltypes.h index 941daef32be..db308060e03 100644 --- a/include/xdk/haltypes.h +++ b/include/xdk/haltypes.h @@ -269,14 +269,12 @@ typedef struct { #endif } HAL_DISPATCH, *PHAL_DISPATCH; -/* GCC/MSVC and WDK compatible declaration */ -extern NTKERNELAPI HAL_DISPATCH HalDispatchTable; - -#if defined(_NTOSKRNL_) || defined(_BLDR_) +#ifdef _NTSYSTEM_ +extern HAL_DISPATCH HalDispatchTable; #define HALDISPATCH (&HalDispatchTable) #else -/* This is a WDK compatibility definition */ -#define HalDispatchTable (&HalDispatchTable) +extern PHAL_DISPATCH HalDispatchTable; +__CREATE_NTOS_DATA_IMPORT_ALIAS(HalDispatchTable) #define HALDISPATCH HalDispatchTable #endif diff --git a/include/xdk/ia64/ke.h b/include/xdk/ia64/ke.h index 2920636bf54..27ff06ad3f0 100644 --- a/include/xdk/ia64/ke.h +++ b/include/xdk/ia64/ke.h @@ -17,7 +17,7 @@ $if (_WDMDDK_) #define HIGH_LEVEL 15 #define KI_USER_SHARED_DATA ((ULONG_PTR)(KADDRESS_BASE + 0xFFFE0000)) -extern volatile LARGE_INTEGER KeTickCount; +extern NTKERNELAPI volatile LARGE_INTEGER KeTickCount; #define PAUSE_PROCESSOR __yield(); diff --git a/include/xdk/iotypes.h b/include/xdk/iotypes.h index 4b375154977..41954a5a121 100644 --- a/include/xdk/iotypes.h +++ b/include/xdk/iotypes.h @@ -7037,35 +7037,13 @@ FsRtlNotifyStreamFileObject( _In_ BOOLEAN SafeToRecurse); #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ -#define DO_VERIFY_VOLUME 0x00000002 -#define DO_BUFFERED_IO 0x00000004 -#define DO_EXCLUSIVE 0x00000008 -#define DO_DIRECT_IO 0x00000010 -#define DO_MAP_IO_BUFFER 0x00000020 -#define DO_DEVICE_HAS_NAME 0x00000040 -#define DO_DEVICE_INITIALIZING 0x00000080 -#define DO_SYSTEM_BOOT_PARTITION 0x00000100 -#define DO_LONG_TERM_REQUESTS 0x00000200 -#define DO_NEVER_LAST_DEVICE 0x00000400 -#define DO_SHUTDOWN_REGISTERED 0x00000800 -#define DO_BUS_ENUMERATED_DEVICE 0x00001000 -#define DO_POWER_PAGABLE 0x00002000 -#define DO_POWER_INRUSH 0x00004000 -#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000 -#define DO_SUPPORTS_TRANSACTIONS 0x00040000 -#define DO_FORCE_NEITHER_IO 0x00080000 -#define DO_VOLUME_DEVICE_OBJECT 0x00100000 -#define DO_SYSTEM_SYSTEM_PARTITION 0x00200000 -#define DO_SYSTEM_CRITICAL_PARTITION 0x00400000 -#define DO_DISALLOW_EXECUTE 0x00800000 - -extern KSPIN_LOCK IoStatisticsLock; -extern ULONG IoReadOperationCount; -extern ULONG IoWriteOperationCount; -extern ULONG IoOtherOperationCount; -extern LARGE_INTEGER IoReadTransferCount; -extern LARGE_INTEGER IoWriteTransferCount; -extern LARGE_INTEGER IoOtherTransferCount; +extern NTKERNELAPI KSPIN_LOCK IoStatisticsLock; +extern NTKERNELAPI ULONG IoReadOperationCount; +extern NTKERNELAPI ULONG IoWriteOperationCount; +extern NTKERNELAPI ULONG IoOtherOperationCount; +extern NTKERNELAPI LARGE_INTEGER IoReadTransferCount; +extern NTKERNELAPI LARGE_INTEGER IoWriteTransferCount; +extern NTKERNELAPI LARGE_INTEGER IoOtherTransferCount; #define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE 64 #define IO_FILE_OBJECT_PAGED_POOL_CHARGE 1024 diff --git a/include/xdk/kdfuncs.h b/include/xdk/kdfuncs.h index e05c86500d8..b5e908ba35a 100644 --- a/include/xdk/kdfuncs.h +++ b/include/xdk/kdfuncs.h @@ -119,27 +119,18 @@ DbgSetDebugPrintCallback( #endif /* !DBG */ -#if defined(__GNUC__) - -extern NTKERNELAPI BOOLEAN KdDebuggerNotPresent; -extern NTKERNELAPI BOOLEAN KdDebuggerEnabled; -#define KD_DEBUGGER_ENABLED KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent - -#elif defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_) - -extern NTKERNELAPI PBOOLEAN KdDebuggerNotPresent; -extern NTKERNELAPI PBOOLEAN KdDebuggerEnabled; -#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent - -#else - -extern BOOLEAN KdDebuggerNotPresent; +#ifdef _NTSYSTEM_ extern BOOLEAN KdDebuggerEnabled; #define KD_DEBUGGER_ENABLED KdDebuggerEnabled +extern BOOLEAN KdDebuggerNotPresent; #define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent - +#else +extern BOOLEAN *KdDebuggerEnabled; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerEnabled) +#define KD_DEBUGGER_ENABLED (*KdDebuggerEnabled) +extern BOOLEAN *KdDebuggerNotPresent; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KdDebuggerNotPresent) +#define KD_DEBUGGER_NOT_PRESENT (*KdDebuggerNotPresent) #endif #if (NTDDI_VERSION >= NTDDI_WIN2K) diff --git a/include/xdk/ketypes.h b/include/xdk/ketypes.h index 1ef6473ba2e..7b14d0ae09b 100644 --- a/include/xdk/ketypes.h +++ b/include/xdk/ketypes.h @@ -987,6 +987,7 @@ extern NTSYSAPI volatile CCHAR KeNumberProcessors; extern NTSYSAPI CCHAR KeNumberProcessors; #else extern PCCHAR KeNumberProcessors; +__CREATE_NTOS_DATA_IMPORT_ALIAS(KeNumberProcessors) #endif $endif (_WDMDDK_) diff --git a/include/xdk/mmtypes.h b/include/xdk/mmtypes.h index 2b98aeef5ae..ae665cca59a 100644 --- a/include/xdk/mmtypes.h +++ b/include/xdk/mmtypes.h @@ -147,8 +147,11 @@ typedef enum _MM_SYSTEM_SIZE { MmLargeSystem } MM_SYSTEMSIZE; -extern NTKERNELAPI BOOLEAN Mm64BitPhysicalAddress; -extern PVOID MmBadPointer; +#ifndef _NTSYSTEM_ +extern PBOOLEAN Mm64BitPhysicalAddress; +__CREATE_NTOS_DATA_IMPORT_ALIAS(Mm64BitPhysicalAddress) +#endif +extern NTKERNELAPI PVOID MmBadPointer; $endif (_WDMDDK_) $if (_NTDDK_) diff --git a/include/xdk/ntifs.template.h b/include/xdk/ntifs.template.h index dfff253e59e..68957892ec6 100644 --- a/include/xdk/ntifs.template.h +++ b/include/xdk/ntifs.template.h @@ -1124,13 +1124,14 @@ HalGetDmaAlignmentRequirement( #define HalGetDmaAlignmentRequirement() 1L #endif -extern NTKERNELAPI PUSHORT NlsOemLeadByteInfo; -#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo - -#ifdef NLS_MB_CODE_PAGE_TAG -#undef NLS_MB_CODE_PAGE_TAG +#ifdef _NTSYSTEM_ +extern PUSHORT NlsOemLeadByteInfo; +#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo +#else +extern PUSHORT *NlsOemLeadByteInfo; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsOemLeadByteInfo) +#define NLS_OEM_LEAD_BYTE_INFO (*NlsOemLeadByteInfo) #endif -#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag #if (NTDDI_VERSION >= NTDDI_VISTA) diff --git a/include/xdk/obtypes.h b/include/xdk/obtypes.h index 7063ab1d1e3..482ab193979 100644 --- a/include/xdk/obtypes.h +++ b/include/xdk/obtypes.h @@ -125,6 +125,7 @@ typedef struct _OBJECT_NAME_INFORMATION { } OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION; /* Exported object types */ +#ifdef _NTSYSTEM_ extern POBJECT_TYPE NTSYSAPI CmKeyObjectType; extern POBJECT_TYPE NTSYSAPI ExEventObjectType; extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType; @@ -132,6 +133,30 @@ extern POBJECT_TYPE NTSYSAPI IoFileObjectType; extern POBJECT_TYPE NTSYSAPI PsThreadType; extern POBJECT_TYPE NTSYSAPI SeTokenObjectType; extern POBJECT_TYPE NTSYSAPI PsProcessType; +#else +extern POBJECT_TYPE *CmKeyObjectType; +extern POBJECT_TYPE *IoFileObjectType; +extern POBJECT_TYPE *ExEventObjectType; +extern POBJECT_TYPE *ExSemaphoreObjectType; +extern POBJECT_TYPE *TmTransactionManagerObjectType; +extern POBJECT_TYPE *TmResourceManagerObjectType; +extern POBJECT_TYPE *TmEnlistmentObjectType; +extern POBJECT_TYPE *TmTransactionObjectType; +extern POBJECT_TYPE *PsProcessType; +extern POBJECT_TYPE *PsThreadType; +extern POBJECT_TYPE *SeTokenObjectType; +__CREATE_NTOS_DATA_IMPORT_ALIAS(CmKeyObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(IoFileObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(ExEventObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(ExSemaphoreObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmTransactionManagerObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmResourceManagerObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmEnlistmentObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(TmTransactionObjectType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(PsProcessType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(PsThreadType) +__CREATE_NTOS_DATA_IMPORT_ALIAS(SeTokenObjectType) +#endif $endif (_WDMDDK_) $if (_NTIFS_) diff --git a/include/xdk/rtltypes.h b/include/xdk/rtltypes.h index 0b61c724921..fef0604c5e0 100644 --- a/include/xdk/rtltypes.h +++ b/include/xdk/rtltypes.h @@ -197,11 +197,19 @@ typedef struct _EXCEPTION_POINTERS { PCONTEXT ContextRecord; } EXCEPTION_POINTERS, *PEXCEPTION_POINTERS; -/* MS definition is broken! */ -extern BOOLEAN NTSYSAPI NlsMbCodePageTag; -extern BOOLEAN NTSYSAPI NlsMbOemCodePageTag; +#ifdef _NTSYSTEM_ +extern BOOLEAN NlsMbCodePageTag; #define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag +extern BOOLEAN NlsMbOemCodePageTag; #define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag +#else +extern BOOLEAN *NlsMbCodePageTag; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbCodePageTag) +#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag) +extern BOOLEAN *NlsMbOemCodePageTag; +__CREATE_NTOS_DATA_IMPORT_ALIAS(NlsMbOemCodePageTag) +#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag) +#endif #define SHORT_LEAST_SIGNIFICANT_BIT 0 #define SHORT_MOST_SIGNIFICANT_BIT 1 diff --git a/include/xdk/sefuncs.h b/include/xdk/sefuncs.h index 44e5fedfa9e..c7e27666159 100644 --- a/include/xdk/sefuncs.h +++ b/include/xdk/sefuncs.h @@ -588,4 +588,5 @@ SeLocateProcessImageName( ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken ) extern NTKERNELAPI PSE_EXPORTS SeExports; + $endif (_NTIFS_) diff --git a/include/xdk/wdm.template.h b/include/xdk/wdm.template.h index fa472156785..e525303877b 100644 --- a/include/xdk/wdm.template.h +++ b/include/xdk/wdm.template.h @@ -82,10 +82,13 @@ extern "C" { #endif /* For ReactOS */ -#if !defined(_NTOSKRNL_) && !defined(_BLDR_) +#if !defined(_NTOSKRNL_) && !defined(_BLDR_) && !defined(_NTSYSTEM_) #define NTKERNELAPI DECLSPEC_IMPORT #else #define NTKERNELAPI +#ifndef _NTSYSTEM_ +#define _NTSYSTEM_ +#endif #endif #if defined(_X86_) && !defined(_NTHAL_) @@ -129,6 +132,29 @@ extern "C" { #define ALLOC_DATA_PRAGMA 1 #endif +#endif /* _MSC_VER */ + +/* These macros are used to create aliases for imported data. We need to do + this to have declarations that are compatible with MS DDK */ +#ifdef _M_IX86 +#define __SYMBOL(_Name) "_"#_Name +#define __IMPORTSYMBOL(_Name) "__imp__"#_Name +#define __IMPORTNAME(_Name) _imp__##_Name +#else +#define __SYMBOL(_Name) #_Name +#define __IMPORTSYMBOL(_Name) "__imp_"#_Name +#define __IMPORTNAME(_Name) __imp_##_Name +#endif +#ifdef _MSC_VER +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ + __pragma(comment(linker, "/alternatename:"__SYMBOL(_Name) "=" __IMPORTSYMBOL(_Name))) +#else /* !_MSC_VER */ +#ifndef __STRINGIFY +#define __STRINGIFY(_exp) #_exp +#endif +#define _Pragma_redefine_extname(_Name, _Target) _Pragma(__STRINGIFY(redefine_extname _Name _Target)) +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ + _Pragma_redefine_extname(_Name,__IMPORTNAME(_Name)) #endif #if defined(_WIN64) diff --git a/lib/rtl/actctx.c b/lib/rtl/actctx.c index bf425a9f530..784e446a550 100644 --- a/lib/rtl/actctx.c +++ b/lib/rtl/actctx.c @@ -5130,7 +5130,7 @@ RtlpFindActivationContextSection_CheckParameters( ULONG flags, const GUID *guid, const UNICODE_STRING *section_name, PACTCTX_SECTION_KEYED_DATA data ) { /* Check general parameter combinations */ - if (!section_name || + if (!section_name || !section_name->Buffer || (flags & ~FIND_ACTCTX_VALID_MASK) || ((flags & FIND_ACTCTX_VALID_MASK) && !data) || (data && data->cbSize < offsetof(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex))) diff --git a/lib/rtl/nls.c b/lib/rtl/nls.c index 49a8fa13f43..ee892a09324 100644 --- a/lib/rtl/nls.c +++ b/lib/rtl/nls.c @@ -31,13 +31,12 @@ BOOLEAN NlsMbOemCodePageTag = FALSE; /* exported */ PWCHAR NlsOemToUnicodeTable = NULL; PCHAR NlsUnicodeToOemTable =NULL; PWCHAR NlsDbcsUnicodeToOemTable = NULL; -PUSHORT _NlsOemLeadByteInfo = NULL; /* exported */ +PUSHORT NlsOemLeadByteInfo = NULL; /* exported */ USHORT NlsOemDefaultChar = '\0'; USHORT NlsUnicodeDefaultChar = 0; -#define NlsOemLeadByteInfo _NlsOemLeadByteInfo #define INIT_FUNCTION /* FUNCTIONS *****************************************************************/ diff --git a/lib/rtl/rtlp.h b/lib/rtl/rtlp.h index 634357bf7f9..b9429af356f 100644 --- a/lib/rtl/rtlp.h +++ b/lib/rtl/rtlp.h @@ -125,6 +125,11 @@ RtlpHandleDpcStackException(IN PEXCEPTION_REGISTRATION_RECORD RegistrationFrame, #define RtlpAllocateStringMemory RtlpAllocateMemory #define RtlpFreeStringMemory RtlpFreeMemory +ULONG +NTAPI +RtlGetTickCount(VOID); +#define NtGetTickCount RtlGetTickCount + BOOLEAN NTAPI RtlpSetInDbgPrint( diff --git a/lib/sdk/cpprt/amd64/cpprt.s b/lib/sdk/cpprt/amd64/cpprt.s index ae741c57869..526caa66c6c 100644 --- a/lib/sdk/cpprt/amd64/cpprt.s +++ b/lib/sdk/cpprt/amd64/cpprt.s @@ -13,4 +13,7 @@ DEFINE_ALIAS ??_L@YAXPEAX_KHP6AX0@Z2@Z, ?MSVCRTEX_eh_vector_constructor_iterator ; void __cdecl `eh vector destructor iterator'(void *,unsigned __int64,int,void (__cdecl*)(void *)) DEFINE_ALIAS ??_M@YAXPEAX_KHP6AX0@Z@Z, ?MSVCRTEX_eh_vector_destructor_iterator@@YAXPEAX_KHP6AX0@Z@Z +; These are the same +DEFINE_ALIAS __CxxFrameHandler3, __CxxFrameHandler + END diff --git a/lib/sdk/crt/include/internal/safecrt.h b/lib/sdk/crt/include/internal/safecrt.h index ad948fe0c92..ec5c93038a4 100644 --- a/lib/sdk/crt/include/internal/safecrt.h +++ b/lib/sdk/crt/include/internal/safecrt.h @@ -11,10 +11,12 @@ void _invalid_parameter( uintptr_t pReserved); #ifndef _LIBCNT_ -#define MSVCRT_INVALID_PMT(x) _invalid_parameter(NULL, NULL, NULL, 0, 0) -#define MSVCRT_CHECK_PMT(x) ((x) || (MSVCRT_INVALID_PMT(0),0)) +#define MSVCRT_INVALID_PMT(x,err) (*_errno() = (err), _invalid_parameter(NULL, NULL, NULL, 0, 0)) +#define MSVCRT_CHECK_PMT_ERR(x,err) ((x) || (MSVCRT_INVALID_PMT( 0, (err) ), 0)) +#define MSVCRT_CHECK_PMT(x) MSVCRT_CHECK_PMT_ERR((x), EINVAL) #else /* disable secure crt parameter checks */ -#define MSVCRT_CHECK_PMT -#define MSVCRT_INVALID_PMT +#define MSVCRT_INVALID_PMT(x,err) +#define MSVCRT_CHECK_PMT_ERR(x,err) +#define MSVCRT_CHECK_PMT(x) (x) #endif diff --git a/lib/sdk/crt/printf/_sxprintf.c b/lib/sdk/crt/printf/_sxprintf.c index 57d7f4ff336..46667195314 100644 --- a/lib/sdk/crt/printf/_sxprintf.c +++ b/lib/sdk/crt/printf/_sxprintf.c @@ -104,7 +104,7 @@ _sxprintf( if (count != _TRUNCATE) { /* We can't, invoke invalid parameter handler */ - MSVCRT_INVALID_PMT("Buffer is too small"); + MSVCRT_INVALID_PMT("Buffer is too small", ERANGE); /* If we came back, set the buffer to an empty string */ *buffer = 0; diff --git a/lib/sdk/crt/stdio/file.c b/lib/sdk/crt/stdio/file.c index 52e7f09f244..9573a3e439b 100644 --- a/lib/sdk/crt/stdio/file.c +++ b/lib/sdk/crt/stdio/file.c @@ -52,6 +52,12 @@ int *__p__fmode(void); int *__p___mb_cur_max(void); +extern int _commode; + +#ifndef _IOCOMMIT +#define _IOCOMMIT 0x4000 +#endif + #ifdef feof #undef feof #endif @@ -83,21 +89,33 @@ int *__p___mb_cur_max(void); /* values for wxflag in file descriptor */ #define WX_OPEN 0x01 #define WX_ATEOF 0x02 +#define WX_READNL 0x04 /* read started with \n */ #define WX_READEOF 0x04 /* like ATEOF, but for underlying file rather than buffer */ +#define WX_PIPE 0x08 #define WX_READCR 0x08 /* underlying file is at \r */ #define WX_DONTINHERIT 0x10 #define WX_APPEND 0x20 +#define WX_NOSEEK 0x40 #define WX_TEXT 0x80 +/* values for exflag - it's used differently in msvcr90.dll*/ +#define EF_UTF8 0x01 +#define EF_UTF16 0x02 +#define EF_UNK_UNICODE 0x08 + +static char utf8_bom[3] = { 0xef, 0xbb, 0xbf }; +static char utf16_bom[2] = { 0xff, 0xfe }; + /* FIXME: this should be allocated dynamically */ #define MAX_FILES 2048 #define FD_BLOCK_SIZE 64 +/* ioinfo structure size is different in msvcrXX.dll's */ typedef struct { HANDLE handle; unsigned char wxflag; - char unk1; - BOOL crit_init; + char lookahead[3]; + int exflag; CRITICAL_SECTION crit; } ioinfo; @@ -245,7 +263,7 @@ static void free_fd(int fd) /* INTERNAL: Allocate an fd slot from a Win32 HANDLE, starting from fd */ /* caller must hold the files lock */ -static int alloc_fd_from(HANDLE hand, int flag, int fd) +static int set_fd(HANDLE hand, int flag, int fd) { ioinfo *fdinfo; @@ -274,7 +292,11 @@ static int alloc_fd_from(HANDLE hand, int flag, int fd) } fdinfo->handle = hand; - fdinfo->wxflag = WX_OPEN | (flag & (WX_DONTINHERIT | WX_APPEND | WX_TEXT)); + fdinfo->wxflag = WX_OPEN | (flag & (WX_DONTINHERIT | WX_APPEND | WX_TEXT | WX_PIPE | WX_NOSEEK)); + fdinfo->lookahead[0] = '\n'; + fdinfo->lookahead[1] = '\n'; + fdinfo->lookahead[2] = '\n'; + fdinfo->exflag = 0; /* locate next free slot */ if (fd == fdstart && fd == fdend) @@ -305,7 +327,7 @@ static int alloc_fd_from(HANDLE hand, int flag, int fd) LOCK_FILES(); TRACE(":handle (%p) allocating fd (%d)\n",hand,fdstart); - ret = alloc_fd_from(hand, flag, fdstart); + ret = set_fd(hand, flag, fdstart); UNLOCK_FILES(); return ret; } @@ -425,7 +447,7 @@ void msvcrt_init_io(void) for (i = 0; i < count; i++) { if ((*wxflag_ptr & WX_OPEN) && *handle_ptr != INVALID_HANDLE_VALUE) - alloc_fd_from(*handle_ptr, *wxflag_ptr, i); + set_fd(*handle_ptr, *wxflag_ptr, i); wxflag_ptr++; handle_ptr++; } @@ -435,7 +457,7 @@ void msvcrt_init_io(void) } if(!__pioinfo[0]) - alloc_fd_from(INVALID_HANDLE_VALUE, 0, 3); + set_fd(INVALID_HANDLE_VALUE, 0, 3); fdinfo = get_ioinfo(0); if (!(fdinfo->wxflag & WX_OPEN) || fdinfo->handle == INVALID_HANDLE_VALUE) @@ -508,6 +530,20 @@ static int flush_buffer(FILE* file) return 0; } +/********************************************************************* + * _isatty (MSVCRT.@) + */ +int CDECL _isatty(int fd) +{ + HANDLE hand = fdtoh(fd); + + TRACE(":fd (%d) handle (%p)\n",fd,hand); + if (hand == INVALID_HANDLE_VALUE) + return 0; + + return GetFileType(hand) == FILE_TYPE_CHAR? 1 : 0; +} + /* INTERNAL: Allocate stdio file buffer */ /*static*/ void alloc_buffer(FILE* file) { @@ -877,7 +913,7 @@ int CDECL _dup2(int od, int nd) if (is_valid_fd(nd)) _close(nd); - ret = alloc_fd_from(handle, wxflag, nd); + ret = set_fd(handle, wxflag, nd); if (ret == -1) { CloseHandle(handle); @@ -1238,6 +1274,10 @@ static int get_flags(const wchar_t* mode, int *open_flags, int* stream_flags) { int plus = strchrW(mode, '+') != NULL; + TRACE("%s\n", debugstr_w(mode)); + + while(*mode == ' ') mode++; + switch(*mode++) { case 'R': case 'r': @@ -1253,12 +1293,13 @@ static int get_flags(const wchar_t* mode, int *open_flags, int* stream_flags) *stream_flags = plus ? _IORW : _IOWRT; break; default: - _invalid_parameter(NULL, NULL, NULL, 0, 0); - *_errno() = EINVAL; + MSVCRT_INVALID_PMT(0, EINVAL); return -1; } - while (*mode) + *stream_flags |= _commode; + + while (*mode && *mode!=',') switch (*mode++) { case 'B': case 'b': @@ -1269,12 +1310,79 @@ static int get_flags(const wchar_t* mode, int *open_flags, int* stream_flags) *open_flags |= _O_TEXT; *open_flags &= ~_O_BINARY; break; + case 'D': + *open_flags |= _O_TEMPORARY; + break; + case 'T': + *open_flags |= _O_SHORT_LIVED; + break; + case 'c': + *stream_flags |= _IOCOMMIT; + break; + case 'n': + *stream_flags &= ~_IOCOMMIT; + break; + case 'N': + *open_flags |= _O_NOINHERIT; + break; case '+': case ' ': + case 'a': + case 'w': + break; + case 'S': + case 'R': + FIXME("ignoring cache optimization flag: %c\n", mode[-1]); break; default: - FIXME(":unknown flag %c not supported\n",mode[-1]); + ERR("incorrect mode flag: %c\n", mode[-1]); + break; } + + if(*mode == ',') + { + static const WCHAR ccs[] = {'c','c','s'}; + static const WCHAR utf8[] = {'u','t','f','-','8'}; + static const WCHAR utf16le[] = {'u','t','f','-','1','6','l','e'}; + static const WCHAR unicode[] = {'u','n','i','c','o','d','e'}; + + mode++; + while(*mode == ' ') mode++; + if(!MSVCRT_CHECK_PMT(!strncmpW(ccs, mode, sizeof(ccs)/sizeof(ccs[0])))) + return -1; + mode += sizeof(ccs)/sizeof(ccs[0]); + while(*mode == ' ') mode++; + if(!MSVCRT_CHECK_PMT(*mode == '=')) + return -1; + mode++; + while(*mode == ' ') mode++; + + if(!strncmpiW(utf8, mode, sizeof(utf8)/sizeof(utf8[0]))) + { + *open_flags |= _O_U8TEXT; + mode += sizeof(utf8)/sizeof(utf8[0]); + } + else if(!strncmpiW(utf16le, mode, sizeof(utf16le)/sizeof(utf16le[0]))) + { + *open_flags |= _O_U16TEXT; + mode += sizeof(utf16le)/sizeof(utf16le[0]); + } + else if(!strncmpiW(unicode, mode, sizeof(unicode)/sizeof(unicode[0]))) + { + *open_flags |= _O_WTEXT; + mode += sizeof(unicode)/sizeof(unicode[0]); + } + else + { + MSVCRT_INVALID_PMT(0, EINVAL); + return -1; + } + + while(*mode == ' ') mode++; + } + + if(!MSVCRT_CHECK_PMT(*mode == 0)) + return -1; return 0; } @@ -1376,20 +1484,6 @@ intptr_t CDECL _get_osfhandle(int fd) return (intptr_t)hand; } -/********************************************************************* - * _isatty (MSVCRT.@) - */ -int CDECL _isatty(int fd) -{ - HANDLE hand = fdtoh(fd); - - TRACE(":fd (%d) handle (%p)\n",fd,hand); - if (hand == INVALID_HANDLE_VALUE) - return 0; - - return GetFileType(hand) == FILE_TYPE_CHAR? 1 : 0; -} - /********************************************************************* * _mktemp (MSVCRT.@) */ @@ -1400,9 +1494,12 @@ char * CDECL _mktemp(char *pattern) int id; char letter = 'a'; + if(!pattern) + return NULL; + while(*pattern) numX = (*pattern++ == 'X')? numX + 1 : 0; - if (numX < 5) + if (numX < 6) return NULL; pattern--; id = GetCurrentProcessId(); @@ -1417,8 +1514,7 @@ char * CDECL _mktemp(char *pattern) do { *pattern = letter++; - if (GetFileAttributesA(retVal) == INVALID_FILE_ATTRIBUTES && - GetLastError() == ERROR_FILE_NOT_FOUND) + if (GetFileAttributesA(retVal) == INVALID_FILE_ATTRIBUTES) return retVal; } while(letter <= 'z'); return NULL; @@ -1466,6 +1562,9 @@ wchar_t * CDECL _wmktemp(wchar_t *pattern) if (oflags & _O_APPEND) wxflags |= WX_APPEND; if (oflags & _O_BINARY) {/* Nothing to do */} else if (oflags & _O_TEXT) wxflags |= WX_TEXT; + else if (oflags & _O_WTEXT) wxflags |= WX_TEXT; + else if (oflags & _O_U16TEXT) wxflags |= WX_TEXT; + else if (oflags & _O_U8TEXT) wxflags |= WX_TEXT; else if (*__p__fmode() & _O_BINARY) {/* Nothing to do */} else wxflags |= WX_TEXT; /* default to TEXT*/ if (oflags & _O_NOINHERIT) wxflags |= WX_DONTINHERIT; @@ -1475,7 +1574,8 @@ wchar_t * CDECL _wmktemp(wchar_t *pattern) _O_TRUNC|_O_EXCL|_O_CREAT| _O_RDWR|_O_WRONLY|_O_TEMPORARY| _O_NOINHERIT| - _O_SEQUENTIAL|_O_RANDOM|_O_SHORT_LIVED + _O_SEQUENTIAL|_O_RANDOM|_O_SHORT_LIVED| + _O_WTEXT|_O_U16TEXT|_O_U8TEXT ))) ERR(":unsupported oflags 0x%04x\n",unsupp); @@ -1537,6 +1637,207 @@ int CDECL _pipe(int *pfds, unsigned int psize, int textmode) return ret; } +static int check_bom(HANDLE h, int oflags, BOOL seek) +{ + char bom[sizeof(utf8_bom)]; + DWORD r; + + oflags &= ~(_O_WTEXT|_O_U16TEXT|_O_U8TEXT); + + if (!ReadFile(h, bom, sizeof(utf8_bom), &r, NULL)) + return oflags; + + if (r==sizeof(utf8_bom) && !memcmp(bom, utf8_bom, sizeof(utf8_bom))) { + oflags |= _O_U8TEXT; + }else if (r>=sizeof(utf16_bom) && !memcmp(bom, utf16_bom, sizeof(utf16_bom))) { + if (seek && r>2) + SetFilePointer(h, 2, NULL, FILE_BEGIN); + oflags |= _O_U16TEXT; + }else if (seek) { + SetFilePointer(h, 0, NULL, FILE_BEGIN); + } + + return oflags; +} + +/********************************************************************* + * _wsopen_s (MSVCRT.@) + */ +int CDECL _wsopen_s( int *fd, const wchar_t* path, int oflags, int shflags, int pmode ) +{ + DWORD access = 0, creation = 0, attrib; + SECURITY_ATTRIBUTES sa; + DWORD sharing; + int wxflag; + HANDLE hand; + + TRACE("fd*: %p :file (%s) oflags: 0x%04x shflags: 0x%04x pmode: 0x%04x\n", + fd, debugstr_w(path), oflags, shflags, pmode); + + if (!MSVCRT_CHECK_PMT( fd != NULL )) return EINVAL; + + *fd = -1; + wxflag = split_oflags(oflags); + switch (oflags & (_O_RDONLY | _O_WRONLY | _O_RDWR)) + { + case _O_RDONLY: access |= GENERIC_READ; break; + case _O_WRONLY: access |= GENERIC_WRITE; break; + case _O_RDWR: access |= GENERIC_WRITE | GENERIC_READ; break; + } + + if (oflags & _O_CREAT) + { + if(pmode & ~(_S_IREAD | _S_IWRITE)) + FIXME(": pmode 0x%04x ignored\n", pmode); + else + WARN(": pmode 0x%04x ignored\n", pmode); + + if (oflags & _O_EXCL) + creation = CREATE_NEW; + else if (oflags & _O_TRUNC) + creation = CREATE_ALWAYS; + else + creation = OPEN_ALWAYS; + } + else /* no _O_CREAT */ + { + if (oflags & _O_TRUNC) + creation = TRUNCATE_EXISTING; + else + creation = OPEN_EXISTING; + } + + switch( shflags ) + { + case _SH_DENYRW: + sharing = 0L; + break; + case _SH_DENYWR: + sharing = FILE_SHARE_READ; + break; + case _SH_DENYRD: + sharing = FILE_SHARE_WRITE; + break; + case _SH_DENYNO: + sharing = FILE_SHARE_READ | FILE_SHARE_WRITE; + break; + default: + ERR( "Unhandled shflags 0x%x\n", shflags ); + return EINVAL; + } + attrib = FILE_ATTRIBUTE_NORMAL; + + if (oflags & _O_TEMPORARY) + { + attrib |= FILE_FLAG_DELETE_ON_CLOSE; + access |= DELETE; + sharing |= FILE_SHARE_DELETE; + } + + sa.nLength = sizeof( SECURITY_ATTRIBUTES ); + sa.lpSecurityDescriptor = NULL; + sa.bInheritHandle = !(oflags & _O_NOINHERIT); + + if ((oflags&(_O_WTEXT|_O_U16TEXT|_O_U8TEXT)) + && (creation==OPEN_ALWAYS || creation==OPEN_EXISTING) + && !(access&GENERIC_READ)) + { + hand = CreateFileW(path, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, + &sa, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + if (hand != INVALID_HANDLE_VALUE) + { + oflags = check_bom(hand, oflags, FALSE); + CloseHandle(hand); + } + else + oflags &= ~(_O_WTEXT|_O_U16TEXT|_O_U8TEXT); + } + + hand = CreateFileW(path, access, sharing, &sa, creation, attrib, 0); + if (hand == INVALID_HANDLE_VALUE) { + WARN(":failed-last error (%d)\n",GetLastError()); + _dosmaperr(GetLastError()); + return *_errno(); + } + + if (oflags & (_O_WTEXT|_O_U16TEXT|_O_U8TEXT)) + { + if ((access & GENERIC_WRITE) && (creation==CREATE_NEW + || creation==CREATE_ALWAYS || creation==TRUNCATE_EXISTING + || (creation==OPEN_ALWAYS && GetLastError()==ERROR_ALREADY_EXISTS))) + { + if (oflags & _O_U8TEXT) + { + DWORD written = 0, tmp; + + while(written!=sizeof(utf8_bom) && WriteFile(hand, (char*)utf8_bom+written, + sizeof(utf8_bom)-written, &tmp, NULL)) + written += tmp; + if (written != sizeof(utf8_bom)) { + WARN("error writing BOM\n"); + CloseHandle(hand); + _dosmaperr(GetLastError()); + return *_errno(); + } + } + else + { + DWORD written = 0, tmp; + + while(written!=sizeof(utf16_bom) && WriteFile(hand, (char*)utf16_bom+written, + sizeof(utf16_bom)-written, &tmp, NULL)) + written += tmp; + if (written != sizeof(utf16_bom)) + { + WARN("error writing BOM\n"); + CloseHandle(hand); + _dosmaperr(GetLastError()); + return *_errno(); + } + } + } + else if (access & GENERIC_READ) + oflags = check_bom(hand, oflags, TRUE); + } + + *fd = alloc_fd(hand, wxflag); + if (*fd == -1) + return *_errno(); + + if (oflags & _O_WTEXT) + get_ioinfo(*fd)->exflag |= EF_UTF16|EF_UNK_UNICODE; + else if (oflags & _O_U16TEXT) + get_ioinfo(*fd)->exflag |= EF_UTF16; + else if (oflags & _O_U8TEXT) + get_ioinfo(*fd)->exflag |= EF_UTF8; + + TRACE(":fd (%d) handle (%p)\n", *fd, hand); + return 0; +} + +/********************************************************************* + * _wsopen (MSVCRT.@) + */ +int CDECL _wsopen( const wchar_t *path, int oflags, int shflags, ... ) +{ + int pmode; + int fd; + + if (oflags & _O_CREAT) + { + va_list ap; + + va_start(ap, shflags); + pmode = va_arg(ap, int); + va_end(ap); + } + else + pmode = 0; + + _wsopen_s(&fd, path, oflags, shflags, pmode); + return fd; +} + /********************************************************************* * _sopen_s (MSVCRT.@) */ @@ -1553,8 +1854,7 @@ int CDECL _sopen_s( int *fd, const char *path, int oflags, int shflags, int pmod if (!fd) { - MSVCRT_INVALID_PMT("null out fd pointer"); - *_errno() = EINVAL; + MSVCRT_INVALID_PMT("null out fd pointer", EINVAL); return EINVAL; } @@ -1656,126 +1956,6 @@ int CDECL _sopen( const char *path, int oflags, int shflags, ... ) return fd; } -/********************************************************************* - * _wsopen_s (MSVCRT.@) - */ -int CDECL _wsopen_s( int *fd, const wchar_t* path, int oflags, int shflags, int pmode ) -{ - DWORD access = 0, creation = 0, attrib; - SECURITY_ATTRIBUTES sa; - DWORD sharing; - int wxflag; - HANDLE hand; - - TRACE("fd*: %p :file (%s) oflags: 0x%04x shflags: 0x%04x pmode: 0x%04x\n", - fd, debugstr_w(path), oflags, shflags, pmode); - - if (!fd) - { - MSVCRT_INVALID_PMT("null out fd pointer"); - *_errno() = EINVAL; - return EINVAL; - } - - *fd = -1; - wxflag = split_oflags(oflags); - switch (oflags & (_O_RDONLY | _O_WRONLY | _O_RDWR)) - { - case _O_RDONLY: access |= GENERIC_READ; break; - case _O_WRONLY: access |= GENERIC_WRITE; break; - case _O_RDWR: access |= GENERIC_WRITE | GENERIC_READ; break; - } - - if (oflags & _O_CREAT) - { - if(pmode & ~(_S_IREAD | _S_IWRITE)) - FIXME(": pmode 0x%04x ignored\n", pmode); - else - WARN(": pmode 0x%04x ignored\n", pmode); - - if (oflags & _O_EXCL) - creation = CREATE_NEW; - else if (oflags & _O_TRUNC) - creation = CREATE_ALWAYS; - else - creation = OPEN_ALWAYS; - } - else /* no _O_CREAT */ - { - if (oflags & _O_TRUNC) - creation = TRUNCATE_EXISTING; - else - creation = OPEN_EXISTING; - } - - switch( shflags ) - { - case _SH_DENYRW: - sharing = 0L; - break; - case _SH_DENYWR: - sharing = FILE_SHARE_READ; - break; - case _SH_DENYRD: - sharing = FILE_SHARE_WRITE; - break; - case _SH_DENYNO: - sharing = FILE_SHARE_READ | FILE_SHARE_WRITE; - break; - default: - ERR( "Unhandled shflags 0x%x\n", shflags ); - return EINVAL; - } - attrib = FILE_ATTRIBUTE_NORMAL; - - if (oflags & _O_TEMPORARY) - { - attrib |= FILE_FLAG_DELETE_ON_CLOSE; - access |= DELETE; - sharing |= FILE_SHARE_DELETE; - } - - sa.nLength = sizeof( SECURITY_ATTRIBUTES ); - sa.lpSecurityDescriptor = NULL; - sa.bInheritHandle = (oflags & _O_NOINHERIT) ? FALSE : TRUE; - - hand = CreateFileW(path, access, sharing, &sa, creation, attrib, 0); - - if (hand == INVALID_HANDLE_VALUE) { - WARN(":failed-last error (%d)\n",GetLastError()); - _dosmaperr(GetLastError()); - return *_errno(); - } - - *fd = alloc_fd(hand, wxflag); - - TRACE(":fd (%d) handle (%p)\n", *fd, hand); - return 0; -} - -/********************************************************************* - * _wsopen (MSVCRT.@) - */ -int CDECL _wsopen( const wchar_t *path, int oflags, int shflags, ... ) -{ - int pmode; - int fd; - - if (oflags & _O_CREAT) - { - va_list ap; - - va_start(ap, shflags); - pmode = va_arg(ap, int); - va_end(ap); - } - else - pmode = 0; - - _wsopen_s(&fd, path, oflags, shflags, pmode); - return fd; -} - /********************************************************************* * _open (MSVCRT.@) */ @@ -1837,6 +2017,7 @@ int CDECL _wcreat(const wchar_t *path, int flags) */ int CDECL _open_osfhandle(intptr_t handle, int oflags) { + DWORD flags; int fd; /* _O_RDONLY (0) always matches, so set the read flag @@ -1848,8 +2029,23 @@ int CDECL _open_osfhandle(intptr_t handle, int oflags) if (!(oflags & (_O_BINARY | _O_TEXT))) oflags |= _O_BINARY; - fd = alloc_fd((HANDLE)handle, split_oflags(oflags)); - TRACE(":handle (%ld) fd (%d) flags 0x%08x\n", handle, fd, oflags); + flags = GetFileType((HANDLE)handle); + if (flags==FILE_TYPE_UNKNOWN && GetLastError()!=NO_ERROR) + { + _dosmaperr(GetLastError()); + return -1; + } + + if (flags == FILE_TYPE_CHAR) + flags = WX_NOSEEK; + else if (flags == FILE_TYPE_PIPE) + flags = WX_PIPE; + else + flags = 0; + flags |= split_oflags(oflags); + + fd = alloc_fd((HANDLE)handle, flags); + TRACE(":handle (%ld) fd (%d) flags 0x%08x\n", handle, fd, flags); return fd; } @@ -1989,14 +2185,32 @@ int CDECL _read(int fd, void *buf, unsigned int count) */ int CDECL _setmode(int fd,int mode) { - int ret = get_ioinfo(fd)->wxflag & WX_TEXT ? _O_TEXT : _O_BINARY; - if (mode & (~(_O_TEXT|_O_BINARY))) - FIXME("fd (%d) mode (0x%08x) unknown\n",fd,mode); - if ((mode & _O_TEXT) == _O_TEXT) + int ret = get_ioinfo(fd)->wxflag & WX_TEXT ? _O_TEXT : _O_BINARY; + if(ret==_O_TEXT && (get_ioinfo(fd)->exflag & (EF_UTF8|EF_UTF16))) + ret = _O_WTEXT; + + if(mode!=_O_TEXT && mode!=_O_BINARY && mode!=_O_WTEXT + && mode!=_O_U16TEXT && mode!=_O_U8TEXT) { + *_errno() = EINVAL; + return -1; + } + + if(mode == _O_BINARY) { + get_ioinfo(fd)->wxflag &= ~WX_TEXT; + get_ioinfo(fd)->exflag &= ~(EF_UTF8|EF_UTF16); + return ret; + } + get_ioinfo(fd)->wxflag |= WX_TEXT; - else - get_ioinfo(fd)->wxflag &= ~WX_TEXT; - return ret; + if(mode == _O_TEXT) + get_ioinfo(fd)->exflag &= ~(EF_UTF8|EF_UTF16); + else if(mode == _O_U8TEXT) + get_ioinfo(fd)->exflag = (get_ioinfo(fd)->exflag & ~EF_UTF16) | EF_UTF8; + else + get_ioinfo(fd)->exflag = (get_ioinfo(fd)->exflag & ~EF_UTF8) | EF_UTF16; + + return ret; + } /********************************************************************* @@ -2070,89 +2284,170 @@ int CDECL _umask(int umask) */ int CDECL _write(int fd, const void* buf, unsigned int count) { - DWORD num_written; - HANDLE hand = fdtoh(fd); + DWORD num_written; + ioinfo *info = get_ioinfo(fd); + HANDLE hand = info->handle; - /* Don't trace small writes, it gets *very* annoying */ + /* Don't trace small writes, it gets *very* annoying */ #if 0 - if (count > 32) - TRACE(":fd (%d) handle (%d) buf (%p) len (%d)\n",fd,hand,buf,count); + if (count > 32) + TRACE(":fd (%d) handle (%d) buf (%p) len (%d)\n",fd,hand,buf,count); #endif - if (hand == INVALID_HANDLE_VALUE) + if (hand == INVALID_HANDLE_VALUE) { - *_errno() = EBADF; - return -1; + *_errno() = EBADF; + return -1; } - /* If appending, go to EOF */ - if (get_ioinfo(fd)->wxflag & WX_APPEND) - _lseek(fd, 0, FILE_END); - - if (!(get_ioinfo(fd)->wxflag & WX_TEXT)) + if (((info->exflag&EF_UTF8) || (info->exflag&EF_UTF16)) && count&1) { - if (WriteFile(hand, buf, count, &num_written, NULL) - && (num_written == count)) - return num_written; - TRACE("WriteFile (fd %d, hand %p) failed-last error (%d)\n", fd, - hand, GetLastError()); - *_errno() = ENOSPC; + *_errno() = EINVAL; + return -1; } - else - { - unsigned int i, j, nr_lf; - char *p = NULL; - const char *q; - const char *s = buf, *buf_start = buf; - /* find number of \n ( without preceding \r ) */ - for ( nr_lf=0,i = 0; i 1) && (s[i-1] == '\r')) nr_lf--; */ - } - } - if (nr_lf) - { - if ((q = p = malloc(count + nr_lf))) - { - for (s = buf, i = 0, j = 0; i < count; i++) - { - if (s[i]== '\n') - { - p[j++] = '\r'; - /*if ((i >1) && (s[i-1] == '\r'))j--;*/ - } - p[j++] = s[i]; - } - } - else - { - FIXME("Malloc failed\n"); - nr_lf =0; - q = buf; - } - } - else - q = buf; - if ((WriteFile(hand, q, count+nr_lf, &num_written, NULL) == 0 ) || (num_written != count+nr_lf)) - { - TRACE("WriteFile (fd %d, hand %p) failed-last error (%d), num_written %d\n", - fd, hand, GetLastError(), num_written); - *_errno() = ENOSPC; - if(nr_lf) - free(p); - return s - buf_start; - } - else - { - if(nr_lf) - free(p); - return count; - } - } - return -1; + /* If appending, go to EOF */ + if (info->wxflag & WX_APPEND) + _lseek(fd, 0, FILE_END); + + if (!(info->wxflag & WX_TEXT)) + { + if (WriteFile(hand, buf, count, &num_written, NULL) + && (num_written == count)) + return num_written; + TRACE("WriteFile (fd %d, hand %p) failed-last error (%d)\n", fd, + hand, GetLastError()); + *_errno() = ENOSPC; + } + else + { + unsigned int i, j, nr_lf, size; + char *p = NULL; + const char *q; + const char *s = buf, *buf_start = buf; + + if (!(info->exflag & (EF_UTF8|EF_UTF16))) + { + /* find number of \n */ + for (nr_lf=0, i=0; iexflag & EF_UTF16) + { + for (nr_lf=0, i=0; i_flag & _IOEOF; - _unlock_file(file); - - return ret; + return file->_flag & _IOEOF; } /********************************************************************* @@ -2227,13 +2516,7 @@ int CDECL feof(FILE* file) */ int CDECL ferror(FILE* file) { - int ret; - - _lock_file(file); - ret = file->_flag & _IOERR; - _unlock_file(file); - - return ret; + return file->_flag & _IOERR; } /********************************************************************* @@ -2244,6 +2527,11 @@ int CDECL _filbuf(FILE* file) unsigned char c; _lock_file(file); + if(file->_flag & _IOSTRG) { + _unlock_file(file); + return EOF; + } + /* Allocate buffer if needed */ if(file->_bufsiz == 0 && !(file->_flag & _IONBF)) alloc_buffer(file); @@ -2346,60 +2634,50 @@ char * CDECL fgets(char *s, int size, FILE* file) /********************************************************************* * fgetwc (MSVCRT.@) - * - * In _O_TEXT mode, multibyte characters are read from the file, dropping - * the CR from CR/LF combinations */ wint_t CDECL fgetwc(FILE* file) { - int c; + wint_t ret; + int ch; _lock_file(file); - if (!(get_ioinfo(file->_file)->wxflag & WX_TEXT)) - { - wchar_t wc; - unsigned int i; - int j; - char *chp, *wcp; - wcp = (char *)&wc; - for(i=0; i_cnt>0) - { - file->_cnt--; - chp = file->_ptr++; - wcp[i] = *chp; - } - else - { - j = _filbuf(file); - if(file->_cnt<=0) - { - file->_flag |= (file->_cnt == 0) ? _IOEOF : _IOERR; - file->_cnt = 0; - _unlock_file(file); - return WEOF; - } - wcp[i] = j; - } - } + if((get_ioinfo(file->_file)->exflag & (EF_UTF8 | EF_UTF16)) + || !(get_ioinfo(file->_file)->wxflag & WX_TEXT)) { + char *p; - _unlock_file(file); - return wc; + for(p=(char*)&ret; (wint_t*)p<&ret+1; p++) { + ch = fgetc(file); + if(ch == EOF) { + ret = WEOF; + break; + } + *p = (char)ch; + } + }else { + char mbs[MB_LEN_MAX]; + int len = 0; + + ch = fgetc(file); + if(ch != EOF) { + mbs[0] = (char)ch; + if(isleadbyte((unsigned char)mbs[0])) { + ch = fgetc(file); + if(ch != EOF) { + mbs[1] = (char)ch; + len = 2; + } + }else { + len = 1; + } + } + + if(!len || mbtowc(&ret, mbs, len)==-1) + ret = WEOF; } - c = fgetc(file); - if ((__mb_cur_max > 1) && isleadbyte(c)) - { - FIXME("Treat Multibyte characters\n"); - } - - _unlock_file(file); - if (c == EOF) - return WEOF; - else - return (wint_t)c; + _unlock_file(file); + return ret; } /********************************************************************* @@ -2494,33 +2772,36 @@ size_t CDECL fwrite(const void *ptr, size_t size, size_t nmemb, FILE* file) return 0; _lock_file(file); - if(file->_cnt) { - int pcnt=((unsigned)file->_cnt>wrcnt)? wrcnt: file->_cnt; - memcpy(file->_ptr, ptr, pcnt); - file->_cnt -= pcnt; - file->_ptr += pcnt; - written = pcnt; - wrcnt -= pcnt; - ptr = (const char*)ptr + pcnt; - } else if(!(file->_flag & _IOWRT)) { - if(file->_flag & _IORW) { - file->_flag |= _IOWRT; - } else { - _unlock_file(file); - return 0; - } - } - if(wrcnt) { - /* Flush buffer */ - int res=flush_buffer(file); - if(!res) { - int pwritten = _write(file->_file, ptr, wrcnt); - if (pwritten <= 0) - { - file->_flag |= _IOERR; - pwritten=0; + + while(wrcnt) { + if(file->_cnt) { + int pcnt=((unsigned)file->_cnt>wrcnt)? wrcnt: file->_cnt; + memcpy(file->_ptr, ptr, pcnt); + file->_cnt -= pcnt; + file->_ptr += pcnt; + written += pcnt; + wrcnt -= pcnt; + ptr = (const char*)ptr + pcnt; + } else if(!file->_bufsiz && (file->_flag & _IONBF)) { + if(!(file->_flag & _IOWRT)) { + if(file->_flag & _IORW) + file->_flag |= _IOWRT; + else + break; } - written += pwritten; + + if(_write(file->_file, ptr, wrcnt) <= 0) { + file->_flag |= _IOERR; + break; + } + written += wrcnt; + wrcnt = 0; + } else { + if(_flsbuf(*(const char*)ptr, file) == EOF) + break; + written++; + wrcnt--; + ptr = (const char*)ptr + 1; } } @@ -2896,8 +3177,6 @@ int CDECL fsetpos(FILE* file, const fpos_t *pos) */ __int64 CDECL _ftelli64(FILE* file) { - /* TODO: just call fgetpos and return lower half of result */ - int off=0; __int64 pos; _lock_file(file); @@ -2907,26 +3186,50 @@ __int64 CDECL _ftelli64(FILE* file) return -1; } if(file->_bufsiz) { - if( file->_flag & _IOWRT ) { - off = file->_ptr - file->_base; + if(file->_flag & _IOWRT) { + pos += file->_ptr - file->_base; + + if(get_ioinfo(file->_file)->wxflag & WX_TEXT) { + char *p; + + for(p=file->_base; p_ptr; p++) + if(*p == '\n') + pos++; + } + } else if(!file->_cnt) { /* nothing to do */ + } else if(_lseeki64(file->_file, 0, SEEK_END)==pos) { + int i; + + pos -= file->_cnt; + if(get_ioinfo(file->_file)->wxflag & WX_TEXT) { + for(i=0; i_cnt; i++) + if(file->_ptr[i] == '\n') + pos--; + } } else { - off = -file->_cnt; - if (get_ioinfo(file->_file)->wxflag & WX_TEXT) { - /* Black magic correction for CR removal */ - int i; - for (i=0; i_cnt; i++) { - if (file->_ptr[i] == '\n') - off--; - } - /* Black magic when reading CR at buffer boundary*/ - if(get_ioinfo(file->_file)->wxflag & WX_READCR) - off--; + char *p; + + if(_lseeki64(file->_file, pos, SEEK_SET) != pos) { + _unlock_file(file); + return -1; + } + + pos -= file->_bufsiz; + pos += file->_ptr - file->_base; + + if(get_ioinfo(file->_file)->wxflag & WX_TEXT) { + if(get_ioinfo(file->_file)->wxflag & WX_READNL) + pos--; + + for(p=file->_base; p_ptr; p++) + if(*p == '\n') + pos++; } } } _unlock_file(file); - return off + pos; + return pos; } /********************************************************************* @@ -3300,16 +3603,20 @@ FILE* CDECL tmpfile(void) FILE* file = NULL; LOCK_FILES(); - fd = _open(filename, _O_CREAT | _O_BINARY | _O_RDWR | _O_TEMPORARY); + fd = _open(filename, _O_CREAT | _O_BINARY | _O_RDWR | _O_TEMPORARY, + _S_IREAD | _S_IWRITE); if (fd != -1 && (file = alloc_fp())) { - if (init_fp(file, fd, _O_RDWR) == -1) + if (init_fp(file, fd, _IORW) == -1) { file->_flag = 0; file = NULL; } else file->_tmpfname = _strdup(filename); } + + if(fd != -1 && !file) + _close(fd); UNLOCK_FILES(); return file; } diff --git a/lib/sdk/crt/stdio/stat64.c b/lib/sdk/crt/stdio/stat64.c index 55e5c8f9f10..41340bbd9f5 100644 --- a/lib/sdk/crt/stdio/stat64.c +++ b/lib/sdk/crt/stdio/stat64.c @@ -27,14 +27,25 @@ int CDECL _tstat64(const _TCHAR *path, struct __stat64 *buf) DWORD dw; WIN32_FILE_ATTRIBUTE_DATA hfi; unsigned short mode = ALL_S_IREAD; - size_t plen; + int plen; TRACE(":file (%s) buf(%p)\n",path,buf); + plen = _tcslen(path); + while (plen && path[plen-1]==' ') + plen--; + + if (plen && (plen<2 || path[plen-2]!=':') && + (path[plen-1]==':' || path[plen-1]=='\\' || path[plen-1]=='/')) + { + *_errno() = ENOENT; + return -1; + } + if (!GetFileAttributesEx(path, GetFileExInfoStandard, &hfi)) { TRACE("failed (%d)\n",GetLastError()); - _dosmaperr(ERROR_FILE_NOT_FOUND); + *_errno() = ENOENT; return -1; } @@ -45,16 +56,13 @@ int CDECL _tstat64(const _TCHAR *path, struct __stat64 *buf) Also a letter as first char isn't enough to be classified as a drive letter */ - if (isalpha((unsigned char)*path)&& (*(path+1)==':')) - buf->st_dev = buf->st_rdev = _totupper(*path) - 'A'; /* drive num */ + if (isalpha(*path)&& (*(path+1)==':')) + buf->st_dev = buf->st_rdev = toupper(*path) - 'A'; /* drive num */ else buf->st_dev = buf->st_rdev = _getdrive() - 1; - plen = _tcslen(path); - /* Dir, or regular file? */ - if ((hfi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) || - (path[plen-1] == '\\')) + if (hfi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) mode |= (_S_IFDIR | ALL_S_IEXEC); else { @@ -62,8 +70,8 @@ int CDECL _tstat64(const _TCHAR *path, struct __stat64 *buf) /* executable? */ if (plen > 6 && path[plen-4] == '.') /* shortest exe: "\x.exe" */ { - TCHAR4 ext = _totlower(path[plen-1]) | (_totlower(path[plen-2]) << TCSIZE) | - (_totlower(path[plen-3]) << (2*TCSIZE)); + unsigned int ext = tolower(path[plen-1]) | (tolower(path[plen-2]) << 8) | + (tolower(path[plen-3]) << 16); if (ext == EXE || ext == BAT || ext == CMD || ext == COM) mode |= ALL_S_IEXEC; } @@ -79,9 +87,9 @@ int CDECL _tstat64(const _TCHAR *path, struct __stat64 *buf) buf->st_atime = dw; RtlTimeToSecondsSince1970((LARGE_INTEGER *)&hfi.ftLastWriteTime, &dw); buf->st_mtime = buf->st_ctime = dw; - TRACE("%d %d 0x%08lx%08lx %ld %ld %ld\n", buf->st_mode,buf->st_nlink, - (long)(buf->st_size >> 32),(long)buf->st_size, - (long)buf->st_atime,(long)buf->st_mtime,(long)buf->st_ctime); + TRACE("%d %d 0x%08x%08x %d %d %d\n", buf->st_mode,buf->st_nlink, + (int)(buf->st_size >> 32),(int)buf->st_size, + (int)buf->st_atime,(int)buf->st_mtime,(int)buf->st_ctime); return 0; } diff --git a/lib/sdk/crt/stdlib/errno.c b/lib/sdk/crt/stdlib/errno.c index a56c0dd6d4e..049ad2c1fb8 100644 --- a/lib/sdk/crt/stdlib/errno.c +++ b/lib/sdk/crt/stdlib/errno.c @@ -13,45 +13,24 @@ static _invalid_parameter_handler invalid_parameter_handler = NULL; -/* - * @implemented - */ -unsigned long* CDECL __doserrno(void) -{ - return &(msvcrt_get_thread_data()->thread_doserrno); -} - -/* - * @implemented +/********************************************************************* + * _errno (MSVCRT.@) */ int CDECL *_errno(void) { return &(msvcrt_get_thread_data()->thread_errno); } -/* - * @implemented +/********************************************************************* + * __doserrno (MSVCRT.@) */ -errno_t CDECL _get_doserrno(unsigned long *pValue) +unsigned long* CDECL __doserrno(void) { - if (!pValue) - return EINVAL; - - *pValue = *__doserrno(); - return 0; + return &(msvcrt_get_thread_data()->thread_doserrno); } -/* - * @implemented - */ -errno_t CDECL _set_doserrno(unsigned long error) -{ - *__doserrno() = error; - return 0; -} - -/* - * @implemented +/********************************************************************* + * _get_errno (MSVCRT.@) */ errno_t CDECL _get_errno(int *pValue) { @@ -62,12 +41,33 @@ errno_t CDECL _get_errno(int *pValue) return 0; } -/* - * @implemented +/********************************************************************* + * _get_doserrno (MSVCRT.@) */ -int CDECL _set_errno(int error) +errno_t CDECL _get_doserrno(unsigned long *pValue) { - *_errno() = error; + if (!pValue) + return EINVAL; + + *pValue = *__doserrno(); + return 0; +} + +/********************************************************************* + * _set_errno (MSVCRT.@) + */ +errno_t CDECL _set_errno(int value) +{ + *_errno() = value; + return 0; +} + +/********************************************************************* + * _set_doserrno (MSVCRT.@) + */ +errno_t CDECL _set_doserrno(unsigned long value) +{ + *__doserrno() = value; return 0; } @@ -124,8 +124,8 @@ int CDECL _set_error_mode(int mode) } /****************************************************************************** -* _seterrormode (MSVCRT.@) -*/ + * _seterrormode (MSVCRT.@) + */ void CDECL _seterrormode(int mode) { SetErrorMode( mode ); @@ -134,8 +134,8 @@ void CDECL _seterrormode(int mode) /****************************************************************************** * _invalid_parameter (MSVCRT.@) */ -void CDECL _invalid_parameter(const wchar_t *expr, const wchar_t *func, - const wchar_t *file, unsigned int line, uintptr_t arg) +void __cdecl _invalid_parameter(const wchar_t *expr, const wchar_t *func, + const wchar_t *file, unsigned int line, uintptr_t arg) { if (invalid_parameter_handler) invalid_parameter_handler( expr, func, file, line, arg ); else @@ -163,4 +163,3 @@ _invalid_parameter_handler CDECL _set_invalid_parameter_handler( invalid_parameter_handler = handler; return old; } -/* EOF */ diff --git a/lib/sdk/crt/stdlib/senv.c b/lib/sdk/crt/stdlib/senv.c index a7a45438b2c..ea7cafd309e 100644 --- a/lib/sdk/crt/stdlib/senv.c +++ b/lib/sdk/crt/stdlib/senv.c @@ -109,8 +109,7 @@ int _tsearchenv_s(const _TCHAR* file, const _TCHAR* env, _TCHAR *buf, size_t cou { if (_tcslen(curPath) + 1 > count) { - MSVCRT_INVALID_PMT("buf[count] is too small"); - *_errno() = ERANGE; + MSVCRT_INVALID_PMT("buf[count] is too small", ERANGE); return ERANGE; } _tcscpy(buf, curPath); diff --git a/lib/sdk/crt/string/_tsplitpath_x.h b/lib/sdk/crt/string/_tsplitpath_x.h index 76473c98257..c8c89e4d52c 100644 --- a/lib/sdk/crt/string/_tsplitpath_x.h +++ b/lib/sdk/crt/string/_tsplitpath_x.h @@ -7,6 +7,7 @@ #include #include +#include #if IS_SECAPI #define _FAILURE -1 @@ -99,12 +100,24 @@ _tsplitpath_x( drive[2] = '\0'; } path += 2; - } + } /* Scan the rest of the string */ dir_start = path; while (*path != '\0') { +#if !defined(_UNICODE) && !defined(_LIBCNT_) + /* Check for multibyte lead bytes */ + if (_ismbblead((unsigned char)*path)) + { + /* Check for unexpected end of string */ + if (path[1] == 0) break; + + /* Skip the lead byte and the following byte */ + path += 2; + continue; + } +#endif /* Remember last path separator and last dot */ if ((*path == '\\') || (*path == '/')) file_start = path + 1; if (*path == '.') ext_start = path; @@ -114,14 +127,14 @@ _tsplitpath_x( /* Check if we got a file name / extension */ if (!file_start) file_start = dir_start; - if (!ext_start || ext_start < file_start) + if (!ext_start || (ext_start < file_start)) ext_start = path; if (dir) { src = dir_start; count = dir_size - 1; - while (src < file_start && count--) *dir++ = *src++; + while ((src < file_start) && count--) *dir++ = *src++; *dir = '\0'; } diff --git a/lib/sdk/crt/string/itoa.c b/lib/sdk/crt/string/itoa.c index e2f5918c13d..0d6e0e575c2 100644 --- a/lib/sdk/crt/string/itoa.c +++ b/lib/sdk/crt/string/itoa.c @@ -113,10 +113,7 @@ int CDECL _i64toa_s(__int64 value, char *str, size_t size, int radix) *p++ = *pos--; str[0] = '\0'; - MSVCRT_INVALID_PMT("str[size] is too small"); -#ifndef _LIBCNT_ - *_errno() = ERANGE; -#endif + MSVCRT_INVALID_PMT("str[size] is too small", ERANGE); return ERANGE; } @@ -182,10 +179,7 @@ int CDECL _ui64toa_s(unsigned __int64 value, char *str, }while(value != 0); if((unsigned)(buffer-pos+65) > size) { - MSVCRT_INVALID_PMT("str[size] is too small"); -#ifndef _LIBCNT_ - *_errno() = EINVAL; -#endif + MSVCRT_INVALID_PMT("str[size] is too small", EINVAL); return EINVAL; } @@ -322,10 +316,7 @@ int CDECL _ltoa_s(long value, char *str, size_t size, int radix) *p++ = *pos--; str[0] = '\0'; - MSVCRT_INVALID_PMT("str[size] is too small"); -#ifndef _LIBCNT_ - *_errno() = EINVAL; -#endif + MSVCRT_INVALID_PMT("str[size] is too small", ERANGE); return ERANGE; } diff --git a/lib/sdk/crt/string/itow.c b/lib/sdk/crt/string/itow.c index c18b679665a..204bcf7e3c6 100644 --- a/lib/sdk/crt/string/itow.c +++ b/lib/sdk/crt/string/itow.c @@ -123,11 +123,8 @@ _i64tow_s(__int64 value, wchar_t *str, size_t size, int radix) for (pos = buffer + 63, i = 0; i < size; i++) *p++ = *pos--; - MSVCRT_INVALID_PMT("str[size] is too small"); + MSVCRT_INVALID_PMT("str[size] is too small", ERANGE); str[0] = '\0'; -#ifndef _LIBCNT_ - *_errno() = ERANGE; -#endif return ERANGE; } @@ -195,10 +192,7 @@ _ui64tow_s( unsigned __int64 value, wchar_t *str, } while (value != 0); if((size_t)(buffer-pos+65) > size) { - MSVCRT_INVALID_PMT("str[size] is too small"); -#ifndef _LIBCNT_ - *_errno() = EINVAL; -#endif + MSVCRT_INVALID_PMT("str[size] is too small", EINVAL); return EINVAL; } @@ -338,11 +332,8 @@ _ltow_s(long value, wchar_t *str, size_t size, int radix) for (pos = buffer + 31, i = 0; i < size; i++) *p++ = *pos--; - MSVCRT_INVALID_PMT("str[size] is too small"); + MSVCRT_INVALID_PMT("str[size] is too small", ERANGE); str[0] = '\0'; -#ifndef _LIBCNT_ - *_errno() = ERANGE; -#endif return ERANGE; } diff --git a/lib/sdk/crt/string/strerror.c b/lib/sdk/crt/string/strerror.c index 8d0eced6a8b..a583c22c7bd 100644 --- a/lib/sdk/crt/string/strerror.c +++ b/lib/sdk/crt/string/strerror.c @@ -204,8 +204,7 @@ int CDECL __wcserror_s(wchar_t* buffer, size_t nc, const wchar_t* str) if (str && *str) len += lstrlenW(str) + 2 /* ': ' */; if (len > nc) { - MSVCRT_INVALID_PMT("buffer[nc] is too small"); - _set_errno(ERANGE); + MSVCRT_INVALID_PMT("buffer[nc] is too small", ERANGE); return ERANGE; } if (str && *str) diff --git a/lib/sdk/crt/string/wcs.c b/lib/sdk/crt/string/wcs.c index 846179a0589..81adfdb5e46 100644 --- a/lib/sdk/crt/string/wcs.c +++ b/lib/sdk/crt/string/wcs.c @@ -432,7 +432,7 @@ INT CDECL wcsncat_s(wchar_t *dst, size_t elem, } if (dststart == elem) { - MSVCRT_INVALID_PMT("dst[elem] is not NULL terminated\n"); + MSVCRT_INVALID_PMT("dst[elem] is not NULL terminated\n", EINVAL); return EINVAL; } @@ -453,7 +453,7 @@ INT CDECL wcsncat_s(wchar_t *dst, size_t elem, dst[dststart+srclen] = '\0'; return ret; } - MSVCRT_INVALID_PMT("dst[elem] is too small"); + MSVCRT_INVALID_PMT("dst[elem] is too small", ERANGE); dst[0] = '\0'; return ERANGE; } diff --git a/lib/sdk/crt/time/gmtime.c b/lib/sdk/crt/time/gmtime.c index ad4eafbe46c..314811ac586 100644 --- a/lib/sdk/crt/time/gmtime.c +++ b/lib/sdk/crt/time/gmtime.c @@ -126,15 +126,13 @@ _gmtime64_s( __time64_t time = *ptime; if (!ptm) { - _set_errno(ERROR_BAD_COMMAND); - MSVCRT_INVALID_PMT("ptm == NULL"); + MSVCRT_INVALID_PMT("ptm == NULL", ERROR_BAD_COMMAND); return ERROR_BAD_COMMAND; } if (!ptime) { - _set_errno(ERROR_BAD_COMMAND); - MSVCRT_INVALID_PMT("ptime == NULL"); + MSVCRT_INVALID_PMT("ptime == NULL", ERROR_BAD_COMMAND); return ERROR_BAD_COMMAND; } @@ -167,15 +165,13 @@ _gmtime32_s( __time64_t time = *ptime; if (!ptm) { - _set_errno(ERROR_BAD_COMMAND); - MSVCRT_INVALID_PMT("ptm == NULL"); + MSVCRT_INVALID_PMT("ptm == NULL", ERROR_BAD_COMMAND); return ERROR_BAD_COMMAND; } if (!ptime) { - _set_errno(ERROR_BAD_COMMAND); - MSVCRT_INVALID_PMT("ptime == NULL"); + MSVCRT_INVALID_PMT("ptime == NULL", ERROR_BAD_COMMAND); return ERROR_BAD_COMMAND; } diff --git a/lib/sdk/crt/wine/heap.c b/lib/sdk/crt/wine/heap.c index b72f63fe6cb..8ee2d1b433f 100644 --- a/lib/sdk/crt/wine/heap.c +++ b/lib/sdk/crt/wine/heap.c @@ -603,8 +603,7 @@ int CDECL strncpy_s(char *dest, size_t numberOfElements, return 0; } - MSVCRT_INVALID_PMT("dest[numberOfElements] is too small"); + MSVCRT_INVALID_PMT("dest[numberOfElements] is too small", EINVAL); dest[0] = '\0'; - *_errno() = EINVAL; return EINVAL; } diff --git a/media/inf/audio.inf b/media/inf/audio.inf index 984177104cf..b197c0edb51 100644 Binary files a/media/inf/audio.inf and b/media/inf/audio.inf differ diff --git a/media/inf/battery.inf b/media/inf/battery.inf index cb5ae49eac7..55b259d7ece 100644 Binary files a/media/inf/battery.inf and b/media/inf/battery.inf differ diff --git a/media/inf/bth.inf b/media/inf/bth.inf index 4a61fae886c..bff8acc1da9 100644 Binary files a/media/inf/bth.inf and b/media/inf/bth.inf differ diff --git a/media/inf/cdrom.inf b/media/inf/cdrom.inf index 967b5ff4f45..7e50b19e420 100644 Binary files a/media/inf/cdrom.inf and b/media/inf/cdrom.inf differ diff --git a/media/inf/disk.inf b/media/inf/disk.inf index 7650e5f4809..e580e93dda0 100644 Binary files a/media/inf/disk.inf and b/media/inf/disk.inf differ diff --git a/media/inf/display.inf b/media/inf/display.inf index c9fa74f06de..abff97025b8 100644 Binary files a/media/inf/display.inf and b/media/inf/display.inf differ diff --git a/media/inf/flpydisk.inf b/media/inf/flpydisk.inf index 6a1aeebf05c..a6e0177e440 100644 Binary files a/media/inf/flpydisk.inf and b/media/inf/flpydisk.inf differ diff --git a/media/inf/hal.inf b/media/inf/hal.inf index 25f902d1df8..2686870749f 100644 Binary files a/media/inf/hal.inf and b/media/inf/hal.inf differ diff --git a/media/inf/hdc.inf b/media/inf/hdc.inf index d72b07fa01a..98738ebaff5 100644 Binary files a/media/inf/hdc.inf and b/media/inf/hdc.inf differ diff --git a/media/inf/input.inf b/media/inf/input.inf index f1e79d101fd..789bef3b926 100644 Binary files a/media/inf/input.inf and b/media/inf/input.inf differ diff --git a/media/inf/keyboard.inf b/media/inf/keyboard.inf index 93d08dccba7..8fe2e0b3f89 100644 Binary files a/media/inf/keyboard.inf and b/media/inf/keyboard.inf differ diff --git a/media/inf/legcydrv.inf b/media/inf/legcydrv.inf index f2296d12895..a30b2daa5ed 100644 Binary files a/media/inf/legcydrv.inf and b/media/inf/legcydrv.inf differ diff --git a/media/inf/machine.inf b/media/inf/machine.inf index e64177f9b96..8938bd8dc0f 100644 Binary files a/media/inf/machine.inf and b/media/inf/machine.inf differ diff --git a/media/inf/monitor.inf b/media/inf/monitor.inf index 491693922ec..4415a116376 100644 Binary files a/media/inf/monitor.inf and b/media/inf/monitor.inf differ diff --git a/media/inf/shortcuts.inf b/media/inf/shortcuts.inf index 013a54e5672..8d7ff549a89 100644 Binary files a/media/inf/shortcuts.inf and b/media/inf/shortcuts.inf differ diff --git a/media/inf/unknown.inf b/media/inf/unknown.inf index 6a32d97aa43..9bc33cedfe5 100644 Binary files a/media/inf/unknown.inf and b/media/inf/unknown.inf differ diff --git a/media/inf/usb.inf b/media/inf/usb.inf index 75b348c6736..e7e701f5e78 100644 Binary files a/media/inf/usb.inf and b/media/inf/usb.inf differ diff --git a/ntoskrnl/ex/event.c b/ntoskrnl/ex/event.c index 4238a82115f..26cbda90f34 100644 --- a/ntoskrnl/ex/event.c +++ b/ntoskrnl/ex/event.c @@ -19,7 +19,7 @@ /* GLOBALS *******************************************************************/ -POBJECT_TYPE _ExEventObjectType = NULL; +POBJECT_TYPE ExEventObjectType = NULL; GENERIC_MAPPING ExpEventMapping = { diff --git a/ntoskrnl/ex/sem.c b/ntoskrnl/ex/sem.c index 7b07b906a0d..98464685589 100644 --- a/ntoskrnl/ex/sem.c +++ b/ntoskrnl/ex/sem.c @@ -19,7 +19,7 @@ /* GLOBALS ******************************************************************/ -POBJECT_TYPE _ExSemaphoreObjectType; +POBJECT_TYPE ExSemaphoreObjectType; GENERIC_MAPPING ExSemaphoreMapping = { diff --git a/ntoskrnl/ex/sysinfo.c b/ntoskrnl/ex/sysinfo.c index 0fa37b675ea..88178addb5d 100644 --- a/ntoskrnl/ex/sysinfo.c +++ b/ntoskrnl/ex/sysinfo.c @@ -1964,7 +1964,7 @@ QSI_DEF(SystemLookasideInformation) } /* Acquire spinlock for ExpNonPagedLookasideListHead */ - OldIrql = KfAcquireSpinLock(&ExpNonPagedLookasideListLock); + KeAcquireSpinLock(&ExpNonPagedLookasideListLock, &OldIrql); /* Copy info from non-paged lookaside lists */ ExpCopyLookasideInformation(&Info, @@ -1973,7 +1973,7 @@ QSI_DEF(SystemLookasideInformation) TRUE); /* Release spinlock for ExpNonPagedLookasideListHead */ - KfReleaseSpinLock(&ExpNonPagedLookasideListLock, OldIrql); + KeReleaseSpinLock(&ExpNonPagedLookasideListLock, OldIrql); if (Remaining == 0) { @@ -1981,7 +1981,7 @@ QSI_DEF(SystemLookasideInformation) } /* Acquire spinlock for ExpPagedLookasideListHead */ - OldIrql = KfAcquireSpinLock(&ExpPagedLookasideListLock); + KeAcquireSpinLock(&ExpPagedLookasideListLock, &OldIrql); /* Copy info from paged lookaside lists */ ExpCopyLookasideInformation(&Info, @@ -1990,7 +1990,7 @@ QSI_DEF(SystemLookasideInformation) TRUE); /* Release spinlock for ExpPagedLookasideListHead */ - KfReleaseSpinLock(&ExpPagedLookasideListLock, OldIrql); + KeReleaseSpinLock(&ExpPagedLookasideListLock, OldIrql); Leave: diff --git a/ntoskrnl/fsrtl/fsrtlpc.c b/ntoskrnl/fsrtl/fsrtlpc.c index b5a68a4075e..0150a5582ee 100644 --- a/ntoskrnl/fsrtl/fsrtlpc.c +++ b/ntoskrnl/fsrtl/fsrtlpc.c @@ -18,7 +18,7 @@ PERESOURCE FsRtlPagingIoResources; ULONG FsRtlPagingIoResourceSelector; NTSTATUS NTAPI INIT_FUNCTION FsRtlInitializeWorkerThread(VOID); -static UCHAR LegalAnsiCharacterArray[] = +static const UCHAR LegalAnsiCharacterArray[] = { 0, /* CTRL+@, 0x00 */ 0, /* CTRL+A, 0x01 */ @@ -150,7 +150,7 @@ static UCHAR LegalAnsiCharacterArray[] = FSRTL_FAT_LEGAL | FSRTL_HPFS_LEGAL | FSRTL_NTFS_LEGAL /* 0x7f */ }; -PUCHAR FsRtlLegalAnsiCharacterArray = LegalAnsiCharacterArray; +const UCHAR * const FsRtlLegalAnsiCharacterArray = LegalAnsiCharacterArray; /* PRIVATE FUNCTIONS *********************************************************/ diff --git a/ntoskrnl/include/internal/amd64/mm.h b/ntoskrnl/include/internal/amd64/mm.h index 0021a0569a2..09049141e51 100644 --- a/ntoskrnl/include/internal/amd64/mm.h +++ b/ntoskrnl/include/internal/amd64/mm.h @@ -296,7 +296,7 @@ MI_IS_MAPPED_PTE(PMMPTE PointerPte) { /// FIXME __debugbreak(); - return (PointerPte->u.Long & 0xFFFFFC01 != 0); + return ((PointerPte->u.Long & 0xFFFFFC01) != 0); } VOID diff --git a/ntoskrnl/include/internal/fsrtl.h b/ntoskrnl/include/internal/fsrtl.h index cca4e8faeb1..86ce04e840a 100644 --- a/ntoskrnl/include/internal/fsrtl.h +++ b/ntoskrnl/include/internal/fsrtl.h @@ -133,5 +133,4 @@ FsRtlInitSystem( // Global data inside the File System Runtime Library // extern PERESOURCE FsRtlPagingIoResources; -extern PUCHAR _FsRtlLegalAnsiCharacterArray; extern PAGED_LOOKASIDE_LIST FsRtlFileLockLookasideList; diff --git a/ntoskrnl/include/internal/kd.h b/ntoskrnl/include/internal/kd.h index 0943e546962..3bb0dc3e59c 100644 --- a/ntoskrnl/include/internal/kd.h +++ b/ntoskrnl/include/internal/kd.h @@ -2,18 +2,11 @@ #include -#ifdef _M_PPC -#define KdDebuggerEnabled _KdDebuggerEnabled -#define KdDebuggerNotPresent _KdDebuggerNotPresent -#endif - // // Kernel Debugger Port Definition // struct _KD_DISPATCH_TABLE; extern CPPORT GdbPortInfo; -extern BOOLEAN _KdDebuggerEnabled; -extern BOOLEAN _KdDebuggerNotPresent; extern BOOLEAN KdBreakAfterSymbolLoad; extern BOOLEAN KdPitchDebugger; extern BOOLEAN KdIgnoreUmExceptions; diff --git a/ntoskrnl/include/internal/kd64.h b/ntoskrnl/include/internal/kd64.h index 444afbb51df..9cae4fa60c4 100644 --- a/ntoskrnl/include/internal/kd64.h +++ b/ntoskrnl/include/internal/kd64.h @@ -494,8 +494,6 @@ extern PKDEBUG_ROUTINE KiDebugRoutine; extern PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine; extern BOOLEAN KdBreakAfterSymbolLoad; extern BOOLEAN KdPitchDebugger; -extern BOOLEAN _KdDebuggerNotPresent; -extern BOOLEAN _KdDebuggerEnabled; extern BOOLEAN KdAutoEnableOnEvent; extern BOOLEAN KdBlockEnable; extern BOOLEAN KdIgnoreUmExceptions; diff --git a/ntoskrnl/include/ntoskrnl.h b/ntoskrnl/include/ntoskrnl.h index 9e7f37dd596..dc5772c66a8 100644 --- a/ntoskrnl/include/ntoskrnl.h +++ b/ntoskrnl/include/ntoskrnl.h @@ -90,31 +90,8 @@ // // Define the internal versions of external and public global data // -#define IoFileObjectType _IoFileObjectType -#define PsThreadType _PsThreadType -#define PsProcessType _PsProcessType -#define ExEventObjectType _ExEventObjectType -#define ExSemaphoreObjectType _ExSemaphoreObjectType -#define KdDebuggerEnabled _KdDebuggerEnabled -#define KdDebuggerNotPresent _KdDebuggerNotPresent -#define NlsOemLeadByteInfo _NlsOemLeadByteInfo -extern PUSHORT _NlsOemLeadByteInfo; #define KeNumberProcessors _KeNumberProcessors extern UCHAR _KeNumberProcessors; -#define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray -#undef LEGAL_ANSI_CHARACTER_ARRAY -#undef NLS_MB_CODE_PAGE_TAG -#undef NLS_OEM_LEAD_BYTE_INFO -#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray -#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag -#define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo -#undef KD_DEBUGGER_ENABLED -#undef KD_DEBUGGER_NOT_PRESENT -#define KD_DEBUGGER_ENABLED KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent -#define HalDispatchTable _HalDispatchTable -#undef HALDISPATCH -#define HALDISPATCH (&HalDispatchTable) #define ExRaiseStatus RtlRaiseStatus /* Internal Headers */ diff --git a/ntoskrnl/kd64/kdapi.c b/ntoskrnl/kd64/kdapi.c index c0a1650faa4..5ea86413fd8 100644 --- a/ntoskrnl/kd64/kdapi.c +++ b/ntoskrnl/kd64/kdapi.c @@ -1903,9 +1903,7 @@ KdDisableDebuggerWithLock(IN BOOLEAN NeedLock) /* We are disabled now */ KdDebuggerEnabled = FALSE; -#undef KdDebuggerEnabled SharedUserData->KdDebuggerEnabled = FALSE; -#define KdDebuggerEnabled _KdDebuggerEnabled } } diff --git a/ntoskrnl/kd64/kddata.c b/ntoskrnl/kd64/kddata.c index d6b0107fcb9..5a1e10ea065 100644 --- a/ntoskrnl/kd64/kddata.c +++ b/ntoskrnl/kd64/kddata.c @@ -79,8 +79,8 @@ PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine; // BOOLEAN KdBreakAfterSymbolLoad; BOOLEAN KdPitchDebugger; -BOOLEAN _KdDebuggerNotPresent; -BOOLEAN _KdDebuggerEnabled; +BOOLEAN KdDebuggerNotPresent; +BOOLEAN KdDebuggerEnabled; BOOLEAN KdAutoEnableOnEvent; BOOLEAN KdBlockEnable; BOOLEAN KdIgnoreUmExceptions; diff --git a/ntoskrnl/kd64/kdinit.c b/ntoskrnl/kd64/kdinit.c index 89d57fb089b..723a18ca323 100644 --- a/ntoskrnl/kd64/kdinit.c +++ b/ntoskrnl/kd64/kdinit.c @@ -310,9 +310,7 @@ KdInitSystem(IN ULONG BootPhase, KdDebuggerEnabled = TRUE; /* Let user-mode know that it's enabled as well */ -#undef KdDebuggerEnabled SharedUserData->KdDebuggerEnabled = TRUE; -#define KdDebuggerEnabled _KdDebuggerEnabled /* Check if the debugger should be disabled initially */ if (DisableKdAfterInit) diff --git a/ntoskrnl/ke/time.c b/ntoskrnl/ke/time.c index 76b125321fc..f54b9258a46 100644 --- a/ntoskrnl/ke/time.c +++ b/ntoskrnl/ke/time.c @@ -78,6 +78,9 @@ KeUpdateSystemTime(IN PKTRAP_FRAME TrapFrame, /* Increase interrupt count and end the interrupt */ Prcb->InterruptCount++; KiEndInterrupt(Irql, TrapFrame); + + /* Note: non-x86 return back to the caller! */ + return; } /* Add the increment time to the shared data */ diff --git a/ntoskrnl/ntoskrnl.spec b/ntoskrnl/ntoskrnl.spec index e5d8eeebdf7..5f7a0725804 100644 --- a/ntoskrnl/ntoskrnl.spec +++ b/ntoskrnl/ntoskrnl.spec @@ -82,7 +82,7 @@ @ stdcall ExEnterCriticalRegionAndAcquireResourceShared(ptr) @ stdcall ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(ptr) @ stdcall ExEnumHandleTable(ptr ptr ptr ptr) -@ extern ExEventObjectType _ExEventObjectType +@ extern ExEventObjectType @ stdcall ExExtendZone(ptr ptr long) @ stdcall ExFreeCacheAwareRundownProtection(ptr) @ stdcall ExFreePool(ptr) @@ -144,7 +144,7 @@ @ fastcall ExReleaseRundownProtectionEx(ptr long) ExfReleaseRundownProtectionEx @ fastcall ExRundownCompleted(ptr) ExfRundownCompleted @ fastcall ExRundownCompletedCacheAware(ptr) ExfRundownCompletedCacheAware -@ extern ExSemaphoreObjectType _ExSemaphoreObjectType +@ extern ExSemaphoreObjectType @ stdcall ExSetResourceOwnerPointer(ptr ptr) @ stdcall ExSetTimerResolution(long long) @ stdcall ExSizeOfRundownProtectionCacheAware() @@ -241,7 +241,7 @@ @ stdcall FsRtlIsNtstatusExpected(long) @ stdcall FsRtlIsPagingFile(ptr) @ stdcall FsRtlIsTotalDeviceFailure(ptr) -@ extern FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray +@ extern FsRtlLegalAnsiCharacterArray @ stdcall FsRtlLookupBaseMcbEntry(ptr long long ptr ptr ptr ptr ptr) @ stdcall FsRtlLookupLargeMcbEntry(ptr long long ptr ptr ptr ptr ptr) @ stdcall FsRtlLookupLastBaseMcbEntry(ptr ptr ptr) @@ -302,7 +302,7 @@ @ stdcall FsRtlUninitializeLargeMcb(ptr) @ stdcall FsRtlUninitializeMcb(ptr) @ stdcall FsRtlUninitializeOplock(ptr) -@ extern HalDispatchTable _HalDispatchTable +@ extern HalDispatchTable @ fastcall HalExamineMBR(ptr long long ptr) @ extern HalPrivateDispatchTable @ stdcall HeadlessDispatch(long ptr long ptr ptr) @@ -393,7 +393,7 @@ @ stdcall IoEnumerateDeviceObjectList(ptr ptr long ptr) @ stdcall IoEnumerateRegisteredFiltersList(ptr long ptr) @ stdcall IoFastQueryNetworkAttributes(ptr long long ptr ptr) -@ extern IoFileObjectType _IoFileObjectType +@ extern IoFileObjectType @ stdcall IoForwardAndCatchIrp(ptr ptr) IoForwardIrpSynchronously @ stdcall IoForwardIrpSynchronously(ptr ptr) @ stdcall IoFreeController(ptr) @@ -533,8 +533,8 @@ @ fastcall IofCallDriver(ptr ptr) @ fastcall IofCompleteRequest(ptr long) @ stdcall KdChangeOption(long long ptr long ptr ptr) -@ extern KdDebuggerEnabled _KdDebuggerEnabled -@ extern KdDebuggerNotPresent _KdDebuggerNotPresent +@ extern KdDebuggerEnabled +@ extern KdDebuggerNotPresent @ stdcall KdDisableDebugger() @ stdcall KdEnableDebugger() @ extern KdEnteredDebugger @@ -830,7 +830,7 @@ @ extern NlsMbCodePageTag @ extern NlsMbOemCodePageTag @ extern NlsOemCodePage -@ extern NlsOemLeadByteInfo _NlsOemLeadByteInfo +@ extern NlsOemLeadByteInfo @ stdcall NtAddAtom(wstr long ptr) @ stdcall NtAdjustPrivilegesToken(ptr long ptr long ptr ptr) @ stdcall -arch=i386,arm NtAlertThread(ptr) @@ -1011,7 +1011,7 @@ @ stdcall PsLookupProcessByProcessId(ptr ptr) @ stdcall PsLookupProcessThreadByCid(ptr ptr ptr) @ stdcall PsLookupThreadByThreadId(ptr ptr) -@ extern PsProcessType _PsProcessType +@ extern PsProcessType @ stdcall PsReferenceImpersonationToken(ptr ptr ptr ptr) @ stdcall PsReferencePrimaryToken(ptr) @ stdcall PsRemoveCreateThreadNotifyRoutine(ptr) @@ -1036,7 +1036,7 @@ @ stdcall PsSetThreadHardErrorsAreDisabled(ptr long) @ stdcall PsSetThreadWin32Thread(ptr ptr ptr) @ stdcall PsTerminateSystemThread(long) -@ extern PsThreadType _PsThreadType +@ extern PsThreadType ;PsWrapApcWow64Thread @ stdcall -arch=i386,arm READ_REGISTER_BUFFER_UCHAR(ptr ptr long) @ stdcall -arch=i386,arm READ_REGISTER_BUFFER_ULONG(ptr ptr long) diff --git a/ntoskrnl/ps/quota.c b/ntoskrnl/ps/quota.c index 42899ddb3db..beba4d0b368 100644 --- a/ntoskrnl/ps/quota.c +++ b/ntoskrnl/ps/quota.c @@ -132,9 +132,9 @@ PspInsertQuotaBlock( { KIRQL OldIrql; - OldIrql = KfAcquireSpinLock(&PspQuotaLock); + KeAcquireSpinLock(&PspQuotaLock, &OldIrql); InsertTailList(&PspQuotaBlockList, &QuotaBlock->QuotaList); - KfReleaseSpinLock(&PspQuotaLock, OldIrql); + KeReleaseSpinLock(&PspQuotaLock, OldIrql); } VOID @@ -147,9 +147,9 @@ PspDestroyQuotaBlock(PEPROCESS Process) if (QuotaBlock != &PspDefaultQuotaBlock && InterlockedDecrementUL(&QuotaBlock->ReferenceCount) == 0) { - OldIrql = KfAcquireSpinLock(&PspQuotaLock); + KeAcquireSpinLock(&PspQuotaLock, &OldIrql); RemoveEntryList(&QuotaBlock->QuotaList); - KfReleaseSpinLock(&PspQuotaLock, OldIrql); + KeReleaseSpinLock(&PspQuotaLock, OldIrql); ExFreePool(QuotaBlock); } } diff --git a/subsystems/ntvdm/CMakeLists.txt b/subsystems/ntvdm/CMakeLists.txt index 80ab3e92e41..2ee9f55eaad 100644 --- a/subsystems/ntvdm/CMakeLists.txt +++ b/subsystems/ntvdm/CMakeLists.txt @@ -21,6 +21,7 @@ list(APPEND SOURCE hardware/vga.c dos/dos32krnl/bios.c dos/dos32krnl/dos.c + dos/dos32krnl/dosfiles.c dos/dem.c bop.c callback.c diff --git a/subsystems/ntvdm/bios/bios32/kbdbios32.c b/subsystems/ntvdm/bios/bios32/kbdbios32.c index 9d95ccd368b..716af1f50d7 100644 --- a/subsystems/ntvdm/bios/bios32/kbdbios32.c +++ b/subsystems/ntvdm/bios/bios32/kbdbios32.c @@ -91,22 +91,13 @@ static WORD BiosPeekCharacter(VOID) else return 0xFFFF; } -WORD BiosGetCharacter(VOID) +static WORD BiosGetCharacter(VOID) { WORD CharacterData = 0; - /* Check if there is a key available */ - if (BiosKbdBufferTop(&CharacterData)) - { - /* A key was available, remove it from the queue */ - BiosKbdBufferPop(); - } - else - { - /* No key available. Set the handler CF to repeat the BOP */ - setCF(1); - // CharacterData = 0xFFFF; - } + /* Check if there is a key available, and if so, remove it from the queue */ + if (BiosKbdBufferTop(&CharacterData)) BiosKbdBufferPop(); + else CharacterData = 0xFFFF; return CharacterData; } @@ -121,7 +112,17 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) case 0x10: // FIXME: Temporarily do the same as INT 16h, 00h { /* Read the character (and wait if necessary) */ - setAX(BiosGetCharacter()); + WORD Character = BiosGetCharacter(); + + if (Character == 0xFFFF) + { + /* No key available. Set the handler CF to repeat the BOP */ + setCF(1); + break; + } + + setAX(Character); + break; } @@ -130,13 +131,13 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) /* Get extended keystroke status */ case 0x11: // FIXME: Temporarily do the same as INT 16h, 01h { - WORD Data = BiosPeekCharacter(); + WORD Character = BiosPeekCharacter(); - if (Data != 0xFFFF) + if (Character != 0xFFFF) { /* There is a character, clear ZF and return it */ Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF; - setAX(Data); + setAX(Character); } else { diff --git a/subsystems/ntvdm/bios/kbdbios.h b/subsystems/ntvdm/bios/kbdbios.h index 46486785b2b..1d8798ac763 100644 --- a/subsystems/ntvdm/bios/kbdbios.h +++ b/subsystems/ntvdm/bios/kbdbios.h @@ -21,8 +21,6 @@ /* FUNCTIONS ******************************************************************/ -WORD BiosGetCharacter(VOID); - BOOLEAN KbdBiosInitialize(VOID); VOID KbdBiosCleanup(VOID); diff --git a/subsystems/ntvdm/bios/vidbios.c b/subsystems/ntvdm/bios/vidbios.c index cec5a7060e2..41d22d3b1a6 100644 --- a/subsystems/ntvdm/bios/vidbios.c +++ b/subsystems/ntvdm/bios/vidbios.c @@ -1532,6 +1532,37 @@ VOID WINAPI VidBiosVideoService(LPWORD Stack) } } + +/* + * Those attach / detach functions are work-in-progress + */ + +static BOOL Attached = TRUE; + +VOID VidBiosAttachToConsole(VOID) +{ + // VgaRefreshDisplay(); + if (!Attached) + { + VgaAttachToConsole(); + Attached = TRUE; + } + + VgaRefreshDisplay(); + VidBiosSyncCursorPosition(); +} + +VOID VidBiosDetachFromConsole(VOID) +{ + /* Perform another screen refresh */ + VgaRefreshDisplay(); + + /* Detach from the console */ + VgaDetachFromConsole(FALSE); + Attached = FALSE; +} + + BOOLEAN VidBiosInitialize(VOID) { /* Some interrupts are in fact addresses to tables */ @@ -1541,6 +1572,15 @@ BOOLEAN VidBiosInitialize(VOID) ((PULONG)BaseAddress)[0x43] = (ULONG)NULL; ((PULONG)BaseAddress)[0x44] = (ULONG)NULL; + // + // FIXME: At the moment we always set a VGA mode. In the future, + // we should set this mode **only** when: + // - an app starts to use directly the video memory + // (that should be done in emulator.c) + // - or starts to use non-stream I/O interrupts + // (that should be done here, or maybe in VGA ??) + // + /* Set the default video mode */ VidBiosSetVideoMode(BIOS_DEFAULT_VIDEO_MODE); diff --git a/subsystems/ntvdm/bios/vidbios.h b/subsystems/ntvdm/bios/vidbios.h index 70b3e54606e..5e291471115 100644 --- a/subsystems/ntvdm/bios/vidbios.h +++ b/subsystems/ntvdm/bios/vidbios.h @@ -37,9 +37,12 @@ enum /* FUNCTIONS ******************************************************************/ +VOID VidBiosSyncCursorPosition(VOID); + VOID WINAPI VidBiosVideoService(LPWORD Stack); -VOID VidBiosSyncCursorPosition(VOID); +VOID VidBiosDetachFromConsole(VOID); +VOID VidBiosAttachToConsole(VOID); BOOLEAN VidBiosInitialize(VOID); VOID VidBiosCleanup(VOID); diff --git a/subsystems/ntvdm/callback.c b/subsystems/ntvdm/callback.c index 34c0bcc7824..0cffdfd105a 100644 --- a/subsystems/ntvdm/callback.c +++ b/subsystems/ntvdm/callback.c @@ -44,6 +44,13 @@ do { \ #define CALL16_TRAMPOLINE_SIZE (1 * sizeof(ULONGLONG)) #define INT16_TRAMPOLINE_SIZE (1 * sizeof(ULONGLONG)) +// +// WARNING WARNING!! +// +// If you modify the code stubs here, think also +// about updating them in int32.c too!! +// + /* 16-bit generic interrupt code for calling a 32-bit interrupt handler */ BYTE Int16To32[] = { @@ -52,12 +59,6 @@ BYTE Int16To32[] = /* Push the value of the interrupt to be called */ 0x6A, 0xFF, // push i (patchable to 0x6A, 0xIntNum) - /* The counter variable (initialized to 0) */ - 0x6A, 0x00, // push 0 - - /* Stack variables */ - 0x83, 0xEC, 0x04, // sub sp, 4 - /* The BOP Sequence */ // BOP_SEQ: 0xF8, // clc @@ -74,7 +75,7 @@ BYTE Int16To32[] = 0xEB, 0xF5, // jmp BOP_SEQ (offset -11) // EXIT: - 0x83, 0xC4, 0x08, // add sp, 8 + 0x44, 0x44, // inc sp, inc sp 0xCF, // iret }; @@ -200,11 +201,13 @@ RegisterInt32(IN ULONG FarPtr, BYTE IntCallback[sizeof(Int16To32)/sizeof(BYTE)]; /* Check whether the 32-bit interrupt was already registered */ - // if (Int32Proc[IntNumber] != NULL) - // { - // DPRINT1("RegisterInt32: Interrupt 0x%X already registered!\n", IntNumber); - // return 0; - // } +#if 0 + if (Int32Proc[IntNumber] != NULL) + { + DPRINT1("RegisterInt32: Interrupt 0x%X already registered!\n", IntNumber); + return 0; + } +#endif /* Register the 32-bit interrupt handler */ Int32Proc[IntNumber] = IntHandler; diff --git a/subsystems/ntvdm/dos/dem.c b/subsystems/ntvdm/dos/dem.c index f78dab86a3a..f0b251d2e03 100644 --- a/subsystems/ntvdm/dos/dem.c +++ b/subsystems/ntvdm/dos/dem.c @@ -21,7 +21,6 @@ #include "bop.h" #include "bios/bios.h" -#include "hardware/vga.h" /* Extra PSDK/NDK Headers */ #include @@ -138,8 +137,7 @@ static VOID WINAPI DosCmdInterpreterBop(LPWORD Stack) StartupInfo.cb = sizeof(StartupInfo); - VgaRefreshDisplay(); - VgaDetachFromConsole(FALSE); + VidBiosDetachFromConsole(); Result = CreateProcessA(NULL, CommandLine, @@ -171,9 +169,7 @@ static VOID WINAPI DosCmdInterpreterBop(LPWORD Stack) dwExitCode = GetLastError(); } - VgaAttachToConsole(); - VgaRefreshDisplay(); - VidBiosSyncCursorPosition(); + VidBiosAttachToConsole(); setAL((UCHAR)dwExitCode); diff --git a/subsystems/ntvdm/dos/dos32krnl/bios.c b/subsystems/ntvdm/dos/dos32krnl/bios.c index b7ce9d313e5..32057e51f4b 100644 --- a/subsystems/ntvdm/dos/dos32krnl/bios.c +++ b/subsystems/ntvdm/dos/dos32krnl/bios.c @@ -24,65 +24,15 @@ /* PRIVATE FUNCTIONS **********************************************************/ -#if 0 -static WORD DosWriteFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesWritten) -{ - WORD Result = ERROR_SUCCESS; - DWORD BytesWritten32 = 0; - HANDLE Handle = DosGetRealHandle(FileHandle); - WORD i; - - DPRINT("DosWriteFile: FileHandle 0x%04X, Count 0x%04X\n", - FileHandle, - Count); - - /* Make sure the handle is valid */ - if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; - - if (IsConsoleHandle(Handle)) - { - for (i = 0; i < Count; i++) - { - /* Call the BIOS to print the character */ - VidBiosPrintCharacter(((LPBYTE)Buffer)[i], DOS_CHAR_ATTRIBUTE, Bda->VideoPage); - BytesWritten32++; - } - } - else - { - /* Write the file */ - if (!WriteFile(Handle, Buffer, Count, &BytesWritten32, NULL)) - { - /* Store the error code */ - Result = (WORD)GetLastError(); - } - } - - /* The number of bytes written is always 16-bit */ - *BytesWritten = LOWORD(BytesWritten32); - - /* Return the error code */ - return Result; -} -#endif - /* PUBLIC FUNCTIONS ***********************************************************/ -CHAR DosReadCharacter(VOID) +CHAR DosReadCharacter(WORD FileHandle) { CHAR Character = '\0'; WORD BytesRead; - if (IsConsoleHandle(DosGetRealHandle(DOS_INPUT_HANDLE))) - { - /* Call the BIOS */ - Character = LOBYTE(BiosGetCharacter()); - } - else - { - /* Use the file reading function */ - DosReadFile(DOS_INPUT_HANDLE, &Character, sizeof(CHAR), &BytesRead); - } + /* Use the file reading function */ + DosReadFile(FileHandle, &Character, 1, &BytesRead); return Character; } @@ -117,12 +67,12 @@ BOOLEAN DosCheckInput(VOID) } } -VOID DosPrintCharacter(CHAR Character) +VOID DosPrintCharacter(WORD FileHandle, CHAR Character) { WORD BytesWritten; /* Use the file writing function */ - DosWriteFile(DOS_OUTPUT_HANDLE, &Character, sizeof(CHAR), &BytesWritten); + DosWriteFile(FileHandle, &Character, 1, &BytesWritten); } BOOLEAN DosBIOSInitialize(VOID) diff --git a/subsystems/ntvdm/dos/dos32krnl/dos.c b/subsystems/ntvdm/dos/dos32krnl/dos.c index f1f9fffd70b..6ce7e3faf76 100644 --- a/subsystems/ntvdm/dos/dos32krnl/dos.c +++ b/subsystems/ntvdm/dos/dos32krnl/dos.c @@ -1,7 +1,7 @@ /* * COPYRIGHT: GPL - See COPYING in the top level directory * PROJECT: ReactOS Virtual DOS Machine - * FILE: dos.c + * FILE: dos/dos32krnl/dos.c * PURPOSE: VDM DOS Kernel * PROGRAMMERS: Aleksandar Andrejevic */ @@ -29,8 +29,13 @@ static DWORD DiskTransferArea; /*static*/ BYTE CurrentDrive; static CHAR LastDrive = 'E'; static CHAR CurrentDirectories[NUM_DRIVES][DOS_DIR_LENGTH]; -static HANDLE DosSystemFileTable[DOS_SFT_SIZE]; -static WORD DosSftRefCount[DOS_SFT_SIZE]; + +static struct +{ + HANDLE Handle; + WORD RefCount; +} DosSystemFileTable[DOS_SFT_SIZE]; + static BYTE DosAllocStrategy = DOS_ALLOC_BEST_FIT; static BOOLEAN DosUmbLinked = FALSE; static WORD DosErrorLevel = 0x0000; @@ -431,6 +436,11 @@ static WORD DosCopyEnvironmentBlock(LPCVOID Environment, LPCSTR ProgramName) return DestSegment; } + + + + + /* Taken from base/shell/cmd/console.c */ BOOL IsConsoleHandle(HANDLE hHandle) { @@ -455,7 +465,7 @@ BOOL IsConsoleHandle(HANDLE hHandle) return GetConsoleMode(hHandle, &dwMode); } -static WORD DosOpenHandle(HANDLE Handle) +WORD DosOpenHandle(HANDLE Handle) { BYTE i; WORD DosHandle; @@ -482,10 +492,10 @@ static WORD DosOpenHandle(HANDLE Handle) for (i = 0; i < DOS_SFT_SIZE; i++) { /* Check if this is the same handle */ - if (DosSystemFileTable[i] != Handle) continue; + if (DosSystemFileTable[i].Handle != Handle) continue; /* Already in the table, reference it */ - DosSftRefCount[i]++; + DosSystemFileTable[i].RefCount++; /* Set the JFT entry to that SFT index */ HandleTable[DosHandle] = i; @@ -498,11 +508,11 @@ static WORD DosOpenHandle(HANDLE Handle) for (i = 0; i < DOS_SFT_SIZE; i++) { /* Make sure this is an empty table entry */ - if (DosSystemFileTable[i] != INVALID_HANDLE_VALUE) continue; + if (DosSystemFileTable[i].Handle != INVALID_HANDLE_VALUE) continue; /* Initialize the empty table entry */ - DosSystemFileTable[i] = Handle; - DosSftRefCount[i] = 1; + DosSystemFileTable[i].Handle = Handle; + DosSystemFileTable[i].RefCount = 1; /* Set the JFT entry to that SFT index */ HandleTable[DosHandle] = i; @@ -531,7 +541,7 @@ HANDLE DosGetRealHandle(WORD DosHandle) if (HandleTable[DosHandle] == 0xFF) return INVALID_HANDLE_VALUE; /* Return the Win32 handle */ - return DosSystemFileTable[HandleTable[DosHandle]]; + return DosSystemFileTable[HandleTable[DosHandle]].Handle; } static VOID DosCopyHandleTable(LPBYTE DestinationTable) @@ -553,7 +563,7 @@ static VOID DosCopyHandleTable(LPBYTE DestinationTable) DestinationTable[i] = (BYTE)i; /* Increase the reference count */ - DosSftRefCount[i]++; + DosSystemFileTable[i].RefCount++; } /* Done */ @@ -570,7 +580,7 @@ static VOID DosCopyHandleTable(LPBYTE DestinationTable) DestinationTable[i] = SourceTable[i]; /* Increase the reference count */ - DosSftRefCount[SourceTable[i]]++; + DosSystemFileTable[SourceTable[i]].RefCount++; } } @@ -594,16 +604,16 @@ static BOOLEAN DosCloseHandle(WORD DosHandle) /* Decrement the reference count of the SFT entry */ SftIndex = HandleTable[DosHandle]; - DosSftRefCount[SftIndex]--; + DosSystemFileTable[SftIndex].RefCount--; /* Check if the reference count fell to zero */ - if (!DosSftRefCount[SftIndex]) + if (!DosSystemFileTable[SftIndex].RefCount) { /* Close the file, it's no longer needed */ - CloseHandle(DosSystemFileTable[SftIndex]); + CloseHandle(DosSystemFileTable[SftIndex].Handle); /* Clear the handle */ - DosSystemFileTable[SftIndex] = INVALID_HANDLE_VALUE; + DosSystemFileTable[SftIndex].Handle = INVALID_HANDLE_VALUE; } /* Clear the entry in the JFT */ @@ -641,7 +651,7 @@ static BOOLEAN DosDuplicateHandle(WORD OldHandle, WORD NewHandle) /* Increment the reference count of the SFT entry */ SftIndex = HandleTable[OldHandle]; - DosSftRefCount[SftIndex]++; + DosSystemFileTable[SftIndex].RefCount++; /* Make the new handle point to that SFT entry */ HandleTable[NewHandle] = SftIndex; @@ -650,260 +660,11 @@ static BOOLEAN DosDuplicateHandle(WORD OldHandle, WORD NewHandle) return TRUE; } -static WORD DosCreateFile(LPWORD Handle, LPCSTR FilePath, WORD Attributes) -{ - HANDLE FileHandle; - WORD DosHandle; - DPRINT("DosCreateFile: FilePath \"%s\", Attributes 0x%04X\n", - FilePath, - Attributes); - /* Create the file */ - FileHandle = CreateFileA(FilePath, - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - NULL, - CREATE_ALWAYS, - Attributes, - NULL); - if (FileHandle == INVALID_HANDLE_VALUE) - { - /* Return the error code */ - return (WORD)GetLastError(); - } - /* Open the DOS handle */ - DosHandle = DosOpenHandle(FileHandle); - if (DosHandle == INVALID_DOS_HANDLE) - { - /* Close the handle */ - CloseHandle(FileHandle); - - /* Return the error code */ - return ERROR_TOO_MANY_OPEN_FILES; - } - - /* It was successful */ - *Handle = DosHandle; - return ERROR_SUCCESS; -} - -static WORD DosOpenFile(LPWORD Handle, LPCSTR FilePath, BYTE AccessMode) -{ - HANDLE FileHandle; - ACCESS_MASK Access = 0; - WORD DosHandle; - - DPRINT("DosOpenFile: FilePath \"%s\", AccessMode 0x%04X\n", - FilePath, - AccessMode); - - /* Parse the access mode */ - switch (AccessMode & 3) - { - case 0: - { - /* Read-only */ - Access = GENERIC_READ; - break; - } - - case 1: - { - /* Write only */ - Access = GENERIC_WRITE; - break; - } - - case 2: - { - /* Read and write */ - Access = GENERIC_READ | GENERIC_WRITE; - break; - } - - default: - { - /* Invalid */ - return ERROR_INVALID_PARAMETER; - } - } - - /* Open the file */ - FileHandle = CreateFileA(FilePath, - Access, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL); - - if (FileHandle == INVALID_HANDLE_VALUE) - { - /* Return the error code */ - return (WORD)GetLastError(); - } - - /* Open the DOS handle */ - DosHandle = DosOpenHandle(FileHandle); - - if (DosHandle == INVALID_DOS_HANDLE) - { - /* Close the handle */ - CloseHandle(FileHandle); - - /* Return the error code */ - return ERROR_TOO_MANY_OPEN_FILES; - } - - /* It was successful */ - *Handle = DosHandle; - return ERROR_SUCCESS; -} - -WORD DosReadFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesRead) -{ - WORD Result = ERROR_SUCCESS; - DWORD BytesRead32 = 0; - HANDLE Handle = DosGetRealHandle(FileHandle); - - DPRINT("DosReadFile: FileHandle 0x%04X, Count 0x%04X\n", FileHandle, Count); - - /* Make sure the handle is valid */ - if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; - - /* Read the file */ - if (!ReadFile(Handle, Buffer, Count, &BytesRead32, NULL)) - { - /* Store the error code */ - Result = (WORD)GetLastError(); - } - - /* The number of bytes read is always 16-bit */ - *BytesRead = LOWORD(BytesRead32); - - /* Return the error code */ - return Result; -} - -WORD DosWriteFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesWritten) -{ - WORD Result = ERROR_SUCCESS; - DWORD BytesWritten32 = 0; - HANDLE Handle = DosGetRealHandle(FileHandle); - WORD i; - - DPRINT("DosWriteFile: FileHandle 0x%04X, Count 0x%04X\n", - FileHandle, - Count); - - /* Make sure the handle is valid */ - if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; - - if (IsConsoleHandle(Handle)) - { - for (i = 0; i < Count; i++) - { - /* Save AX and BX */ - USHORT AX = getAX(); - USHORT BX = getBX(); - - /* Set the parameters */ - setAL(((PCHAR)Buffer)[i]); - setBL(DOS_CHAR_ATTRIBUTE); - setBH(Bda->VideoPage); - - /* Call the BIOS INT 10h, AH=0Eh "Teletype Output" */ - setAH(0x0E); - Int32Call(&DosContext, BIOS_VIDEO_INTERRUPT); - - /* Restore AX and BX */ - setBX(BX); - setAX(AX); - - BytesWritten32++; - } - } - else - { - /* Write the file */ - if (!WriteFile(Handle, Buffer, Count, &BytesWritten32, NULL)) - { - /* Store the error code */ - Result = (WORD)GetLastError(); - } - } - - /* The number of bytes written is always 16-bit */ - *BytesWritten = LOWORD(BytesWritten32); - - /* Return the error code */ - return Result; -} - -static WORD DosSeekFile(WORD FileHandle, LONG Offset, BYTE Origin, LPDWORD NewOffset) -{ - WORD Result = ERROR_SUCCESS; - DWORD FilePointer; - HANDLE Handle = DosGetRealHandle(FileHandle); - - DPRINT("DosSeekFile: FileHandle 0x%04X, Offset 0x%08X, Origin 0x%02X\n", - FileHandle, - Offset, - Origin); - - /* Make sure the handle is valid */ - if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; - - /* Check if the origin is valid */ - if (Origin != FILE_BEGIN && Origin != FILE_CURRENT && Origin != FILE_END) - { - return ERROR_INVALID_FUNCTION; - } - - /* Move the file pointer */ - FilePointer = SetFilePointer(Handle, Offset, NULL, Origin); - - /* Check if there's a possibility the operation failed */ - if (FilePointer == INVALID_SET_FILE_POINTER) - { - /* Get the real error code */ - Result = (WORD)GetLastError(); - } - - if (Result != ERROR_SUCCESS) - { - /* The operation did fail */ - return Result; - } - - /* Return the file pointer, if requested */ - if (NewOffset) *NewOffset = FilePointer; - - /* Return success */ - return ERROR_SUCCESS; -} - -static BOOLEAN DosFlushFileBuffers(WORD FileHandle) -{ - HANDLE Handle = DosGetRealHandle(FileHandle); - - /* Make sure the handle is valid */ - if (Handle == INVALID_HANDLE_VALUE) return FALSE; - - /* - * No need to check whether the handle is a console handle since - * FlushFileBuffers() automatically does this check and calls - * FlushConsoleInputBuffer() for us. - */ - // if (IsConsoleHandle(Handle)) - // return (BOOLEAN)FlushConsoleInputBuffer(Handle); - // else - return (BOOLEAN)FlushFileBuffers(Handle); -} static BOOLEAN DosChangeDrive(BYTE Drive) { @@ -1279,6 +1040,36 @@ Cleanup: return Result; } +DWORD DosStartProcess(IN LPCSTR ExecutablePath, + IN LPCSTR CommandLine, + IN PVOID Environment) +{ + DWORD Result; + + Result = DosLoadExecutable(DOS_LOAD_AND_EXECUTE, + ExecutablePath, + CommandLine, + Environment, + NULL, + NULL); + + if (Result != ERROR_SUCCESS) goto Quit; + + /* Attach to the console */ + VidBiosAttachToConsole(); // FIXME: And in fact, attach the full NTVDM UI to the console + + /* Start simulation */ + SetEvent(VdmTaskEvent); + EmulatorSimulate(); + + /* Detach from the console */ + VidBiosDetachFromConsole(); // FIXME: And in fact, detach the full NTVDM UI from the console + +Quit: + return Result; +} + +#ifndef STANDALONE WORD DosCreateProcess(DOS_EXEC_TYPE LoadType, LPCSTR ProgramName, PDOS_EXEC_PARAM_BLOCK Parameters) @@ -1363,16 +1154,17 @@ WORD DosCreateProcess(DOS_EXEC_TYPE LoadType, GetNextVDMCommand(&CommandInfo); /* Load the executable */ - Result= DosLoadExecutable(LoadType, - AppName, - CmdLine, - Env, - &Parameters->StackLocation, - &Parameters->EntryPoint); + Result = DosLoadExecutable(LoadType, + AppName, + CmdLine, + Env, + &Parameters->StackLocation, + &Parameters->EntryPoint); if (Result != ERROR_SUCCESS) { DisplayMessage(L"Could not load '%S'. Error: %u", AppName, Result); - break; + // FIXME: Decrement the reenter count. Or, instead, just increment + // the VDM reenter count *only* if this call succeeds... } break; @@ -1392,6 +1184,7 @@ WORD DosCreateProcess(DOS_EXEC_TYPE LoadType, return ERROR_SUCCESS; } +#endif VOID DosTerminateProcess(WORD Psp, BYTE ReturnCode) { @@ -1400,7 +1193,6 @@ VOID DosTerminateProcess(WORD Psp, BYTE ReturnCode) PDOS_MCB CurrentMcb; LPDWORD IntVecTable = (LPDWORD)((ULONG_PTR)BaseAddress); PDOS_PSP PspBlock = SEGMENT_TO_PSP(Psp); - VDM_COMMAND_INFO CommandInfo; DPRINT("DosTerminateProcess: Psp 0x%04X, ReturnCode 0x%02X\n", Psp, @@ -1451,10 +1243,13 @@ Done: } } +#ifndef STANDALONE // FIXME: This is probably not the best way to do it /* Check if this was a nested DOS task */ if (CurrentPsp != SYSTEM_PSP) { + VDM_COMMAND_INFO CommandInfo; + /* Decrement the re-entry count */ CommandInfo.TaskId = SessionId; CommandInfo.VDMState = VDM_DEC_REENTER_COUNT; @@ -1468,6 +1263,7 @@ Done: CommandInfo.VDMState = VDM_FLAG_DONT_WAIT; GetNextVDMCommand(&CommandInfo); } +#endif /* Save the return code - Normal termination */ DosErrorLevel = MAKEWORD(ReturnCode, 0x00); @@ -1500,12 +1296,12 @@ BOOLEAN DosHandleIoctl(BYTE ControlCode, WORD FileHandle) * for a list of possible flags. */ - if (Handle == DosSystemFileTable[0]) + if (Handle == DosSystemFileTable[DOS_INPUT_HANDLE].Handle) { /* Console input */ InfoWord |= 1 << 0; } - else if (Handle == DosSystemFileTable[1]) + else if (Handle == DosSystemFileTable[DOS_OUTPUT_HANDLE].Handle) { /* Console output */ InfoWord |= 1 << 1; @@ -1556,11 +1352,12 @@ VOID WINAPI DosInt21h(LPWORD Stack) /* Read Character from STDIN with Echo */ case 0x01: { - Character = DosReadCharacter(); - DosPrintCharacter(Character); + // FIXME: Under DOS 2+, input / output handle may be redirected!!!! + Character = DosReadCharacter(DOS_INPUT_HANDLE); + DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); - /* Let the BOP repeat if needed */ - if (getCF()) break; + // /* Let the BOP repeat if needed */ + // if (getCF()) break; setAL(Character); break; @@ -1569,8 +1366,9 @@ VOID WINAPI DosInt21h(LPWORD Stack) /* Write Character to STDOUT */ case 0x02: { + // FIXME: Under DOS 2+, output handle may be redirected!!!! Character = getDL(); - DosPrintCharacter(Character); + DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); /* * We return the output character (DOS 2.1+). @@ -1588,7 +1386,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) { // FIXME: Really read it from STDAUX! DPRINT1("INT 16h, 03h: Read character from STDAUX is HALFPLEMENTED\n"); - setAL(DosReadCharacter()); + // setAL(DosReadCharacter()); break; } @@ -1597,7 +1395,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) { // FIXME: Really write it to STDAUX! DPRINT1("INT 16h, 04h: Write character to STDAUX is HALFPLEMENTED\n"); - DosPrintCharacter(getDL()); + // DosPrintCharacter(getDL()); break; } @@ -1616,10 +1414,12 @@ VOID WINAPI DosInt21h(LPWORD Stack) { Character = getDL(); + // FIXME: Under DOS 2+, output handle may be redirected!!!! + if (Character != 0xFF) { /* Output */ - DosPrintCharacter(Character); + DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); /* * We return the output character (DOS 2.1+). @@ -1634,7 +1434,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) if (DosCheckInput()) { Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF; - setAL(DosReadCharacter()); + setAL(DosReadCharacter(DOS_INPUT_HANDLE)); } else { @@ -1651,10 +1451,15 @@ VOID WINAPI DosInt21h(LPWORD Stack) case 0x07: case 0x08: { - Character = DosReadCharacter(); + // FIXME: Under DOS 2+, input handle may be redirected!!!! + Character = DosReadCharacter(DOS_INPUT_HANDLE); - /* Let the BOP repeat if needed */ - if (getCF()) break; + // FIXME: For 0x07, do not check Ctrl-C/Break. + // For 0x08, do check those control sequences and if needed, + // call INT 0x23. + + // /* Let the BOP repeat if needed */ + // if (getCF()) break; setAL(Character); break; @@ -1667,7 +1472,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) while (*String != '$') { - DosPrintCharacter(*String); + DosPrintCharacter(DOS_OUTPUT_HANDLE, *String); String++; } @@ -1683,26 +1488,27 @@ VOID WINAPI DosInt21h(LPWORD Stack) /* Read Buffered Input */ case 0x0A: { + WORD Count = 0; InputBuffer = (PDOS_INPUT_BUFFER)SEG_OFF_TO_PTR(getDS(), getDX()); - while (Stack[STACK_COUNTER] < InputBuffer->MaxLength) - { - /* Try to read a character */ - Character = DosReadCharacter(); + DPRINT1("Read Buffered Input\n"); - /* If it's not ready yet, let the BOP repeat */ - if (getCF()) break; + while (Count < InputBuffer->MaxLength) + { + /* Try to read a character (wait) */ + Character = DosReadCharacter(DOS_INPUT_HANDLE); /* Echo the character and append it to the buffer */ - DosPrintCharacter(Character); - InputBuffer->Buffer[Stack[STACK_COUNTER]] = Character; + DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); + InputBuffer->Buffer[Count] = Character; if (Character == '\r') break; - Stack[STACK_COUNTER]++; + Count++; } /* Update the length */ - InputBuffer->Length = Stack[STACK_COUNTER]; + InputBuffer->Length = Count; + break; } @@ -1719,7 +1525,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) BYTE InputFunction = getAL(); /* Flush STDIN buffer */ - DosFlushFileBuffers(DOS_INPUT_HANDLE); // Maybe just create a DosFlushInputBuffer... + DosFlushFileBuffers(DOS_INPUT_HANDLE); /* * If the input function number contained in AL is valid, i.e. @@ -2163,47 +1969,11 @@ VOID WINAPI DosInt21h(LPWORD Stack) /* Read from File or Device */ case 0x3F: { - WORD Handle = getBX(); - LPBYTE Buffer = (LPBYTE)SEG_OFF_TO_PTR(getDS(), getDX()); - WORD Count = getCX(); WORD BytesRead = 0; - WORD ErrorCode = ERROR_SUCCESS; - CHAR Character; - - if (IsConsoleHandle(DosGetRealHandle(Handle))) - { - while (Stack[STACK_COUNTER] < Count) - { - /* Read a character from the BIOS */ - Character = LOBYTE(BiosGetCharacter()); - - /* Stop if the BOP needs to be repeated */ - if (getCF()) break; - - // FIXME: Security checks! - DosPrintCharacter(Character); - Buffer[Stack[STACK_COUNTER]++] = Character; - - if (Character == '\r') - { - /* Stop on first carriage return */ - DosPrintCharacter('\n'); - break; - } - } - - if (Character != '\r') - { - if (Stack[STACK_COUNTER] < Count) ErrorCode = ERROR_NOT_READY; - else BytesRead = Count; - } - else BytesRead = Stack[STACK_COUNTER]; - } - else - { - /* Use the file reading function */ - ErrorCode = DosReadFile(Handle, Buffer, Count, &BytesRead); - } + WORD ErrorCode = DosReadFile(getBX(), + SEG_OFF_TO_PTR(getDS(), getDX()), + getCX(), + &BytesRead); if (ErrorCode == ERROR_SUCCESS) { @@ -2215,6 +1985,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; setAX(ErrorCode); } + break; } @@ -2358,7 +2129,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) WORD NewHandle; HANDLE Handle = DosGetRealHandle(getBX()); - if (Handle != INVALID_HANDLE_VALUE) + if (Handle == INVALID_HANDLE_VALUE) { /* The handle is invalid */ Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; @@ -2491,6 +2262,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) break; } +#ifndef STANDALONE /* Execute */ case 0x4B: { @@ -2511,6 +2283,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) break; } +#endif /* Terminate With Return Code */ case 0x4C: @@ -2540,8 +2313,11 @@ VOID WINAPI DosInt21h(LPWORD Stack) getCX()); setAX(Result); - if (Result == ERROR_SUCCESS) Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; - else Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; + + if (Result == ERROR_SUCCESS) + Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; + else + Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; break; } @@ -2552,8 +2328,11 @@ VOID WINAPI DosInt21h(LPWORD Stack) WORD Result = (WORD)demFileFindNext(FAR_POINTER(DiskTransferArea)); setAX(Result); - if (Result == ERROR_SUCCESS) Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; - else Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; + + if (Result == ERROR_SUCCESS) + Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; + else + Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; break; } @@ -2581,6 +2360,23 @@ VOID WINAPI DosInt21h(LPWORD Stack) break; } + /* Internal - Get "List of lists" (SYSVARS) */ + case 0x52: + { + /* + * On return, ES points at the DOS data segment (see also INT 2F/AX=1203h). + * See Ralf Brown: http://www.ctyme.com/intr/rb-2983.htm + * for more information. + */ + + /* Return the DOS "list of lists" in ES:BX */ + setES(0x0000); + setBX(0x0000); + + DisplayMessage(L"Required for AARD code, do you remember? :P"); + break; + } + /* Get/Set Memory Management Options */ case 0x58: { @@ -2666,32 +2462,6 @@ VOID WINAPI DosFastConOut(LPWORD Stack) * for more information. */ -#if 0 - if (Stack[STACK_COUNTER] == 0) - { - Stack[STACK_COUNTER]++; - - /* Save AX and BX */ - Stack[STACK_VAR_A] = getAX(); - Stack[STACK_VAR_B] = getBX(); - - /* Rewind the BOP manually, we can't use CF because the interrupt could modify it */ - EmulatorExecute(getCS(), getIP() - 4); - - /* Call INT 0x10, AH = 0x0E */ - setAH(0x0E); - setBL(DOS_CHAR_ATTRIBUTE); - setBH(Bda->VideoPage); - - EmulatorInterrupt(0x10); - } - else - { - /* Restore AX and BX */ - setAX(Stack[STACK_VAR_A]); - setBX(Stack[STACK_VAR_B]); - } -#else /* Save AX and BX */ USHORT AX = getAX(); USHORT BX = getBX(); @@ -2707,12 +2477,11 @@ VOID WINAPI DosFastConOut(LPWORD Stack) /* Restore AX and BX */ setBX(BX); setAX(AX); -#endif } VOID WINAPI DosInt2Fh(LPWORD Stack) { - DPRINT1("DOS System Function INT 0x2F, AH = %xh, AL = %xh NOT IMPLEMENTED!\n", + DPRINT1("DOS Internal System Function INT 0x2F, AH = %xh, AL = %xh NOT IMPLEMENTED!\n", getAH(), getAL()); Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; } @@ -2778,17 +2547,19 @@ BOOLEAN DosKRNLInitialize(VOID) /* Initialize the SFT */ for (i = 0; i < DOS_SFT_SIZE; i++) { - DosSystemFileTable[i] = INVALID_HANDLE_VALUE; - DosSftRefCount[i] = 0; + DosSystemFileTable[i].Handle = INVALID_HANDLE_VALUE; + DosSystemFileTable[i].RefCount = 0; } /* Get handles to standard I/O devices */ - DosSystemFileTable[0] = GetStdHandle(STD_INPUT_HANDLE); - DosSystemFileTable[1] = GetStdHandle(STD_OUTPUT_HANDLE); - DosSystemFileTable[2] = GetStdHandle(STD_ERROR_HANDLE); + DosSystemFileTable[0].Handle = GetStdHandle(STD_INPUT_HANDLE); + DosSystemFileTable[1].Handle = GetStdHandle(STD_OUTPUT_HANDLE); + DosSystemFileTable[2].Handle = GetStdHandle(STD_ERROR_HANDLE); /* Initialize the reference counts */ - DosSftRefCount[0] = DosSftRefCount[1] = DosSftRefCount[2] = 1; + DosSystemFileTable[0].RefCount = + DosSystemFileTable[1].RefCount = + DosSystemFileTable[2].RefCount = 1; #endif diff --git a/subsystems/ntvdm/dos/dos32krnl/dos.h b/subsystems/ntvdm/dos/dos32krnl/dos.h index 18e0b14cd07..f3e9140fec3 100644 --- a/subsystems/ntvdm/dos/dos32krnl/dos.h +++ b/subsystems/ntvdm/dos/dos32krnl/dos.h @@ -30,10 +30,12 @@ #define USER_MEMORY_SIZE 0x8FFE #define SYSTEM_PSP 0x08 #define SYSTEM_ENV_BLOCK 0x800 -#define INVALID_DOS_HANDLE 0xFFFF -#define DOS_INPUT_HANDLE 0 -#define DOS_OUTPUT_HANDLE 1 -#define DOS_ERROR_HANDLE 2 + +#define INVALID_DOS_HANDLE 0xFFFF +#define DOS_INPUT_HANDLE 0 +#define DOS_OUTPUT_HANDLE 1 +#define DOS_ERROR_HANDLE 2 + #define DOS_SFT_SIZE 255 #define SEGMENT_TO_MCB(seg) ((PDOS_MCB)((ULONG_PTR)BaseAddress + TO_LINEAR((seg), 0))) #define SEGMENT_TO_PSP(seg) ((PDOS_PSP)((ULONG_PTR)BaseAddress + TO_LINEAR((seg), 0))) @@ -172,9 +174,9 @@ do { \ * DOS BIOS Functions * See bios.c */ -CHAR DosReadCharacter(VOID); +CHAR DosReadCharacter(WORD FileHandle); BOOLEAN DosCheckInput(VOID); -VOID DosPrintCharacter(CHAR Character); +VOID DosPrintCharacter(WORD FileHandle, CHAR Character); BOOLEAN DosBIOSInitialize(VOID); @@ -184,9 +186,15 @@ BOOLEAN DosBIOSInitialize(VOID); * See dos.c */ BOOL IsConsoleHandle(HANDLE hHandle); +WORD DosOpenHandle(HANDLE Handle); HANDLE DosGetRealHandle(WORD DosHandle); + +WORD DosCreateFile(LPWORD Handle, LPCSTR FilePath, WORD Attributes); +WORD DosOpenFile(LPWORD Handle, LPCSTR FilePath, BYTE AccessMode); WORD DosReadFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesRead); WORD DosWriteFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesWritten); +WORD DosSeekFile(WORD FileHandle, LONG Offset, BYTE Origin, LPDWORD NewOffset); +BOOL DosFlushFileBuffers(WORD FileHandle); VOID DosInitializePsp(WORD PspSegment, LPCSTR CommandLine, WORD ProgramSize, WORD Environment); DWORD DosLoadExecutable( @@ -202,6 +210,9 @@ WORD DosCreateProcess( LPCSTR ProgramName, PDOS_EXEC_PARAM_BLOCK Parameters ); +DWORD DosStartProcess(IN LPCSTR ExecutablePath, + IN LPCSTR CommandLine, + IN PVOID Environment); VOID DosTerminateProcess(WORD Psp, BYTE ReturnCode); BOOLEAN DosHandleIoctl(BYTE ControlCode, WORD FileHandle); diff --git a/subsystems/ntvdm/dos/dos32krnl/dosfiles.c b/subsystems/ntvdm/dos/dos32krnl/dosfiles.c new file mode 100644 index 00000000000..03a5df83847 --- /dev/null +++ b/subsystems/ntvdm/dos/dos32krnl/dosfiles.c @@ -0,0 +1,331 @@ +/* + * COPYRIGHT: GPL - See COPYING in the top level directory + * PROJECT: ReactOS Virtual DOS Machine + * FILE: dos/dos32krnl/dosfiles.c + * PURPOSE: DOS Files + * PROGRAMMERS: Aleksandar Andrejevic + */ + +/* INCLUDES *******************************************************************/ + +#define NDEBUG + +#include "emulator.h" +// #include "callback.h" + +#include "dos.h" +#include "dos/dem.h" + +#include "bios/bios.h" + +/* PRIVATE VARIABLES **********************************************************/ + +/* PUBLIC FUNCTIONS ***********************************************************/ + +WORD DosCreateFile(LPWORD Handle, LPCSTR FilePath, WORD Attributes) +{ + HANDLE FileHandle; + WORD DosHandle; + + DPRINT("DosCreateFile: FilePath \"%s\", Attributes 0x%04X\n", + FilePath, + Attributes); + + /* Create the file */ + FileHandle = CreateFileA(FilePath, + GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + NULL, + CREATE_ALWAYS, + Attributes, + NULL); + + if (FileHandle == INVALID_HANDLE_VALUE) + { + /* Return the error code */ + return (WORD)GetLastError(); + } + + /* Open the DOS handle */ + DosHandle = DosOpenHandle(FileHandle); + + if (DosHandle == INVALID_DOS_HANDLE) + { + /* Close the handle */ + CloseHandle(FileHandle); + + /* Return the error code */ + return ERROR_TOO_MANY_OPEN_FILES; + } + + /* It was successful */ + *Handle = DosHandle; + return ERROR_SUCCESS; +} + +WORD DosOpenFile(LPWORD Handle, LPCSTR FilePath, BYTE AccessMode) +{ + HANDLE FileHandle; + ACCESS_MASK Access = 0; + WORD DosHandle; + + DPRINT("DosOpenFile: FilePath \"%s\", AccessMode 0x%04X\n", + FilePath, + AccessMode); + + /* Parse the access mode */ + switch (AccessMode & 3) + { + case 0: + { + /* Read-only */ + Access = GENERIC_READ; + break; + } + + case 1: + { + /* Write only */ + Access = GENERIC_WRITE; + break; + } + + case 2: + { + /* Read and write */ + Access = GENERIC_READ | GENERIC_WRITE; + break; + } + + default: + { + /* Invalid */ + return ERROR_INVALID_PARAMETER; + } + } + + /* Open the file */ + FileHandle = CreateFileA(FilePath, + Access, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + + if (FileHandle == INVALID_HANDLE_VALUE) + { + /* Return the error code */ + return (WORD)GetLastError(); + } + + /* Open the DOS handle */ + DosHandle = DosOpenHandle(FileHandle); + + if (DosHandle == INVALID_DOS_HANDLE) + { + /* Close the handle */ + CloseHandle(FileHandle); + + /* Return the error code */ + return ERROR_TOO_MANY_OPEN_FILES; + } + + /* It was successful */ + *Handle = DosHandle; + return ERROR_SUCCESS; +} + +WORD DosReadFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesRead) +{ + WORD Result = ERROR_SUCCESS; + DWORD BytesRead32 = 0; + HANDLE Handle = DosGetRealHandle(FileHandle); + + DPRINT1("DosReadFile: FileHandle 0x%04X, Count 0x%04X\n", FileHandle, Count); + + /* Make sure the handle is valid */ + if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; + + if (IsConsoleHandle(Handle)) + { + CHAR Character; + + /* + * Use BIOS Get Keystroke function + */ + + /* Save AX */ + USHORT AX = getAX(); + + for (BytesRead32 = 0; BytesRead32 < Count; BytesRead32++) + { + /* Call the BIOS INT 16h, AH=00h "Get Keystroke" */ + setAH(0x00); + Int32Call(&DosContext, BIOS_KBD_INTERRUPT); + + /* Retrieve the character in AL (scan code is in AH) */ + Character = getAL(); + + // FIXME: Sometimes we need echo, some other times not. + // DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); + + ((PCHAR)Buffer)[BytesRead32] = Character; + + /* Stop on first carriage return */ + if (Character == '\r') + { + // DosPrintCharacter(DOS_OUTPUT_HANDLE, '\n'); + break; + } + + // BytesRead32++; + } + + /* Restore AX */ + setAX(AX); + } + else + { + /* Read the file */ + if (!ReadFile(Handle, Buffer, Count /* * sizeof(CHAR) */, &BytesRead32, NULL)) + { + /* Store the error code */ + Result = (WORD)GetLastError(); + } + } + + /* The number of bytes read is always 16-bit */ + *BytesRead = LOWORD(BytesRead32); + + /* Return the error code */ + return Result; +} + +WORD DosWriteFile(WORD FileHandle, LPVOID Buffer, WORD Count, LPWORD BytesWritten) +{ + WORD Result = ERROR_SUCCESS; + DWORD BytesWritten32 = 0; + HANDLE Handle = DosGetRealHandle(FileHandle); + + DPRINT1("DosWriteFile: FileHandle 0x%04X, Count 0x%04X\n", + FileHandle, + Count); + + /* Make sure the handle is valid */ + if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; + + if (IsConsoleHandle(Handle)) + { + /* + * Use BIOS Teletype function + */ + + /* Save AX and BX */ + USHORT AX = getAX(); + USHORT BX = getBX(); + + // FIXME: Use BIOS Write String function INT 10h, AH=13h ?? + + for (BytesWritten32 = 0; BytesWritten32 < Count; BytesWritten32++) + { + /* Set the parameters */ + setAL(((PCHAR)Buffer)[BytesWritten32]); + setBL(DOS_CHAR_ATTRIBUTE); + setBH(Bda->VideoPage); + + /* Call the BIOS INT 10h, AH=0Eh "Teletype Output" */ + setAH(0x0E); + Int32Call(&DosContext, BIOS_VIDEO_INTERRUPT); + + // BytesWritten32++; + } + + /* Restore AX and BX */ + setBX(BX); + setAX(AX); + } + else + { + /* Write the file */ + if (!WriteFile(Handle, Buffer, Count /* * sizeof(CHAR) */, &BytesWritten32, NULL)) + { + /* Store the error code */ + Result = (WORD)GetLastError(); + } + } + + /* The number of bytes written is always 16-bit */ + *BytesWritten = LOWORD(BytesWritten32); + + /* Return the error code */ + return Result; +} + +WORD DosSeekFile(WORD FileHandle, LONG Offset, BYTE Origin, LPDWORD NewOffset) +{ + WORD Result = ERROR_SUCCESS; + DWORD FilePointer; + HANDLE Handle = DosGetRealHandle(FileHandle); + + DPRINT("DosSeekFile: FileHandle 0x%04X, Offset 0x%08X, Origin 0x%02X\n", + FileHandle, + Offset, + Origin); + + /* Make sure the handle is valid */ + if (Handle == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; + + /* Check if the origin is valid */ + if (Origin != FILE_BEGIN && Origin != FILE_CURRENT && Origin != FILE_END) + { + return ERROR_INVALID_FUNCTION; + } + + /* Move the file pointer */ + if (IsConsoleHandle(Handle)) + { + /* Always succeeds when seeking a console handle */ + FilePointer = 0; + Result = ERROR_SUCCESS; + } + else + { + FilePointer = SetFilePointer(Handle, Offset, NULL, Origin); + } + + /* Check if there's a possibility the operation failed */ + if (FilePointer == INVALID_SET_FILE_POINTER) + { + /* Get the real error code */ + Result = (WORD)GetLastError(); + } + + if (Result != ERROR_SUCCESS) + { + /* The operation did fail */ + return Result; + } + + /* Return the file pointer, if requested */ + if (NewOffset) *NewOffset = FilePointer; + + /* Return success */ + return ERROR_SUCCESS; +} + +// This function is almost exclusively used as a DosFlushInputBuffer +BOOL DosFlushFileBuffers(WORD FileHandle) +{ + HANDLE Handle = DosGetRealHandle(FileHandle); + + /* Make sure the handle is valid */ + if (Handle == INVALID_HANDLE_VALUE) return FALSE; + + /* + * No need to check whether the handle is a console handle since + * FlushFileBuffers() automatically does this check and calls + * FlushConsoleInputBuffer() for us. + */ + return FlushFileBuffers(Handle); +} diff --git a/subsystems/ntvdm/emulator.c b/subsystems/ntvdm/emulator.c index cbe3e1eb01c..094d156df7d 100644 --- a/subsystems/ntvdm/emulator.c +++ b/subsystems/ntvdm/emulator.c @@ -395,13 +395,22 @@ BOOLEAN EmulatorInitialize(HANDLE ConsoleInput, HANDLE ConsoleOutput) /* Initialize the PS2 port */ PS2Initialize(ConsoleInput); + /**************** ATTACH INPUT WITH CONSOLE *****************/ /* Start the input thread */ InputThread = CreateThread(NULL, 0, &PumpConsoleInput, ConsoleInput, 0, NULL); - // if (InputThread == NULL) return FALSE; + if (InputThread == NULL) + { + DisplayMessage(L"Failed to create the console input thread."); + return FALSE; + } + /************************************************************/ /* Initialize the VGA */ - // if (!VgaInitialize(ConsoleOutput)) return FALSE; - VgaInitialize(ConsoleOutput); + if (!VgaInitialize(ConsoleOutput)) + { + DisplayMessage(L"Failed to initialize VGA support."); + return FALSE; + } /* Initialize the software callback system and register the emulator BOPs */ InitializeCallbacks(); diff --git a/subsystems/ntvdm/emulator.h b/subsystems/ntvdm/emulator.h index 20e9a07a98c..1b1337f3726 100644 --- a/subsystems/ntvdm/emulator.h +++ b/subsystems/ntvdm/emulator.h @@ -34,13 +34,15 @@ #define EMULATOR_FLAG_VIP (1 << 20) #define EMULATOR_FLAG_ID (1 << 21) -#define STACK_VAR_B 0 -#define STACK_VAR_A 1 -#define STACK_COUNTER 2 -#define STACK_INT_NUM 3 -#define STACK_IP 4 -#define STACK_CS 5 -#define STACK_FLAGS 6 +// +// WARNING WARNING!! +// If you're changing the indices here, you then need to +// also fix the BOP code in callback.c !!!!!!!!!!!!!!!!! +// +#define STACK_INT_NUM 0 +#define STACK_IP 1 +#define STACK_CS 2 +#define STACK_FLAGS 3 /* Basic Memory Management */ diff --git a/subsystems/ntvdm/hardware/pic.c b/subsystems/ntvdm/hardware/pic.c index aa40821f449..a5b068c270e 100644 --- a/subsystems/ntvdm/hardware/pic.c +++ b/subsystems/ntvdm/hardware/pic.c @@ -313,7 +313,7 @@ call_ica_hw_interrupt(INT ms, BYTE InterruptNumber = line; /* Check for PIC validity */ - if (ms != ICA_MASTER || ms != ICA_SLAVE) return; + if (ms != ICA_MASTER && ms != ICA_SLAVE) return; /* * Adjust the interrupt request number according to the parameters, diff --git a/subsystems/ntvdm/hardware/vga.c b/subsystems/ntvdm/hardware/vga.c index 4a4dc1b9237..590ff058407 100644 --- a/subsystems/ntvdm/hardware/vga.c +++ b/subsystems/ntvdm/hardware/vga.c @@ -421,7 +421,7 @@ static VOID VgaUpdateCursorPosition(VOID) VgaCrtcRegisters[VGA_CRTC_CURSOR_LOC_LOW_REG] = LOBYTE(Offset); VgaCrtcRegisters[VGA_CRTC_CURSOR_LOC_HIGH_REG] = HIBYTE(Offset); - VidBiosSyncCursorPosition(); + // VidBiosSyncCursorPosition(); VgaUpdateTextCursor(); } @@ -538,61 +538,6 @@ static BOOL VgaAttachToConsoleInternal(PCOORD Resolution) return TRUE; } -BOOL VgaAttachToConsole(VOID) -{ - if (TextResolution.X == 0 || TextResolution.Y == 0) - DPRINT1("VgaAttachToConsole -- TextResolution uninitialized\n"); - - if (TextResolution.X == 0) TextResolution.X = 80; - if (TextResolution.Y == 0) TextResolution.Y = 25; - - return VgaAttachToConsoleInternal(&TextResolution); -} - -VOID VgaDetachFromConsole(BOOL ChangingMode) -{ - ULONG dummyLength; - PVOID dummyPtr; - COORD dummySize = {0}; - - __RegisterConsoleVDM(0, - NULL, - NULL, - NULL, - 0, - &dummyLength, - &dummyPtr, - NULL, - 0, - dummySize, - (PCHAR*)&dummyPtr); - - TextFramebuffer = NULL; - - if (!ChangingMode) - { - SMALL_RECT ConRect; - - /* Restore the old screen buffer */ - SetConsoleActiveScreenBuffer(TextConsoleBuffer); - - /* Restore the original console size */ - ConRect.Left = 0; - ConRect.Top = 0; - ConRect.Right = ConRect.Left + OrgConsoleBufferInfo.srWindow.Right - OrgConsoleBufferInfo.srWindow.Left; - ConRect.Bottom = ConRect.Top + OrgConsoleBufferInfo.srWindow.Bottom - OrgConsoleBufferInfo.srWindow.Top ; - /* - * See the following trick explanation in VgaAttachToConsoleInternal. - */ - SetConsoleScreenBufferSize(TextConsoleBuffer, OrgConsoleBufferInfo.dwSize); - SetConsoleWindowInfo(TextConsoleBuffer, TRUE, &ConRect); - SetConsoleScreenBufferSize(TextConsoleBuffer, OrgConsoleBufferInfo.dwSize); - - /* Restore the original cursor shape */ - SetConsoleCursorInfo(TextConsoleBuffer, &OrgConsoleCursorInfo); - } -} - static BOOL IsConsoleHandle(HANDLE hHandle) { DWORD dwMode; @@ -1038,7 +983,10 @@ static BOOL VgaEnterTextMode(PCOORD Resolution) return FALSE; } } - else VgaUpdateCursorPosition(); + else + { + VgaUpdateCursorPosition(); + } /* The active framebuffer is now the text framebuffer */ ConsoleFramebuffer = TextFramebuffer; @@ -1136,6 +1084,7 @@ static VOID VgaUpdateFramebuffer(VOID) { /* Graphics mode */ PBYTE GraphicsBuffer = (PBYTE)ConsoleFramebuffer; + DWORD InterlaceHighBit = VGA_INTERLACE_HIGH_BIT; /* * Synchronize access to the graphics framebuffer @@ -1143,9 +1092,21 @@ static VOID VgaUpdateFramebuffer(VOID) */ WaitForSingleObject(ConsoleMutex, INFINITE); + /* Shift the high bit right by 1 in odd/even mode */ + if (VgaGcRegisters[VGA_GC_MODE_REG] & VGA_GC_MODE_OE) + { + InterlaceHighBit >>= 1; + } + /* Loop through the scanlines */ for (i = 0; i < Resolution.Y; i++) { + if ((VgaGcRegisters[VGA_GC_MISC_REG] & VGA_GC_MISC_OE) && (i & 1)) + { + /* Odd-numbered line in interlaced mode - set the high bit */ + Address |= InterlaceHighBit; + } + /* Loop through the pixels */ for (j = 0; j < Resolution.X; j++) { @@ -1199,10 +1160,10 @@ static VOID VgaUpdateFramebuffer(VOID) * 2 bits shifted from plane 0 and 2 for the first 4 pixels, * then 2 bits shifted from plane 1 and 3 for the next 4 */ - BYTE LowPlaneData = VgaMemory[((j / 4) % 2) * VGA_BANK_SIZE - + (Address + (j / 8)) * AddressSize]; - BYTE HighPlaneData = VgaMemory[(((j / 4) % 2) + 2) * VGA_BANK_SIZE - + (Address + (j / 8)) * AddressSize]; + DWORD BankNumber = (j / 4) % 2; + DWORD Offset = Address + (j / 8); + BYTE LowPlaneData = VgaMemory[BankNumber * VGA_BANK_SIZE + Offset * AddressSize]; + BYTE HighPlaneData = VgaMemory[(BankNumber + 2) * VGA_BANK_SIZE + Offset * AddressSize]; /* Extract the two bits from each plane */ LowPlaneData = (LowPlaneData >> (6 - ((j % 4) * 2))) & 3; @@ -1295,8 +1256,17 @@ static VOID VgaUpdateFramebuffer(VOID) } } - /* Move to the next scanline */ - Address += ScanlineSize; + if ((VgaGcRegisters[VGA_GC_MISC_REG] & VGA_GC_MISC_OE) && (i & 1)) + { + /* Clear the high bit */ + Address &= ~InterlaceHighBit; + } + + if (!(VgaGcRegisters[VGA_GC_MISC_REG] & VGA_GC_MISC_OE) || (i & 1)) + { + /* Move to the next scanline */ + Address += ScanlineSize; + } } /* @@ -1864,6 +1834,71 @@ VOID VgaResetPalette(VOID) PaletteChanged = TRUE; } + + + +BOOL VgaAttachToConsole(VOID) +{ + // + // FIXME: We should go back to the saved screen state + // + if (TextResolution.X == 0 || TextResolution.Y == 0) + DPRINT1("VgaAttachToConsole -- TextResolution uninitialized\n"); + + if (TextResolution.X == 0) TextResolution.X = 80; + if (TextResolution.Y == 0) TextResolution.Y = 25; + + return VgaAttachToConsoleInternal(&TextResolution); +} + +VOID VgaDetachFromConsole(BOOL ChangingMode) +{ + ULONG dummyLength; + PVOID dummyPtr; + COORD dummySize = {0}; + + // + // FIXME: We should save the screen state + // + + __RegisterConsoleVDM(0, + NULL, + NULL, + NULL, + 0, + &dummyLength, + &dummyPtr, + NULL, + 0, + dummySize, + (PCHAR*)&dummyPtr); + + TextFramebuffer = NULL; + + if (!ChangingMode) + { + SMALL_RECT ConRect; + + /* Restore the old screen buffer */ + SetConsoleActiveScreenBuffer(TextConsoleBuffer); + + /* Restore the original console size */ + ConRect.Left = 0; + ConRect.Top = 0; + ConRect.Right = ConRect.Left + OrgConsoleBufferInfo.srWindow.Right - OrgConsoleBufferInfo.srWindow.Left; + ConRect.Bottom = ConRect.Top + OrgConsoleBufferInfo.srWindow.Bottom - OrgConsoleBufferInfo.srWindow.Top ; + /* + * See the following trick explanation in VgaAttachToConsoleInternal. + */ + SetConsoleScreenBufferSize(TextConsoleBuffer, OrgConsoleBufferInfo.dwSize); + SetConsoleWindowInfo(TextConsoleBuffer, TRUE, &ConRect); + SetConsoleScreenBufferSize(TextConsoleBuffer, OrgConsoleBufferInfo.dwSize); + + /* Restore the original cursor shape */ + SetConsoleCursorInfo(TextConsoleBuffer, &OrgConsoleCursorInfo); + } +} + BOOLEAN VgaInitialize(HANDLE TextHandle) { /* Save the default text-mode console output handle */ diff --git a/subsystems/ntvdm/hardware/vga.h b/subsystems/ntvdm/hardware/vga.h index 1f142c175a8..ca6de8d4bb2 100644 --- a/subsystems/ntvdm/hardware/vga.h +++ b/subsystems/ntvdm/hardware/vga.h @@ -24,7 +24,7 @@ #define VGA_MINIMUM_HEIGHT 300 #define VGA_DAC_TO_COLOR(x) (((x) << 2) | ((x) >> 4)) #define VGA_COLOR_TO_DAC(x) ((x) >> 2) - +#define VGA_INTERLACE_HIGH_BIT (1 << 13) /* Register I/O ports */ diff --git a/subsystems/ntvdm/int32.c b/subsystems/ntvdm/int32.c index b89eb137e03..e139c85d44f 100644 --- a/subsystems/ntvdm/int32.c +++ b/subsystems/ntvdm/int32.c @@ -58,6 +58,13 @@ VOID WINAPI ControlBop(LPWORD Stack) VOID InitializeInt32(WORD BiosSegment) { + // + // WARNING WARNING!! + // + // If you modify the code stubs here, think also + // about updating them in callback.c too!! + // + LPDWORD IntVecTable = (LPDWORD)BaseAddress; LPBYTE BiosCode = (LPBYTE)SEG_OFF_TO_PTR(BiosSegment, 0); USHORT i; @@ -74,15 +81,6 @@ VOID InitializeInt32(WORD BiosSegment) BiosCode[Offset++] = 0x6A; // push i BiosCode[Offset++] = (UCHAR)i; - /* The counter variable (initialized to 0) */ - BiosCode[Offset++] = 0x6A; // push 0 - BiosCode[Offset++] = 0x00; - - /* Stack variables */ - BiosCode[Offset++] = 0x83; // sub sp, 4 - BiosCode[Offset++] = 0xEC; - BiosCode[Offset++] = 0x04; - BopSeqOffset = COMMON_STUB_OFFSET - (Offset + 3); BiosCode[Offset++] = 0xE9; // jmp near BOP_SEQ @@ -113,9 +111,8 @@ VOID InitializeInt32(WORD BiosSegment) BiosCode[Offset++] = 0xF5; // EXIT: - BiosCode[Offset++] = 0x83; // add sp, 8 - BiosCode[Offset++] = 0xC4; - BiosCode[Offset++] = 0x08; + BiosCode[Offset++] = 0x44; // inc sp + BiosCode[Offset++] = 0x44; // inc sp BiosCode[Offset++] = 0xCF; // iret diff --git a/subsystems/ntvdm/ntvdm.c b/subsystems/ntvdm/ntvdm.c index 813a8858f0a..1239defc765 100644 --- a/subsystems/ntvdm/ntvdm.c +++ b/subsystems/ntvdm/ntvdm.c @@ -21,12 +21,6 @@ #include "resource.h" -/* - * Activate this line if you want to run NTVDM in standalone mode with: - * ntvdm.exe - */ -// #define STANDALONE - /* VARIABLES ******************************************************************/ static HANDLE ConsoleInput = INVALID_HANDLE_VALUE; @@ -39,7 +33,10 @@ static HMENU hConsoleMenu = NULL; static INT VdmMenuPos = -1; static BOOLEAN ShowPointer = FALSE; +#ifndef STANDALONE ULONG SessionId = 0; +#endif + HANDLE VdmTaskEvent = NULL; /* @@ -124,7 +121,7 @@ AppendMenuItems(HMENU hMenu, static VOID CreateVdmMenu(HANDLE ConOutHandle) { - hConsoleMenu = ConsoleMenuControl(ConsoleOutput, + hConsoleMenu = ConsoleMenuControl(ConOutHandle, ID_SHOWHIDE_MOUSE, ID_VDM_QUIT); if (hConsoleMenu == NULL) return; @@ -176,7 +173,8 @@ static VOID ShowHideMousePointer(HANDLE ConOutHandle, BOOLEAN ShowPtr) /* PUBLIC FUNCTIONS ***********************************************************/ -VOID DisplayMessage(LPCWSTR Format, ...) +VOID +DisplayMessage(LPCWSTR Format, ...) { WCHAR Buffer[256]; va_list Parameters; @@ -188,7 +186,9 @@ VOID DisplayMessage(LPCWSTR Format, ...) va_end(Parameters); } -BOOL WINAPI ConsoleCtrlHandler(DWORD ControlType) +static BOOL +WINAPI +ConsoleCtrlHandler(DWORD ControlType) { switch (ControlType) { @@ -224,12 +224,14 @@ BOOL WINAPI ConsoleCtrlHandler(DWORD ControlType) return TRUE; } -VOID ConsoleInitUI(VOID) +static VOID +ConsoleInitUI(VOID) { CreateVdmMenu(ConsoleOutput); } -VOID ConsoleCleanupUI(VOID) +static VOID +ConsoleCleanupUI(VOID) { /* Display again properly the mouse pointer */ if (ShowPointer) ShowHideMousePointer(ConsoleOutput, ShowPointer); @@ -237,7 +239,97 @@ VOID ConsoleCleanupUI(VOID) DestroyVdmMenu(); } -DWORD WINAPI PumpConsoleInput(LPVOID Parameter) +static BOOL +ConsoleAttach(VOID) +{ + /* Save the original input and output console modes */ + if (!GetConsoleMode(ConsoleInput , &OrgConsoleInputMode ) || + !GetConsoleMode(ConsoleOutput, &OrgConsoleOutputMode)) + { + CloseHandle(ConsoleOutput); + CloseHandle(ConsoleInput); + wprintf(L"FATAL: Cannot save console in/out modes\n"); + // return FALSE; + } + + /* Initialize the UI */ + ConsoleInitUI(); + + return TRUE; +} + +static VOID +ConsoleDetach(VOID) +{ + /* Restore the original input and output console modes */ + SetConsoleMode(ConsoleOutput, OrgConsoleOutputMode); + SetConsoleMode(ConsoleInput , OrgConsoleInputMode ); + + /* Cleanup the UI */ + ConsoleCleanupUI(); +} + +static BOOL +ConsoleInit(VOID) +{ + /* Set the handler routine */ + SetConsoleCtrlHandler(ConsoleCtrlHandler, TRUE); + + /* Enable the CTRL_LAST_CLOSE_EVENT */ + SetLastConsoleEventActive(); + + /* + * NOTE: The CONIN$ and CONOUT$ "virtual" files + * always point to non-redirected console handles. + */ + + /* Get the input handle to the real console, and check for success */ + ConsoleInput = CreateFileW(L"CONIN$", + GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, + OPEN_EXISTING, + 0, + NULL); + if (ConsoleInput == INVALID_HANDLE_VALUE) + { + wprintf(L"FATAL: Cannot retrieve a handle to the console input\n"); + return FALSE; + } + + /* Get the output handle to the real console, and check for success */ + ConsoleOutput = CreateFileW(L"CONOUT$", + GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, + OPEN_EXISTING, + 0, + NULL); + if (ConsoleOutput == INVALID_HANDLE_VALUE) + { + CloseHandle(ConsoleInput); + wprintf(L"FATAL: Cannot retrieve a handle to the console output\n"); + return FALSE; + } + + /* Effectively attach to the console */ + return ConsoleAttach(); +} + +static VOID +ConsoleCleanup(VOID) +{ + /* Detach from the console */ + ConsoleDetach(); + + /* Close the console handles */ + if (ConsoleOutput != INVALID_HANDLE_VALUE) CloseHandle(ConsoleOutput); + if (ConsoleInput != INVALID_HANDLE_VALUE) CloseHandle(ConsoleInput); +} + +DWORD +WINAPI +PumpConsoleInput(LPVOID Parameter) { HANDLE ConsoleInput = (HANDLE)Parameter; INPUT_RECORD InputRecord; @@ -296,74 +388,10 @@ DWORD WINAPI PumpConsoleInput(LPVOID Parameter) return 0; } -BOOL ConsoleInit(VOID) -{ - /* Set the handler routine */ - SetConsoleCtrlHandler(ConsoleCtrlHandler, TRUE); - - /* Enable the CTRL_LAST_CLOSE_EVENT */ - SetLastConsoleEventActive(); - - /* Get the input handle to the real console, and check for success */ - ConsoleInput = CreateFileW(L"CONIN$", - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, - OPEN_EXISTING, - 0, - NULL); - if (ConsoleInput == INVALID_HANDLE_VALUE) - { - wprintf(L"FATAL: Cannot retrieve a handle to the console input\n"); - return FALSE; - } - - /* Get the output handle to the real console, and check for success */ - ConsoleOutput = CreateFileW(L"CONOUT$", - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, - OPEN_EXISTING, - 0, - NULL); - if (ConsoleOutput == INVALID_HANDLE_VALUE) - { - CloseHandle(ConsoleInput); - wprintf(L"FATAL: Cannot retrieve a handle to the console output\n"); - return FALSE; - } - - /* Save the original input and output console modes */ - if (!GetConsoleMode(ConsoleInput , &OrgConsoleInputMode ) || - !GetConsoleMode(ConsoleOutput, &OrgConsoleOutputMode)) - { - CloseHandle(ConsoleOutput); - CloseHandle(ConsoleInput); - wprintf(L"FATAL: Cannot save console in/out modes\n"); - return FALSE; - } - - /* Initialize the UI */ - ConsoleInitUI(); - - return TRUE; -} - -VOID ConsoleCleanup(VOID) -{ - /* Restore the original input and output console modes */ - SetConsoleMode(ConsoleOutput, OrgConsoleOutputMode); - SetConsoleMode(ConsoleInput , OrgConsoleInputMode ); - - /* Cleanup the UI */ - ConsoleCleanupUI(); - - /* Close the console handles */ - if (ConsoleOutput != INVALID_HANDLE_VALUE) CloseHandle(ConsoleOutput); - if (ConsoleInput != INVALID_HANDLE_VALUE) CloseHandle(ConsoleInput); -} - -DWORD WINAPI CommandThreadProc(LPVOID Parameter) +#ifndef STANDALONE +static DWORD +WINAPI +CommandThreadProc(LPVOID Parameter) { BOOLEAN First = TRUE; DWORD Result; @@ -404,39 +432,25 @@ DWORD WINAPI CommandThreadProc(LPVOID Parameter) if (!GetNextVDMCommand(&CommandInfo)) break; /* Start the process from the command line */ - DPRINT1("Starting '%s'...\n", AppName); - - Result = DosLoadExecutable(DOS_LOAD_AND_EXECUTE, AppName, CmdLine, Env, NULL, NULL); + DPRINT1("Starting '%s' ('%s')...\n", AppName, CmdLine); + Result = DosStartProcess(AppName, CmdLine, Env); if (Result != ERROR_SUCCESS) { DisplayMessage(L"Could not start '%S'. Error: %u", AppName, Result); - break; + // break; + continue; } - /* Attach to the console */ - if (!First) VgaAttachToConsole(); - - /* Perform a screen refresh */ - VgaRefreshDisplay(); - - /* Start simulation */ - SetEvent(VdmTaskEvent); - EmulatorSimulate(); - - /* Perform another screen refresh */ - VgaRefreshDisplay(); - - /* Detach from the console */ - VgaDetachFromConsole(FALSE); - First = FALSE; } while (AcceptCommands); return 0; } +#endif -INT wmain(INT argc, WCHAR *argv[]) +INT +wmain(INT argc, WCHAR *argv[]) { #ifdef STANDALONE @@ -459,6 +473,7 @@ INT wmain(INT argc, WCHAR *argv[]) } #else + INT i; WCHAR *endptr; @@ -530,27 +545,16 @@ INT wmain(INT argc, WCHAR *argv[]) #else /* Start the process from the command line */ - DPRINT1("Starting '%s'...\n", ApplicationName); - - Result = DosLoadExecutable(DOS_LOAD_AND_EXECUTE, - ApplicationName, - CommandLine, - GetEnvironmentStrings(), - NULL, - NULL); + DPRINT1("Starting '%s' ('%s')...\n", ApplicationName, CommandLine); + Result = DosStartProcess(ApplicationName, + CommandLine, + GetEnvironmentStrings()); if (Result != ERROR_SUCCESS) { DisplayMessage(L"Could not start '%S'. Error: %u", ApplicationName, Result); goto Cleanup; } - /* Start simulation */ - SetEvent(VdmTaskEvent); - EmulatorSimulate(); - - /* Perform another screen refresh */ - VgaRefreshDisplay(); - #endif Cleanup: diff --git a/subsystems/ntvdm/ntvdm.h b/subsystems/ntvdm/ntvdm.h index 3555ce41d6b..4686c05e77d 100644 --- a/subsystems/ntvdm/ntvdm.h +++ b/subsystems/ntvdm/ntvdm.h @@ -28,13 +28,22 @@ #include +DWORD WINAPI SetLastConsoleEventActive(VOID); + #include -DWORD WINAPI SetLastConsoleEventActive(VOID); +/* + * Activate this line if you want to run NTVDM in standalone mode with: + * ntvdm.exe + */ +// #define STANDALONE /* FUNCTIONS ******************************************************************/ +#ifndef STANDALONE extern ULONG SessionId; +#endif + extern HANDLE VdmTaskEvent; VOID DisplayMessage(LPCWSTR Format, ...); diff --git a/win32ss/drivers/videoprt/child.c b/win32ss/drivers/videoprt/child.c index 96df9228212..bfca7069b1d 100644 --- a/win32ss/drivers/videoprt/child.c +++ b/win32ss/drivers/videoprt/child.c @@ -20,6 +20,7 @@ */ #include "videoprt.h" +#include #define NDEBUG #include @@ -33,30 +34,24 @@ IntVideoPortGetMonitorId( IN OUT PWCHAR Buffer) { USHORT Manufacturer, Model; - UNICODE_STRING UnicodeModelStr; /* This must be valid to call this function */ ASSERT(ChildExtension->EdidValid); /* 3 letters 5-bit ANSI manufacturer code (big endian) */ - Manufacturer = *(PUSHORT)(&ChildExtension->ChildDescriptor[8]); - /* Letters encoded as A=1 to Z=26 */ - Buffer[0] = (WCHAR)((Manufacturer & 0x7C00) + 'A' - 1); - Buffer[1] = (WCHAR)((Manufacturer & 0x03E0) + 'A' - 1); - Buffer[2] = (WCHAR)((Manufacturer & 0x001F) + 'A' - 1); + Manufacturer = *(PUSHORT)(&ChildExtension->ChildDescriptor[8]); /* Model number (16-bit little endian) */ Model = *(PUSHORT)(&ChildExtension->ChildDescriptor[10]); - /* Use Rtl helper for conversion */ - UnicodeModelStr.Buffer = &Buffer[3]; - UnicodeModelStr.Length = 0; - UnicodeModelStr.MaximumLength = 4 * sizeof(WCHAR); - RtlIntegerToUnicodeString(Model, 16, &UnicodeModelStr); - - /* Terminate it */ - Buffer[7] = UNICODE_NULL; + /* Convert the Monitor ID to a readable form */ + swprintf(Buffer, + L"%C%C%C%04hx", + (WCHAR)((Manufacturer >> 10 & 0x001F) + 'A' - 1), + (WCHAR)((Manufacturer >> 5 & 0x001F) + 'A' - 1), + (WCHAR)((Manufacturer & 0x001F) + 'A' - 1), + Model); /* And we're done */ return TRUE; diff --git a/win32ss/gdi/eng/engevent.c b/win32ss/gdi/eng/engevent.c index ab6e8acb48d..77b00a4006f 100644 --- a/win32ss/gdi/eng/engevent.c +++ b/win32ss/gdi/eng/engevent.c @@ -134,7 +134,7 @@ EngMapEvent( /* Create a handle, and have Ob fill out the pKEvent field */ Status = ObReferenceObjectByHandle(EngEvent, EVENT_ALL_ACCESS, - ExEventObjectType, + *ExEventObjectType, UserMode, &EngEvent->pKEvent, NULL); diff --git a/win32ss/gdi/eng/mem.c b/win32ss/gdi/eng/mem.c index 7d887b1247e..26f9aec6fc1 100644 --- a/win32ss/gdi/eng/mem.c +++ b/win32ss/gdi/eng/mem.c @@ -114,7 +114,7 @@ HackSecureVirtualMemory( else if (ProbeMode == PAGE_READWRITE) Operation = IoModifyAccess; else return NULL; - pmdl = IoAllocateMdl(Address, Size, FALSE, TRUE, NULL); + pmdl = IoAllocateMdl(Address, (ULONG)Size, FALSE, TRUE, NULL); if (pmdl == NULL) { return NULL; diff --git a/win32ss/user/ntuser/main.c b/win32ss/user/ntuser/main.c index 4485c5d4929..905fa04e503 100644 --- a/win32ss/user/ntuser/main.c +++ b/win32ss/user/ntuser/main.c @@ -320,7 +320,7 @@ UserCreateThreadInfo(struct _ETHREAD *Thread) goto error; } Status = ObReferenceObjectByHandle(ptiCurrent->hEventQueueClient, 0, - ExEventObjectType, KernelMode, + *ExEventObjectType, KernelMode, (PVOID*)&ptiCurrent->pEventQueueServer, NULL); if (!NT_SUCCESS(Status)) { diff --git a/win32ss/user/ntuser/message.c b/win32ss/user/ntuser/message.c index a9e2256d3eb..c458230a0c9 100644 --- a/win32ss/user/ntuser/message.c +++ b/win32ss/user/ntuser/message.c @@ -1548,7 +1548,7 @@ co_IntSendMessageWithCallBack( HWND hWnd, { RETURN(FALSE); } - + ptiSendTo = IntSendTo(Window, Win32Thread, Msg); if (Msg & 0x80000000 && @@ -2755,7 +2755,7 @@ NtUserMessageCall( HWND hWnd, ((ClientInfo->CI_flags & CI_CURTHPRHOOK) ? 1 : 0), (LPARAM)&CWP, Hook->Proc, - Hook->ihmod, + Hook->ihmod, Hook->offPfn, Hook->Ansi, &Hook->ModuleName); @@ -2774,7 +2774,7 @@ NtUserMessageCall( HWND hWnd, ((ClientInfo->CI_flags & CI_CURTHPRHOOK) ? 1 : 0), (LPARAM)&CWPR, Hook->Proc, - Hook->ihmod, + Hook->ihmod, Hook->offPfn, Hook->Ansi, &Hook->ModuleName); @@ -2833,7 +2833,7 @@ NtUserWaitForInputIdle( IN HANDLE hProcess, Status = ObReferenceObjectByHandle(hProcess, PROCESS_QUERY_INFORMATION, - PsProcessType, + *PsProcessType, UserMode, (PVOID*)&Process, NULL); diff --git a/win32ss/user/ntuser/misc.c b/win32ss/user/ntuser/misc.c index 52f0abe377c..4b64a13a89c 100644 --- a/win32ss/user/ntuser/misc.c +++ b/win32ss/user/ntuser/misc.c @@ -223,7 +223,7 @@ NtUserGetThreadState( break; case THREADSTATE_INSENDMESSAGE: { - PUSER_SENT_MESSAGE Message = + PUSER_SENT_MESSAGE Message = ((PTHREADINFO)PsGetCurrentThreadWin32Thread())->pusmCurrent; ERR("THREADSTATE_INSENDMESSAGE\n"); @@ -243,7 +243,7 @@ NtUserGetThreadState( if (Message->QS_Flags & QS_SMRESULT) ret |= ISMEX_REPLIED; } - break; + break; } case THREADSTATE_GETMESSAGETIME: ret = ((PTHREADINFO)PsGetCurrentThreadWin32Thread())->timeLast; @@ -289,7 +289,7 @@ NtUserSetThreadState( DWORD Ret = 0; // Test the only flags user can change. if (Set & ~(QF_FF10STATUS|QF_DIALOGACTIVE|QF_TABSWITCHING|QF_FMENUSTATUS|QF_FMENUSTATUSBREAK)) return 0; - if (Flags & ~(QF_FF10STATUS|QF_DIALOGACTIVE|QF_TABSWITCHING|QF_FMENUSTATUS|QF_FMENUSTATUSBREAK)) return 0; + if (Flags & ~(QF_FF10STATUS|QF_DIALOGACTIVE|QF_TABSWITCHING|QF_FMENUSTATUS|QF_FMENUSTATUSBREAK)) return 0; UserEnterExclusive(); pti = PsGetCurrentThreadWin32Thread(); if (pti->MessageQueue) @@ -448,7 +448,7 @@ NtUserGetGuiResources( Status = ObReferenceObjectByHandle(hProcess, PROCESS_QUERY_INFORMATION, - PsProcessType, + *PsProcessType, ExGetPreviousMode(), (PVOID*)&Process, NULL); @@ -656,7 +656,7 @@ void UserDbgAssertThreadInfo(BOOL showCaller) ASSERT(pci->ulClientDelta == DesktopHeapGetUserDelta()); if (pti->pcti && pci->pDeskInfo) ASSERT(pci->pClientThreadInfo == (PVOID)((ULONG_PTR)pti->pcti - pci->ulClientDelta)); - if (pti->KeyboardLayout) + if (pti->KeyboardLayout) ASSERT(pci->hKL == pti->KeyboardLayout->hkl); if(pti->rpdesk != NULL) ASSERT(pti->pDeskInfo == pti->rpdesk->pDeskInfo); diff --git a/win32ss/user/ntuser/misc/rtlstr.c b/win32ss/user/ntuser/misc/rtlstr.c index e4ee395c39d..73c92bf7bde 100644 --- a/win32ss/user/ntuser/misc/rtlstr.c +++ b/win32ss/user/ntuser/misc/rtlstr.c @@ -19,11 +19,11 @@ RtlInitLargeAnsiString( IN PCSZ SourceString, IN INT Unknown) { - ULONG DestSize; + USHORT DestSize; if (SourceString) { - DestSize = strlen(SourceString); + DestSize = (USHORT)strlen(SourceString); DestinationString->Length = DestSize; DestinationString->MaximumLength = DestSize + sizeof(CHAR); } @@ -44,11 +44,11 @@ RtlInitLargeUnicodeString( IN PCWSTR SourceString, IN INT Unknown) { - ULONG DestSize; + USHORT DestSize; if (SourceString) { - DestSize = wcslen(SourceString) * sizeof(WCHAR); + DestSize = (USHORT)wcslen(SourceString) * sizeof(WCHAR); DestinationString->Length = DestSize; DestinationString->MaximumLength = DestSize + sizeof(WCHAR); } diff --git a/win32ss/user/ntuser/winpos.c b/win32ss/user/ntuser/winpos.c index 5ad490abfb6..f11f57c6553 100644 --- a/win32ss/user/ntuser/winpos.c +++ b/win32ss/user/ntuser/winpos.c @@ -1710,6 +1710,7 @@ co_WinPosSetWindowPos( RECTL valid_rects[2]; PROSRGNDATA VisRgn; HRGN VisBefore = NULL; + HRGN VisBeforeJustClient = NULL; HRGN VisAfter = NULL; HRGN DirtyRgn = NULL; HRGN ExposedRgn = NULL; @@ -1806,6 +1807,28 @@ co_WinPosSetWindowPos( RGNOBJAPI_Unlock(VisRgn); NtGdiOffsetRgn(VisBefore, -Window->rcWindow.left, -Window->rcWindow.top); } + + /* Calculate the non client area for resizes, as this is used in the copy region */ + if (!(WinPos.flags & SWP_NOSIZE)) + { + VisBeforeJustClient = VIS_ComputeVisibleRegion(Window, TRUE, FALSE, + (Window->style & WS_CLIPSIBLINGS) ? TRUE : FALSE); + VisRgn = NULL; + + if ( VisBeforeJustClient != NULL && + (VisRgn = (PROSRGNDATA)RGNOBJAPI_Lock(VisBeforeJustClient, NULL)) && + REGION_Complexity(VisRgn) == NULLREGION ) + { + RGNOBJAPI_Unlock(VisRgn); + GreDeleteObject(VisBeforeJustClient); + VisBeforeJustClient = NULL; + } + else if(VisRgn) + { + RGNOBJAPI_Unlock(VisRgn); + NtGdiOffsetRgn(VisBeforeJustClient, -Window->rcWindow.left, -Window->rcWindow.top); + } + } } } @@ -1909,8 +1932,6 @@ co_WinPosSetWindowPos( ((WinPos.flags & SWP_NOSIZE) || !(WvrFlags & WVR_REDRAW)) && !(Window->ExStyle & WS_EX_TRANSPARENT) ) { - CopyRgn = IntSysCreateRectRgn(0, 0, 0, 0); - RgnType = NtGdiCombineRgn(CopyRgn, VisAfter, VisBefore, RGN_AND); /* * If this is (also) a window resize, the whole nonclient area @@ -1920,19 +1941,14 @@ co_WinPosSetWindowPos( * we don't have to crop (can't take anything away from an empty * region...) */ - if (!(WinPos.flags & SWP_NOSIZE) && - RgnType != ERROR && - RgnType != NULLREGION ) + + CopyRgn = IntSysCreateRectRgn(0, 0, 0, 0); + if (WinPos.flags & SWP_NOSIZE) + RgnType = NtGdiCombineRgn(CopyRgn, VisAfter, VisBefore, RGN_AND); + else if (VisBeforeJustClient != NULL) { - PROSRGNDATA pCopyRgn; - RECTL ORect = OldClientRect; - RECTL NRect = NewClientRect; - RECTL_vOffsetRect(&ORect, - OldWindowRect.left, - OldWindowRect.top); - RECTL_vOffsetRect(&NRect, - NewWindowRect.left, - NewWindowRect.top); - RECTL_bIntersectRect(&CopyRect, &ORect, &NRect); - pCopyRgn = RGNOBJAPI_Lock(CopyRgn, NULL); - REGION_CropAndOffsetRegion(pCopyRgn, pCopyRgn, &CopyRect, NULL); - RGNOBJAPI_Unlock(pCopyRgn); + RgnType = NtGdiCombineRgn(CopyRgn, VisAfter, VisBeforeJustClient, RGN_AND); + GreDeleteObject(VisBeforeJustClient); } /* No use in copying bits which are in the update region. */ diff --git a/win32ss/user/user32/windows/accel.c b/win32ss/user/user32/windows/accel.c index 40db647e99a..cc25f91486e 100644 --- a/win32ss/user/user32/windows/accel.c +++ b/win32ss/user/user32/windows/accel.c @@ -344,21 +344,26 @@ HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccl, int cEntries) */ int WINAPI TranslateAcceleratorA(HWND hWnd, HACCEL hAccTable, LPMSG lpMsg) { - MSG mCopy = *lpMsg; - CHAR cChar; - WCHAR wChar; - NTSTATUS Status; + switch (lpMsg->message) + { + case WM_KEYDOWN: + case WM_SYSKEYDOWN: + return TranslateAcceleratorW( hWnd, hAccTable, lpMsg ); - if(!U32IsValidAccelMessage(lpMsg->message)) return 0; + case WM_CHAR: + case WM_SYSCHAR: + { + MSG msgW = *lpMsg; + char ch = LOWORD(lpMsg->wParam); + WCHAR wch; + MultiByteToWideChar(CP_ACP, 0, &ch, 1, &wch, 1); + msgW.wParam = MAKEWPARAM(wch, HIWORD(lpMsg->wParam)); + return TranslateAcceleratorW( hWnd, hAccTable, &msgW ); + } - Status = RtlMultiByteToUnicodeN(&wChar, sizeof(wChar), NULL, &cChar, sizeof(cChar)); - if(!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return 0; - } - - return TranslateAcceleratorW(hWnd, hAccTable, &mCopy); + default: + return 0; + } } /* EOF */ diff --git a/win32ss/w32ksvc.h b/win32ss/w32ksvc.h index a780e82a0b0..3b6db971587 100644 --- a/win32ss/w32ksvc.h +++ b/win32ss/w32ksvc.h @@ -1,6 +1,6 @@ // SVC_(, ) // -// Funcs, order, should, match, Windows, XP, 5.1.2600, SP2) +// Funcs order should match Windows XP 5.1.2600 SP2 // SVC_(GdiAbortDoc, 1) SVC_(GdiAbortPath, 1) @@ -235,7 +235,7 @@ SVC_(GdiMonoBitmap, 1) SVC_(GdiMoveTo, 4) SVC_(GdiOffsetClipRgn, 3) SVC_(GdiOffsetRgn, 3) -SVC_(GdiOpenDCW, 8) +SVC_(GdiOpenDCW, 8) /* FIXME: 7 params on XP/2k3 */ SVC_(GdiPatBlt, 6) SVC_(GdiPolyPatBlt, 5) SVC_(GdiPathToRegion, 1) @@ -374,8 +374,7 @@ SVC_(UserEndDeferWindowPosEx, 2) SVC_(UserEndMenu, 0) SVC_(UserEndPaint, 2) SVC_(UserEnumDisplayDevices, 4) -// SVC_(UserEnumDisplayMonitors, 4, Wrong, number, of, param, ?) -SVC_(UserEnumDisplayMonitors, 5) +SVC_(UserEnumDisplayMonitors, 5) /* FIXME: 4 on XP/2k3 */ SVC_(UserEnumDisplaySettings, 4) SVC_(UserEvent, 1) SVC_(UserExcludeUpdateRgn, 2) @@ -496,7 +495,7 @@ SVC_(UserRealInternalGetMessage, 6) SVC_(UserRealWaitMessageEx, 2) SVC_(UserRedrawWindow, 4) SVC_(UserRegisterClassExWOW, 7) -SVC_(UserRegisterUserApiHook, 4) +SVC_(UserRegisterUserApiHook, 4) /* Note: 2 params on XP, 4 on 2k3 */ SVC_(UserRegisterHotKey, 4) SVC_(UserRegisterRawInputDevices, 3) SVC_(UserRegisterTasklist, 1) @@ -590,7 +589,7 @@ SVC_(UserUnregisterUserApiHook, 0) SVC_(UserUnregisterHotKey, 2) SVC_(UserUpdateInputContext, 3) SVC_(UserUpdateInstance, 3) -SVC_(UserUpdateLayeredWindow, 10) +SVC_(UserUpdateLayeredWindow, 10) /* Note: 9 params on XP, 10 on 2k3 */ SVC_(UserGetLayeredWindowAttributes, 4) SVC_(UserSetLayeredWindowAttributes, 4) SVC_(UserUpdatePerUserSystemParameters, 2)