From 5dbfbb5201a915bc65d88f5818afc81cc6f54231 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Sun, 13 Jun 2010 23:05:40 +0000 Subject: [PATCH] Sync reg, xcopy, iexplore, winhlp32, wordpad, write, msiexec with Wine 1.3 RC3 svn path=/trunk/; revision=47776 --- reactos/base/applications/cmdutils/reg/Da.rc | 14 +- reactos/base/applications/cmdutils/reg/Es.rc | 40 ++++ reactos/base/applications/cmdutils/reg/Nl.rc | 6 +- reactos/base/applications/cmdutils/reg/Pl.rc | 6 + .../base/applications/cmdutils/reg/rsrc.rc | 3 +- .../base/applications/cmdutils/xcopy/Nl.rc | 46 ++-- .../base/applications/cmdutils/xcopy/xcopy.c | 6 +- .../base/applications/iexplore/iexplore.ico | Bin 0 -> 25214 bytes .../applications/iexplore/iexplore.rbuild | 2 +- .../iexplore/{version.rc => iexplore.rc} | 3 + reactos/base/applications/winhlp32/Da.rc | 64 ++++-- reactos/base/applications/winhlp32/It.rc | 42 +++- reactos/base/applications/winhlp32/Nl.rc | 24 ++- reactos/base/applications/winhlp32/Uk.rc | 202 ++++++++++++++++++ reactos/base/applications/winhlp32/hlpfile.c | 38 +++- reactos/base/applications/winhlp32/macro.c | 19 +- reactos/base/applications/winhlp32/rsrc.rc | 3 +- reactos/base/applications/winhlp32/string.c | 1 - reactos/base/applications/winhlp32/winhelp.c | 94 ++++---- reactos/base/applications/winhlp32/winhelp.h | 1 - .../base/applications/winhlp32/winhelp.ico | Bin 15086 -> 25214 bytes reactos/base/applications/wordpad/Da.rc | 86 ++++---- reactos/base/applications/wordpad/De.rc | 11 +- reactos/base/applications/wordpad/En.rc | 3 + reactos/base/applications/wordpad/Fr.rc | 22 +- reactos/base/applications/wordpad/It.rc | 19 +- reactos/base/applications/wordpad/Ja.rc | 47 ++-- reactos/base/applications/wordpad/Ko.rc | 3 + reactos/base/applications/wordpad/Lt.rc | 9 +- reactos/base/applications/wordpad/Nl.rc | 85 ++++---- reactos/base/applications/wordpad/Pl.rc | 40 ++-- reactos/base/applications/wordpad/Si.rc | 13 +- .../base/applications/wordpad/formatbar.bmp | Bin 1142 -> 8314 bytes reactos/base/applications/wordpad/print.c | 5 +- reactos/base/applications/wordpad/rsrc.rc | 15 +- reactos/base/applications/wordpad/rtf.ico | Bin 2238 -> 0 bytes reactos/base/applications/wordpad/toolbar.bmp | Bin 246 -> 1146 bytes reactos/base/applications/wordpad/txt.ico | Bin 2238 -> 0 bytes reactos/base/applications/wordpad/wordpad.c | 136 ++++++++---- reactos/base/applications/wordpad/wordpad.h | 8 +- reactos/base/applications/wordpad/wordpad.ico | Bin 15086 -> 25214 bytes reactos/base/applications/wordpad/wri.ico | Bin 2238 -> 0 bytes reactos/base/applications/write/Da.rc | 29 +++ reactos/base/applications/write/Es.rc | 32 +++ reactos/base/applications/write/rsrc.rc | 2 + reactos/base/system/msiexec/msiexec.c | 76 +++---- 46 files changed, 859 insertions(+), 396 deletions(-) create mode 100644 reactos/base/applications/cmdutils/reg/Es.rc create mode 100644 reactos/base/applications/iexplore/iexplore.ico rename reactos/base/applications/iexplore/{version.rc => iexplore.rc} (95%) create mode 100644 reactos/base/applications/winhlp32/Uk.rc delete mode 100644 reactos/base/applications/wordpad/rtf.ico delete mode 100644 reactos/base/applications/wordpad/txt.ico delete mode 100644 reactos/base/applications/wordpad/wri.ico create mode 100644 reactos/base/applications/write/Da.rc create mode 100644 reactos/base/applications/write/Es.rc diff --git a/reactos/base/applications/cmdutils/reg/Da.rc b/reactos/base/applications/cmdutils/reg/Da.rc index 353b94dc0fa..ccdcf4ce355 100644 --- a/reactos/base/applications/cmdutils/reg/Da.rc +++ b/reactos/base/applications/cmdutils/reg/Da.rc @@ -3,6 +3,7 @@ * Danish language support * * Copyright 2008 Jens Albretsen + * 2010 Thomas Larsen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,12 +22,19 @@ #include "reg.h" +#pragma code_page(65001) + LANGUAGE LANG_DANISH, SUBLANG_DEFAULT STRINGTABLE { STRING_USAGE, "Syntaksen for dette kommando er:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" - STRING_ADD_USAGE, "REG ADD ngle_navn [/v vrdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" - STRING_DELETE_USAGE, "REG DELETE ngle_navn [/v vrdi | /ve | /va] [/f]\n" - STRING_QUERY_USAGE, "REG QUERY ngle_navn [/v vrdi | /ve] [/s]\n" + STRING_ADD_USAGE, "REG ADD nøgle_navn [/v værdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nøgle_navn [/v værdi | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nøgle_navn [/v værdi | /ve] [/s]\n" + STRING_SUCCESS, "Operationen blev afsluttet med succes\n" + STRING_INVALID_KEY, "Fejl: Ugyldigt nøgle navn\n" + STRING_INVALID_CMDLINE, "Fejl: Ugyldige kommando linje parametre\n" + STRING_NO_REMOTE, "Fejl: Kunne ikke tilføje nøgler til fjern maskinen\n" + STRING_CANNOT_FIND, "Fejl: Systemet kunne ikke finde, den angivet registrerings nøgle eller værdi\n" } diff --git a/reactos/base/applications/cmdutils/reg/Es.rc b/reactos/base/applications/cmdutils/reg/Es.rc new file mode 100644 index 00000000000..9155327046a --- /dev/null +++ b/reactos/base/applications/cmdutils/reg/Es.rc @@ -0,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Spanish language support + * + * Copyright 2010 José Rostagno + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +{ + STRING_USAGE, "La sintaxis de este comando es:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" + STRING_ADD_USAGE, "REG ADD nombre_clave [/v nombre_valor | /ve] [/t tipo] [/s separador] [/d datos] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nombre_clave [/v nombre_valor | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nombre_clave [/v nombre_valor | /ve] [/s]\n" + STRING_SUCCESS, "La operación finalizó con éxito\n" + STRING_INVALID_KEY, "Error: nombre de clave no válido\n" + STRING_INVALID_CMDLINE, "Error: parámetros de línea de comandos inválidos\n" + STRING_NO_REMOTE, "Error: No se puede agregar claves al equipo remoto\n" + STRING_CANNOT_FIND, "Error: El sistema no pudo encontrar la clave o el valor del Registro especificado\n" +} diff --git a/reactos/base/applications/cmdutils/reg/Nl.rc b/reactos/base/applications/cmdutils/reg/Nl.rc index c34e39507a5..22a72a453ee 100644 --- a/reactos/base/applications/cmdutils/reg/Nl.rc +++ b/reactos/base/applications/cmdutils/reg/Nl.rc @@ -30,8 +30,8 @@ STRINGTABLE STRING_DELETE_USAGE, "REG DELETE sleutel_naam [/v waarde_naam | /ve | /va] [/f]\n" STRING_QUERY_USAGE, "REG QUERY sleutel_naam [/v waarde_naam | /ve] [/s]\n" STRING_SUCCESS, "De bewerking is succesvol voltooid\n" - STRING_INVALID_KEY, "Fout: Foutieve sleutel naam\n" - STRING_INVALID_CMDLINE, "Fout: Foutieve commando regel parameters\n" + STRING_INVALID_KEY, "Fout: Foutieve sleutelnaam\n" + STRING_INVALID_CMDLINE, "Fout: Foutieve commandoregel-parameters\n" STRING_NO_REMOTE, "Fout: Sleutels konden niet toegevoegd worden aan de remote machine\n" - STRING_CANNOT_FIND, "Fout: Het systeem kon de gespecificeerde registry sleutel of waarde niet vinden\n" + STRING_CANNOT_FIND, "Fout: Het systeem kon de gespecificeerde registersleutel of waarde niet vinden\n" } diff --git a/reactos/base/applications/cmdutils/reg/Pl.rc b/reactos/base/applications/cmdutils/reg/Pl.rc index 01c42445324..ce6e64fb754 100644 --- a/reactos/base/applications/cmdutils/reg/Pl.rc +++ b/reactos/base/applications/cmdutils/reg/Pl.rc @@ -4,6 +4,7 @@ * * Copyright 2008 Andrew Riedi * Copyright 2008 Mikolaj Zalewski + * Copyright 2010 ukasz Wojniowicz * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -30,4 +31,9 @@ STRINGTABLE STRING_ADD_USAGE, "REG ADD nazwa_klucza [/v nazwa_wartoci | /ve] [/t typ] [/s separator] [/d dane] [/f]\n" STRING_DELETE_USAGE, "REG DELETE nazwa_klucza [/v nazwa_wartoci | /ve | /va] [/f]\n" STRING_QUERY_USAGE, "REG QUERY nazwa_klucza [/v nazwa_wartoci | /ve] [/s]\n" + STRING_SUCCESS, "Operacja zakoczona pomylnie\n" + STRING_INVALID_KEY, "Bd: Niewaciwa nazwa klucza\n" + STRING_INVALID_CMDLINE, "Bd: Niewaciwe parametry wiersza polece\n" + STRING_NO_REMOTE, "Bd: Nie mona doda kluczy do zdalnej maszyny\n" + STRING_CANNOT_FIND, "Bd: System nie mg znale podanej wartoci lub klucza rejestru\n" } diff --git a/reactos/base/applications/cmdutils/reg/rsrc.rc b/reactos/base/applications/cmdutils/reg/rsrc.rc index c145fe91a21..1e59d3ef5ca 100644 --- a/reactos/base/applications/cmdutils/reg/rsrc.rc +++ b/reactos/base/applications/cmdutils/reg/rsrc.rc @@ -1,11 +1,12 @@ -#include "Da.rc" #include "En.rc" #include "Ko.rc" #include "Nl.rc" #include "Pl.rc" /* UTF-8 */ +#include "Da.rc" #include "De.rc" +#include "Es.rc" #include "Fr.rc" #include "It.rc" #include "Ja.rc" diff --git a/reactos/base/applications/cmdutils/xcopy/Nl.rc b/reactos/base/applications/cmdutils/xcopy/Nl.rc index 4f5dee58b59..f52a63d486a 100644 --- a/reactos/base/applications/cmdutils/xcopy/Nl.rc +++ b/reactos/base/applications/cmdutils/xcopy/Nl.rc @@ -29,15 +29,15 @@ STRINGTABLE { STRING_INVPARMS, "Onjuist aantal parameters - Gebruik xcopy /? om hulp te krijgen\n" STRING_INVPARM, "Onjuiste parameter '%s' - Gebruik xcopy /? om hulp te krijgen\n" - STRING_PAUSE, "Druk op om te beginnen met copiëren\n" - STRING_SIMCOPY, "%d bestand(en) zouden worden gecopiëerd\n" - STRING_COPY, "%d bestand(en) gecopiëerd\n" - STRING_QISDIR, "Is '%s' een bestand of een directory\n" \ + STRING_PAUSE, "Druk op om te beginnen met kopiëren\n" + STRING_SIMCOPY, "%d bestand(en) zouden worden gekopieerd\n" + STRING_COPY, "%d bestand(en) gekopieerd\n" + STRING_QISDIR, "Is '%s' een bestand of een map\n" \ "op de bestemming?\n" \ "(B - Bestand, D - Directory)\n" STRING_SRCPROMPT,"%s? (Ja|Nee)\n" STRING_OVERWRITE,"Overschrijven %s? (Ja|Nee|Alles)\n" - STRING_COPYFAIL, "Copiëren van '%s' naar '%s' mislukt met r/c %d\n" + STRING_COPYFAIL, "Kopiëren van '%s' naar '%s' mislukt met r/c %d\n" STRING_OPENFAIL, "Fout tijdens openen van '%s'\n" STRING_READFAIL, "Fout tijdens lezen van '%s'\n" STRING_YES_CHAR, "J" @@ -47,7 +47,7 @@ STRINGTABLE STRING_DIR_CHAR, "D" STRING_HELP, -"XCOPY - Copiëerd bron bestanden of directory bomen naar een bestemming\n\ +"XCOPY - Kopieert bronbestanden of -mappen naar een bestemming\n\ \n\ Gebruik:\n\ XCOPY bron [bestemming] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ @@ -56,26 +56,26 @@ XCOPY bron [bestemming] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ Parameters:\n\ \n\ [/I] Als bestemming niet bestaat en 2 of meer bestanden worden\n\ -\tgecopiëerd, neem aan dat een directory werd bedoeld\n\ -[/S] Copiëer directories en subdirectories\n\ -[/E] Copiëer directories en subdirectories, inclusief lege\n\ -[/Q] Toon geen namen tijdens copiëren (stil).\n\ -[/F] Toon volledige bron- en bestemmingnamen tijdens copiëren\n\ -[/L] Simuleer de actie, toon de namen die gecopiëerd zouden worden\n\ -[/W] Wacht op gebruiker actie voordat de copiëeractie begint\n\ -[/T] Creëert de lege directory structuur maar copiëert geen bestanden\n\ +\tgekopieerd, neem aan dat een map werd bedoeld\n\ +[/S] Kopieer mappen en submappen\n\ +[/E] Kopieer mappen en submappen, inclusief lege\n\ +[/Q] Toon geen namen tijdens kopiëren (stil).\n\ +[/F] Toon volledige bron- en bestemmingnamen tijdens kopiëren\n\ +[/L] Simuleer de actie, toon de namen die gekopieerd zouden worden\n\ +[/W] Wacht op actie van de gebruiker voor het kopiëren begint\n\ +[/T] Creëert een lege mapstructuur, maar kopieert geen bestanden\n\ [/Y] Onderdrukt gebruikersactie wanneer bestanden worden overschreven\n\ [/-Y] Vraagt gebruikersactie wanneer bestanden worden overschreven\n\ -[/P] Vraagt gebruikersactie voor ieder bron bestand voor copiëren\n\ -[/N] Copiëer m.b.v korte bestandsnamen\n\ -[/U] Copiëer alleen bestanden die al bestaan op de bestemming\n\ +[/P] Vraagt gebruikersactie voor ieder bronbestand voor kopiëren\n\ +[/N] Kopieer m.b.v korte bestandsnamen\n\ +[/U] Kopieer alleen bestanden die al bestaan op de bestemming\n\ [/R] Overschrijf alle schrijf-beveiligde bestanden\n\ [/H] Inclusief verborgen en systeem bestanden\n\ -[/C] Ga door zelfs als er een fout optreed tijdens het copiëren\n\ -[/A] Copiëer alleen bestanden met archiverings attribuut aan\n\ -[/M] Copiëer alleen bestanden met archiverings attribuut aan, verwijderd\n\ -\tdit archiverings attribuut\n\ -[/D | /D:m-d-y] Copiëer nieuwe bestanden of die gewijzigd zijn na de opgegeven\n\ -\t\tdatum. Als geen detum wordt gegeven, copiëer alleen als bron nieuwer is.\n\n" +[/C] Ga door zelfs als er een fout optreed tijdens het kopiëren\n\ +[/A] Kopieer alleen bestanden met archiveringsattribuut aan\n\ +[/M] Kopieer alleen bestanden met archiveringsattribuut aan, verwijdert\n\ +\tdit archiveringsattribuut\n\ +[/D | /D:m-d-y] Kopieer bestanden die nieuw zijn of gewijzigd zijn na de opgegeven\n\ +\t\tdatum. Als geen datum wordt gegeven, kopieer alleen als bron nieuwer is.\n\n" } diff --git a/reactos/base/applications/cmdutils/xcopy/xcopy.c b/reactos/base/applications/cmdutils/xcopy/xcopy.c index f996144d543..4572374de9f 100644 --- a/reactos/base/applications/cmdutils/xcopy/xcopy.c +++ b/reactos/base/applications/cmdutils/xcopy/xcopy.c @@ -261,11 +261,13 @@ int wmain (int argc, WCHAR *argvW[]) WINE_TRACE("Destination : '%s'\n", wine_dbgstr_w(supplieddestination)); /* Extract required information from source specification */ - XCOPY_ProcessSourceParm(suppliedsource, sourcestem, sourcespec, flags); + rc = XCOPY_ProcessSourceParm(suppliedsource, sourcestem, sourcespec, flags); + if (rc != RC_OK) return rc; /* Extract required information from destination specification */ - XCOPY_ProcessDestParm(supplieddestination, destinationstem, + rc = XCOPY_ProcessDestParm(supplieddestination, destinationstem, destinationspec, sourcespec, flags); + if (rc != RC_OK) return rc; /* Trace out the resulting information */ WINE_TRACE("Resolved parameters:\n"); diff --git a/reactos/base/applications/iexplore/iexplore.ico b/reactos/base/applications/iexplore/iexplore.ico new file mode 100644 index 0000000000000000000000000000000000000000..1eae208a7027c926b1a425325ee7b4a6098f95cc GIT binary patch literal 25214 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 mm^_-dJ<%sO2Na< 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 K{BD)a_x}Noz{oZL literal 0 HcmV?d00001 diff --git a/reactos/base/applications/iexplore/iexplore.rbuild b/reactos/base/applications/iexplore/iexplore.rbuild index 807526ae86c..5fa8e6a0c14 100644 --- a/reactos/base/applications/iexplore/iexplore.rbuild +++ b/reactos/base/applications/iexplore/iexplore.rbuild @@ -6,5 +6,5 @@ gdi32 shdocvw main.c - version.rc + iexplore.rc diff --git a/reactos/base/applications/iexplore/version.rc b/reactos/base/applications/iexplore/iexplore.rc similarity index 95% rename from reactos/base/applications/iexplore/version.rc rename to reactos/base/applications/iexplore/iexplore.rc index bc80f6c1a56..f37481a309d 100644 --- a/reactos/base/applications/iexplore/version.rc +++ b/reactos/base/applications/iexplore/iexplore.rc @@ -25,3 +25,6 @@ #define WINE_PRODUCTVERSION_STR "6.0.2900.2180" #include "wine/wine_common_ver.rc" + +/* @makedep: iexplore.ico */ +1 ICON iexplore.ico diff --git a/reactos/base/applications/winhlp32/Da.rc b/reactos/base/applications/winhlp32/Da.rc index fc15eeba7d5..20e3331bd51 100644 --- a/reactos/base/applications/winhlp32/Da.rc +++ b/reactos/base/applications/winhlp32/Da.rc @@ -4,6 +4,7 @@ * Copyright 1997 Henrik Olsen * Copyright 2002 Sylvain Petreolle * Copyright 2008 Jens Albretsen + * 2010 Thomas Larsen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,12 +23,16 @@ #include "winhelp_res.h" +#pragma code_page(65001) + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + /* Menu */ -MAIN_MENU MENU LANGUAGE LANG_DANISH, SUBLANG_DEFAULT +MAIN_MENU MENU { POPUP "&Filer" { - MENUITEM "&ben...", MNID_FILE_OPEN + MENUITEM "Å&ben...", MNID_FILE_OPEN MENUITEM SEPARATOR MENUITEM "&Udskriv emne", MNID_FILE_PRINT MENUITEM "&Indstil printer", MNID_FILE_SETUP @@ -37,9 +42,9 @@ MAIN_MENU MENU LANGUAGE LANG_DANISH, SUBLANG_DEFAULT POPUP "&Rediger" { MENUITEM "K&opier...", MNID_EDIT_COPYDLG MENUITEM SEPARATOR - MENUITEM "&Anmrk...", MNID_EDIT_ANNOTATE + MENUITEM "&Anmærk...", MNID_EDIT_ANNOTATE } - POPUP "Bog&mrke" { + POPUP "Bog&mærke" { MENUITEM "&Definer...", MNID_BKMK_DEFINE } POPUP "&Options" { @@ -58,18 +63,18 @@ MAIN_MENU MENU LANGUAGE LANG_DANISH, SUBLANG_DEFAULT END MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } - POPUP "&Hjlp" { - MENUITEM "&Brug af Hjlp", MNID_HELP_HELPON - MENUITEM "Altid &verst", MNID_HELP_HELPTOP + POPUP "&Hjælp" { + MENUITEM "&Brug af Hjælp", MNID_HELP_HELPON + MENUITEM "Altid &øverst", MNID_HELP_HELPTOP MENUITEM SEPARATOR MENUITEM "&Information...", MNID_HELP_ABOUT #ifdef WINELIB - MENUITEM "Om &WINE", MNID_HELP_WINE + MENUITEM "Om &Wine", MNID_HELP_WINE #endif } } -IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_DANISH, SUBLANG_DEFAULT +IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Index" @@ -77,21 +82,52 @@ CAPTION "Index" LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER } -/* Strings */ -STRINGTABLE DISCARDABLE LANGUAGE LANG_DANISH, SUBLANG_DEFAULT +IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Søg" { -STID_WINE_HELP, "WINE Hjlp" + LTEXT "Er ikke blevet implementeret endnu", -1, 10, 10, 180, 150 +} + +/* Strings */ +STRINGTABLE DISCARDABLE +{ +STID_WINE_HELP, "Wine Hjælp" STID_WHERROR, "FEJL" STID_WARNING, "ADVARSEL" STID_INFO, "Information" STID_NOT_IMPLEMENTED, "Ikke implementeret" -STID_HLPFILE_ERROR_s, "Fejl ved indlsning af filen `%s'" +STID_HLPFILE_ERROR_s, "Fejl ved indlæsning af filen `%s'" STID_INDEX, "&Indhold" STID_CONTENTS, "Summary" STID_BACK, "&Tilbage" STID_ALL_FILES, "Alle filer (*.*)" -STID_HELP_FILES_HLP, "Hjlpe filer (*.hlp)" +STID_HELP_FILES_HLP, "Hjælpe filer (*.hlp)" STID_FILE_NOT_FOUND_s "Kan ikke finde '%s'. Vil du selv finde filen?" STID_NO_RICHEDIT "Kan ikke finde en 'richedit' implementering... Afbryder" STID_PSH_INDEX, "Help topics: " } + +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Notat...", MNID_CTXT_ANNOTATE + MENUITEM "Kopier", MNID_CTXT_COPY + MENUITEM "Udskriv...", MNID_CTXT_PRINT + POPUP "Skrifttype" + BEGIN + MENUITEM "Lille", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Stor", MNID_CTXT_FONTS_LARGE + END + POPUP "Bevar Hjælp øverst" + BEGIN + MENUITEM "Standard", MNID_CTXT_HELP_DEFAULT + MENUITEM "Synlig", MNID_CTXT_HELP_VISIBLE + MENUITEM "Usynlig", MNID_CTXT_HELP_NONVISIBLE + END + MENUITEM "Benyt systemfarver", MNID_CTXT_SYSTEM_COLORS + END +END diff --git a/reactos/base/applications/winhlp32/It.rc b/reactos/base/applications/winhlp32/It.rc index b5c53929bf4..44b2481e319 100644 --- a/reactos/base/applications/winhlp32/It.rc +++ b/reactos/base/applications/winhlp32/It.rc @@ -59,7 +59,7 @@ MAIN_MENU MENU LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL END MENUITEM "Usa colori di sistema", MNID_OPTS_SYSTEM_COLORS } - POPUP "&?" { + POPUP "&Aiuto" { MENUITEM "&Aiuto sulla guida", MNID_HELP_HELPON MENUITEM "Sempre in primo &piano", MNID_HELP_HELPTOP MENUITEM SEPARATOR @@ -70,8 +70,23 @@ MAIN_MENU MENU LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL } } -/* Strings */ +IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Indice" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} +IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Cerca" +{ + LTEXT "Non implementato.", -1, 10, 10, 180, 150 +} + +/* Strings */ STRINGTABLE DISCARDABLE LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL { STID_WINE_HELP, "Guida di WINE" @@ -89,3 +104,26 @@ STID_FILE_NOT_FOUND_s "Non è stato possibile trovare '%s'. Vuoi cercare questo STID_NO_RICHEDIT "Non è stato possibile trovare un'implementazione richedit... Annullando" STID_PSH_INDEX, "Argomenti di aiuto: " } + +CONTEXT_MENU MENU LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotazione...", MNID_CTXT_ANNOTATE + MENUITEM "Copia", MNID_CTXT_COPY + MENUITEM "Stampa...", MNID_CTXT_PRINT + POPUP "Caratteri" + BEGIN + MENUITEM "Piccolo", MNID_CTXT_FONTS_SMALL + MENUITEM "Normale", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grande", MNID_CTXT_FONTS_LARGE + END + POPUP "Aiuto sempre visibile" + BEGIN + MENUITEM "Default", MNID_CTXT_HELP_DEFAULT + MENUITEM "Visibile", MNID_CTXT_HELP_VISIBLE + MENUITEM "Non visibile", MNID_CTXT_HELP_NONVISIBLE + END + MENUITEM "Usa i colori di sistema", MNID_CTXT_SYSTEM_COLORS + END +END diff --git a/reactos/base/applications/winhlp32/Nl.rc b/reactos/base/applications/winhlp32/Nl.rc index 029d58265b9..0a4594aa07b 100644 --- a/reactos/base/applications/winhlp32/Nl.rc +++ b/reactos/base/applications/winhlp32/Nl.rc @@ -23,15 +23,17 @@ #pragma code_page(65001) +LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL + /* Menu */ -MAIN_MENU MENU LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +MAIN_MENU MENU { POPUP "&Bestand" { MENUITEM "&Openen", MNID_FILE_OPEN MENUITEM SEPARATOR MENUITEM "Af&drukken", MNID_FILE_PRINT - MENUITEM "&Printerinstellingen...", MNID_FILE_SETUP + MENUITEM "&Pagina-instellingen...", MNID_FILE_SETUP MENUITEM SEPARATOR MENUITEM "&Afsluiten", MNID_FILE_EXIT } @@ -50,7 +52,7 @@ MAIN_MENU MENU LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL MENUITEM "Zichtbaar", MNID_OPTS_HELP_VISIBLE MENUITEM "Niet zichtbaar", MNID_OPTS_HELP_NONVISIBLE END - MENUITEM "Historie", MNID_OPTS_HISTORY + MENUITEM "Geschiedenis", MNID_OPTS_HISTORY POPUP "Lettertype" BEGIN MENUITEM "Klein", MNID_OPTS_FONTS_SMALL @@ -70,7 +72,7 @@ MAIN_MENU MENU LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL } } -IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Index" @@ -78,7 +80,7 @@ CAPTION "Index" LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER } -IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Zoeken" @@ -87,7 +89,7 @@ CAPTION "Zoeken" } /* Strings */ -STRINGTABLE DISCARDABLE LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +STRINGTABLE DISCARDABLE { STID_WINE_HELP, "Wine Help" STID_WHERROR, "FOUT" @@ -102,17 +104,17 @@ STID_ALL_FILES, "Alle bestanden (*.*)" STID_HELP_FILES_HLP, "Helpbestanden (*.hlp)" STID_FILE_NOT_FOUND_s "Kan '%s' niet openen. Wilt u zelf dit bestand zoeken?" STID_NO_RICHEDIT "Kan geen richedit implementatie vinden... Actie afgebroken" -STID_PSH_INDEX, "Help onderwerpen: " +STID_PSH_INDEX, "Help-onderwerpen: " } -CONTEXT_MENU MENU LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +CONTEXT_MENU MENU BEGIN POPUP "" BEGIN MENUITEM "Annotering...", MNID_CTXT_ANNOTATE MENUITEM "Kopiëren", MNID_CTXT_COPY - MENUITEM "Print...", MNID_CTXT_PRINT - POPUP "Lettertypes" + MENUITEM "Afdrukken ...", MNID_CTXT_PRINT + POPUP "Lettertype" BEGIN MENUITEM "Klein", MNID_CTXT_FONTS_SMALL MENUITEM "Normaal", MNID_CTXT_FONTS_NORMAL @@ -124,6 +126,6 @@ BEGIN MENUITEM "Zichtbaar", MNID_CTXT_HELP_VISIBLE MENUITEM "Onzichtbaar", MNID_CTXT_HELP_NONVISIBLE END - MENUITEM "Gebruik systeem kleuren", MNID_CTXT_SYSTEM_COLORS + MENUITEM "Gebruik systeemkleuren", MNID_CTXT_SYSTEM_COLORS END END diff --git a/reactos/base/applications/winhlp32/Uk.rc b/reactos/base/applications/winhlp32/Uk.rc new file mode 100644 index 00000000000..bf026b0eca1 --- /dev/null +++ b/reactos/base/applications/winhlp32/Uk.rc @@ -0,0 +1,202 @@ +/* + * Help Viewer + * + * Copyright 1996 Ulrich Schmid + * Copyright 2002 Sylvain Petreolle + * + * Ukrainian language support + * + * Copyright (C) 2010 Igor Paliychuk + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "winhelp_res.h" + +/* UTF-8 */ +#pragma code_page(65001) + +/* Menu */ + +MAIN_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +{ + POPUP "&Файл" { + MENUITEM "&Відкрити", MNID_FILE_OPEN + MENUITEM SEPARATOR + MENUITEM "&Друк", MNID_FILE_PRINT + MENUITEM "Налаштування &принтера...", MNID_FILE_SETUP + MENUITEM SEPARATOR + MENUITEM "В&ихід", MNID_FILE_EXIT + } + POPUP "&Правка" { + MENUITEM "&Копіювати...", MNID_EDIT_COPYDLG + MENUITEM SEPARATOR + MENUITEM "&Annotate...", MNID_EDIT_ANNOTATE + } + POPUP "&Закладка" { + MENUITEM "&Define...", MNID_BKMK_DEFINE + } + POPUP "&Налаштування" { + POPUP "Help always visible" + BEGIN + MENUITEM "За замовчуванням", MNID_OPTS_HELP_DEFAULT + MENUITEM "Видимий", MNID_OPTS_HELP_VISIBLE + MENUITEM "Невидимий", MNID_OPTS_HELP_NONVISIBLE + END + MENUITEM "Історія", MNID_OPTS_HISTORY + POPUP "Шрифти" + BEGIN + MENUITEM "Малий", MNID_OPTS_FONTS_SMALL + MENUITEM "Нормальний", MNID_OPTS_FONTS_NORMAL + MENUITEM "Великий", MNID_OPTS_FONTS_LARGE + END + MENUITEM "Використати системні кольори", MNID_OPTS_SYSTEM_COLORS + } + POPUP "&Довідка" { + MENUITEM "Help &on help", MNID_HELP_HELPON + MENUITEM "Завжди &зверху", MNID_HELP_HELPTOP + MENUITEM SEPARATOR + MENUITEM "&Інформація...", MNID_HELP_ABOUT +#ifdef WINELIB + MENUITEM "&Про Wine", MNID_HELP_WINE +#endif + } +} + +MAIN_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL +{ + POPUP "&Файл" { + MENUITEM "&Відкрити", MNID_FILE_OPEN + MENUITEM SEPARATOR + MENUITEM "&Друк", MNID_FILE_PRINT + MENUITEM "Налаштування &принтера...", MNID_FILE_SETUP + MENUITEM SEPARATOR + MENUITEM "В&ихід", MNID_FILE_EXIT + } + POPUP "&Правка" { + MENUITEM "&Копіювати...", MNID_EDIT_COPYDLG + MENUITEM SEPARATOR + MENUITEM "&Annotate...", MNID_EDIT_ANNOTATE + } + POPUP "&Закладка" { + MENUITEM "&Define...", MNID_BKMK_DEFINE + } + POPUP "&Налаштування" { + POPUP "Help always visible" + BEGIN + MENUITEM "За замовчуванням", MNID_OPTS_HELP_DEFAULT + MENUITEM "Видимий", MNID_OPTS_HELP_VISIBLE + MENUITEM "Невидимий", MNID_OPTS_HELP_NONVISIBLE + END + MENUITEM "Історія", MNID_OPTS_HISTORY + POPUP "Шрифти" + BEGIN + MENUITEM "Малий", MNID_OPTS_FONTS_SMALL + MENUITEM "Нормальний", MNID_OPTS_FONTS_NORMAL + MENUITEM "Великий", MNID_OPTS_FONTS_LARGE + END + MENUITEM "Використати системні кольори", MNID_OPTS_SYSTEM_COLORS + } + POPUP "&Довідка" { + MENUITEM "Help &on help", MNID_HELP_HELPON + MENUITEM "Завжди &зверху", MNID_HELP_HELPTOP + MENUITEM SEPARATOR + MENUITEM "&Інформація...", MNID_HELP_ABOUT +#ifdef WINELIB + MENUITEM "&Про Wine", MNID_HELP_WINE +#endif + } +} + +IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Ще не впроваджено", -1, 10, 10, 180, 150 +} + +/* Strings */ +STRINGTABLE DISCARDABLE LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +{ +STID_WINE_HELP, "Довідка Wine" +STID_WHERROR, "ПОМИЛКА" +STID_WARNING, "УВАГА" +STID_INFO, "Інформація" +STID_NOT_IMPLEMENTED, "Не впроваджено" +STID_HLPFILE_ERROR_s, "Помилка читання файлу довідки `%s'" +STID_INDEX, "&Index" +STID_CONTENTS, "Summary" +STID_BACK, "&Назад" +STID_ALL_FILES, "Всі файли (*.*)" +STID_HELP_FILES_HLP, "Файли довідки (*.hlp)" +STID_FILE_NOT_FOUND_s "Не можу знайти '%s'. Хочете знайти цей файл самотужки?" +STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Розділи Довідки: " +} + +CONTEXT_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Копіювати", MNID_CTXT_COPY + MENUITEM "Друк...", MNID_CTXT_PRINT + POPUP "Шрифти" + BEGIN + MENUITEM "Малий", MNID_CTXT_FONTS_SMALL + MENUITEM "Нормальний", MNID_CTXT_FONTS_NORMAL + MENUITEM "Великий", MNID_CTXT_FONTS_LARGE + END + POPUP "Довідка завжди видима" + BEGIN + MENUITEM "За замовчуванням", MNID_CTXT_HELP_DEFAULT + MENUITEM "Видима", MNID_CTXT_HELP_VISIBLE + MENUITEM "Невидима", MNID_CTXT_HELP_NONVISIBLE + END + MENUITEM "Використати системні кольори", MNID_CTXT_SYSTEM_COLORS + END +END + +CONTEXT_MENU MENU LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Копіювати", MNID_CTXT_COPY + MENUITEM "Друк...", MNID_CTXT_PRINT + POPUP "Шрифти" + BEGIN + MENUITEM "Малий", MNID_CTXT_FONTS_SMALL + MENUITEM "Нормальний", MNID_CTXT_FONTS_NORMAL + MENUITEM "Великий", MNID_CTXT_FONTS_LARGE + END + POPUP "Довідка завжди видима" + BEGIN + MENUITEM "За замовчуванням", MNID_CTXT_HELP_DEFAULT + MENUITEM "Видима", MNID_CTXT_HELP_VISIBLE + MENUITEM "Невидима", MNID_CTXT_HELP_NONVISIBLE + END + MENUITEM "Використати ситемні кольори", MNID_CTXT_SYSTEM_COLORS + END +END diff --git a/reactos/base/applications/winhlp32/hlpfile.c b/reactos/base/applications/winhlp32/hlpfile.c index 7031c760670..5146c38ec41 100644 --- a/reactos/base/applications/winhlp32/hlpfile.c +++ b/reactos/base/applications/winhlp32/hlpfile.c @@ -815,6 +815,34 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file, file->lpszPath, -1, HLPFILE_Hash(str), 0, 1, -1); break; + + case 0xEE: + case 0xEF: + { + const char* win = strchr(str, '>'); + int wnd = -1; + char* tgt = NULL; + + if (win) + { + for (wnd = file->numWindows - 1; wnd >= 0; wnd--) + { + if (!strcmp(win + 1, file->windows[wnd].name)) break; + } + if (wnd == -1) + WINE_WARN("Couldn't find window info for %s\n", win); + if ((tgt = HeapAlloc(GetProcessHeap(), 0, win - str + 1))) + { + memcpy(tgt, str, win - str); + tgt[win - str] = '\0'; + } + } + hslink = (HLPFILE_HOTSPOTLINK*) + HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup, + file->lpszPath, -1, HLPFILE_Hash(tgt ? tgt : str), 0, 1, wnd); + HeapFree(GetProcessHeap(), 0, tgt); + break; + } default: WINE_FIXME("unknown hotsport target 0x%x\n", start[7 + 15 * i + 0]); } @@ -1736,16 +1764,6 @@ BOOL HLPFILE_BrowsePage(HLPFILE_PAGE* page, struct RtfData* rd, if (!HLPFILE_RtfAddControl(rd, "{\\colortbl ;\\red0\\green128\\blue0;")) return FALSE; for (index = 0; index < hlpfile->numFonts; index++) { - const char* family; - switch (hlpfile->fonts[index].LogFont.lfPitchAndFamily & 0xF0) - { - case FF_MODERN: family = "modern"; break; - case FF_ROMAN: family = "roman"; break; - case FF_SWISS: family = "swiss"; break; - case FF_SCRIPT: family = "script"; break; - case FF_DECORATIVE: family = "decor"; break; - default: family = "nil"; break; - } sprintf(tmp, "\\red%d\\green%d\\blue%d;", GetRValue(hlpfile->fonts[index].color), GetGValue(hlpfile->fonts[index].color), diff --git a/reactos/base/applications/winhlp32/macro.c b/reactos/base/applications/winhlp32/macro.c index 0e48ca8643a..cd497ef3598 100644 --- a/reactos/base/applications/winhlp32/macro.c +++ b/reactos/base/applications/winhlp32/macro.c @@ -25,6 +25,7 @@ #include "windows.h" #include "commdlg.h" +#include "shellapi.h" #include "winhelp.h" #include "wine/debug.h" @@ -64,6 +65,9 @@ static WINHELP_BUTTON** MACRO_LookupButton(WINHELP_WINDOW* win, LPCSTR na return b; } +/******* some forward declarations *******/ +static void CALLBACK MACRO_JumpID(LPCSTR lpszPathWindow, LPCSTR topic_id); + /******* real macro implementation *******/ void CALLBACK MACRO_CreateButton(LPCSTR id, LPCSTR name, LPCSTR macro) @@ -352,9 +356,20 @@ static void CALLBACK MACRO_EndMPrint(void) WINE_FIXME("()\n"); } -static void CALLBACK MACRO_ExecFile(LPCSTR str1, LPCSTR str2, LONG u, LPCSTR str3) +static void CALLBACK MACRO_ExecFile(LPCSTR pgm, LPCSTR args, LONG cmd_show, LPCSTR topic) { - WINE_FIXME("(\"%s\", \"%s\", %u, \"%s\")\n", str1, str2, u, str3); + HINSTANCE ret; + + WINE_TRACE("(%s, %s, %u, %s)\n", + wine_dbgstr_a(pgm), wine_dbgstr_a(args), cmd_show, wine_dbgstr_a(topic)); + + ret = ShellExecuteA(Globals.active_win ? Globals.active_win->hMainWnd : NULL, "open", + pgm, args, ".", cmd_show); + if ((DWORD_PTR)ret < 32) + { + WINE_WARN("Failed with %p\n", ret); + if (topic) MACRO_JumpID(NULL, topic); + } } static void CALLBACK MACRO_ExecProgram(LPCSTR str, LONG u) diff --git a/reactos/base/applications/winhlp32/rsrc.rc b/reactos/base/applications/winhlp32/rsrc.rc index 28d8de35fe3..8b877ed0162 100644 --- a/reactos/base/applications/winhlp32/rsrc.rc +++ b/reactos/base/applications/winhlp32/rsrc.rc @@ -26,7 +26,6 @@ IDI_WINHELP ICON DISCARDABLE winhelp.ico #include "Bg.rc" #include "Cs.rc" -#include "Da.rc" #include "En.rc" #include "Es.rc" #include "Fi.rc" @@ -39,6 +38,7 @@ IDI_WINHELP ICON DISCARDABLE winhelp.ico #include "Tr.rc" /* UTF-8 */ +#include "Da.rc" #include "De.rc" #include "Fr.rc" #include "It.rc" @@ -50,4 +50,5 @@ IDI_WINHELP ICON DISCARDABLE winhelp.ico #include "Ro.rc" #include "Ru.rc" #include "Si.rc" +#include "Uk.rc" #include "Zh.rc" diff --git a/reactos/base/applications/winhlp32/string.c b/reactos/base/applications/winhlp32/string.c index b9319484d41..4c8469776c1 100644 --- a/reactos/base/applications/winhlp32/string.c +++ b/reactos/base/applications/winhlp32/string.c @@ -22,7 +22,6 @@ const char MAIN_WIN_CLASS_NAME[] = "MS_WINHELP"; const char BUTTON_BOX_WIN_CLASS_NAME[] = "WHButtonBox"; -const char SHADOW_WIN_CLASS_NAME[] = "WHShadow"; const char HISTORY_WIN_CLASS_NAME[] = "WHHistory"; const char STRING_BUTTON[] = "BUTTON"; diff --git a/reactos/base/applications/winhlp32/winhelp.c b/reactos/base/applications/winhlp32/winhelp.c index fb05aebc3b9..a5a0f31b4e6 100644 --- a/reactos/base/applications/winhlp32/winhelp.c +++ b/reactos/base/applications/winhlp32/winhelp.c @@ -570,7 +570,6 @@ static void WINHELP_DeleteWindow(WINHELP_WINDOW* win) WINHELP_DeleteButtons(win); if (win->page) WINHELP_DeletePageLinks(win->page); - if (win->hShadowWnd) DestroyWindow(win->hShadowWnd); if (win->hHistoryWnd) DestroyWindow(win->hHistoryWnd); DeleteObject(win->hBrush); @@ -713,26 +712,37 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe { if (!lstrcmpi(win->info->name, wpage->wininfo->name)) { - POINT pt = {0, 0}; - SIZE sz = {0, 0}; - DWORD flags = SWP_NOSIZE | SWP_NOMOVE; - + if (win->page == wpage->page && win->info == wpage->wininfo) + { + /* see #22979, some hlp files have a macro (run at page opening), which + * jumps to the very same page + * Exit gracefully in that case + */ + return TRUE; + } WINHELP_DeleteButtons(win); bReUsed = TRUE; SetWindowText(win->hMainWnd, WINHELP_GetCaption(wpage)); - if (wpage->wininfo->origin.x != CW_USEDEFAULT && - wpage->wininfo->origin.y != CW_USEDEFAULT) + if (win->info != wpage->wininfo) { - pt = wpage->wininfo->origin; - flags &= ~SWP_NOSIZE; + POINT pt = {0, 0}; + SIZE sz = {0, 0}; + DWORD flags = SWP_NOSIZE | SWP_NOMOVE; + + if (wpage->wininfo->origin.x != CW_USEDEFAULT && + wpage->wininfo->origin.y != CW_USEDEFAULT) + { + pt = wpage->wininfo->origin; + flags &= ~SWP_NOSIZE; + } + if (wpage->wininfo->size.cx != CW_USEDEFAULT && + wpage->wininfo->size.cy != CW_USEDEFAULT) + { + sz = wpage->wininfo->size; + flags &= ~SWP_NOMOVE; + } + SetWindowPos(win->hMainWnd, HWND_TOP, pt.x, pt.y, sz.cx, sz.cy, flags); } - if (wpage->wininfo->size.cx != CW_USEDEFAULT && - wpage->wininfo->size.cy != CW_USEDEFAULT) - { - sz = wpage->wininfo->size; - flags &= ~SWP_NOMOVE; - } - SetWindowPos(win->hMainWnd, HWND_TOP, pt.x, pt.y, sz.cx, sz.cy, flags); if (wpage->page && win->page && wpage->page->file != win->page->file) WINHELP_DeleteBackSet(win); @@ -817,7 +827,8 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe } hIcon = (wpage->page) ? wpage->page->file->hIcon : NULL; - if (!hIcon) hIcon = LoadIcon(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP)); + if (!hIcon) hIcon = LoadImage(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED); SendMessage(win->hMainWnd, WM_SETICON, ICON_SMALL, (DWORD_PTR)hIcon); /* Initialize file specific pushbuttons */ @@ -842,7 +853,6 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe if (bPopup) { DWORD mask = SendMessage(hTextWnd, EM_GETEVENTMASK, 0, 0); - RECT rect; win->font_scale = Globals.active_win->font_scale; WINHELP_SetupText(hTextWnd, win, wpage->relative); @@ -852,17 +862,6 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe SendMessage(hTextWnd, EM_SETEVENTMASK, 0, mask | ENM_REQUESTRESIZE); SendMessage(hTextWnd, EM_REQUESTRESIZE, 0, 0); SendMessage(hTextWnd, EM_SETEVENTMASK, 0, mask); - - GetWindowRect(win->hMainWnd, &rect); - win->hShadowWnd = CreateWindowEx(WS_EX_TOOLWINDOW, SHADOW_WIN_CLASS_NAME, - "", WS_POPUP | WS_VISIBLE, - rect.left + SHADOW_DX, rect.top + SHADOW_DY, - rect.right - rect.left, - rect.bottom - rect.top, - Globals.active_win->hMainWnd, 0, - Globals.hInstance, NULL); - SetWindowPos(win->hMainWnd, win->hShadowWnd, 0, 0, 0, 0, - SWP_NOSIZE | SWP_NOMOVE); } else { @@ -968,7 +967,7 @@ static BOOL WINHELP_CheckPopup(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam } break; case WM_ACTIVATE: - if (wParam != WA_INACTIVE || (HWND)lParam == Globals.active_win->hMainWnd || + if (LOWORD(wParam) != WA_INACTIVE || (HWND)lParam == Globals.active_win->hMainWnd || (HWND)lParam == Globals.active_popup->hMainWnd || GetWindow((HWND)lParam, GW_OWNER) == Globals.active_win->hMainWnd) break; @@ -976,7 +975,6 @@ static BOOL WINHELP_CheckPopup(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam if (WINHELP_HandleTextMouse(Globals.active_popup, msg, lParam)) return FALSE; /* fall through */ - case WM_LBUTTONUP: case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: case WM_NCLBUTTONDOWN: @@ -1197,16 +1195,6 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara return DefWindowProc(hWnd, msg, wParam, lParam); } -/*********************************************************************** - * - * WINHELP_ShadowWndProc - */ -static LRESULT CALLBACK WINHELP_ShadowWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) -{ - if (WINHELP_CheckPopup(hWnd, msg, wParam, lParam, NULL)) return 0; - return WINHELP_CheckPopup(hWnd, msg, wParam, lParam, NULL) ? 0L : DefWindowProc(hWnd, msg, wParam, lParam); -} - /************************************************************************** * cb_KWBTree * @@ -1306,12 +1294,9 @@ static INT_PTR CALLBACK WINHELP_IndexDlgProc(HWND hWnd, UINT msg, WPARAM wParam, */ static INT_PTR CALLBACK WINHELP_SearchDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { - static struct index_data* id; - switch (msg) { case WM_INITDIALOG: - id = (struct index_data*)((PROPSHEETPAGE*)lParam)->lParam; return TRUE; case WM_NOTIFY: switch (((NMHDR*)lParam)->code) @@ -1337,7 +1322,6 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, { WINHELP_WINDOW *win; WINHELP_BUTTON *button; - INT keyDelta; HWND hTextWnd; LRESULT ret; @@ -1451,7 +1435,6 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, break; case WM_KEYDOWN: - keyDelta = 0; win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0); hTextWnd = GetDlgItem(win->hMainWnd, CTL_ID_TEXT); @@ -1633,8 +1616,9 @@ BOOL WINHELP_CreateIndexWindow(BOOL is_search) */ static BOOL WINHELP_RegisterWinClasses(void) { - WNDCLASS class_main, class_button_box, class_shadow, class_history; + WNDCLASSEX class_main, class_button_box, class_history; + class_main.cbSize = sizeof(class_main); class_main.style = CS_HREDRAW | CS_VREDRAW; class_main.lpfnWndProc = WINHELP_MainWndProc; class_main.cbClsExtra = 0; @@ -1645,6 +1629,9 @@ static BOOL WINHELP_RegisterWinClasses(void) class_main.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); class_main.lpszMenuName = 0; class_main.lpszClassName = MAIN_WIN_CLASS_NAME; + class_main.hIconSm = LoadImage(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), + LR_SHARED); class_button_box = class_main; class_button_box.lpfnWndProc = WINHELP_ButtonBoxWndProc; @@ -1652,20 +1639,13 @@ static BOOL WINHELP_RegisterWinClasses(void) class_button_box.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1); class_button_box.lpszClassName = BUTTON_BOX_WIN_CLASS_NAME; - class_shadow = class_main; - class_shadow.lpfnWndProc = WINHELP_ShadowWndProc; - class_shadow.cbWndExtra = 0; - class_shadow.hbrBackground = (HBRUSH)(COLOR_3DDKSHADOW+1); - class_shadow.lpszClassName = SHADOW_WIN_CLASS_NAME; - class_history = class_main; class_history.lpfnWndProc = WINHELP_HistoryWndProc; class_history.lpszClassName = HISTORY_WIN_CLASS_NAME; - return (RegisterClass(&class_main) && - RegisterClass(&class_button_box) && - RegisterClass(&class_shadow) && - RegisterClass(&class_history)); + return (RegisterClassEx(&class_main) && + RegisterClassEx(&class_button_box) && + RegisterClassEx(&class_history)); } /*********************************************************************** diff --git a/reactos/base/applications/winhlp32/winhelp.h b/reactos/base/applications/winhlp32/winhelp.h index e163d9086f0..519dec215a9 100644 --- a/reactos/base/applications/winhlp32/winhelp.h +++ b/reactos/base/applications/winhlp32/winhelp.h @@ -76,7 +76,6 @@ typedef struct tagWinHelp HLPFILE_PAGE* page; HWND hMainWnd; - HWND hShadowWnd; HWND hHistoryWnd; WNDPROC origRicheditWndProc; diff --git a/reactos/base/applications/winhlp32/winhelp.ico b/reactos/base/applications/winhlp32/winhelp.ico index 26bc40b15fcf026f4a97620b6c86f5831d7b0b75..df49aaa95a73e723907e08f7df5e57603bd67090 100644 GIT binary patch literal 25214 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 Y18P4!p?Lfe*%V)Dq~-P}yOH<*3$RbpNdN!< diff --git a/reactos/base/applications/wordpad/Da.rc b/reactos/base/applications/wordpad/Da.rc index 882cca7e8d8..b3a8e0a526f 100644 --- a/reactos/base/applications/wordpad/Da.rc +++ b/reactos/base/applications/wordpad/Da.rc @@ -1,5 +1,6 @@ /* * Copyright 2008 by Jens Albretsen + * 2010 Thomas Larsen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,6 +19,8 @@ #include "wordpad.h" +#pragma code_page(65001) + LANGUAGE LANG_DANISH, SUBLANG_DEFAULT IDM_MAINMENU MENU DISCARDABLE @@ -25,12 +28,12 @@ BEGIN POPUP "&Fil" BEGIN MENUITEM "&Ny...\tCtrl+N", ID_FILE_NEW - MENUITEM "&ben...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Åben...\tCtrl+O", ID_FILE_OPEN MENUITEM "&Gemme\tCtrl+S", ID_FILE_SAVE MENUITEM "Gemme &som...", ID_FILE_SAVEAS MENUITEM SEPARATOR MENUITEM "&Udskriv...\tCtrl+P", ID_PRINT - MENUITEM "&Forhndsvisning...", ID_PREVIEW + MENUITEM "&Forhåndsvisning...", ID_PREVIEW MENUITEM "&Side indstillinger...", ID_PRINTSETUP MENUITEM SEPARATOR MENUITEM "&Afslut", ID_FILE_EXIT @@ -42,20 +45,20 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Klip\tCtrl+X", ID_EDIT_CUT MENUITEM "K&opier\tCtrl+C", ID_EDIT_COPY - MENUITEM "&Indst\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Indsæt\tCtrl+V", ID_EDIT_PASTE MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR MENUITEM "&Marker alt\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Sg efter...\tCtrl+F", ID_FIND - MENUITEM "Sg efter &nste\tF3", ID_FIND_NEXT + MENUITEM "&Søg efter...\tCtrl+F", ID_FIND + MENUITEM "Søg efter &næste\tF3", ID_FIND_NEXT MENUITEM "E&rstat...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "S&krivebeskyttet", ID_EDIT_READONLY - MENUITEM "&ndret", ID_EDIT_MODIFIED + MENUITEM "Æ&ndret", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "&Ekstra" BEGIN - MENUITEM "&Information om markeret omrde", ID_EDIT_SELECTIONINFO + MENUITEM "&Information om markeret område", ID_EDIT_SELECTIONINFO MENUITEM "Tegn&format", ID_EDIT_CHARFORMAT MENUITEM "Stan&dard tegnformat", ID_EDIT_DEFCHARFORMAT MENUITEM "&Afsnitsformat", ID_EDIT_PARAFORMAT @@ -64,14 +67,14 @@ BEGIN END POPUP "&Vis" BEGIN - MENUITEM "Vrk&tjslinie", ID_TOGGLE_TOOLBAR + MENUITEM "Værk&tøjslinie", ID_TOGGLE_TOOLBAR MENUITEM "&Formatteringlinie", ID_TOGGLE_FORMATBAR MENUITEM "&Lineal", ID_TOGGLE_RULER MENUITEM "&Statuslinie", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Alternativer...", ID_VIEWPROPERTIES END - POPUP "&Indst" + POPUP "&Indsæt" BEGIN MENUITEM "&Dato og tid...", ID_DATETIME END @@ -87,7 +90,7 @@ BEGIN MENUITEM "&Huskeseddel\tCtrl+2", ID_BACK_2 END END - POPUP "&Hjlp" + POPUP "&Hjælp" BEGIN MENUITEM "&Om Wine Wordpad" ID_ABOUT END @@ -99,7 +102,7 @@ BEGIN BEGIN MENUITEM "&Klip" ID_EDIT_CUT MENUITEM "K&opier" ID_EDIT_COPY - MENUITEM "&Indst" ID_EDIT_PASTE + MENUITEM "&Indsæt" ID_EDIT_PASTE MENUITEM SEPARATOR MENUITEM "&Bullets" ID_BULLET MENUITEM "&Afsnit..." ID_PARAFORMAT @@ -111,18 +114,18 @@ BEGIN POPUP "" BEGIN MENUITEM "Sort", ID_COLOR_BLACK - MENUITEM "Mrkerd", ID_COLOR_MAROON - MENUITEM "Grn", ID_COLOR_GREEN + MENUITEM "Mørkerød", ID_COLOR_MAROON + MENUITEM "Grøn", ID_COLOR_GREEN MENUITEM "Oliven" ID_COLOR_OLIVE MENUITEM "Navy" ID_COLOR_NAVY MENUITEM "Lilla" ID_COLOR_PURPLE MENUITEM "Teal" ID_COLOR_TEAL - MENUITEM "Gr" ID_COLOR_GRAY - MENUITEM "Slv" ID_COLOR_SILVER - MENUITEM "Rd" ID_COLOR_RED + MENUITEM "Grå" ID_COLOR_GRAY + MENUITEM "Sølv" ID_COLOR_SILVER + MENUITEM "Rød" ID_COLOR_RED MENUITEM "Lime" ID_COLOR_LIME MENUITEM "Gul" ID_COLOR_YELLOW - MENUITEM "Bl" ID_COLOR_BLUE + MENUITEM "Blå" ID_COLOR_BLUE MENUITEM "Violet" ID_COLOR_FUCHSIA MENUITEM "Cyan" ID_COLOR_AQUA MENUITEM "Hvid" ID_COLOR_WHITE @@ -135,7 +138,7 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Dato og tid" FONT 10, "MS Sans Serif" BEGIN - LTEXT "Tilgngelige formater",-1,3,2,100,15 + LTEXT "Tilgængelige formater",-1,3,2,100,15 LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY PUSHBUTTON "&OK",IDOK,87,12,40,12 PUSHBUTTON "&Annuller",IDCANCEL,87,26,40,12 @@ -160,9 +163,9 @@ BEGIN GROUPBOX "Indryk", -1, 10, 10, 120, 68 LTEXT "Venstre", -1, 15, 22, 40, 13 EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Hjre", -1, 15, 40, 40, 13 + LTEXT "Højre", -1, 15, 40, 40, 13 EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Frste linie", -1, 15, 58, 40, 13 + LTEXT "Første linie", -1, 15, 58, 40, 13 EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 LTEXT "Justering", -1, 15, 87, 40, 13 COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST @@ -177,7 +180,7 @@ FONT 8, "MS SHell DLg" BEGIN GROUPBOX "Tabulatorstop", -1, 10, 10, 120, 90 COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Tilfj", ID_TAB_ADD, 20, 80, 45, 15 + DEFPUSHBUTTON "&Tilføj", ID_TAB_ADD, 20, 80, 45, 15 PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15 PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 PUSHBUTTON "&Annuller", IDCANCEL, 137, 33, 50, 15 @@ -193,8 +196,8 @@ BEGIN RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 RADIOBUTTON "Bryd tekst efter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15 RADIOBUTTON "Bryd tekst efter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Vrktjslinier", -1, 150, 10, 120, 85 - CHECKBOX "&Vrktjslinie", IDC_PAGEFMT_TB, 160, 20, 80, 15 + GROUPBOX "Værktøjslinier", -1, 150, 10, 120, 85 + CHECKBOX "&Værktøjslinie", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatteringlinie", IDC_PAGEFMT_FB, 160, 38, 80, 15 CHECKBOX "&Lineal", IDC_PAGEFMT_RU, 160, 56, 80, 15 CHECKBOX "&Statuslinie", IDC_PAGEFMT_SB, 160, 74, 80, 15 @@ -219,7 +222,7 @@ END STRINGTABLE DISCARDABLE BEGIN STRING_ALIGN_LEFT, "Venstrestillet" - STRING_ALIGN_RIGHT, "Hjrestillet" + STRING_ALIGN_RIGHT, "Højrestillet" STRING_ALIGN_CENTER, "Midterstillet" END @@ -238,31 +241,36 @@ END STRINGTABLE DISCARDABLE BEGIN STRING_PREVIEW_PRINT, "Udskriv" - STRING_PREVIEW_NEXTPAGE, "Nste side" + STRING_PREVIEW_NEXTPAGE, "Næste side" STRING_PREVIEW_PREVPAGE, "Forrige side" STRING_PREVIEW_TWOPAGES, "To sider" - STRING_PREVIEW_ONEPAGE, "n side" + STRING_PREVIEW_ONEPAGE, "Én side" STRING_PREVIEW_ZOOMIN, "Zoom in" STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Luk" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_PREVIEW_PAGE, "Side" + STRING_PREVIEW_PAGES, "Sider" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "tomme" + STRING_UNITS_INCH, "tommer" + STRING_UNITS_PT, "pkt" END STRINGTABLE DISCARDABLE BEGIN STRING_DEFAULT_FILENAME, "Dokument" - STRING_PROMPT_SAVE_CHANGES, "Gemme ndringer i %s?" - STRING_SEARCH_FINISHED, "Frdig med at sge i dokumentet." - STRING_LOAD_RICHED_FAILED, "Kunne ikke indlse RichEdit-biblioteket." + STRING_PROMPT_SAVE_CHANGES, "Gemme ændringer i «%s»?" + STRING_SEARCH_FINISHED, "Færdig med at søge i dokumentet." + STRING_LOAD_RICHED_FAILED, "Kunne ikke indlæse RichEdit-biblioteket." STRING_SAVE_LOSEFORMATTING, "Du har valgt at gemme i rent tekstformat, noget som " \ - "vil medfre at al formatering gr tabt. Er du " \ - "sikker p at du vil fortstte?" + "vil medføre at al formatering går tabt. Er du " \ + "sikker på at du vil fortsætte?" STRING_INVALID_NUMBER, "Ugyldigt talformat" - STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage dokumenter er ikke understttet" + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage dokumenter er ikke understøttet" + STRING_WRITE_FAILED, "Kunne ikke gemme filen." + STRING_WRITE_ACCESS_DENIED, "Filen kunne ikke gemmes, adgang nægtet." + STRING_OPEN_FAILED, "Kunne ikke åbne filen." + STRING_OPEN_ACCESS_DENIED, "Filen kunne ikke åbnes, adgang nægtet." + STRING_PRINTING_NOT_IMPLEMENTED, "Udskrivning er endnu ikke implementeret." + STRING_MAX_TAB_STOPS, "Kan ikke tilføje mere end 32 tabulatorer." END diff --git a/reactos/base/applications/wordpad/De.rc b/reactos/base/applications/wordpad/De.rc index ca11edd8bea..f6079c53541 100644 --- a/reactos/base/applications/wordpad/De.rc +++ b/reactos/base/applications/wordpad/De.rc @@ -192,7 +192,7 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Zeilenumbruch", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "&Kein Zeilenumbruch", IDC_PAGEFMT_WN, 18, 25, 117, 15 RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 18, 45, 117, 15 RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Symbolleisten", -1, 150, 10, 120, 85 @@ -249,11 +249,10 @@ BEGIN STRING_PREVIEW_CLOSE, "&Schließen" STRING_PREVIEW_PAGE, "Seite" STRING_PREVIEW_PAGES, "Seiten" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "Zoll" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/En.rc b/reactos/base/applications/wordpad/En.rc index 0dec19bc650..312f0ebbf5e 100644 --- a/reactos/base/applications/wordpad/En.rc +++ b/reactos/base/applications/wordpad/En.rc @@ -240,6 +240,9 @@ BEGIN STRING_PREVIEW_PAGE, "Page" STRING_PREVIEW_PAGES, "Pages" STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/Fr.rc b/reactos/base/applications/wordpad/Fr.rc index 54ae0b992b8..499c05b1bd3 100644 --- a/reactos/base/applications/wordpad/Fr.rc +++ b/reactos/base/applications/wordpad/Fr.rc @@ -1,5 +1,6 @@ /* * Copyright 2006-2009 by Jonathan Ernst + * Copyright 2010 by Frédéric Delanoy * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -58,11 +59,11 @@ BEGIN MENUITEM SEPARATOR POPUP "&Avancé" BEGIN - MENUITEM "&Information sélection", ID_EDIT_SELECTIONINFO - MENUITEM "&Format caractères", ID_EDIT_CHARFORMAT - MENUITEM "&Déf. format car.", ID_EDIT_DEFCHARFORMAT - MENUITEM "Format paragrap&he", ID_EDIT_PARAFORMAT - MENUITEM "Texte &complet", ID_EDIT_GETTEXT + MENUITEM "&Informations sur la sélection", ID_EDIT_SELECTIONINFO + MENUITEM "&Format de caractères", ID_EDIT_CHARFORMAT + MENUITEM "Format de caractères par &défaut", ID_EDIT_DEFCHARFORMAT + MENUITEM "Format de ¶graphe", ID_EDIT_PARAFORMAT + MENUITEM "Texte &complet", ID_EDIT_GETTEXT END END POPUP "&Affichage" @@ -129,7 +130,7 @@ BEGIN MENUITEM "Fuchsia" ID_COLOR_FUCHSIA MENUITEM "Eau" ID_COLOR_AQUA MENUITEM "Blanc" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC + MENUITEM "Automatique" ID_COLOR_AUTOMATIC END END @@ -250,11 +251,10 @@ BEGIN STRING_PREVIEW_CLOSE, "Fermer" STRING_PREVIEW_PAGE, "Page" STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "po" + STRING_UNITS_INCH, "pouces" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/It.rc b/reactos/base/applications/wordpad/It.rc index 99968411776..121f72011fe 100644 --- a/reactos/base/applications/wordpad/It.rc +++ b/reactos/base/applications/wordpad/It.rc @@ -54,7 +54,7 @@ BEGIN MENUITEM "Trova s&uccessivo\tF3", ID_FIND_NEXT MENUITEM "S&ostituisci...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Sola &Lettura", ID_EDIT_READONLY + MENUITEM "Solo &Lettura", ID_EDIT_READONLY MENUITEM "&Modificato", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "E&xtra" @@ -81,7 +81,7 @@ BEGIN END POPUP "F&ormato" BEGIN - MENUITEM "&Font...", ID_FONTSETTINGS + MENUITEM "&Carattere...", ID_FONTSETTINGS MENUITEM "&Elenco" ID_BULLET MENUITEM "&Paragrafo..." ID_PARAFORMAT MENUITEM "&Tabulazioni..." ID_TABSTOPS @@ -93,7 +93,7 @@ BEGIN END POPUP "&Aiuto" BEGIN - MENUITEM "&Su Wine Wordpad" ID_ABOUT + MENUITEM "&Riguardo A Wine Wordpad" ID_ABOUT END END @@ -208,9 +208,9 @@ END STRINGTABLE DISCARDABLE BEGIN STRING_ALL_FILES, "Tutti i files (*.*)" - STRING_TEXT_FILES_TXT, "Files di testo (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Files di testo Unicode (*.txt)" - STRING_RICHTEXT_FILES_RTF, "Rich text format (*.rtf)" + STRING_TEXT_FILES_TXT, "File di testo (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "File di testo Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" STRING_NEWFILE_RICHTEXT, "Documento Rich text" STRING_NEWFILE_TXT, "Documento di testo" STRING_NEWFILE_TXT_UNICODE, "Documento di testo Unicode" @@ -241,9 +241,12 @@ BEGIN STRING_PREVIEW_ZOOMIN, "Ingrandisci" STRING_PREVIEW_ZOOMOUT, "Rimpicciolisci" STRING_PREVIEW_CLOSE, "Chiudi" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" + STRING_PREVIEW_PAGE, "Pagina" + STRING_PREVIEW_PAGES, "Pagine" STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "po" + STRING_UNITS_INCH, "pollici" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/Ja.rc b/reactos/base/applications/wordpad/Ja.rc index bd5e4c9ea94..09c776f57b2 100644 --- a/reactos/base/applications/wordpad/Ja.rc +++ b/reactos/base/applications/wordpad/Ja.rc @@ -129,17 +129,17 @@ BEGIN MENUITEM "赤紫" ID_COLOR_FUCHSIA MENUITEM "水色" ID_COLOR_AQUA MENUITEM "白" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC + MENUITEM "自動" ID_COLOR_AUTOMATIC END END IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "日付と時刻" -FONT 9, "MS Shell Dlg" +FONT 10, "MS Shell Dlg" BEGIN LTEXT "利用できる形式",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT|LBS_NOTIFY + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY PUSHBUTTON "&OK",IDOK,87,12,40,12 PUSHBUTTON "キャンセル(&C)",IDCANCEL,87,26,40,12 END @@ -147,7 +147,7 @@ END IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "新規作成" -FONT 9, "MS Shell Dlg" +FONT 10, "MS Shell Dlg" BEGIN LTEXT "新しい文書形式",-1,3,2,100,15 LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT @@ -193,7 +193,7 @@ CAPTION "" FONT 9, "MS Shell Dlg" BEGIN GROUPBOX "行の折り返し", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "折り返ししない", IDC_PAGEFMT_WN, 18, 25, 117, 15 RADIOBUTTON "ウィンドウの境界で折り返す(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 RADIOBUTTON "マージンで折り返す(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "ツールバー", -1, 150, 10, 120, 85 @@ -206,10 +206,14 @@ END STRINGTABLE DISCARDABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "リッチテキスト形式 (*.rtf)" + STRING_ALL_FILES, "すべてのファイル (*.*)" STRING_TEXT_FILES_TXT, "テキスト文書 (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicodeテキスト文書(*.txt)" - STRING_ALL_FILES, "すべてのファイル (*.*)" + STRING_RICHTEXT_FILES_RTF, "リッチテキスト形式 (*.rtf)" + STRING_NEWFILE_RICHTEXT, "リッチテキスト文書" + STRING_NEWFILE_TXT, "テキスト文書" + STRING_NEWFILE_TXT_UNICODE, "Unicodeテキスト文書" + STRING_PRINTER_FILES_PRN, "プリンタファイル (*.PRN)" END STRINGTABLE DISCARDABLE @@ -219,18 +223,6 @@ BEGIN STRING_ALIGN_CENTER, "中央" END -STRINGTABLE DISCARDABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "リッチテキスト文書" - STRING_NEWFILE_TXT, "テキスト文書" - STRING_NEWFILE_TXT_UNICODE, "Unicodeテキスト文書" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_PRINTER_FILES_PRN, "プリンタファイル (*.PRN)" -END - STRINGTABLE DISCARDABLE BEGIN STRING_VIEWPROPS_TITLE, "オプション" @@ -245,16 +237,15 @@ BEGIN STRING_PREVIEW_PREVPAGE, "前のページ" STRING_PREVIEW_TWOPAGES, "2ページ" STRING_PREVIEW_ONEPAGE, "1ページ" - STRING_PREVIEW_ZOOMIN, "Zoom in" - STRING_PREVIEW_ZOOMOUT, "Zoom out" + STRING_PREVIEW_ZOOMIN, "拡大" + STRING_PREVIEW_ZOOMOUT, "縮小" STRING_PREVIEW_CLOSE, "閉じる" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_PREVIEW_PAGE, "ページ" + STRING_PREVIEW_PAGES, "ページ" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "インチ" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/Ko.rc b/reactos/base/applications/wordpad/Ko.rc index 81110831b75..8a4419495c8 100644 --- a/reactos/base/applications/wordpad/Ko.rc +++ b/reactos/base/applications/wordpad/Ko.rc @@ -242,6 +242,9 @@ BEGIN STRING_PREVIEW_PAGE, "" STRING_PREVIEW_PAGES, "" STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "ġ" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/Lt.rc b/reactos/base/applications/wordpad/Lt.rc index c9f2571ccc1..f9cd88f730a 100644 --- a/reactos/base/applications/wordpad/Lt.rc +++ b/reactos/base/applications/wordpad/Lt.rc @@ -250,11 +250,10 @@ BEGIN STRING_PREVIEW_CLOSE, "Užverti" STRING_PREVIEW_PAGE, "Puslapis" STRING_PREVIEW_PAGES, "Puslapiai" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "col." + STRING_UNITS_INCH, "coliai" + STRING_UNITS_PT, "tašk." END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/Nl.rc b/reactos/base/applications/wordpad/Nl.rc index 5741dbea9b7..2c363f5abcc 100644 --- a/reactos/base/applications/wordpad/Nl.rc +++ b/reactos/base/applications/wordpad/Nl.rc @@ -21,6 +21,8 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +#pragma code_page(65001) + IDM_MAINMENU MENU DISCARDABLE BEGIN POPUP "&Bestand" @@ -30,26 +32,26 @@ BEGIN MENUITEM "Op&slaan\tCtrl+S", ID_FILE_SAVE MENUITEM "Ops&laan als...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Print...\tCtrl+P", ID_PRINT - MENUITEM "Print &voorbeeld...", ID_PREVIEW - MENUITEM "Pa&gina setup...", ID_PRINTSETUP + MENUITEM "Af&drukken...\tCtrl+P", ID_PRINT + MENUITEM "Afdruk&voorbeeld...", ID_PREVIEW + MENUITEM "Pa&gina-instellingen...", ID_PRINTSETUP MENUITEM SEPARATOR MENUITEM "&Afsluiten", ID_FILE_EXIT END POPUP "Be&werken" BEGIN MENUITEM "&Ongedaan maken\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "O&pnieuw\tCtrl+Y", ID_EDIT_REDO + MENUITEM "Opn&ieuw\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR MENUITEM "K&nippen\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Kopieren\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Kopiëren\tCtrl+C", ID_EDIT_COPY MENUITEM "&Plakken\tCtrl+V", ID_EDIT_PASTE MENUITEM "&Verwijderen\tDel", ID_EDIT_CLEAR MENUITEM "&Alles selecteren\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR MENUITEM "&Zoeken...\tCtrl+F", ID_FIND MENUITEM "Zoek vo&lgende\tF3", ID_FIND_NEXT - MENUITEM "Ve&rvang...\tCtrl+H", ID_REPLACE + MENUITEM "Ve&rvangen...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "Alleen &lezen", ID_EDIT_READONLY MENUITEM "&Gewijzigd", ID_EDIT_MODIFIED @@ -65,9 +67,9 @@ BEGIN END POPUP "&Bekijken" BEGIN - MENUITEM "&Toolbalk", ID_TOGGLE_TOOLBAR + MENUITEM "&Gereedschapsbalk", ID_TOGGLE_TOOLBAR MENUITEM "&Formaatbalk", ID_TOGGLE_FORMATBAR - MENUITEM "&Lineaal", ID_TOGGLE_RULER + MENUITEM "&Liniaal", ID_TOGGLE_RULER MENUITEM "&Statusbalk", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Opties...", ID_VIEWPROPERTIES @@ -99,7 +101,7 @@ BEGIN POPUP "" BEGIN MENUITEM "K&nippen", ID_EDIT_CUT - MENUITEM "&Kopieren", ID_EDIT_COPY + MENUITEM "&Kopiëren", ID_EDIT_COPY MENUITEM "&Plakken", ID_EDIT_PASTE MENUITEM SEPARATOR MENUITEM "&Bullet points" ID_BULLET @@ -127,7 +129,7 @@ BEGIN MENUITEM "Fuchsiapaars" ID_COLOR_FUCHSIA MENUITEM "Zeeblauw" ID_COLOR_AQUA MENUITEM "Wit" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC + MENUITEM "Automatisch" ID_COLOR_AUTOMATIC END END @@ -147,7 +149,7 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Nieuw" FONT 10, "MS Sans Serif" BEGIN - LTEXT "Nieuw document type",-1,3,2,100,15 + LTEXT "Nieuw documenttype",-1,3,2,100,15 LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT PUSHBUTTON "&OK",IDOK,97,12,40,12 PUSHBUTTON "&Annuleren",IDCANCEL,97,26,40,12 @@ -158,7 +160,7 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU Caption "Paragraaf formaat" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Indentation", -1, 10, 10, 120, 68 + GROUPBOX "Inspringing", -1, 10, 10, 120, 68 LTEXT "Links", -1, 15, 22, 40, 13 EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 LTEXT "Rechts", -1, 15, 40, 40, 13 @@ -176,7 +178,7 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU Caption "Tabs" FONT 8, "MS SHell DLg" BEGIN - GROUPBOX "Tab stops", -1, 10, 10, 120, 90 + GROUPBOX "Tab-einden", -1, 10, 10, 120, 90 COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE DEFPUSHBUTTON "&Toevoegen", ID_TAB_ADD, 20, 80, 45, 15 PUSHBUTTON "&Verwijderen", ID_TAB_DEL, 72, 80, 45, 15 @@ -191,13 +193,13 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Regel afbreken", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Geen regelafbraak", IDC_PAGEFMT_WN, 18, 25, 117, 15 RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 18, 45, 117, 15 RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Toolbars", -1, 150, 10, 120, 85 - CHECKBOX "&Toolbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15 + GROUPBOX "Gereedschapsbalken", -1, 150, 10, 120, 85 + CHECKBOX "&Gereedschapsbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Lineaal", IDC_PAGEFMT_RU, 160, 56, 80, 15 + CHECKBOX "&Liniaal", IDC_PAGEFMT_RU, 160, 56, 80, 15 CHECKBOX "&Statusbalk", IDC_PAGEFMT_SB, 160, 74, 80, 15 LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END @@ -205,13 +207,13 @@ END STRINGTABLE DISCARDABLE BEGIN STRING_ALL_FILES, "Alle documenten (*.*)" - STRING_TEXT_FILES_TXT, "Tekst documenten (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Unicode tekst document (*.txt)" - STRING_RICHTEXT_FILES_RTF, "Rich text formaat (*.rtf)" - STRING_NEWFILE_RICHTEXT, "Rich tekst document" - STRING_NEWFILE_TXT, "Tekst document" - STRING_NEWFILE_TXT_UNICODE, "Unicode tekst document" - STRING_PRINTER_FILES_PRN, "Printer bestanden (*.PRN)" + STRING_TEXT_FILES_TXT, "Tekstdocumenten (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Unicode tekstdocument (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Rich tekstformaat (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rich tekstdocument" + STRING_NEWFILE_TXT, "Tekstdocument" + STRING_NEWFILE_TXT_UNICODE, "Unicode tekstdocument" + STRING_PRINTER_FILES_PRN, "Afdrukbestanden (*.PRN)" END STRINGTABLE DISCARDABLE @@ -230,38 +232,37 @@ END STRINGTABLE DISCARDABLE BEGIN - STRING_PREVIEW_PRINT, "Print" + STRING_PREVIEW_PRINT, "Afdrukken" STRING_PREVIEW_NEXTPAGE, "Volgende pagina" STRING_PREVIEW_PREVPAGE, "Vorige pagina" STRING_PREVIEW_TWOPAGES, "Twee pagina's" STRING_PREVIEW_ONEPAGE, "Een pagina" - STRING_PREVIEW_ZOOMIN, "Zoom in" - STRING_PREVIEW_ZOOMOUT, "Zoom out" + STRING_PREVIEW_ZOOMIN, "Inzoomen" + STRING_PREVIEW_ZOOMOUT, "Uitzoomen" STRING_PREVIEW_CLOSE, "Sluiten" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_PREVIEW_PAGE, "Pagina" + STRING_PREVIEW_PAGES, "Pagina's" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE BEGIN STRING_DEFAULT_FILENAME, "Document" - STRING_PROMPT_SAVE_CHANGES, "Wijzigingen opslaan van '%s'?" - STRING_SEARCH_FINISHED, "Doorzoeken van document beeindigd." + STRING_PROMPT_SAVE_CHANGES, "Wijzigingen opslaan naar '%s'?" + STRING_SEARCH_FINISHED, "Doorzoeken van document voltooid." STRING_LOAD_RICHED_FAILED, "Laden van de RichEdit library is mislukt." STRING_SAVE_LOSEFORMATTING, "U koos voor opslaan in gewoon tekst formaat, " \ - "waardoor alle formatering verloren zal gaan. " \ + "waardoor alle formattering verloren zal gaan. " \ "Weet u zeker dat u dit wilt?" - STRING_INVALID_NUMBER, "Foutief nummer formaat" - STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documenten zijn niet ondersteund" - STRING_WRITE_FAILED, "Bestand kon niet opgeslagen worden." + STRING_INVALID_NUMBER, "Foutief nummerformaat" + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documenten worden niet ondersteund" + STRING_WRITE_FAILED, "Bestand kon niet worden opgeslagen." STRING_WRITE_ACCESS_DENIED, "Onvoldoende rechten om het bestand op te slaan." - STRING_OPEN_FAILED, "Bestand kon niet geopend worden." + STRING_OPEN_FAILED, "Bestand kon niet worden geopend." STRING_OPEN_ACCESS_DENIED, "Onvoldoende rechten om het bestand te openen." - STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geimplementeerd" + STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geïmplementeerd" STRING_MAX_TAB_STOPS, "Onmogelijk om meer dan 32 tab stops toe te voegen." END diff --git a/reactos/base/applications/wordpad/Pl.rc b/reactos/base/applications/wordpad/Pl.rc index 4d403041858..053ecf20439 100644 --- a/reactos/base/applications/wordpad/Pl.rc +++ b/reactos/base/applications/wordpad/Pl.rc @@ -1,6 +1,7 @@ /* * Copyright 2004 by Krzysztof Foltman * Copyright 2006 by Mikolaj Zalewski + * Copyright 2010 by ukasz Wojniowicz * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -127,7 +128,7 @@ BEGIN MENUITEM "Fuksja" ID_COLOR_FUCHSIA MENUITEM "Akwamaryna" ID_COLOR_AQUA MENUITEM "Biay" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC + MENUITEM "Automatycznie" ID_COLOR_AUTOMATIC END END @@ -191,7 +192,7 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Zawijanie wierszy", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Bez zawijania wierszy", IDC_PAGEFMT_WN, 18, 25, 117, 15 RADIOBUTTON "Zawijaj do &brzegu okna", IDC_PAGEFMT_WW, 18, 45, 117, 15 RADIOBUTTON "Zawijaj do &marginesu", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Paski narzdzi", -1, 150, 10, 120, 85 @@ -206,7 +207,7 @@ STRINGTABLE DISCARDABLE BEGIN STRING_RICHTEXT_FILES_RTF, "Tekst sformatowany - RTF (*.rtf)" STRING_TEXT_FILES_TXT, "Dokument tekstowy (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Unicode text document (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Dokument tekstowy Unicode (*.txt)" STRING_ALL_FILES, "Wszystkie dokumenty (*.*)" END @@ -219,9 +220,9 @@ END STRINGTABLE DISCARDABLE BEGIN - STRING_NEWFILE_RICHTEXT, "Document sformatowany (RTF)" - STRING_NEWFILE_TXT, "Document tekstowy" - STRING_NEWFILE_TXT_UNICODE, "Document tekstowy Unicode" + STRING_NEWFILE_RICHTEXT, "Dokument sformatowany (RTF)" + STRING_NEWFILE_TXT, "Dokument tekstowy" + STRING_NEWFILE_TXT_UNICODE, "Dokument tekstowy Unicode" END STRINGTABLE DISCARDABLE @@ -241,18 +242,17 @@ BEGIN STRING_PREVIEW_PRINT, "Drukuj" STRING_PREVIEW_NEXTPAGE, "Nast. strona" STRING_PREVIEW_PREVPAGE, "Poprz. strona" - STRING_PREVIEW_TWOPAGES, "Two pages" - STRING_PREVIEW_ONEPAGE, "One page" - STRING_PREVIEW_ZOOMIN, "Zoom in" - STRING_PREVIEW_ZOOMOUT, "Zoom out" + STRING_PREVIEW_TWOPAGES, "Dwie strony" + STRING_PREVIEW_ONEPAGE, "Jedna strona" + STRING_PREVIEW_ZOOMIN, "Zbli" + STRING_PREVIEW_ZOOMOUT, "Oddal" STRING_PREVIEW_CLOSE, "Zamknij" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_PREVIEW_PAGE, "Strona" + STRING_PREVIEW_PAGES, "Strony" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "cal" + STRING_UNITS_INCH, "cal" + STRING_UNITS_PT, "punkt" END STRINGTABLE DISCARDABLE @@ -266,4 +266,10 @@ BEGIN "Czy na pewno chcesz to zrobi?" STRING_INVALID_NUMBER, "Zy format liczby" STRING_OLE_STORAGE_NOT_SUPPORTED, "Dokumenty typu OLE storage nie s obsugiwane" + STRING_WRITE_FAILED, "Nie mona byo zapisa pliku." + STRING_WRITE_ACCESS_DENIED, "Nie masz dostpu do zapisu pliku." + STRING_OPEN_FAILED, "Nie mona byo otworzy pliku." + STRING_OPEN_ACCESS_DENIED, "Nie masz dostpu do otwarcia pliku." + STRING_PRINTING_NOT_IMPLEMENTED, "Drukowanie niezaimplementowane" + STRING_MAX_TAB_STOPS, "Nie mona doda wicej ni 32 punkty tabulacji." END diff --git a/reactos/base/applications/wordpad/Si.rc b/reactos/base/applications/wordpad/Si.rc index f7e0c722b46..556197bd05b 100644 --- a/reactos/base/applications/wordpad/Si.rc +++ b/reactos/base/applications/wordpad/Si.rc @@ -247,13 +247,12 @@ BEGIN STRING_PREVIEW_ZOOMIN, "Zoom in" STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Zapri" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" + STRING_PREVIEW_PAGE, "Stran" + STRING_PREVIEW_PAGES, "Strani" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" END STRINGTABLE DISCARDABLE diff --git a/reactos/base/applications/wordpad/formatbar.bmp b/reactos/base/applications/wordpad/formatbar.bmp index 310b596d92a7dfbca7ebad7815c1a289a3a526e5..e6c6c36b2b907cd4b0a3eef7a7d9483c91fc73ee 100644 GIT binary patch literal 8314 zcmdT|X;c(f7H+{9(HWC?a?YIjF;NjgWpM#p!34KB0a=YA&lM|K101*L^%?;cpF?v)+<2V_ls_(p8Se>@*7Fx;4qz{+->b-lv`(EAe z)_YYe9pa~Rm|r~kA3{Vzs7BLPGXLG0 zJJ(Eyu@Z@`!4!5O*jC16`_*cf*0(rYugF=ohJQzC6u-#xaezM%+3Hb7Ngi4dpK3eJHp^ws zqc69wgZd;VsM}%>wXrr(6SW#DBUZp}=UI=?MkD64+~Yk}5t>}zBJw?vN+LPdRdlR% z4dwAc_0X#26)=187cga6<zvH#n7O z2N@3fl*Gk&g6jRkJ{&t4vkIEF+QLzPE@U{)tVcUChmZDrY(%%@1i*ul8X>#3UL-@A|0Yn)zS4{toF-9Lq0+MpNEdstU=;Rn_a^TV_? z)W5E%<2LcHcq{yp4`Lt|Vj?!iz*rbl*Q?{+NcGR;U&`ixI)&>SZSK)7(@EcS?*?P4 zC0h*VGKKJ|Xdy-NhdF#fiUp<==Dsn>2KKHqq|leWpP5dE@v@**^yTVIsNA$#zRQvL ztC8$=hBRW}80(wiWLRGvWdq-)xFV-U z7~1m!p{q0+E`62^eYM$e^W*`zb@~v4k-2u3BLB#vT>gBj`(PrJ`fy*$KXu$ovzs<2 z!_nYLdBkeu&q=Z$os@;H1e?h4r@99kpUnNHZxHiu{&n==#7~_c>lHgkb4r&_Wan>b zxuAh-VFsg>B}*1Gu)e6Z^~X3%xbvUGu(DjJ-5gZ>mFJ^vd#}rE-r_YhJSv06go-2 zChn1atfzuJL-1^26A}u4F8LbXtLvbRd+x*H{zriM|L|%iyx)}q2DO1tCQ6;|&r4n& zgLA-qgl*ag8zVQt#;DDV4&NLBp`#0DS!Yz|+Tz;feCx(I4%f^Nk3H z;P6lgQ1TV|dV@gZ0d4}GT8z!H(SQ;W9m(K@Jd5o|Vtb2ynb>?!A-MA075=Y#{=;=- z+Zw!?=Vn5kuigh24kp3rG!NLfVa{{%Rf0X7P2B(uiEAL&)tEvb<$J)ki(QPT=DC{= z_SO|bZ}lF?=b6$Z=L^_z#66qp!eFy~sB;LPsuSJlYbWD>zMHJc!k zH<#fG`f6KymMZnHt^ZioKePY8#`zD|kG}$eS?;O482QB$pOUlWCMe{aQstzcQ3^=A zF+%|7vP4iBzFc0!Gsz$JQvW|sU}hxsG^cJh*Fsy_b|~PP4Hdc@GW%|xn=!Ozc>!u= zZ{$-x&xE@9eJy;E;wjJP8RxL$`EJHJRh$1VZ`$R7ermag=S}tMz!RJK@HhY$b51&#Z>f@ z_af81zkvR($MBczOZ2#$CUCIygB1JOa3so!u8DVsI*HpW*FV-TQ^Vvr@G7;h@F#ot ztNOF&hp{;SvG=XiXHoa%hH|*xSOI5p!=Tj5;%2G0#f^sDzR>lLG-${PCw=DKto=y3 zR5U;Sn8cla(ANgF3G3++FLPP3&=cU@85e|2&j$wxOgvQzw)oVJoRF zauz7|oIfh=;ky@;{}hscn?73i%{CA(5kGWdQ*>nyaK&7yFlh^L8J6kroz>4Dxf0Djw1aN)w!SL3|s$W zasFfTAdzr%4vM*h5BfXc=9$l+AbDaJ0 zvZTERRRH;n!kQ1H9EyiCh%7bRdUYr5il5Z~_4lH$=VgSMVY! zCE~tFjeo#rJ}0(X#$T$AcybCUqUt zXJzCs^JC`_Sl;B)G}o@XkGxLj&+jkJ?5Fpe$6L||gUjS<`Jv;K-{43@2x5(t{_SYS d4E@i9cvR+Bi7V!(oFCcP;hX=;U#;k*C< diff --git a/reactos/base/applications/wordpad/print.c b/reactos/base/applications/wordpad/print.c index 71c06273fdb..1d4e6e38bd9 100644 --- a/reactos/base/applications/wordpad/print.c +++ b/reactos/base/applications/wordpad/print.c @@ -487,7 +487,6 @@ static void print(LPPRINTDLGW pd, LPWSTR wszFileName) StartDocW(fr.hdc, &di); do { - int bottom = fr.rc.bottom; if(StartPage(fr.hdc) <= 0) break; @@ -495,7 +494,6 @@ static void print(LPPRINTDLGW pd, LPWSTR wszFileName) if(EndPage(fr.hdc) <= 0) break; - bottom = fr.rc.bottom; printedPages++; if((pd->Flags & PD_PAGENUMS) && (printedPages > (pd->nToPage - pd->nFromPage))) @@ -789,7 +787,6 @@ static void update_scaled_preview(HWND hMainWnd) void init_preview(HWND hMainWnd, LPWSTR wszFileName) { - HWND hwndPreview; HINSTANCE hInstance = GetModuleHandleW(0); preview.page = 1; preview.hdc = 0; @@ -799,7 +796,7 @@ void init_preview(HWND hMainWnd, LPWSTR wszFileName) preview.zoomlevel = 0; preview_bar_show(hMainWnd, TRUE); - hwndPreview = CreateWindowExW(0, wszPreviewWndClass, NULL, + CreateWindowExW(0, wszPreviewWndClass, NULL, WS_VISIBLE | WS_CHILD | WS_VSCROLL | WS_HSCROLL, 0, 0, 200, 10, hMainWnd, (HMENU)IDC_PREVIEW, hInstance, NULL); } diff --git a/reactos/base/applications/wordpad/rsrc.rc b/reactos/base/applications/wordpad/rsrc.rc index a3f66c55e5c..e0609440672 100644 --- a/reactos/base/applications/wordpad/rsrc.rc +++ b/reactos/base/applications/wordpad/rsrc.rc @@ -1,4 +1,4 @@ -/* +/* * Copyright 2004 by Krzysztof Foltman * Copyright 2007 by Alexander N. Sørnes * @@ -52,33 +52,24 @@ IDB_FORMATBAR BITMAP "formatbar.bmp" /* @makedep: wordpad.ico */ IDI_WORDPAD ICON "wordpad.ico" -/* @makedep: rtf.ico */ -IDI_RTF ICON "rtf.ico" - -/* @makedep: wri.ico */ -IDI_WRI ICON "wri.ico" - -/* @makedep: txt.ico */ -IDI_TXT ICON "txt.ico" - /* @makedep: zoom.cur */ IDC_ZOOM CURSOR "zoom.cur" -#include "Da.rc" #include "En.rc" #include "Hu.rc" #include "Ko.rc" -#include "Nl.rc" #include "Pl.rc" #include "Tr.rc" /* UTF-8 */ +#include "Da.rc" #include "De.rc" #include "Fr.rc" #include "It.rc" #include "Ja.rc" #include "Lt.rc" +#include "Nl.rc" #include "No.rc" #include "Pt.rc" #include "Ru.rc" diff --git a/reactos/base/applications/wordpad/rtf.ico b/reactos/base/applications/wordpad/rtf.ico deleted file mode 100644 index 653a5cffc25ee2c06ba64a686a68bd1981f56f73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmd7SF^*F)5CBk9Akk3;(LqV?3ve3WX>LHVB~3aGFcr>ePhb}DN#fOivGb& z7C}UeDE2-@=Sv|%Hl0pLY7$-;yN!4SVASrC59^(W_VRKs;CrFBJ z{r$h%3VdF7Gj4y|?z8?9|7<#cAOEafuYY-No%_-Jf<0xw|9NrW{3d?&fW7=;{q1Ff zZTdd{)%vH$_xbOVJuUw}fk)Jyw*GF@-PeBoIr{_g-SGK#zy6u$_jPOM%%_`+{0B1( z-`CkQ_VMGvgwwKfzl$G_$HUvV=g8^iB7XQ|{BU@9{Z-^T|IN+tX+J;1z^R>Y?gy^F b?-%WtpE7R$P4#_@ci+Z%{pH_!*Zchds=b(F diff --git a/reactos/base/applications/wordpad/toolbar.bmp b/reactos/base/applications/wordpad/toolbar.bmp index 0580719f1e246ee38838c3df485a5b462b45582f..37f1925ec9d11f4b58f9d766778919c59c1e8b70 100644 GIT binary patch literal 1146 zcmb7?%PWLo6vjUh3me(l$sb@L$)z+bkSNzI<(ec}*pNsemn@`-uyEOklFI^RV+_rF zno+Zun$=vJX=<99W=GTGecqY(OH*P_^UV3qd(Q8i^UXWWo%02nw0ZG8B~+48o>s2q zGb8e)#c4528#FEbVTioUDcygbGv!4!)s@Iqf~^oL<0!JLo9pNu=>L~kFStUXf}yby z|KP|Fa@Fwos6+6Y@W{o^FE21PGYxV-`EWRlXf%pgEQWYIjzl5>o;g39(BF03KRzIt zOycV18V5&*1~2xP<5?RF2BmyHpY(peA4)ElOY*5y3ZGwJAjkRRlM@Ed9$v3k-UWTL zsR5?OI-y#*i^J)_^NU5+llzOWudRY^x8v>Y^;dpwaY6RuJ7>?gS}ka6ZNk~j`OqmzMf8F|NT8PY&IKuy4nq%zb7r5XYWubB=)sob!8cWKmfhn9cXJY;qLYt zkw`>}bw7Fj?`Uqf8y=6xn8TQ2PckZ|r;+3Sil^T(?;1Q~Dj@EZyo%L)#@W2Z`XYO) o{+z}8rdY3Hl_$Tpy*{gY=imKp(i8W+E`-0-(q$C4L|dx3IG5A literal 246 zcmYjIF%AMT3=85mh9F*XV4F&U^FEob&BZ*?N5eL^@PC diff --git a/reactos/base/applications/wordpad/txt.ico b/reactos/base/applications/wordpad/txt.ico deleted file mode 100644 index 39a9f90855e07d29822d4dd4e8feda459e6a5223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmd7Sv2j!}5CBk-IU^&rLvl4hHR@?QAh;qZVDn2Ufex0p-`4qHJj{789=`7BpZ6r~ ze(8_L_@F&J4E^2sdN;u5WDz7qZ{TDRBt>uPWDz8Vh1AoP#L-e;^yW_%K~nUAOcp^>^dU_a zK~nU=O%_2?^kGgGK~k8Yp5B$NB#&15KJ>{VNQ!a zf~4?+disQVSGtlqn!)N3CrAnls7IV2DJ-fUae}0fNIl{NNg=ru;si<2SKt3vM}dFW zoyPgaYp?nizwfoKQ|;JWtpCyj{IdT3d%)g`S 0) { set_size(size); @@ -703,17 +732,8 @@ static void preview_exit(HWND hMainWnd) static void set_fileformat(WPARAM format) { - HICON hIcon; - HINSTANCE hInstance = GetModuleHandleW(0); fileFormat = format; - if(format & SF_TEXT) - hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_TXT)); - else - hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_RTF)); - - SendMessageW(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon); - set_bar_states(); set_default_font(); target_device(hMainWnd, wordWrap[reg_formatindex(fileFormat)]); @@ -1282,6 +1302,7 @@ static LRESULT handle_findmsg(LPFINDREPLACEW pFr) static void dialog_find(LPFINDREPLACEW fr, BOOL replace) { static WCHAR findBuffer[MAX_STRING_LEN]; + static WCHAR replaceBuffer[MAX_STRING_LEN]; /* Allow only one search/replace dialog to open */ if(hFindWnd != NULL) @@ -1295,8 +1316,10 @@ static void dialog_find(LPFINDREPLACEW fr, BOOL replace) fr->hwndOwner = hMainWnd; fr->Flags = FR_HIDEUPDOWN; fr->lpstrFindWhat = findBuffer; + fr->lpstrReplaceWith = replaceBuffer; fr->lCustData = -1; - fr->wFindWhatLen = MAX_STRING_LEN*sizeof(WCHAR); + fr->wFindWhatLen = sizeof(findBuffer); + fr->wReplaceWithLen = sizeof(replaceBuffer); if(replace) hFindWnd = ReplaceTextW(fr); @@ -1304,9 +1327,25 @@ static void dialog_find(LPFINDREPLACEW fr, BOOL replace) hFindWnd = FindTextW(fr); } -static int current_units_to_twips(float number) +static int units_to_twips(UNIT unit, float number) { - int twips = (int)(number * 1000.0 / (float)CENTMM_PER_INCH * (float)TWIPS_PER_INCH); + int twips = 0; + + switch(unit) + { + case UNIT_CM: + twips = (int)(number * 1000.0 / (float)CENTMM_PER_INCH * (float)TWIPS_PER_INCH); + break; + + case UNIT_INCH: + twips = (int)(number * (float)TWIPS_PER_INCH); + break; + + case UNIT_PT: + twips = (int)(number * (0.0138 * (float)TWIPS_PER_INCH)); + break; + } + return twips; } @@ -1515,22 +1554,23 @@ static INT_PTR CALLBACK paraformat_proc(HWND hWnd, UINT message, WPARAM wParam, float num; int ret = 0; PARAFORMAT pf; + UNIT unit; index = SendMessageW(hListWnd, CB_GETCURSEL, 0, 0); pf.wAlignment = ALIGNMENT_VALUES[index]; GetWindowTextW(hLeftWnd, buffer, MAX_STRING_LEN); - if(number_from_string(buffer, &num, TRUE)) + if(number_from_string(buffer, &num, &unit)) ret++; - pf.dxOffset = current_units_to_twips(num); + pf.dxOffset = units_to_twips(unit, num); GetWindowTextW(hRightWnd, buffer, MAX_STRING_LEN); - if(number_from_string(buffer, &num, TRUE)) + if(number_from_string(buffer, &num, &unit)) ret++; - pf.dxRightIndent = current_units_to_twips(num); + pf.dxRightIndent = units_to_twips(unit, num); GetWindowTextW(hFirstWnd, buffer, MAX_STRING_LEN); - if(number_from_string(buffer, &num, TRUE)) + if(number_from_string(buffer, &num, &unit)) ret++; - pf.dxStartIndent = current_units_to_twips(num); + pf.dxStartIndent = units_to_twips(unit, num); if(ret != 3) { @@ -1636,6 +1676,7 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP { HWND hTabWnd = GetDlgItem(hWnd, IDC_TABSTOPS); WCHAR buffer[MAX_STRING_LEN]; + UNIT unit; GetWindowTextW(hTabWnd, buffer, MAX_STRING_LEN); append_current_units(buffer); @@ -1645,7 +1686,7 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP float number = 0; int item_count = SendMessage(hTabWnd, CB_GETCOUNT, 0, 0); - if(!number_from_string(buffer, &number, TRUE)) + if(!number_from_string(buffer, &number, &unit)) { MessageBoxWithResStringW(hWnd, MAKEINTRESOURCEW(STRING_INVALID_NUMBER), wszAppTitle, MB_OK | MB_ICONINFORMATION); @@ -1656,14 +1697,14 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP int i; float next_number = -1; int next_number_in_twips = -1; - int insert_number = current_units_to_twips(number); + int insert_number = units_to_twips(unit, number); /* linear search for position to insert the string */ for(i = 0; i < item_count; i++) { SendMessageW(hTabWnd, CB_GETLBTEXT, i, (LPARAM)&buffer); - number_from_string(buffer, &next_number, TRUE); - next_number_in_twips = current_units_to_twips(next_number); + number_from_string(buffer, &next_number, &unit); + next_number_in_twips = units_to_twips(unit, next_number); if (insert_number <= next_number_in_twips) break; } @@ -1704,6 +1745,7 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP WCHAR buffer[MAX_STRING_LEN]; PARAFORMAT pf; float number; + UNIT unit; pf.cbSize = sizeof(pf); pf.dwMask = PFM_TABSTOPS; @@ -1712,8 +1754,8 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP (LPARAM)&buffer) != CB_ERR && i < MAX_TAB_STOPS; i++) { - number_from_string(buffer, &number, TRUE); - pf.rgxTabs[i] = current_units_to_twips(number); + number_from_string(buffer, &number, &unit); + pf.rgxTabs[i] = units_to_twips(unit, number); } pf.cTabCount = i; SendMessageW(hEditorWnd, EM_SETPARAFORMAT, 0, (LPARAM)&pf); @@ -2253,12 +2295,12 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam) case ID_EDIT_DEFCHARFORMAT: { CHARFORMAT2W cf; - LRESULT i; + ZeroMemory(&cf, sizeof(cf)); cf.cbSize = sizeof(cf); cf.dwMask = 0; - i = SendMessageW(hwndEditor, EM_GETCHARFORMAT, - LOWORD(wParam) == ID_EDIT_CHARFORMAT, (LPARAM)&cf); + SendMessageW(hwndEditor, EM_GETCHARFORMAT, + LOWORD(wParam) == ID_EDIT_CHARFORMAT, (LPARAM)&cf); return 0; } @@ -2618,7 +2660,7 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar { INITCOMMONCONTROLSEX classes = {8, ICC_BAR_CLASSES|ICC_COOL_CLASSES|ICC_USEREX_CLASSES}; HACCEL hAccel; - WNDCLASSW wc; + WNDCLASSEXW wc; MSG msg; RECT rc; UINT_PTR hPrevRulerProc; @@ -2632,17 +2674,20 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar hAccel = LoadAcceleratorsW(hInstance, wszAccelTable); + wc.cbSize = sizeof(wc); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 4; wc.hInstance = hInstance; wc.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_WORDPAD)); + wc.hIconSm = LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_WORDPAD), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED); wc.hCursor = LoadCursor(NULL, IDC_IBEAM); wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW); wc.lpszMenuName = MAKEINTRESOURCEW(IDM_MAINMENU); wc.lpszClassName = wszMainWndClass; - RegisterClassW(&wc); + RegisterClassExW(&wc); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = preview_proc; @@ -2650,11 +2695,12 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = NULL; + wc.hIconSm = NULL; wc.hCursor = LoadCursor(NULL, IDC_IBEAM); wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW); wc.lpszMenuName = NULL; wc.lpszClassName = wszPreviewWndClass; - RegisterClassW(&wc); + RegisterClassExW(&wc); registry_read_winrect(&rc); hMainWnd = CreateWindowExW(0, wszMainWndClass, wszAppTitle, WS_CLIPCHILDREN|WS_OVERLAPPEDWINDOW, diff --git a/reactos/base/applications/wordpad/wordpad.h b/reactos/base/applications/wordpad/wordpad.h index 2f774c3aff0..c250cc15c36 100644 --- a/reactos/base/applications/wordpad/wordpad.h +++ b/reactos/base/applications/wordpad/wordpad.h @@ -185,11 +185,8 @@ #define IDB_FORMATBAR 101 #define IDI_WORDPAD 102 -#define IDI_RTF 103 -#define IDI_WRI 104 -#define IDI_TXT 105 -#define IDC_ZOOM 106 +#define IDC_ZOOM 103 #define STRING_ALL_FILES 1400 #define STRING_TEXT_FILES_TXT 1401 @@ -222,6 +219,9 @@ #define STRING_PREVIEW_PAGES 1457 #define STRING_UNITS_CM 1458 +#define STRING_UNITS_IN 1459 +#define STRING_UNITS_INCH 1460 +#define STRING_UNITS_PT 1461 #define STRING_DEFAULT_FILENAME 1700 #define STRING_PROMPT_SAVE_CHANGES 1701 diff --git a/reactos/base/applications/wordpad/wordpad.ico b/reactos/base/applications/wordpad/wordpad.ico index aa819206876be3111a839214fbccef962e9bf9aa..4dfa1417e41f628e706a0bf5cc137173a10e2afd 100644 GIT binary patch literal 25214 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 BD;59% literal 15086 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 J&*QPTuJ0CinJxeT diff --git a/reactos/base/applications/write/Da.rc b/reactos/base/applications/write/Da.rc new file mode 100644 index 00000000000..98b628fe8cd --- /dev/null +++ b/reactos/base/applications/write/Da.rc @@ -0,0 +1,29 @@ +/* + * Danish language support + * + * Copyright 2010 Thomas Larsen + * Paul Vriens + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resources.h" + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +STRINGTABLE +{ + IDS_FAILED, "Kunne ikke starte Wordpad" +} diff --git a/reactos/base/applications/write/Es.rc b/reactos/base/applications/write/Es.rc new file mode 100644 index 00000000000..6e41bd0ec51 --- /dev/null +++ b/reactos/base/applications/write/Es.rc @@ -0,0 +1,32 @@ +/* + * Spanish language support + * + * Copyright 2010 José Rostagno + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resources.h" + +/*UTF-8*/ +#pragma code_page(65001) + + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +{ + IDS_FAILED, "Fallo inicio Wordpad" +} diff --git a/reactos/base/applications/write/rsrc.rc b/reactos/base/applications/write/rsrc.rc index 45c5d308136..70113567651 100644 --- a/reactos/base/applications/write/rsrc.rc +++ b/reactos/base/applications/write/rsrc.rc @@ -20,6 +20,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#include "Da.rc" #include "En.rc" #include "Ko.rc" #include "Nl.rc" @@ -30,6 +31,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL /* UTF-8 */ #include "De.rc" +#include "Es.rc" #include "Fr.rc" #include "It.rc" #include "Ja.rc" diff --git a/reactos/base/system/msiexec/msiexec.c b/reactos/base/system/msiexec/msiexec.c index fe19d98e434..70e32556239 100644 --- a/reactos/base/system/msiexec/msiexec.c +++ b/reactos/base/system/msiexec/msiexec.c @@ -42,36 +42,6 @@ struct string_list WCHAR str[1]; }; -static const char UsageStr[] = -"Usage:\n" -" Install a product:\n" -" msiexec {package|productcode} [property]\n" -" msiexec /i {package|productcode} [property]\n" -" msiexec /package {package|productcode} [property]\n" -" msiexec /a package [property]\n" -" Repair an installation:\n" -" msiexec /f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" -" Uninstall a product:\n" -" msiexec /x {package|productcode} [property]\n" -" Advertise a product:\n" -" msiexec /j[u|m] package [/t transform] [/g languageid]\n" -" msiexec {u|m} package [/t transform] [/g languageid]\n" -" Apply a patch:\n" -" msiexec /p patchpackage [property]\n" -" msiexec /p patchpackage /a package [property]\n" -" Modifiers for above operations:\n" -" msiexec /l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n" -" msiexec /q{|n|b|r|f|n+|b+|b-}\n" -" Register a module:\n" -" msiexec /y module\n" -" Unregister a module:\n" -" msiexec /z module\n" -" Display usage and copyright:\n" -" msiexec {/h|/?}\n" -"NOTE: Product code on commandline unimplemented as of yet\n" -"\n" -"Copyright 2004 Vincent Béron\n"; - static const WCHAR ActionAdmin[] = { 'A','C','T','I','O','N','=','A','D','M','I','N',0 }; static const WCHAR RemoveAll[] = { @@ -87,8 +57,42 @@ static const WCHAR InstallRunOnce[] = { static void ShowUsage(int ExitCode) { - printf(UsageStr); - ExitProcess(ExitCode); + WCHAR msiexec_version[40]; + WCHAR filename[MAX_PATH]; + LPWSTR msi_res; + LPWSTR msiexec_help; + HMODULE hmsi = GetModuleHandleA("msi.dll"); + DWORD len; + DWORD res; + + /* MsiGetFileVersion need the full path */ + *filename = 0; + res = GetModuleFileNameW(hmsi, filename, sizeof(filename) / sizeof(filename[0])); + if (!res) + WINE_ERR("GetModuleFileName failed: %d\n", GetLastError()); + + len = sizeof(msiexec_version) / sizeof(msiexec_version[0]); + *msiexec_version = 0; + res = MsiGetFileVersionW(filename, msiexec_version, &len, NULL, NULL); + if (res) + WINE_ERR("MsiGetFileVersion failed with %d\n", res); + + /* Return the length of the resource. + No typo: The LPWSTR parameter must be a LPWSTR * for this mode */ + len = LoadStringW(hmsi, 10, (LPWSTR) &msi_res, 0); + + msi_res = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR)); + msiexec_help = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR) + sizeof(msiexec_version)); + if (msi_res && msiexec_help) { + *msi_res = 0; + LoadStringW(hmsi, 10, msi_res, len + 1); + + sprintfW(msiexec_help, msi_res, msiexec_version); + MsiMessageBoxW(0, msiexec_help, NULL, 0, GetUserDefaultLangID(), 0); + } + HeapFree(GetProcessHeap(), 0, msi_res); + HeapFree(GetProcessHeap(), 0, msiexec_help); + ExitProcess(ExitCode); } static BOOL IsProductCode(LPWSTR str) @@ -660,11 +664,11 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine WINE_TRACE("argvW[%d] = %s\n", i, wine_dbgstr_w(argvW[i])); PackageName = argvW[i]; } - else if(msi_option_prefix(argvW[i], "x")) + else if(msi_option_prefix(argvW[i], "x") || msi_option_equal(argvW[i], "uninstall")) { FunctionInstall = TRUE; - PackageName = argvW[i]+2; - if (!PackageName[0]) + if(msi_option_prefix(argvW[i], "x")) PackageName = argvW[i]+2; + if(!PackageName || !PackageName[0]) { i++; if (i >= argc) @@ -898,7 +902,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine WINE_TRACE("argvW[%d] = %s\n", i, wine_dbgstr_w(argvW[i])); DllName = argvW[i]; } - else if(msi_option_equal(argvW[i], "h") || msi_option_equal(argvW[i], "?")) + else if(msi_option_equal(argvW[i], "help") || msi_option_equal(argvW[i], "?")) { ShowUsage(0); }