diff --git a/reactos/base/applications/cmdutils/xcopy/It.rc b/reactos/base/applications/cmdutils/xcopy/It.rc new file mode 100644 index 00000000000..806bcea53b5 --- /dev/null +++ b/reactos/base/applications/cmdutils/xcopy/It.rc @@ -0,0 +1,84 @@ +/* + * XCOPY - Wine-compatible xcopy program + * Italian language support + * + * Copyright (C) 2010 Luca Bennati + * + * 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 "xcopy.h" + +/*UTF-8*/ +#pragma code_page(65001) + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +{ + STRING_INVPARMS, "Numero non valido di parametri - Digita xcopy /? per l'aiuto\n" + STRING_INVPARM, "Parametro '%s' non valido - Digita xcopy /? per l'aiuto\n" + STRING_PAUSE, "Premi Invio per iniziare a copiare\n" + STRING_SIMCOPY, "%d file(s) sarebbero copiati\n" + STRING_COPY, "%d file(s) copiati\n" + STRING_QISDIR, "'%s' è il nome di un file o una cartella\n" \ + "sull'obiettivo?\n" \ + "(F - File, C - Cartella)\n" + STRING_SRCPROMPT,"%s? (Sì|No)\n" + STRING_OVERWRITE,"Sovrascrivere %s? (Sì|No|Tutti)\n" + STRING_COPYFAIL, "La copia di '%s' in '%s' è fallita con r/c %d\n" + STRING_OPENFAIL, "Impossibile aprire '%s'\n" + STRING_READFAIL, "Errore durante la lettura di '%s'\n" + STRING_YES_CHAR, "S" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "C" + + STRING_HELP, +"XCOPY - Copia file(s) e alberi di cartelle sorgenti in una destinazione\n\ +\n\ +Sintassi:\n\ +XCOPY sorgente [destinazione] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ +\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\ +\n\ +Dove:\n\ +\n\ +[/I] Assumi una cartella se la destinazione non esiste e sono copiati 2 o\n\ +\tpiù files\n\ +[/S] Copia le cartelle e le sottocartelle\n\ +[/E] Copia le cartelle e le sottocartelle, includendo quelle vuote\n\ +[/Q] Non mostrare i nomi durante la copia, modalità silenziosa.\n\ +[/F] Mostra i nomi completi della sorgente e della destinazione durante la copia\n\ +[/L] Simula l'operazione, mostrando i nome che sarebbero copiati\n\ +[/W] Prompts before beginning the copy operation\n\ +[/T] Crea la struttura di cartelle vuote ma non copia i files\n\ +[/Y] Disabilita le conferme quando sono sovrascritti files\n\ +[/-Y] Abilita le conferme quando sono sovrascritti files\n\ +[/P] Chiede conferma per ogni file sorgente prima di copiare\n\ +[/N] Copia usando gli short names\n\ +[/U] Copia solo files che sono già presenti nella destinazione\n\ +[/R] Sovrascrivi ogni file che abbia l'attributo Sola Lettura\n\ +[/H] Includi files nascosti e di sistema nella copia\n\ +[/C] Continua anche se accade un errore durante la copia\n\ +[/A] Copia solo files che abbiano l'attributo Archivio\n\ +[/M] Copia solo files che abbiano l'attributo Archivio, rimuovendo\n\ +\tl'attributo\n\ +[/D | /D:m-g-a] Copia i nuovi files o quelli modificati dopo la data fornita.\n\ +\t\tSe nessuna data è stata fornita, copia solo se la destinazione è più vecchia\n\ +\t\tdella sorgente\n\n" + +} +#pragma code_page(default) diff --git a/reactos/base/applications/cmdutils/xcopy/Uk.rc b/reactos/base/applications/cmdutils/xcopy/Uk.rc new file mode 100644 index 00000000000..a618346374c --- /dev/null +++ b/reactos/base/applications/cmdutils/xcopy/Uk.rc @@ -0,0 +1,85 @@ +/* + * XCOPY - Wine-compatible xcopy program + * Ukrainian language support + * + * Copyright (C) 2007 J. Edmeades + * Copyright (C) 2010 I. 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 "xcopy.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_INVPARMS, "Невірна кількість параметрів - Введіть xcopy /? для довідки\n" + STRING_INVPARM, "Невірний параметр '%s' - Введіть xcopy /? для довідки\n" + STRING_PAUSE, "Натисніть щоб почати копіювання\n" + STRING_SIMCOPY, "%d файл(ів) буде скопійовано\n" + STRING_COPY, "%d файл(ів) скопійовано\n" + STRING_QISDIR, "'%s' є файлом чи директорією\n" \ + "on the target?\n" \ + "(F - Файл, D - Директорія)\n" + STRING_SRCPROMPT,"%s? (Yes|No)\n" + STRING_OVERWRITE,"Переписати %s? (Yes|No|All)\n" + STRING_COPYFAIL, "Під час копіювання '%s' в '%s' сталась помилка r/c %d\n" + STRING_OPENFAIL, "Не вдалось відкрити '%s'\n" + STRING_READFAIL, "Помилка читання '%s'\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, +"XCOPY - Копіює файли та дерева директорій за призначенням\n\ +\n\ +Syntax:\n\ +XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ +\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\ +\n\ +Where:\n\ +\n\ +[/I] Assume directory if destination does not exist and copying 2 or\n\ +\tmore files\n\ +[/S] Копіює директорії та піддиректорії\n\ +[/E] Копіює директорії та піддиректорії, включно з порожніми\n\ +[/Q] Do not list names during copy, ie quiet.\n\ +[/F] Під час копіювання відображає повні імена початкових і кінцевих файлів\n\ +[/L] Simulate operation, showing names which would be copied\n\ +[/W] Питає підтвердження перед початком копіювання\n\ +[/T] Створює структуру каталогів але не копіює файли\n\ +[/Y] Suppress prompting when overwriting files\n\ +[/-Y] Питає підтвердження на перезапис файлів\n\ +[/P] Prompts on each source file before copying\n\ +[/N] Копіює, використовуючи короткі імена\n\ +[/U] Copy only files which already exist in destination\n\ +[/R] Перезаписує файли, доступні лише для читання\n\ +[/H] Include hidden and system files in the copy\n\ +[/C] Продовжує роботу, навіть якщо при копіюванні виникла помилка\n\ +[/A] Копіює лише файли з властивістю АРХІВНИЙ\n\ +[/M] Копіює лише файли з властивістю АРХІВНИЙ, видаляє\n\ +\властивість АРХІВНИЙ\n\ +[/D | /D:m-d-y] Копіює лише нові файли або ті, які були змінені після вказаної дати.\n\ +\t\tЯкщо дата не вказана, only copy if destination is older\n\ +\t\tthan source\n\n" + +} +#pragma code_page(default) diff --git a/reactos/base/applications/cmdutils/xcopy/rsrc.rc b/reactos/base/applications/cmdutils/xcopy/rsrc.rc index 13cd86fcd57..6d7817cf4cd 100644 --- a/reactos/base/applications/cmdutils/xcopy/rsrc.rc +++ b/reactos/base/applications/cmdutils/xcopy/rsrc.rc @@ -30,6 +30,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include "De.rc" #include "En.rc" #include "Fr.rc" +#include "It.rc" #include "Ja.rc" #include "Ko.rc" #include "Lt.rc" @@ -39,3 +40,4 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include "Pt.rc" #include "Ru.rc" #include "Si.rc" +#include "Uk.rc" diff --git a/reactos/base/applications/wordpad/Da.rc b/reactos/base/applications/wordpad/Da.rc index 34789469e5e..8d035955bd2 100644 --- a/reactos/base/applications/wordpad/Da.rc +++ b/reactos/base/applications/wordpad/Da.rc @@ -46,7 +46,7 @@ BEGIN MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR MENUITEM "&Marker alt\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Sg efter...\tCrtl+F", ID_FIND + MENUITEM "&Sg efter...\tCtrl+F", ID_FIND MENUITEM "Sg efter &nste\tF3", ID_FIND_NEXT MENUITEM "E&rstat...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -218,6 +218,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Forrige side" STRING_PREVIEW_TWOPAGES, "To sider" STRING_PREVIEW_ONEPAGE, "n side" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Luk" END diff --git a/reactos/base/applications/wordpad/En.rc b/reactos/base/applications/wordpad/En.rc index b6ade3aaf3d..7af40bda4b8 100644 --- a/reactos/base/applications/wordpad/En.rc +++ b/reactos/base/applications/wordpad/En.rc @@ -46,7 +46,7 @@ BEGIN MENUITEM "&Clear\tDEL", ID_EDIT_CLEAR MENUITEM "&Select all\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Find...\tCrtl+F", ID_FIND + MENUITEM "&Find...\tCtrl+F", ID_FIND MENUITEM "Find &next\tF3", ID_FIND_NEXT MENUITEM "&Replace...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -210,6 +210,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Previous page" STRING_PREVIEW_TWOPAGES, "Two pages" STRING_PREVIEW_ONEPAGE, "One page" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Close" STRING_UNITS_CM, "cm" END diff --git a/reactos/base/applications/wordpad/Fr.rc b/reactos/base/applications/wordpad/Fr.rc index 3b518288639..b38daad137e 100644 --- a/reactos/base/applications/wordpad/Fr.rc +++ b/reactos/base/applications/wordpad/Fr.rc @@ -49,7 +49,7 @@ BEGIN MENUITEM "&Effacer\tDel", ID_EDIT_CLEAR MENUITEM "&Sélectionner tout\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Rechercher...\tCrtl+F", ID_FIND + MENUITEM "&Rechercher...\tCtrl+F", ID_FIND MENUITEM "Rechercher le &suivant\tF3", ID_FIND_NEXT MENUITEM "&Remplacer...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -221,6 +221,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Page précédente" STRING_PREVIEW_TWOPAGES, "Deux pages" STRING_PREVIEW_ONEPAGE, "Une page" + STRING_PREVIEW_ZOOMIN, "Zoom avant" + STRING_PREVIEW_ZOOMOUT, "Zoom arrière" STRING_PREVIEW_CLOSE, "Fermer" END diff --git a/reactos/base/applications/wordpad/Hu.rc b/reactos/base/applications/wordpad/Hu.rc index 74926e1e597..1eeede3c8aa 100644 --- a/reactos/base/applications/wordpad/Hu.rc +++ b/reactos/base/applications/wordpad/Hu.rc @@ -46,7 +46,7 @@ BEGIN MENUITEM "Tr&ls\tDel", ID_EDIT_CLEAR MENUITEM "M&indet kijelli\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Find...\tCrtl+F", ID_FIND + MENUITEM "&Find...\tCtrl+F", ID_FIND MENUITEM "Find &next\tF3", ID_FIND_NEXT MENUITEM "&Replace...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -218,6 +218,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Previous page" STRING_PREVIEW_TWOPAGES, "Two pages" STRING_PREVIEW_ONEPAGE, "One page" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Close" END diff --git a/reactos/base/applications/wordpad/It.rc b/reactos/base/applications/wordpad/It.rc new file mode 100644 index 00000000000..fd7a09b8576 --- /dev/null +++ b/reactos/base/applications/wordpad/It.rc @@ -0,0 +1,241 @@ +/* Italian resource for Wine WordPad + * + * Copyright 2010 by Luca Bennati + * + * 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 "wordpad.h" + +/*UTF-8*/ +#pragma code_page(65001) + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +IDM_MAINMENU MENU DISCARDABLE +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Nuovo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Apri...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Salva\tCtrl+S", ID_FILE_SAVE + MENUITEM "Salva &come...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "&Stampa...\tCtrl+P", ID_PRINT + MENUITEM "An&teprima di stampa...", ID_PREVIEW + MENUITEM "&Impostazioni di stampa...", ID_PRINTSETUP + MENUITEM SEPARATOR + MENUITEM "E&sci", ID_FILE_EXIT + END + POPUP "&Modifica" + BEGIN + MENUITEM "&Annulla\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Rifai\tCtrl+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "&Taglia\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Copia\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Incolla\tCtrl+V", ID_EDIT_PASTE + MENUITEM "Ca&ncella\tDEL", ID_EDIT_CLEAR + MENUITEM "&Seleziona tutto\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "T&rova...\tCtrl+F", ID_FIND + MENUITEM "Trova s&uccessivo\tF3", ID_FIND_NEXT + MENUITEM "S&ostituisci...\tCtrl+H", ID_REPLACE + MENUITEM SEPARATOR + MENUITEM "Sola &Lettura", ID_EDIT_READONLY + MENUITEM "&Modificato", ID_EDIT_MODIFIED + MENUITEM SEPARATOR + POPUP "E&xtra" + BEGIN + MENUITEM "&Informazioni sulla selezione", ID_EDIT_SELECTIONINFO + MENUITEM "&Formato del carattere", ID_EDIT_CHARFORMAT + MENUITEM "Formato del &def. char", ID_EDIT_DEFCHARFORMAT + MENUITEM "Formato del ¶grafo", ID_EDIT_PARAFORMAT + MENUITEM "&Ricava il testo", ID_EDIT_GETTEXT + END + END + POPUP "&Visualizza" + BEGIN + MENUITEM "Barra degli &strumenti", ID_TOGGLE_TOOLBAR + MENUITEM "Barra del &formato", ID_TOGGLE_FORMATBAR + MENUITEM "&Righello", ID_TOGGLE_RULER + MENUITEM "Barra dello s&tato", ID_TOGGLE_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Opzioni...", ID_VIEWPROPERTIES + END + POPUP "&Inserisci" + BEGIN + MENUITEM "&Data e ora...", ID_DATETIME + END + POPUP "F&ormato" + BEGIN + MENUITEM "&Font...", ID_FONTSETTINGS + MENUITEM "&Elenco" ID_BULLET + MENUITEM "&Paragrafo..." ID_PARAFORMAT + MENUITEM "&Tabulazioni..." ID_TABSTOPS + POPUP "Sfon&do" + BEGIN + MENUITEM "Di &sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&Giallo di PostThat\tCtrl+2", ID_BACK_2 + END + END + POPUP "&Aiuto" + BEGIN + MENUITEM "&Su Wine Wordpad" ID_ABOUT + END +END + +IDM_POPUP MENU DISCARDABLE +BEGIN + POPUP "" + BEGIN + MENUITEM "&Taglia", ID_EDIT_CUT + MENUITEM "&Copia", ID_EDIT_COPY + MENUITEM "&Incolla", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Elenco" ID_BULLET + MENUITEM "&Paragrafo..." ID_PARAFORMAT + END +END + +IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data e ora" +FONT 10, "MS Sans Serif" +BEGIN + LTEXT "Formati disponibili",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + PUSHBUTTON "&OK",IDOK,87,12,40,12 + PUSHBUTTON "&Annulla",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nuovo" +FONT 10, "MS Sans Serif" +BEGIN + LTEXT "Nuovo tipo di documento",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + PUSHBUTTON "&OK",IDOK,97,12,40,12 + PUSHBUTTON "&Annulla",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +Caption "Formato del paragrafo" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indentazione", -1, 10, 10, 120, 68 + LTEXT "Sinistra", -1, 15, 22, 40, 13 + EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 + LTEXT "Destra", -1, 15, 40, 40, 13 + EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 + LTEXT "Prima riga", -1, 15, 58, 40, 13 + EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 + LTEXT "Allineamento", -1, 15, 87, 45, 13 + COMBOBOX IDC_PARA_ALIGN, 60, 85, 60, 60, CBS_DROPDOWNLIST + PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 + PUSHBUTTON "&Annulla", IDCANCEL, 137, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +Caption "Tabulazioni" +FONT 8, "MS SHell DLg" +BEGIN + GROUPBOX "Punti di fermata delle tabulazioni", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Aggiungi", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Rimuovi", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 + PUSHBUTTON "&Annulla", IDCANCEL, 137, 33, 50, 15 + PUSHBUTTON "Rimuovi &tutti", ID_TAB_EMPTY, 137, 51, 50, 15 +END + +IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 310, 110 +STYLE DS_SYSMODAL +Caption "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Linea di margine", -1, 10, 10, 150, 85 + RADIOBUTTON "&Nessuna linea di margine", IDC_PAGEFMT_WN, 18, 25, 140, 15 + RADIOBUTTON "Confina il testo nel &bordo della finestra", IDC_PAGEFMT_WW, 18, 45, 140, 15 + RADIOBUTTON "Confina il testo nel &margine", IDC_PAGEFMT_WM, 18, 65, 140, 15 + GROUPBOX "Barre", -1, 170, 10, 120, 85 + CHECKBOX "Barra degli &strumenti", IDC_PAGEFMT_TB, 180, 20, 80, 15 + CHECKBOX "Barra del &formato", IDC_PAGEFMT_FB, 180, 38, 80, 15 + CHECKBOX "&Righello", IDC_PAGEFMT_RU, 180, 56, 80, 15 + CHECKBOX "Barra dello s&tato", IDC_PAGEFMT_SB, 180, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +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_NEWFILE_RICHTEXT, "Documento Rich text" + STRING_NEWFILE_TXT, "Documento di testo" + STRING_NEWFILE_TXT_UNICODE, "Documento di testo Unicode" + STRING_PRINTER_FILES_PRN, "File di stampa (*.PRN)" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_ALIGN_LEFT, "Sinistra" + STRING_ALIGN_RIGHT, "Destra" + STRING_ALIGN_CENTER, "Centro" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Opzioni" + STRING_VIEWPROPS_TEXT, "Testo" + STRING_VIEWPROPS_RICHTEXT, "Rich text" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_PREVIEW_PRINT, "Stampa" + STRING_PREVIEW_NEXTPAGE, "Prossima pagina" + STRING_PREVIEW_PREVPAGE, "Pagina precedente" + STRING_PREVIEW_TWOPAGES, "Due pagine" + STRING_PREVIEW_ONEPAGE, "Una pagina" + STRING_PREVIEW_ZOOMIN, "Ingrandisci" + STRING_PREVIEW_ZOOMOUT, "Rimpicciolisci" + STRING_PREVIEW_CLOSE, "Chiudi" + STRING_UNITS_CM, "cm" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_DEFAULT_FILENAME, "Documento" + STRING_PROMPT_SAVE_CHANGES, "Salva i cambiamenti su '%s'?" + STRING_SEARCH_FINISHED, "Finita la ricerca sul documento." + STRING_LOAD_RICHED_FAILED, "Impossibile caricare la libreria RichEdit." + STRING_SAVE_LOSEFORMATTING, "Hai scelto di salvare nel formato Testo semplice, " \ + "che causerà la perdita di tutta la formattazione. " \ + "Sei sicuro?" + STRING_INVALID_NUMBER, "Numero di formato non valido" + STRING_OLE_STORAGE_NOT_SUPPORTED, "I documenti di storage OLE non sono supportati" + STRING_WRITE_FAILED, "Impossibile salvare il file." + STRING_WRITE_ACCESS_DENIED, "Non hai i diritti di accesso per salvare il file." + STRING_OPEN_FAILED, "Impossibile aprire il file." + STRING_OPEN_ACCESS_DENIED, "Non hai i diritti di accesso per aprire il file." + STRING_PRINTING_NOT_IMPLEMENTED, "Stampa non implementata" + STRING_MAX_TAB_STOPS, "Non si possono aggiungere più di 32 punti di fermata delle tabulazioni." +END +#pragma code_page(default) diff --git a/reactos/base/applications/wordpad/Ja.rc b/reactos/base/applications/wordpad/Ja.rc index 6e08b569c60..89b4b0041e2 100644 --- a/reactos/base/applications/wordpad/Ja.rc +++ b/reactos/base/applications/wordpad/Ja.rc @@ -49,7 +49,7 @@ BEGIN MENUITEM "クリア(&C)\tDEL", ID_EDIT_CLEAR MENUITEM "すべて選択(&S)\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "検索(&F)...\tCrtl+F", ID_FIND + MENUITEM "検索(&F)...\tCtrl+F", ID_FIND MENUITEM "次を検索(&N)\tF3", ID_FIND_NEXT MENUITEM "置換(&R)...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -221,6 +221,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "前のページ" STRING_PREVIEW_TWOPAGES, "2ページ" STRING_PREVIEW_ONEPAGE, "1ページ" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "閉じる" END diff --git a/reactos/base/applications/wordpad/Ko.rc b/reactos/base/applications/wordpad/Ko.rc index 2e460afdae9..20928221c02 100644 --- a/reactos/base/applications/wordpad/Ko.rc +++ b/reactos/base/applications/wordpad/Ko.rc @@ -47,7 +47,7 @@ BEGIN MENUITEM "(&C)\tDEL", ID_EDIT_CLEAR MENUITEM " (&S)\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "ã(&F)...\tCrtl+F", ID_FIND + MENUITEM "ã(&F)...\tCtrl+F", ID_FIND MENUITEM " ã(&N)\tF3", ID_FIND_NEXT MENUITEM " ٲٱ(&R)...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -212,6 +212,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, " " STRING_PREVIEW_TWOPAGES, " " STRING_PREVIEW_ONEPAGE, " " + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "ݱ" STRING_UNITS_CM, "cm" END diff --git a/reactos/base/applications/wordpad/Lt.rc b/reactos/base/applications/wordpad/Lt.rc index e1781ebf90d..a1c73126b74 100644 --- a/reactos/base/applications/wordpad/Lt.rc +++ b/reactos/base/applications/wordpad/Lt.rc @@ -49,7 +49,7 @@ BEGIN MENUITEM "&Šalinti\tDEL", ID_EDIT_CLEAR MENUITEM "&Pažymėti viską\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "I&eškoti...\tCrtl+F", ID_FIND + MENUITEM "I&eškoti...\tCtrl+F", ID_FIND MENUITEM "Iešk&oti kito\tF3", ID_FIND_NEXT MENUITEM "Pa&keisti...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -221,6 +221,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Ankstesnis puslapis" STRING_PREVIEW_TWOPAGES, "Du puslapiai" STRING_PREVIEW_ONEPAGE, "Vienas puslapis" + STRING_PREVIEW_ZOOMIN, "Didinti" + STRING_PREVIEW_ZOOMOUT, "Mažinti" STRING_PREVIEW_CLOSE, "Užverti" END diff --git a/reactos/base/applications/wordpad/Nl.rc b/reactos/base/applications/wordpad/Nl.rc index 10729e41df5..581855eec98 100644 --- a/reactos/base/applications/wordpad/Nl.rc +++ b/reactos/base/applications/wordpad/Nl.rc @@ -47,7 +47,7 @@ BEGIN MENUITEM "&Verwijderen\tDel", ID_EDIT_CLEAR MENUITEM "&Alles selecteren\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Zoeken...\tCrtl+F", ID_FIND + MENUITEM "&Zoeken...\tCtrl+F", ID_FIND MENUITEM "Zoek vo&lgende\tF3", ID_FIND_NEXT MENUITEM "Ve&rvang...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -211,6 +211,8 @@ BEGIN 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_CLOSE, "Sluiten" END diff --git a/reactos/base/applications/wordpad/No.rc b/reactos/base/applications/wordpad/No.rc index 4409c30e9c6..c8086582afe 100644 --- a/reactos/base/applications/wordpad/No.rc +++ b/reactos/base/applications/wordpad/No.rc @@ -48,7 +48,7 @@ BEGIN MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR MENUITEM "&Merk alt\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Søk etter...\tCrtl+F", ID_FIND + MENUITEM "&Søk etter...\tCtrl+F", ID_FIND MENUITEM "Søk etter &neste\tF3", ID_FIND_NEXT MENUITEM "E&rstatt...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -220,6 +220,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Forrige side" STRING_PREVIEW_TWOPAGES, "To sider" STRING_PREVIEW_ONEPAGE, "Én side" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Lukk" END diff --git a/reactos/base/applications/wordpad/Pl.rc b/reactos/base/applications/wordpad/Pl.rc index ab72104e5d0..97d7288bc4c 100644 --- a/reactos/base/applications/wordpad/Pl.rc +++ b/reactos/base/applications/wordpad/Pl.rc @@ -47,7 +47,7 @@ BEGIN MENUITEM "&Usu\tDel", ID_EDIT_CLEAR MENUITEM "&Zaznacz wszystko\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Znaj&d...\tCrtl+F", ID_FIND + MENUITEM "Znaj&d...\tCtrl+F", ID_FIND MENUITEM "Z&najd nastpny\tF3", ID_FIND_NEXT MENUITEM "Za&mie...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -219,6 +219,8 @@ BEGIN 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_CLOSE, "Zamknij" END diff --git a/reactos/base/applications/wordpad/Pt.rc b/reactos/base/applications/wordpad/Pt.rc index b93237202e8..8b0114af22c 100644 --- a/reactos/base/applications/wordpad/Pt.rc +++ b/reactos/base/applications/wordpad/Pt.rc @@ -50,7 +50,7 @@ BEGIN MENUITEM "&Limpar\tDEL", ID_EDIT_CLEAR MENUITEM "&Seleccionar tudo\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Local&izar...\tCrtl+F", ID_FIND + MENUITEM "Local&izar...\tCtrl+F", ID_FIND MENUITEM "&Encontrar Seguinte\tF3", ID_FIND_NEXT MENUITEM "&Substituir...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -222,6 +222,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Página anterior" STRING_PREVIEW_TWOPAGES, "Duas páginas" STRING_PREVIEW_ONEPAGE, "Uma página" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Fechar" END diff --git a/reactos/base/applications/wordpad/Ru.rc b/reactos/base/applications/wordpad/Ru.rc index 3aeaf66a9d0..70d9b96e743 100644 --- a/reactos/base/applications/wordpad/Ru.rc +++ b/reactos/base/applications/wordpad/Ru.rc @@ -49,7 +49,7 @@ BEGIN MENUITEM "&Удалить\tDEL", ID_EDIT_CLEAR MENUITEM "Выделить в&се\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Найти...\tCrtl+F", ID_FIND + MENUITEM "&Найти...\tCtrl+F", ID_FIND MENUITEM "На&йти далее\tF3", ID_FIND_NEXT MENUITEM "&Заменить...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -221,6 +221,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Предыдущая страница" STRING_PREVIEW_TWOPAGES, "Две страницы" STRING_PREVIEW_ONEPAGE, "Одна страница" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Закрыть" END diff --git a/reactos/base/applications/wordpad/Si.rc b/reactos/base/applications/wordpad/Si.rc index 4fa9cfe08c2..dc0c8d08c0d 100644 --- a/reactos/base/applications/wordpad/Si.rc +++ b/reactos/base/applications/wordpad/Si.rc @@ -48,7 +48,7 @@ BEGIN MENUITEM "Po&briši\tDEL", ID_EDIT_CLEAR MENUITEM "Izberi &vse\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Na&jdi ...\tCrtl+F", ID_FIND + MENUITEM "Na&jdi ...\tCtrl+F", ID_FIND MENUITEM "Najdi n&aslednje\tF3", ID_FIND_NEXT MENUITEM "Za&menjaj ...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -220,6 +220,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Prejšnja" STRING_PREVIEW_TWOPAGES, "Dve strani" STRING_PREVIEW_ONEPAGE, "Ena stran" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Zapri" END diff --git a/reactos/base/applications/wordpad/Sv.rc b/reactos/base/applications/wordpad/Sv.rc index f8ac17f77c6..c954dc1a7a7 100644 --- a/reactos/base/applications/wordpad/Sv.rc +++ b/reactos/base/applications/wordpad/Sv.rc @@ -48,7 +48,7 @@ BEGIN MENUITEM "Ta &bort\tDEL", ID_EDIT_CLEAR MENUITEM "&Markera allt\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Sök...\tCrtl+F", ID_FIND + MENUITEM "&Sök...\tCtrl+F", ID_FIND MENUITEM "Sök &nästa\tF3", ID_FIND_NEXT MENUITEM "&Ersätt...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -220,6 +220,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Föregående sida" STRING_PREVIEW_TWOPAGES, "Två sidor" STRING_PREVIEW_ONEPAGE, "En sida" + STRING_PREVIEW_ZOOMIN, "Zooma in" + STRING_PREVIEW_ZOOMOUT, "Zooma ut" STRING_PREVIEW_CLOSE, "Stäng" END diff --git a/reactos/base/applications/wordpad/Tr.rc b/reactos/base/applications/wordpad/Tr.rc index 92290371d37..e8d9f982ffb 100644 --- a/reactos/base/applications/wordpad/Tr.rc +++ b/reactos/base/applications/wordpad/Tr.rc @@ -48,7 +48,7 @@ BEGIN MENUITEM "&Sil\tDel", ID_EDIT_CLEAR MENUITEM "&Tmn se\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Find...\tCrtl+F", ID_FIND + MENUITEM "&Find...\tCtrl+F", ID_FIND MENUITEM "Find &next\tF3", ID_FIND_NEXT MENUITEM "&Replace...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -220,6 +220,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "Previous page" STRING_PREVIEW_TWOPAGES, "Two pages" STRING_PREVIEW_ONEPAGE, "One page" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Close" END diff --git a/reactos/base/applications/wordpad/Uk.rc b/reactos/base/applications/wordpad/Uk.rc new file mode 100644 index 00000000000..08ad375af2e --- /dev/null +++ b/reactos/base/applications/wordpad/Uk.rc @@ -0,0 +1,253 @@ +/* + * Copyright 2004 by Krzysztof Foltman + * + * 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 "wordpad.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +IDM_MAINMENU MENU DISCARDABLE +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Новий...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Відкрити...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Зберегти\tCtrl+S", ID_FILE_SAVE + MENUITEM "Зберегти &як...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "&Друк...\tCtrl+P", ID_PRINT + MENUITEM "Попередній перег&ляд...", ID_PREVIEW + MENUITEM "Налаштування &сторінки...", ID_PRINTSETUP + MENUITEM SEPARATOR + MENUITEM "В&ихід", ID_FILE_EXIT + END + POPUP "&Правка" + BEGIN + MENUITEM "&Відмінити\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "Повт&орити\tCtrl+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "Виріза&ти\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Копіювати\tCtrl+C", ID_EDIT_COPY + MENUITEM "В&ставити\tCtrl+V", ID_EDIT_PASTE + MENUITEM "О&чистити\tDEL", ID_EDIT_CLEAR + MENUITEM "Виб&рати все\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "&Знайти...\tCtrl+F", ID_FIND + MENUITEM "Знайти д&алі\tF3", ID_FIND_NEXT + MENUITEM "За&мінтити...\tCtrl+H", ID_REPLACE + MENUITEM SEPARATOR + MENUITEM "Лише д&ля читання", ID_EDIT_READONLY + MENUITEM "Зм&інений", ID_EDIT_MODIFIED + MENUITEM SEPARATOR + POPUP "Д&одатково" + BEGIN + MENUITEM "&Інформація про виділення", ID_EDIT_SELECTIONINFO + MENUITEM "&Формат символів", ID_EDIT_CHARFORMAT + MENUITEM "Формат символів &по замовчуванні", ID_EDIT_DEFCHARFORMAT + MENUITEM "Paragrap&h format", ID_EDIT_PARAFORMAT + MENUITEM "&Взяти текст", ID_EDIT_GETTEXT + END + END + POPUP "&Вигляд" + BEGIN + MENUITEM "Панель інс&трументів", ID_TOGGLE_TOOLBAR + MENUITEM "Панель &форматування", ID_TOGGLE_FORMATBAR + MENUITEM "&Лінійка", ID_TOGGLE_RULER + MENUITEM "&Рядок стану", ID_TOGGLE_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Параметри...", ID_VIEWPROPERTIES + END + POPUP "&Вставка" + BEGIN + MENUITEM "&Дата та час...", ID_DATETIME + END + POPUP "Ф&ормат" + BEGIN + MENUITEM "&Шрифт...", ID_FONTSETTINGS + MENUITEM "&Bullet points" ID_BULLET + MENUITEM "&Абзац..." ID_PARAFORMAT + MENUITEM "&Табуляція..." ID_TABSTOPS + POPUP "&Фон" + BEGIN + MENUITEM "&Ситсемний\tCtrl+1", ID_BACK_1 + MENUITEM "&Жовтуватий PostThat\tCtrl+2", ID_BACK_2 + END + END + POPUP "&Довідка" + BEGIN + MENUITEM "&Про Wine Wordpad" ID_ABOUT + END +END + +IDM_POPUP MENU DISCARDABLE +BEGIN + POPUP "" + BEGIN + MENUITEM "Вир&ізати", ID_EDIT_CUT + MENUITEM "&Копіювати", ID_EDIT_COPY + MENUITEM "&Вставити", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Bullet points" ID_BULLET + MENUITEM "&Абзац..." ID_PARAFORMAT + END +END + +IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Дата та час" +FONT 10, "MS Sans Serif" +BEGIN + LTEXT "Доступні формати",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + PUSHBUTTON "&OK",IDOK,87,12,40,12 + PUSHBUTTON "&Скасувати",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Новий" +FONT 10, "MS Sans Serif" +BEGIN + LTEXT "Тип нового документу",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + PUSHBUTTON "&OK",IDOK,97,12,40,12 + PUSHBUTTON "&Скасувати",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +Caption "Абзац" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Відступ", -1, 10, 10, 120, 68 + LTEXT "Зліва", -1, 15, 22, 40, 13 + EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 + LTEXT "Справа", -1, 15, 40, 40, 13 + EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 + LTEXT "Перший рядок", -1, 15, 58, 40, 13 + EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 + LTEXT "Вирівнювання", -1, 15, 87, 40, 13 + COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST + PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 + PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +Caption "Табуляція" +FONT 8, "MS SHell DLg" +BEGIN + GROUPBOX "Tab stops", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Додати", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Видалити", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 + PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15 + PUSHBUTTON "Видалити в&се", ID_TAB_EMPTY, 137, 51, 50, 15 +END + +IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110 +STYLE DS_SYSMODAL +Caption "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Line wrapping", -1, 10, 10, 130, 85 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 + GROUPBOX "Toolbars", -1, 150, 10, 120, 85 + CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 + CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 + CHECKBOX "&Лінійка", IDC_PAGEFMT_RU, 160, 56, 80, 15 + CHECKBOX "&Рядоу стану", IDC_PAGEFMT_SB, 160, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_ALL_FILES, "Всі документи (*.*)" + STRING_TEXT_FILES_TXT, "Текстові документи (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Текстовий документ Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Rich text format (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rich text документ" + STRING_NEWFILE_TXT, "Текстовий документ" + STRING_NEWFILE_TXT_UNICODE, "Текстовий документ Unicode" + STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_ALIGN_LEFT, "По Лівому Краю" + STRING_ALIGN_RIGHT, "По Правому Краю" + STRING_ALIGN_CENTER, "По Центру" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Налаштування" + STRING_VIEWPROPS_TEXT, "Текст" + STRING_VIEWPROPS_RICHTEXT, "Rich text" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_PREVIEW_PRINT, "Друк" + STRING_PREVIEW_NEXTPAGE, "Наступна сторінка" + STRING_PREVIEW_PREVPAGE, "Попередня сторінка" + STRING_PREVIEW_TWOPAGES, "Дві сторінки" + STRING_PREVIEW_ONEPAGE, "Одна сторінка" + STRING_PREVIEW_ZOOMIN, "Збільшити" + STRING_PREVIEW_ZOOMOUT, "Зменшити" + STRING_PREVIEW_CLOSE, "Закрити" + STRING_UNITS_CM, "cm" +END + +STRINGTABLE DISCARDABLE +BEGIN + STRING_DEFAULT_FILENAME, "Документ" + STRING_PROMPT_SAVE_CHANGES, "Зберегти зміни в '%s'?" + STRING_SEARCH_FINISHED, "Покуш документу завершено." + STRING_LOAD_RICHED_FAILED, "Не вдалось завантажити бібліотеку RichEdit." + STRING_SAVE_LOSEFORMATTING, "Ви вибрали збереження в форматі простого тексту, " \ + "що призведе до втрати форматування. " \ + "Ви справді цього хочете?" + STRING_INVALID_NUMBER, "Невірний числовий формат" + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage документи не підтримуються" + STRING_WRITE_FAILED, "Неможливо зберегти файл." + STRING_WRITE_ACCESS_DENIED, "Недостатньо прав для збереження файлу." + STRING_OPEN_FAILED, "Не вдалось відкрити файл." + STRING_OPEN_ACCESS_DENIED, "Недостатньо прав для відкриття файлу." + STRING_PRINTING_NOT_IMPLEMENTED, "Друк не впроваджено" + STRING_MAX_TAB_STOPS, "Неможливо додати більше 32 позицій табуляції." +END + +LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL + +STRINGTABLE DISCARDABLE +BEGIN + STRING_ALIGN_LEFT, "По Лівому Краю" + STRING_ALIGN_RIGHT, "По правому Краю" + STRING_ALIGN_CENTER, "По Центру" +END +#pragma code_page(default) diff --git a/reactos/base/applications/wordpad/Zh.rc b/reactos/base/applications/wordpad/Zh.rc index 69531055234..7fd7e120f3e 100644 --- a/reactos/base/applications/wordpad/Zh.rc +++ b/reactos/base/applications/wordpad/Zh.rc @@ -51,7 +51,7 @@ BEGIN MENUITEM "删除(&D)\tDEL", ID_EDIT_CLEAR MENUITEM "全选(&S)\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "查找(&F)...\tCrtl+F", ID_FIND + MENUITEM "查找(&F)...\tCtrl+F", ID_FIND MENUITEM "找下一个(&N)\tF3", ID_FIND_NEXT MENUITEM "替换(&R)...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR @@ -223,6 +223,8 @@ BEGIN STRING_PREVIEW_PREVPAGE, "上一页" STRING_PREVIEW_TWOPAGES, "双页" STRING_PREVIEW_ONEPAGE, "单页" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "关闭" END @@ -276,7 +278,7 @@ BEGIN MENUITEM "刪除(&D)\tDEL", ID_EDIT_CLEAR MENUITEM "全選(&S)\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "查找(&F)...\tCrtl+F", ID_FIND + MENUITEM "查找(&F)...\tCtrl+F", ID_FIND MENUITEM "找下一個(&N)\tF3", ID_FIND_NEXT MENUITEM "替換(&R)...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR diff --git a/reactos/base/applications/wordpad/print.c b/reactos/base/applications/wordpad/print.c index 0a1343fbe05..79b43a6f494 100644 --- a/reactos/base/applications/wordpad/print.c +++ b/reactos/base/applications/wordpad/print.c @@ -33,6 +33,12 @@ typedef struct _previewinfo HDC hdcSized; HDC hdcSized2; RECT window; + RECT rcPage; + SIZE bmSize; + SIZE bmScaledSize; + SIZE spacing; + float zoomratio; + int zoomlevel; LPWSTR wszFileName; } previewinfo, *ppreviewinfo; @@ -42,6 +48,8 @@ static HGLOBAL devNames; static RECT margins; static previewinfo preview; +extern const WCHAR wszPreviewWndClass[]; + static const WCHAR var_pagemargin[] = {'P','a','g','e','M','a','r','g','i','n',0}; static LPWSTR get_print_file_filter(HWND hMainWnd) @@ -50,7 +58,7 @@ static LPWSTR get_print_file_filter(HWND hMainWnd) const WCHAR files_prn[] = {'*','.','P','R','N',0}; const WCHAR files_all[] = {'*','.','*','\0'}; LPWSTR p; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); p = wszPrintFilter; LoadStringW(hInstance, STRING_PRINTER_FILES_PRN, p, MAX_STRING_LEN); @@ -88,7 +96,7 @@ void registry_read_pagemargins(HKEY hKey) static void AddTextButton(HWND hRebarWnd, UINT string, UINT command, UINT id) { REBARBANDINFOW rb; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hRebarWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); WCHAR text[MAX_STRING_LEN]; HWND hButton; @@ -243,9 +251,11 @@ static int get_num_pages(HWND hEditorWnd, FORMATRANGE fr) do { + int bottom = fr.rc.bottom; page++; - fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, + fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, FALSE, (LPARAM)&fr); + fr.rc.bottom = bottom; } while(fr.chrg.cpMin && fr.chrg.cpMin < fr.chrg.cpMax); @@ -260,7 +270,9 @@ static void char_from_pagenum(HWND hEditorWnd, FORMATRANGE *fr, int page) for(i = 1; i < page; i++) { - fr->chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)fr); + int bottom = fr->rc.bottom; + fr->chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, FALSE, (LPARAM)fr); + fr->rc.bottom = bottom; } } @@ -328,6 +340,7 @@ static void print(LPPRINTDLGW pd, LPWSTR wszFileName) StartDocW(fr.hdc, &di); do { + int bottom = fr.rc.bottom; if(StartPage(fr.hdc) <= 0) break; @@ -335,6 +348,7 @@ 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))) @@ -442,7 +456,9 @@ static void preview_bar_show(HWND hMainWnd, BOOL show) AddTextButton(hReBar, STRING_PREVIEW_NEXTPAGE, ID_PREVIEW_NEXTPAGE, BANDID_PREVIEW_BTN2); AddTextButton(hReBar, STRING_PREVIEW_PREVPAGE, ID_PREVIEW_PREVPAGE, BANDID_PREVIEW_BTN3); AddTextButton(hReBar, STRING_PREVIEW_TWOPAGES, ID_PREVIEW_NUMPAGES, BANDID_PREVIEW_BTN4); - AddTextButton(hReBar, STRING_PREVIEW_CLOSE, ID_FILE_EXIT, BANDID_PREVIEW_BTN5); + AddTextButton(hReBar, STRING_PREVIEW_ZOOMIN, ID_PREVIEW_ZOOMIN, BANDID_PREVIEW_BTN5); + AddTextButton(hReBar, STRING_PREVIEW_ZOOMOUT, ID_PREVIEW_ZOOMOUT, BANDID_PREVIEW_BTN6); + AddTextButton(hReBar, STRING_PREVIEW_CLOSE, ID_FILE_EXIT, BANDID_PREVIEW_BTN7); hStatic = CreateWindowW(WC_STATICW, NULL, WS_VISIBLE | WS_CHILD, 0, 0, 0, 0, @@ -465,23 +481,220 @@ static void preview_bar_show(HWND hMainWnd, BOOL show) } } +static const int min_spacing = 10; + +static void update_preview_scrollbars(HWND hwndPreview, RECT *window) +{ + SCROLLINFO sbi; + sbi.cbSize = sizeof(sbi); + sbi.fMask = SIF_PAGE|SIF_RANGE; + sbi.nMin = 0; + if (preview.zoomlevel == 0) + { + /* Hide scrollbars when zoomed out. */ + sbi.nMax = 0; + sbi.nPage = window->right; + SetScrollInfo(hwndPreview, SB_HORZ, &sbi, TRUE); + sbi.nPage = window->bottom; + SetScrollInfo(hwndPreview, SB_VERT, &sbi, TRUE); + } else { + if (!preview.hdc2) + sbi.nMax = preview.bmScaledSize.cx + min_spacing * 2; + else + sbi.nMax = preview.bmScaledSize.cx * 2 + min_spacing * 3; + sbi.nPage = window->right; + SetScrollInfo(hwndPreview, SB_HORZ, &sbi, TRUE); + /* Change in the horizontal scrollbar visibility affects the + * client rect, so update the client rect. */ + GetClientRect(hwndPreview, window); + sbi.nMax = preview.bmScaledSize.cy + min_spacing * 2; + sbi.nPage = window->bottom; + SetScrollInfo(hwndPreview, SB_VERT, &sbi, TRUE); + } +} + +static void update_preview_sizes(HWND hwndPreview, BOOL zoomLevelUpdated) +{ + RECT window; + + GetClientRect(hwndPreview, &window); + + /* The zoom ratio isn't updated for partial zoom because of resizing the window. */ + if (zoomLevelUpdated || preview.zoomlevel != 1) + { + float ratio, ratioHeight, ratioWidth; + if (preview.zoomlevel == 2) + { + ratio = 1.0; + } else { + ratioHeight = (window.bottom - min_spacing * 2) / (float)preview.bmSize.cy; + + if(preview.hdc2) + ratioWidth = ((window.right - min_spacing * 3) / 2.0) / (float)preview.bmSize.cx; + else + ratioWidth = (window.right - min_spacing * 2) / (float)preview.bmSize.cx; + + if(ratioWidth > ratioHeight) + ratio = ratioHeight; + else + ratio = ratioWidth; + + if (preview.zoomlevel == 1) + ratio += (1.0 - ratio) / 2; + } + preview.zoomratio = ratio; + } + + preview.bmScaledSize.cx = preview.bmSize.cx * preview.zoomratio; + preview.bmScaledSize.cy = preview.bmSize.cy * preview.zoomratio; + + preview.spacing.cy = max(min_spacing, (window.bottom - preview.bmScaledSize.cy) / 2); + + if(!preview.hdc2) + preview.spacing.cx = (window.right - preview.bmScaledSize.cx) / 2; + else + preview.spacing.cx = (window.right - preview.bmScaledSize.cx * 2) / 3; + if (preview.spacing.cx < min_spacing) + preview.spacing.cx = min_spacing; + + update_preview_scrollbars(hwndPreview, &window); +} + +/* Update for zoom ratio changes with same page. */ +static void update_scaled_preview(HWND hMainWnd) +{ + HWND hwndPreview = GetDlgItem(hMainWnd, IDC_PREVIEW); + preview.window.right = 0; + InvalidateRect(hwndPreview, NULL, TRUE); +} + +LRESULT CALLBACK preview_proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch(msg) + { + case WM_CREATE: + { + HWND hEditorWnd = GetDlgItem(GetParent(hWnd), IDC_EDITOR); + FORMATRANGE fr; + GETTEXTLENGTHEX gt = {GTL_DEFAULT, 1200}; + HDC hdc = GetDC(hWnd); + HDC hdcTarget = make_dc(); + + fr.rc = preview.rcPage = get_print_rect(hdcTarget); + preview.rcPage.bottom += margins.bottom; + preview.rcPage.right += margins.right; + preview.rcPage.top = preview.rcPage.left = 0; + fr.rcPage = preview.rcPage; + + preview.bmSize.cx = twips_to_pixels(preview.rcPage.right, GetDeviceCaps(hdc, LOGPIXELSX)); + preview.bmSize.cy = twips_to_pixels(preview.rcPage.bottom, GetDeviceCaps(hdc, LOGPIXELSY)); + + fr.hdc = CreateCompatibleDC(hdc); + fr.hdcTarget = hdcTarget; + fr.chrg.cpMin = 0; + fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)>, 0); + preview.pages = get_num_pages(hEditorWnd, fr); + DeleteDC(fr.hdc); + + update_preview_sizes(hWnd, TRUE); + break; + } + + case WM_PAINT: + return print_preview(hWnd); + + case WM_SIZE: + { + update_preview_sizes(hWnd, FALSE); + update_scaled_preview(hWnd); + break; + } + + case WM_VSCROLL: + case WM_HSCROLL: + { + SCROLLINFO si; + RECT rc; + int nBar = (msg == WM_VSCROLL) ? SB_VERT : SB_HORZ; + int origPos; + + GetClientRect(hWnd, &rc); + si.cbSize = sizeof(si); + si.fMask = SIF_ALL; + GetScrollInfo(hWnd, nBar, &si); + origPos = si.nPos; + switch(LOWORD(wParam)) + { + case SB_TOP: /* == SB_LEFT */ + si.nPos = si.nMin; + break; + case SB_BOTTOM: /* == SB_RIGHT */ + si.nPos = si.nMax; + break; + case SB_LINEUP: /* == SB_LINELEFT */ + si.nPos -= si.nPage / 10; + break; + case SB_LINEDOWN: /* == SB_LINERIGHT */ + si.nPos += si.nPage / 10; + break; + case SB_PAGEUP: /* == SB_PAGELEFT */ + si.nPos -= si.nPage; + break; + case SB_PAGEDOWN: /* SB_PAGERIGHT */ + si.nPos += si.nPage; + break; + case SB_THUMBTRACK: + si.nPos = si.nTrackPos; + break; + } + si.fMask = SIF_POS; + SetScrollInfo(hWnd, nBar, &si, TRUE); + GetScrollInfo(hWnd, nBar, &si); + if (si.nPos != origPos) + { + int amount = origPos - si.nPos; + if (msg == WM_VSCROLL) + ScrollWindow(hWnd, 0, amount, NULL, NULL); + else + ScrollWindow(hWnd, amount, 0, NULL, NULL); + } + return 0; + } + + default: + return DefWindowProcW(hWnd, msg, wParam, lParam); + } + + return 0; +} + void init_preview(HWND hMainWnd, LPWSTR wszFileName) { + HWND hwndPreview; + HINSTANCE hInstance = GetModuleHandleW(0); preview.page = 1; preview.hdc = 0; preview.hdc2 = 0; preview.wszFileName = wszFileName; + preview.zoomratio = 0; + preview.zoomlevel = 0; preview_bar_show(hMainWnd, TRUE); + + hwndPreview = CreateWindowExW(0, wszPreviewWndClass, NULL, + WS_VISIBLE | WS_CHILD | WS_VSCROLL | WS_HSCROLL, + 0, 0, 200, 10, hMainWnd, (HMENU)IDC_PREVIEW, hInstance, NULL); } void close_preview(HWND hMainWnd) { + HWND hwndPreview = GetDlgItem(hMainWnd, IDC_PREVIEW); preview.window.right = 0; preview.window.bottom = 0; preview.page = 0; preview.pages = 0; preview_bar_show(hMainWnd, FALSE); + DestroyWindow(hwndPreview); } BOOL preview_isactive(void) @@ -663,46 +876,53 @@ static void draw_preview_page(HDC hdc, HDC* hdcSized, FORMATRANGE* lpFr, float r static void draw_preview(HWND hEditorWnd, FORMATRANGE* lpFr, int bmWidth, int bmHeight, RECT* paper, int page) { HBITMAP hBitmapCapture = CreateCompatibleBitmap(lpFr->hdc, bmWidth, bmHeight); + int bottom; char_from_pagenum(hEditorWnd, lpFr, page); SelectObject(lpFr->hdc, hBitmapCapture); FillRect(lpFr->hdc, paper, GetStockObject(WHITE_BRUSH)); + bottom = lpFr->rc.bottom; SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)lpFr); - /* EM_FORMATRANGE sets fr.rc to indicate the area printed in, but we want to - keep the original for drawing margins */ - lpFr->rc = get_print_rect(lpFr->hdcTarget); + /* EM_FORMATRANGE sets fr.rc.bottom to indicate the area printed in, + * but we want to keep the original for drawing margins */ + lpFr->rc.bottom = bottom; SendMessageW(hEditorWnd, EM_FORMATRANGE, FALSE, 0); } -LRESULT print_preview(HWND hMainWnd) +static void update_preview_buttons(HWND hMainWnd) +{ + HWND hReBar = GetDlgItem(hMainWnd, IDC_REBAR); + EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_PREVPAGE), preview.page > 1); + EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_NEXTPAGE), preview.hdc2 ? + (preview.page + 1) < preview.pages : + preview.page < preview.pages); + EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_NUMPAGES), preview.pages > 1 && preview.zoomlevel == 0); + EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_ZOOMIN), preview.zoomlevel < 2); + EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_ZOOMOUT), preview.zoomlevel > 0); +} + +LRESULT print_preview(HWND hwndPreview) { FORMATRANGE fr; - GETTEXTLENGTHEX gt; HDC hdc; RECT window, background; - int bmWidth, bmHeight, bmNewWidth, bmNewHeight; - float ratioWidth, ratioHeight, ratio; - int xOffset, yOffset; - int barheight; - float spacing = 20.0; - HWND hReBar = GetDlgItem(hMainWnd, IDC_REBAR); PAINTSTRUCT ps; + HWND hMainWnd = GetParent(hwndPreview); + POINT scrollpos; - hdc = BeginPaint(hMainWnd, &ps); - GetClientRect(hMainWnd, &window); + hdc = BeginPaint(hwndPreview, &ps); + GetClientRect(hwndPreview, &window); fr.hdcTarget = make_dc(); - fr.rc = get_print_rect(fr.hdcTarget); - fr.rcPage.left = 0; - fr.rcPage.top = 0; - fr.rcPage.bottom = fr.rc.bottom + margins.bottom; - fr.rcPage.right = fr.rc.right + margins.right; - - bmWidth = twips_to_pixels(fr.rcPage.right, GetDeviceCaps(hdc, LOGPIXELSX)); - bmHeight = twips_to_pixels(fr.rcPage.bottom, GetDeviceCaps(hdc, LOGPIXELSY)); + fr.rc = fr.rcPage = preview.rcPage; + fr.rc.left += margins.left; + fr.rc.top += margins.top; + fr.rc.bottom -= margins.bottom; + fr.rc.right -= margins.right; if(!preview.hdc) { + GETTEXTLENGTHEX gt; RECT paper; HWND hEditorWnd = GetDlgItem(hMainWnd, IDC_EDITOR); @@ -715,111 +935,113 @@ LRESULT print_preview(HWND hMainWnd) preview.hdc2 = CreateCompatibleDC(hdc); } - fr.hdc = preview.hdc; gt.flags = GTL_DEFAULT; gt.codepage = 1200; fr.chrg.cpMin = 0; fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)>, 0); paper.left = 0; - paper.right = bmWidth; + paper.right = preview.bmSize.cx; paper.top = 0; - paper.bottom = bmHeight; - - if(!preview.pages) - preview.pages = get_num_pages(hEditorWnd, fr); + paper.bottom = preview.bmSize.cy; fr.hdc = preview.hdc; - draw_preview(hEditorWnd, &fr, bmWidth, bmHeight, &paper, preview.page); + draw_preview(hEditorWnd, &fr, preview.bmSize.cx, preview.bmSize.cy, &paper, preview.page); if(preview.hdc2) { fr.hdc = preview.hdc2; - draw_preview(hEditorWnd, &fr, bmWidth, bmHeight, &paper, preview.page + 1); + draw_preview(hEditorWnd, &fr, preview.bmSize.cx, preview.bmSize.cy, &fr.rcPage, preview.page + 1); } - EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_PREVPAGE), preview.page > 1); - EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_NEXTPAGE), preview.hdc2 ? - (preview.page + 1) < preview.pages : - preview.page < preview.pages); - EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_NUMPAGES), preview.pages > 1); + update_preview_buttons(hMainWnd); } - barheight = SendMessageW(hReBar, RB_GETBARHEIGHT, 0, 0); - ratioHeight = ((float)window.bottom - spacing - (float)barheight) / (float)bmHeight; - - if(preview.hdc2) - ratioWidth = ((float)window.right / 2.0 - spacing * 2.0) / (float)bmWidth; - else - ratioWidth = ((float)window.right - spacing * 3.0) / (float)bmWidth; - - if(ratioWidth > ratioHeight) - ratio = ratioHeight; - else - ratio = ratioWidth; - - bmNewWidth = (int)((float)bmWidth * ratio); - bmNewHeight = (int)((float)bmHeight * ratio); - - yOffset = ((window.bottom - bmNewHeight + barheight) / 2); - - if(!preview.hdc2) - xOffset = (window.right - bmNewWidth) / 2; - else - xOffset = (window.right - bmNewWidth * 2) / 2; - - window.top = barheight; FillRect(hdc, &window, GetStockObject(GRAY_BRUSH)); - background.left = xOffset - 2; - background.right = xOffset + bmNewWidth + 2; - background.top = yOffset - 2; - background.bottom = yOffset + bmNewHeight + 2; + scrollpos.x = GetScrollPos(hwndPreview, SB_HORZ); + scrollpos.y = GetScrollPos(hwndPreview, SB_VERT); + + background.left = preview.spacing.cx - 2 - scrollpos.x; + background.right = background.left + preview.bmScaledSize.cx + 4; + background.top = preview.spacing.cy - 2 - scrollpos.y; + background.bottom = background.top + preview.bmScaledSize.cy + 4; FillRect(hdc, &background, GetStockObject(BLACK_BRUSH)); + if(preview.hdc2) + { + background.left += preview.bmScaledSize.cx + preview.spacing.cx; + background.right += preview.bmScaledSize.cx + preview.spacing.cx; + + FillRect(hdc, &background, GetStockObject(BLACK_BRUSH)); + } + if(window.right != preview.window.right || window.bottom != preview.window.bottom) { - draw_preview_page(preview.hdc, &preview.hdcSized, &fr, ratio, bmNewWidth, bmNewHeight, bmWidth, bmHeight); + draw_preview_page(preview.hdc, &preview.hdcSized, &fr, preview.zoomratio, + preview.bmScaledSize.cx, preview.bmScaledSize.cy, + preview.bmSize.cx, preview.bmSize.cy); if(preview.hdc2) { - background.left += bmNewWidth + spacing; - background.right += bmNewWidth + spacing; - - FillRect(hdc, &background, GetStockObject(BLACK_BRUSH)); - - draw_preview_page(preview.hdc2, &preview.hdcSized2, &fr, ratio, bmNewWidth, bmNewHeight, bmWidth, bmHeight); + draw_preview_page(preview.hdc2, &preview.hdcSized2, &fr, preview.zoomratio, + preview.bmScaledSize.cx, preview.bmScaledSize.cy, + preview.bmSize.cx, preview.bmSize.cy); } } - BitBlt(hdc, xOffset, yOffset, bmNewWidth, bmNewHeight, preview.hdcSized, 0, 0, SRCCOPY); + BitBlt(hdc, preview.spacing.cx - scrollpos.x, preview.spacing.cy - scrollpos.y, + preview.bmScaledSize.cx, preview.bmScaledSize.cy, + preview.hdcSized, 0, 0, SRCCOPY); if(preview.hdc2) { - BitBlt(hdc, xOffset + bmNewWidth + spacing, yOffset, bmNewWidth, bmNewHeight, preview.hdcSized2, 0, 0, SRCCOPY); + BitBlt(hdc, preview.spacing.cx * 2 + preview.bmScaledSize.cx - scrollpos.x, + preview.spacing.cy - scrollpos.y, preview.bmScaledSize.cx, + preview.bmScaledSize.cy, preview.hdcSized2, 0, 0, SRCCOPY); } DeleteDC(fr.hdcTarget); preview.window = window; - EndPaint(hMainWnd, &ps); + EndPaint(hwndPreview, &ps); return 0; } -static void update_preview(HWND hWnd) +/* Update for page changes. */ +static void update_preview(HWND hMainWnd) { - RECT rc; - DeleteDC(preview.hdc); preview.hdc = 0; - preview.window.right = 0; + update_scaled_preview(hMainWnd); +} - GetClientRect(hWnd, &rc); - rc.top += SendMessageW(GetDlgItem(hWnd, IDC_REBAR), RB_GETBARHEIGHT, 0, 0); - InvalidateRect(hWnd, &rc, TRUE); +static void toggle_num_pages(HWND hMainWnd) +{ + HWND hReBar = GetDlgItem(hMainWnd, IDC_REBAR); + WCHAR name[MAX_STRING_LEN]; + HINSTANCE hInst = GetModuleHandleW(0); + + if(preview.hdc2) + { + DeleteDC(preview.hdc2); + preview.hdc2 = 0; + } else + { + if(preview.page == preview.pages) + preview.page--; + preview.hdc2 = (HDC)-1; + } + + LoadStringW(hInst, preview.hdc2 ? STRING_PREVIEW_ONEPAGE : STRING_PREVIEW_TWOPAGES, + name, MAX_STRING_LEN); + + SetWindowTextW(GetDlgItem(hReBar, ID_PREVIEW_NUMPAGES), name); + update_preview_sizes(GetDlgItem(hMainWnd, IDC_PREVIEW), TRUE); + update_preview(hMainWnd); } LRESULT preview_command(HWND hWnd, WPARAM wParam) @@ -843,29 +1065,38 @@ LRESULT preview_command(HWND hWnd, WPARAM wParam) break; case ID_PREVIEW_NUMPAGES: - { - HWND hReBar = GetDlgItem(hWnd, IDC_REBAR); - WCHAR name[MAX_STRING_LEN]; - HINSTANCE hInst = (HINSTANCE)GetWindowLongPtrW(hWnd, GWLP_HINSTANCE); + toggle_num_pages(hWnd); + break; - if(preview.hdc2) + case ID_PREVIEW_ZOOMIN: + if (preview.zoomlevel < 2) { - DeleteDC(preview.hdc2); - preview.hdc2 = 0; - } else - { - if(preview.page == preview.pages) - preview.page--; - preview.hdc2 = (HDC)-1; + preview.zoomlevel++; + preview.zoomratio = 0; + if (preview.hdc2) + { + /* Forced switch to one page when zooming in. */ + toggle_num_pages(hWnd); + } else { + HWND hwndPreview = GetDlgItem(hWnd, IDC_PREVIEW); + update_preview_sizes(hwndPreview, TRUE); + update_scaled_preview(hWnd); + update_preview_buttons(hWnd); + } } + break; - LoadStringW(hInst, preview.hdc2 ? STRING_PREVIEW_ONEPAGE : STRING_PREVIEW_TWOPAGES, - name, MAX_STRING_LEN); - - SetWindowTextW(GetDlgItem(hReBar, ID_PREVIEW_NUMPAGES), name); - update_preview(hWnd); - } - break; + case ID_PREVIEW_ZOOMOUT: + if (preview.zoomlevel > 0) + { + HWND hwndPreview = GetDlgItem(hWnd, IDC_PREVIEW); + preview.zoomlevel--; + preview.zoomratio = 0; + update_preview_sizes(hwndPreview, TRUE); + update_scaled_preview(hWnd); + update_preview_buttons(hWnd); + } + break; case ID_PRINT: dialog_print(hWnd, preview.wszFileName); diff --git a/reactos/base/applications/wordpad/rsrc.rc b/reactos/base/applications/wordpad/rsrc.rc index 4786e66ddcc..3c32d1f7b2f 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 * @@ -66,6 +66,7 @@ IDI_TXT ICON "txt.ico" #include "En.rc" #include "Fr.rc" #include "Hu.rc" +#include "It.rc" #include "Ja.rc" #include "Ko.rc" #include "Lt.rc" @@ -77,4 +78,5 @@ IDI_TXT ICON "txt.ico" #include "Si.rc" #include "Sv.rc" #include "Tr.rc" +#include "Uk.rc" #include "Zh.rc" diff --git a/reactos/base/applications/wordpad/wordpad.c b/reactos/base/applications/wordpad/wordpad.c index e983c5d74b7..0bbe3604438 100644 --- a/reactos/base/applications/wordpad/wordpad.c +++ b/reactos/base/applications/wordpad/wordpad.c @@ -56,6 +56,9 @@ static const WCHAR wszMainWndClass[] = {'W','O','R','D','P','A','D','T','O','P', static const WCHAR stringFormat[] = {'%','2','d','\0'}; +const WCHAR wszPreviewWndClass[] = {'P','r','t','P','r','e','v','i','e','w',0}; +LRESULT CALLBACK preview_proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); + static HWND hMainWnd; static HWND hEditorWnd; static HWND hFindWnd; @@ -85,7 +88,7 @@ static void DoLoadStrings(void) static const WCHAR files_txt[] = {'*','.','t','x','t','\0'}; static const WCHAR files_all[] = {'*','.','*','\0'}; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); LoadStringW(hInstance, STRING_RICHTEXT_FILES_RTF, p, MAX_STRING_LEN); p += lstrlenW(p) + 1; @@ -683,8 +686,7 @@ static void set_bar_states(void) static void preview_exit(HWND hMainWnd) { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); - HMENU hMenu = LoadMenuW(hInstance, MAKEINTRESOURCEW(IDM_MAINMENU)); + HMENU hMenu = LoadMenuW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDM_MAINMENU)); HWND hEditorWnd = GetDlgItem(hMainWnd, IDC_EDITOR); set_bar_states(); @@ -701,7 +703,7 @@ static void preview_exit(HWND hMainWnd) static void set_fileformat(WPARAM format) { HICON hIcon; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); fileFormat = format; if(format & SF_TEXT) @@ -980,8 +982,7 @@ static void DialogOpenFile(void) static void dialog_about(void) { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); - HICON icon = LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_WORDPAD), IMAGE_ICON, 48, 48, LR_SHARED); + HICON icon = LoadImageW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDI_WORDPAD), IMAGE_ICON, 48, 48, LR_SHARED); ShellAboutW(hMainWnd, wszAppTitle, 0, icon); } @@ -1088,7 +1089,7 @@ static void dialog_viewproperties(void) PROPSHEETPAGEW psp[2]; PROPSHEETHEADERW psh; size_t i; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); LPCPROPSHEETPAGEW ppsp = (LPCPROPSHEETPAGEW)&psp; psp[0].dwSize = sizeof(PROPSHEETPAGEW); @@ -1241,7 +1242,7 @@ static LRESULT handle_findmsg(LPFINDREPLACEW pFr) if(pFr->Flags & FR_WHOLEWORD) flags |= FR_WHOLEWORD; - ret = SendMessageW(hEditorWnd, EM_FINDTEXTW, (WPARAM)flags, (LPARAM)&ft); + ret = SendMessageW(hEditorWnd, EM_FINDTEXTW, flags, (LPARAM)&ft); if(ret == -1) { @@ -1250,7 +1251,7 @@ static LRESULT handle_findmsg(LPFINDREPLACEW pFr) ft.chrg.cpMin = cr.cpMin = 0; ft.chrg.cpMax = cr.cpMax = startPos; - ret = SendMessageW(hEditorWnd, EM_FINDTEXTW, (WPARAM)flags, (LPARAM)&ft); + ret = SendMessageW(hEditorWnd, EM_FINDTEXTW, flags, (LPARAM)&ft); } } @@ -1263,7 +1264,7 @@ static LRESULT handle_findmsg(LPFINDREPLACEW pFr) { end = ret + lstrlenW(pFr->lpstrFindWhat); cr.cpMin = end; - SendMessageW(hEditorWnd, EM_SETSEL, (WPARAM)ret, (LPARAM)end); + SendMessageW(hEditorWnd, EM_SETSEL, ret, end); SendMessageW(hEditorWnd, EM_SCROLLCARET, 0, 0); if(pFr->Flags & FR_REPLACE || pFr->Flags & FR_REPLACEALL) @@ -1414,7 +1415,7 @@ static INT_PTR CALLBACK newfile_proc(HWND hWnd, UINT message, WPARAM wParam, LPA { case WM_INITDIALOG: { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); WCHAR buffer[MAX_STRING_LEN]; HWND hListWnd = GetDlgItem(hWnd, IDC_NEWFILE); @@ -1459,8 +1460,7 @@ static INT_PTR CALLBACK paraformat_proc(HWND hWnd, UINT message, WPARAM wParam, { case WM_INITDIALOG: { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hMainWnd, - GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); WCHAR buffer[MAX_STRING_LEN]; HWND hListWnd = GetDlgItem(hWnd, IDC_PARA_ALIGN); HWND hLeftWnd = GetDlgItem(hWnd, IDC_PARA_LEFT); @@ -1737,7 +1737,7 @@ static int context_menu(LPARAM lParam) int from = 0, to = 0; POINTL pt; SendMessageW(hEditorWnd, EM_GETSEL, (WPARAM)&from, (LPARAM)&to); - SendMessageW(hEditorWnd, EM_POSFROMCHAR, (WPARAM)&pt, (LPARAM)to); + SendMessageW(hEditorWnd, EM_POSFROMCHAR, (WPARAM)&pt, to); ClientToScreen(hEditorWnd, (POINT*)&pt); x = pt.x; y = pt.y; @@ -1752,7 +1752,7 @@ static int context_menu(LPARAM lParam) static LRESULT OnCreate( HWND hWnd ) { HWND hToolBarWnd, hFormatBarWnd, hReBarWnd, hFontListWnd, hSizeListWnd, hRulerWnd; - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); HANDLE hDLL; TBADDBITMAP ab; int nStdBitmaps = 0; @@ -2018,7 +2018,7 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam) case ID_FILE_NEW: { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); + HINSTANCE hInstance = GetModuleHandleW(0); int ret = DialogBox(hInstance, MAKEINTRESOURCE(IDD_NEWFILE), hWnd, newfile_proc); @@ -2334,25 +2334,15 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam) break; case ID_DATETIME: - { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); - DialogBoxW(hInstance, MAKEINTRESOURCEW(IDD_DATETIME), hWnd, datetime_proc); + DialogBoxW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDD_DATETIME), hWnd, datetime_proc); break; - } case ID_PARAFORMAT: - { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); - DialogBoxW(hInstance, MAKEINTRESOURCEW(IDD_PARAFORMAT), hWnd, - paraformat_proc); - } + DialogBoxW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDD_PARAFORMAT), hWnd, paraformat_proc); break; case ID_TABSTOPS: - { - HINSTANCE hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); - DialogBoxW(hInstance, MAKEINTRESOURCEW(IDD_TABSTOPS), hWnd, tabstops_proc); - } + DialogBoxW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDD_PARAFORMAT), hWnd, tabstops_proc); break; case ID_ABOUT: @@ -2460,7 +2450,7 @@ static LRESULT OnSize( HWND hWnd, WPARAM wParam, LPARAM lParam ) { int nStatusSize = 0; RECT rc; - HWND hwndEditor = GetDlgItem(hWnd, IDC_EDITOR); + HWND hwndEditor = preview_isactive() ? GetDlgItem(hWnd, IDC_PREVIEW) : GetDlgItem(hWnd, IDC_EDITOR); HWND hwndStatusBar = GetDlgItem(hWnd, IDC_STATUSBAR); HWND hwndReBar = GetDlgItem(hWnd, IDC_REBAR); HWND hRulerWnd = GetDlgItem(hWnd, IDC_RULER); @@ -2563,9 +2553,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPara } break; case WM_PAINT: - if(preview_isactive()) - return print_preview(hWnd); - else + if(!preview_isactive()) return DefWindowProcW(hWnd, msg, wParam, lParam); default: @@ -2605,6 +2593,18 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar wc.lpszClassName = wszMainWndClass; RegisterClassW(&wc); + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = preview_proc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = hInstance; + wc.hIcon = NULL; + wc.hCursor = LoadCursor(NULL, IDC_IBEAM); + wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW); + wc.lpszMenuName = NULL; + wc.lpszClassName = wszPreviewWndClass; + RegisterClassW(&wc); + registry_read_winrect(&rc); hMainWnd = CreateWindowExW(0, wszMainWndClass, wszAppTitle, WS_CLIPCHILDREN|WS_OVERLAPPEDWINDOW, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, NULL, NULL, hInstance, NULL); diff --git a/reactos/base/applications/wordpad/wordpad.h b/reactos/base/applications/wordpad/wordpad.h index b51bec8fcb0..26aa41a1828 100644 --- a/reactos/base/applications/wordpad/wordpad.h +++ b/reactos/base/applications/wordpad/wordpad.h @@ -49,6 +49,8 @@ #define ID_PREVIEW_NEXTPAGE 1017 #define ID_PREVIEW_PREVPAGE 1018 #define ID_PREVIEW_NUMPAGES 1019 +#define ID_PREVIEW_ZOOMIN 1020 +#define ID_PREVIEW_ZOOMOUT 1021 #define ID_ALIGN_LEFT 1100 #define ID_ALIGN_CENTER 1101 @@ -84,7 +86,7 @@ #define ID_TOGGLE_STATUSBAR 1502 #define ID_TOGGLE_RULER 1503 -#define PREVIEW_BUTTONS 5 +#define PREVIEW_BUTTONS 7 #define FILELIST_ENTRIES 4 #define FILELIST_ENTRY_LENGTH 33 @@ -101,7 +103,9 @@ #define BANDID_PREVIEW_BTN3 8 #define BANDID_PREVIEW_BTN4 9 #define BANDID_PREVIEW_BTN5 10 -#define BANDID_PREVIEW_BUFFER 11 +#define BANDID_PREVIEW_BTN6 11 +#define BANDID_PREVIEW_BTN7 12 +#define BANDID_PREVIEW_BUFFER 13 #define ID_WORDWRAP_NONE 0 #define ID_WORDWRAP_WINDOW 1 @@ -145,6 +149,7 @@ #define IDC_FONTLIST 2013 #define IDC_SIZELIST 2014 #define IDC_RULER 2015 +#define IDC_PREVIEW 2016 #define IDD_DATETIME 2100 #define IDD_NEWFILE 2101 @@ -187,9 +192,11 @@ #define STRING_PREVIEW_PREVPAGE 1450 #define STRING_PREVIEW_TWOPAGES 1451 #define STRING_PREVIEW_ONEPAGE 1452 -#define STRING_PREVIEW_CLOSE 1453 +#define STRING_PREVIEW_ZOOMIN 1453 +#define STRING_PREVIEW_ZOOMOUT 1454 +#define STRING_PREVIEW_CLOSE 1455 -#define STRING_UNITS_CM 1454 +#define STRING_UNITS_CM 1456 #define STRING_DEFAULT_FILENAME 1700 #define STRING_PROMPT_SAVE_CHANGES 1701 diff --git a/reactos/base/applications/write/It.rc b/reactos/base/applications/write/It.rc new file mode 100644 index 00000000000..9c8ce25a7c9 --- /dev/null +++ b/reactos/base/applications/write/It.rc @@ -0,0 +1,32 @@ +/* + * Italian language support + * + * Copyright (C) 2010 by Luca Bennati + * + * 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_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +{ + IDS_FAILED, "Impossibile avviare WordPad" +} +#pragma code_page(default) diff --git a/reactos/base/applications/write/Uk.rc b/reactos/base/applications/write/Uk.rc new file mode 100644 index 00000000000..968ed404d57 --- /dev/null +++ b/reactos/base/applications/write/Uk.rc @@ -0,0 +1,34 @@ +/* + * Ukrainian language support + * + * Copyright (C) 2007 Mikolaj Zalewski + * + * 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 "resources.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +STRINGTABLE +{ + IDS_FAILED, "Не вдалось запустити Wordpad" +} +#pragma code_page(default) diff --git a/reactos/base/applications/write/rsrc.rc b/reactos/base/applications/write/rsrc.rc index 7c55c3001b4..d3ddc33bdc7 100644 --- a/reactos/base/applications/write/rsrc.rc +++ b/reactos/base/applications/write/rsrc.rc @@ -23,6 +23,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include "De.rc" #include "En.rc" #include "Fr.rc" +#include "It.rc" #include "Ja.rc" #include "Ko.rc" #include "Lt.rc" @@ -32,3 +33,4 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include "Ru.rc" #include "Si.rc" #include "Sv.rc" +#include "Uk.rc"