Sync wordpad, write and xcopy to Wine 1.1.38

svn path=/trunk/; revision=45495
This commit is contained in:
Daniel Reimer 2010-02-08 10:49:03 +00:00
parent 8dd5d145e5
commit 6c51c54b09
28 changed files with 1163 additions and 158 deletions

View file

@ -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)

View file

@ -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, "Натисніть <enter> щоб почати копіювання\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)

View file

@ -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"

View file

@ -46,7 +46,7 @@ BEGIN
MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR
MENUITEM "&Marker alt\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Søg efter...\tCrtl+F", ID_FIND
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
@ -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

View file

@ -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

View file

@ -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

View file

@ -46,7 +46,7 @@ BEGIN
MENUITEM "Tör&lés\tDel", ID_EDIT_CLEAR
MENUITEM "M&indet kijelöli\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

View file

@ -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 &paragrafo", 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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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Ÿ nastêpny\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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -48,7 +48,7 @@ BEGIN
MENUITEM "&Sil\tDel", ID_EDIT_CLEAR
MENUITEM "&Tümünü 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

View file

@ -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)

View file

@ -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

View file

@ -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)&gt, 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)&gt, 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);

View file

@ -1,4 +1,4 @@
/*
/*
* Copyright 2004 by Krzysztof Foltman
* Copyright 2007 by Alexander N. Sørnes <alex@thehandofagony.com>
*
@ -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"

View file

@ -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);

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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"