1
0
Fork 0
mirror of https://github.com/reactos/reactos.git synced 2025-06-15 15:48:30 +00:00

Sync winhlp32, wordpad and xcopy with wine.

svn path=/trunk/; revision=35961
This commit is contained in:
Daniel Reimer 2008-09-05 16:34:20 +00:00
parent f8106f22b9
commit 436f87389b
11 changed files with 1066 additions and 114 deletions
reactos/base/applications

View file

@ -120,7 +120,7 @@ int wmain (int argc, WCHAR *argvW[])
} }
/* Preinitialize flags based on COPYCMD */ /* Preinitialize flags based on COPYCMD */
if (GetEnvironmentVariable(COPYCMD, copyCmd, MAXSTRING)) { if (GetEnvironmentVariableW(COPYCMD, copyCmd, MAXSTRING)) {
if (wcsstr(copyCmd, PROMPTSTR1) != NULL || if (wcsstr(copyCmd, PROMPTSTR1) != NULL ||
wcsstr(copyCmd, PROMPTSTR2) != NULL) { wcsstr(copyCmd, PROMPTSTR2) != NULL) {
flags |= OPT_NOPROMPT; flags |= OPT_NOPROMPT;
@ -177,7 +177,7 @@ int wmain (int argc, WCHAR *argvW[])
OPT_REMOVEARCH; break; OPT_REMOVEARCH; break;
/* E can be /E or /EXCLUDE */ /* E can be /E or /EXCLUDE */
case 'E': if (CompareString (LOCALE_USER_DEFAULT, case 'E': if (CompareStringW(LOCALE_USER_DEFAULT,
NORM_IGNORECASE | SORT_STRINGSORT, NORM_IGNORECASE | SORT_STRINGSORT,
&argvW[0][1], 8, &argvW[0][1], 8,
EXCLUDE, -1) == 2) { EXCLUDE, -1) == 2) {
@ -221,10 +221,10 @@ int wmain (int argc, WCHAR *argvW[])
/* Debug info: */ /* Debug info: */
FileTimeToSystemTime (&dateRange, &st); FileTimeToSystemTime (&dateRange, &st);
GetDateFormat (0, DATE_SHORTDATE, &st, NULL, datestring, GetDateFormatW(0, DATE_SHORTDATE, &st, NULL, datestring,
sizeof(datestring)); sizeof(datestring)/sizeof(WCHAR));
GetTimeFormat (0, TIME_NOSECONDS, &st, GetTimeFormatW(0, TIME_NOSECONDS, &st,
NULL, timestring, sizeof(timestring)); NULL, timestring, sizeof(timestring)/sizeof(WCHAR));
WINE_TRACE("Date being used is: %s %s\n", WINE_TRACE("Date being used is: %s %s\n",
wine_dbgstr_w(datestring), wine_dbgstr_w(timestring)); wine_dbgstr_w(datestring), wine_dbgstr_w(timestring));
@ -323,7 +323,7 @@ static int XCOPY_ProcessSourceParm(WCHAR *suppliedsource, WCHAR *stem,
/* /*
* Validate the source, expanding to full path ensuring it exists * Validate the source, expanding to full path ensuring it exists
*/ */
if (GetFullPathName(suppliedsource, MAX_PATH, actualsource, NULL) == 0) { if (GetFullPathNameW(suppliedsource, MAX_PATH, actualsource, NULL) == 0) {
WINE_FIXME("Unexpected failure expanding source path (%d)\n", GetLastError()); WINE_FIXME("Unexpected failure expanding source path (%d)\n", GetLastError());
return RC_INITERROR; return RC_INITERROR;
} }
@ -351,7 +351,7 @@ static int XCOPY_ProcessSourceParm(WCHAR *suppliedsource, WCHAR *stem,
if (starPos || questPos) { if (starPos || questPos) {
attribs = 0x00; /* Ensures skips invalid or directory check below */ attribs = 0x00; /* Ensures skips invalid or directory check below */
} else { } else {
attribs = GetFileAttributes(actualsource); attribs = GetFileAttributesW(actualsource);
} }
if (attribs == INVALID_FILE_ATTRIBUTES) { if (attribs == INVALID_FILE_ATTRIBUTES) {
@ -393,7 +393,7 @@ static int XCOPY_ProcessSourceParm(WCHAR *suppliedsource, WCHAR *stem,
lstrcpyW(spec, suppliedsource+2); lstrcpyW(spec, suppliedsource+2);
} else { } else {
WCHAR curdir[MAXSTRING]; WCHAR curdir[MAXSTRING];
GetCurrentDirectory (sizeof(curdir), curdir); GetCurrentDirectoryW(sizeof(curdir)/sizeof(WCHAR), curdir);
stem[0] = curdir[0]; stem[0] = curdir[0];
stem[1] = curdir[1]; stem[1] = curdir[1];
stem[2] = 0x00; stem[2] = 0x00;
@ -418,13 +418,13 @@ static int XCOPY_ProcessDestParm(WCHAR *supplieddestination, WCHAR *stem, WCHAR
/* /*
* Validate the source, expanding to full path ensuring it exists * Validate the source, expanding to full path ensuring it exists
*/ */
if (GetFullPathName(supplieddestination, MAX_PATH, actualdestination, NULL) == 0) { if (GetFullPathNameW(supplieddestination, MAX_PATH, actualdestination, NULL) == 0) {
WINE_FIXME("Unexpected failure expanding source path (%d)\n", GetLastError()); WINE_FIXME("Unexpected failure expanding source path (%d)\n", GetLastError());
return RC_INITERROR; return RC_INITERROR;
} }
/* Destination is either a directory or a file */ /* Destination is either a directory or a file */
attribs = GetFileAttributes(actualdestination); attribs = GetFileAttributesW(actualdestination);
if (attribs == INVALID_FILE_ATTRIBUTES) { if (attribs == INVALID_FILE_ATTRIBUTES) {
@ -500,7 +500,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
WCHAR *deststem, WCHAR *destspec, WCHAR *deststem, WCHAR *destspec,
DWORD flags) DWORD flags)
{ {
WIN32_FIND_DATA *finddata; WIN32_FIND_DATAW *finddata;
HANDLE h; HANDLE h;
BOOL findres = TRUE; BOOL findres = TRUE;
WCHAR *inputpath, *outputpath; WCHAR *inputpath, *outputpath;
@ -510,7 +510,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
int ret = 0; int ret = 0;
/* Allocate some working memory on heap to minimize footprint */ /* Allocate some working memory on heap to minimize footprint */
finddata = HeapAlloc(GetProcessHeap(), 0, sizeof(WIN32_FIND_DATA)); finddata = HeapAlloc(GetProcessHeap(), 0, sizeof(WIN32_FIND_DATAW));
inputpath = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR)); inputpath = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR));
outputpath = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR)); outputpath = HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR));
@ -519,7 +519,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
lstrcatW(inputpath, srcspec); lstrcatW(inputpath, srcspec);
/* Search 1 - Look for matching files */ /* Search 1 - Look for matching files */
h = FindFirstFile(inputpath, finddata); h = FindFirstFileW(inputpath, finddata);
while (h != INVALID_HANDLE_VALUE && findres) { while (h != INVALID_HANDLE_VALUE && findres) {
skipFile = FALSE; skipFile = FALSE;
@ -587,7 +587,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
/* If just /D supplied, only overwrite if src newer than dest */ /* If just /D supplied, only overwrite if src newer than dest */
if (!skipFile && (flags & OPT_DATENEWER) && if (!skipFile && (flags & OPT_DATENEWER) &&
(destAttribs != INVALID_FILE_ATTRIBUTES)) { (destAttribs != INVALID_FILE_ATTRIBUTES)) {
HANDLE h = CreateFile(copyTo, GENERIC_READ, FILE_SHARE_READ, HANDLE h = CreateFileW(copyTo, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL); NULL);
if (h != INVALID_HANDLE_VALUE) { if (h != INVALID_HANDLE_VALUE) {
@ -611,7 +611,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
/* Uppercase source filename */ /* Uppercase source filename */
lstrcpyW(copyFromUpper, copyFrom); lstrcpyW(copyFromUpper, copyFrom);
CharUpperBuff(copyFromUpper, lstrlenW(copyFromUpper)); CharUpperBuffW(copyFromUpper, lstrlenW(copyFromUpper));
/* Loop through testing each exclude line */ /* Loop through testing each exclude line */
while (pos) { while (pos) {
@ -703,13 +703,13 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
write protection */ write protection */
if ((destAttribs & FILE_ATTRIBUTE_READONLY) && if ((destAttribs & FILE_ATTRIBUTE_READONLY) &&
(flags & OPT_REPLACEREAD)) { (flags & OPT_REPLACEREAD)) {
SetFileAttributes(copyTo, destAttribs & ~FILE_ATTRIBUTE_READONLY); SetFileAttributesW(copyTo, destAttribs & ~FILE_ATTRIBUTE_READONLY);
} }
copiedFile = TRUE; copiedFile = TRUE;
if (flags & OPT_SIMULATE || flags & OPT_NOCOPY) { if (flags & OPT_SIMULATE || flags & OPT_NOCOPY) {
/* Skip copy */ /* Skip copy */
} else if (CopyFile(copyFrom, copyTo, FALSE) == 0) { } else if (CopyFileW(copyFrom, copyTo, FALSE) == 0) {
DWORD error = GetLastError(); DWORD error = GetLastError();
XCOPY_wprintf(XCOPY_LoadMessage(STRING_COPYFAIL), XCOPY_wprintf(XCOPY_LoadMessage(STRING_COPYFAIL),
@ -728,7 +728,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
if (!skipFile) { if (!skipFile) {
if ((srcAttribs & FILE_ATTRIBUTE_ARCHIVE) && if ((srcAttribs & FILE_ATTRIBUTE_ARCHIVE) &&
(flags & OPT_REMOVEARCH)) { (flags & OPT_REMOVEARCH)) {
SetFileAttributes(copyFrom, (srcAttribs & ~FILE_ATTRIBUTE_ARCHIVE)); SetFileAttributesW(copyFrom, (srcAttribs & ~FILE_ATTRIBUTE_ARCHIVE));
} }
filesCopied++; filesCopied++;
} }
@ -736,7 +736,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
} }
/* Find next file */ /* Find next file */
findres = FindNextFile(h, finddata); findres = FindNextFileW(h, finddata);
} }
FindClose(h); FindClose(h);
@ -747,7 +747,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
findres = TRUE; findres = TRUE;
WINE_TRACE("Processing subdirs with spec: %s\n", wine_dbgstr_w(inputpath)); WINE_TRACE("Processing subdirs with spec: %s\n", wine_dbgstr_w(inputpath));
h = FindFirstFile(inputpath, finddata); h = FindFirstFileW(inputpath, finddata);
while (h != INVALID_HANDLE_VALUE && findres) { while (h != INVALID_HANDLE_VALUE && findres) {
/* Only looking for dirs */ /* Only looking for dirs */
@ -778,7 +778,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
} }
/* Find next one */ /* Find next one */
findres = FindNextFile(h, finddata); findres = FindNextFileW(h, finddata);
} }
} }
@ -809,7 +809,7 @@ static BOOL XCOPY_CreateDirectory(const WCHAR* path)
while ((len = lstrlenW(new_path)) && new_path[len - 1] == '\\') while ((len = lstrlenW(new_path)) && new_path[len - 1] == '\\')
new_path[len - 1] = 0; new_path[len - 1] = 0;
while (!CreateDirectory(new_path,NULL)) while (!CreateDirectoryW(new_path,NULL))
{ {
WCHAR *slash; WCHAR *slash;
DWORD last_error = GetLastError(); DWORD last_error = GetLastError();
@ -899,7 +899,7 @@ static BOOL XCOPY_ProcessExcludeFile(WCHAR* filename, WCHAR* endOfName) {
} }
/* Process line by line */ /* Process line by line */
while (fgetws(buffer, sizeof(buffer), inFile) != NULL) { while (fgetws(buffer, sizeof(buffer)/sizeof(WCHAR), inFile) != NULL) {
EXCLUDELIST *thisEntry; EXCLUDELIST *thisEntry;
int length = lstrlenW(buffer); int length = lstrlenW(buffer);
@ -914,7 +914,7 @@ static BOOL XCOPY_ProcessExcludeFile(WCHAR* filename, WCHAR* endOfName) {
thisEntry->name = HeapAlloc(GetProcessHeap(), 0, thisEntry->name = HeapAlloc(GetProcessHeap(), 0,
(length * sizeof(WCHAR))+1); (length * sizeof(WCHAR))+1);
lstrcpyW(thisEntry->name, buffer); lstrcpyW(thisEntry->name, buffer);
CharUpperBuff(thisEntry->name, length); CharUpperBuffW(thisEntry->name, length);
WINE_TRACE("Read line : '%s'\n", wine_dbgstr_w(thisEntry->name)); WINE_TRACE("Read line : '%s'\n", wine_dbgstr_w(thisEntry->name));
} }
} }
@ -940,7 +940,7 @@ static WCHAR *XCOPY_LoadMessage(UINT id) {
static WCHAR msg[MAXSTRING]; static WCHAR msg[MAXSTRING];
const WCHAR failedMsg[] = {'F', 'a', 'i', 'l', 'e', 'd', '!', 0}; const WCHAR failedMsg[] = {'F', 'a', 'i', 'l', 'e', 'd', '!', 0};
if (!LoadString(GetModuleHandle(NULL), id, msg, sizeof(msg))) { if (!LoadStringW(GetModuleHandleW(NULL), id, msg, sizeof(msg)/sizeof(WCHAR))) {
WINE_FIXME("LoadString failed with %d\n", GetLastError()); WINE_FIXME("LoadString failed with %d\n", GetLastError());
lstrcpyW(msg, failedMsg); lstrcpyW(msg, failedMsg);
} }
@ -955,10 +955,10 @@ static void XCOPY_FailMessage(DWORD err) {
LPWSTR lpMsgBuf; LPWSTR lpMsgBuf;
int status; int status;
status = FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | status = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM, FORMAT_MESSAGE_FROM_SYSTEM,
NULL, err, 0, NULL, err, 0,
(LPTSTR) &lpMsgBuf, 0, NULL); (LPWSTR) &lpMsgBuf, 0, NULL);
if (!status) { if (!status) {
WINE_FIXME("FIXME: Cannot display message for error %d, status %d\n", WINE_FIXME("FIXME: Cannot display message for error %d, status %d\n",
err, GetLastError()); err, GetLastError());

View file

@ -63,6 +63,7 @@ static BOOL HLPFILE_Uncompress_Topic(HLPFILE*);
static BOOL HLPFILE_GetContext(HLPFILE*); static BOOL HLPFILE_GetContext(HLPFILE*);
static BOOL HLPFILE_GetKeywords(HLPFILE*); static BOOL HLPFILE_GetKeywords(HLPFILE*);
static BOOL HLPFILE_GetMap(HLPFILE*); static BOOL HLPFILE_GetMap(HLPFILE*);
static BOOL HLPFILE_GetTOMap(HLPFILE*);
static BOOL HLPFILE_AddPage(HLPFILE*, const BYTE*, const BYTE*, unsigned, unsigned); static BOOL HLPFILE_AddPage(HLPFILE*, const BYTE*, const BYTE*, unsigned, unsigned);
static BOOL HLPFILE_SkipParagraph(HLPFILE*, const BYTE*, const BYTE*, unsigned*); static BOOL HLPFILE_SkipParagraph(HLPFILE*, const BYTE*, const BYTE*, unsigned*);
static void HLPFILE_Uncompress2(HLPFILE*, const BYTE*, const BYTE*, BYTE*, const BYTE*); static void HLPFILE_Uncompress2(HLPFILE*, const BYTE*, const BYTE*, BYTE*, const BYTE*);
@ -70,23 +71,6 @@ static BOOL HLPFILE_Uncompress3(HLPFILE*, char*, const char*, const BYTE*, cons
static void HLPFILE_UncompressRLE(const BYTE* src, const BYTE* end, BYTE* dst, unsigned dstsz); static void HLPFILE_UncompressRLE(const BYTE* src, const BYTE* end, BYTE* dst, unsigned dstsz);
static BOOL HLPFILE_ReadFont(HLPFILE* hlpfile); static BOOL HLPFILE_ReadFont(HLPFILE* hlpfile);
/***********************************************************************
*
* HLPFILE_PageByNumber
*/
static HLPFILE_PAGE *HLPFILE_PageByNumber(HLPFILE* hlpfile, UINT wNum)
{
HLPFILE_PAGE *page;
UINT temp = wNum;
WINE_TRACE("<%s>[%u]\n", hlpfile->lpszPath, wNum);
for (page = hlpfile->first_page; page && temp; page = page->next) temp--;
if (!page)
WINE_ERR("Page of number %u not found in file %s\n", wNum, hlpfile->lpszPath);
return page;
}
/****************************************************************** /******************************************************************
* HLPFILE_PageByOffset * HLPFILE_PageByOffset
* *
@ -153,8 +137,8 @@ HLPFILE_PAGE *HLPFILE_PageByHash(HLPFILE* hlpfile, LONG lHash, ULONG* relative)
/* For win 3.0 files hash values are really page numbers */ /* For win 3.0 files hash values are really page numbers */
if (hlpfile->version <= 16) if (hlpfile->version <= 16)
{ {
*relative = 0; if (lHash >= hlpfile->wTOMapLen) return NULL;
return HLPFILE_PageByNumber(hlpfile, lHash); return HLPFILE_PageByOffset(hlpfile, hlpfile->TOMap[lHash], relative);
} }
ptr = HLPFILE_BPTreeSearch(hlpfile->Context, LongToPtr(lHash), comp_PageByHash); ptr = HLPFILE_BPTreeSearch(hlpfile->Context, LongToPtr(lHash), comp_PageByHash);
@ -282,7 +266,7 @@ static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
OFSTRUCT ofs; OFSTRUCT ofs;
BYTE* buf; BYTE* buf;
DWORD ref = 0x0C; DWORD ref = 0x0C;
unsigned index, old_index, offset, len, offs; unsigned index, old_index, offset, len, offs, topicoffset;
hFile = OpenFile(lpszPath, &ofs, OF_READ); hFile = OpenFile(lpszPath, &ofs, OF_READ);
if (hFile == HFILE_ERROR) return FALSE; if (hFile == HFILE_ERROR) return FALSE;
@ -293,6 +277,8 @@ static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
if (!HLPFILE_SystemCommands(hlpfile)) return FALSE; if (!HLPFILE_SystemCommands(hlpfile)) return FALSE;
if (hlpfile->version <= 16 && !HLPFILE_GetTOMap(hlpfile)) return FALSE;
/* load phrases support */ /* load phrases support */
if (!HLPFILE_UncompressLZ77_Phrases(hlpfile)) if (!HLPFILE_UncompressLZ77_Phrases(hlpfile))
HLPFILE_Uncompress_Phrases40(hlpfile); HLPFILE_Uncompress_Phrases40(hlpfile);
@ -336,7 +322,11 @@ static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
switch (buf[0x14]) switch (buf[0x14])
{ {
case 0x02: case 0x02:
if (!HLPFILE_AddPage(hlpfile, buf, end, ref, index * 0x8000L + offs)) return FALSE; if (hlpfile->version <= 16)
topicoffset = ref + index * 12;
else
topicoffset = index * 0x8000 + offs;
if (!HLPFILE_AddPage(hlpfile, buf, end, ref, topicoffset)) return FALSE;
break; break;
case 0x01: case 0x01:
@ -431,6 +421,19 @@ static BOOL HLPFILE_AddPage(HLPFILE *hlpfile, const BYTE *buf, const BYTE *end,
page->browse_bwd = GET_UINT(buf, 0x19); page->browse_bwd = GET_UINT(buf, 0x19);
page->browse_fwd = GET_UINT(buf, 0x1D); page->browse_fwd = GET_UINT(buf, 0x1D);
if (hlpfile->version <= 16)
{
if (page->browse_bwd == 0xFFFF || page->browse_bwd == 0xFFFFFFFF)
page->browse_bwd = 0xFFFFFFFF;
else
page->browse_bwd = hlpfile->TOMap[page->browse_bwd];
if (page->browse_fwd == 0xFFFF || page->browse_fwd == 0xFFFFFFFF)
page->browse_fwd = 0xFFFFFFFF;
else
page->browse_fwd = hlpfile->TOMap[page->browse_fwd];
}
WINE_TRACE("Added page[%d]: title='%s' %08x << %08x >> %08x\n", WINE_TRACE("Added page[%d]: title='%s' %08x << %08x >> %08x\n",
page->wNumber, page->lpszTitle, page->wNumber, page->lpszTitle,
page->browse_bwd, page->offset, page->browse_fwd); page->browse_bwd, page->offset, page->browse_fwd);
@ -1290,12 +1293,14 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
WINE_TRACE("Changing font to %d\n", font); WINE_TRACE("Changing font to %d\n", font);
format += 3; format += 3;
/* Font size in hlpfile is given in the same units as
rtf control word \fs uses (half-points). */
switch (rd->font_scale) switch (rd->font_scale)
{ {
case 0: fs = (4 * page->file->fonts[font].LogFont.lfHeight - 13) / 5; break; case 0: fs = page->file->fonts[font].LogFont.lfHeight - 4; break;
default: default:
case 1: fs = (4 * page->file->fonts[font].LogFont.lfHeight - 3) / 5; break; case 1: fs = page->file->fonts[font].LogFont.lfHeight; break;
case 2: fs = (4 * page->file->fonts[font].LogFont.lfHeight + 17) / 5; break; case 2: fs = page->file->fonts[font].LogFont.lfHeight + 4; break;
} }
/* FIXME: missing at least colors, also bold attribute looses information */ /* FIXME: missing at least colors, also bold attribute looses information */
@ -1430,7 +1435,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd,
case 0xE1: case 0xE1:
WINE_WARN("jump topic 1 => %u\n", GET_UINT(format, 1)); WINE_WARN("jump topic 1 => %u\n", GET_UINT(format, 1));
HLPFILE_AllocLink(rd, (*format & 1) ? hlp_link_link : hlp_link_popup, HLPFILE_AllocLink(rd, (*format & 1) ? hlp_link_link : hlp_link_popup,
page->file->lpszPath, -1, GET_UINT(format, 1)-16, 1, -1); page->file->lpszPath, -1, GET_UINT(format, 1), 1, -1);
format += 5; format += 5;
@ -2573,6 +2578,26 @@ static BOOL HLPFILE_GetMap(HLPFILE *hlpfile)
return TRUE; return TRUE;
} }
/***********************************************************************
*
* HLPFILE_GetTOMap
*/
static BOOL HLPFILE_GetTOMap(HLPFILE *hlpfile)
{
BYTE *cbuf, *cend;
unsigned clen;
if (!HLPFILE_FindSubFile(hlpfile, "|TOMAP", &cbuf, &cend))
{WINE_WARN("no tomap section\n"); return FALSE;}
clen = cend - cbuf - 9;
hlpfile->TOMap = HeapAlloc(GetProcessHeap(), 0, clen);
if (!hlpfile->TOMap) return FALSE;
memcpy(hlpfile->TOMap, cbuf+9, clen);
hlpfile->wTOMapLen = clen/4;
return TRUE;
}
/*********************************************************************** /***********************************************************************
* *
* DeleteMacro * DeleteMacro

View file

@ -100,6 +100,8 @@ typedef struct tagHlpFileFile
BYTE* kwdata; BYTE* kwdata;
unsigned wMapLen; unsigned wMapLen;
HLPFILE_MAP* Map; HLPFILE_MAP* Map;
unsigned wTOMapLen;
unsigned* TOMap;
unsigned long contents_start; unsigned long contents_start;
struct tagHlpFileFile* prev; struct tagHlpFileFile* prev;

View file

@ -0,0 +1,125 @@
/*
* Help Viewer
*
* Copyright 1996 Ulrich Schmid
* Copyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>
*
* 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
*/
/* Menu */
MAIN_MENU MENU LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
{
POPUP "ファイル(&F)" {
MENUITEM "開く(&O)", MNID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "印刷(&P)", MNID_FILE_PRINT
MENUITEM "プリンタの設定(&S)...", MNID_FILE_SETUP
MENUITEM SEPARATOR
MENUITEM "終了(&X)", MNID_FILE_EXIT
}
POPUP "編集(&E)" {
MENUITEM "コピー(&C)...", MNID_EDIT_COPYDLG
MENUITEM SEPARATOR
MENUITEM "コメント(&A)...", MNID_EDIT_ANNOTATE
}
POPUP "しおり(&B)" {
MENUITEM "定義(&D)...", MNID_BKMK_DEFINE
}
POPUP "オプション(&O)" {
POPUP "Help always visible"
BEGIN
MENUITEM "Default", MNID_OPTS_HELP_DEFAULT
MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE
MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE
END
MENUITEM "履歴", MNID_OPTS_HISTORY
POPUP "フォント"
BEGIN
MENUITEM "小", MNID_OPTS_FONTS_SMALL
MENUITEM "標準", MNID_OPTS_FONTS_NORMAL
MENUITEM "大", MNID_OPTS_FONTS_LARGE
END
MENUITEM "システム カラーを使う", MNID_OPTS_SYSTEM_COLORS
}
POPUP "ヘルプ(&H)" {
MENUITEM "ヘルプについてのヘルプ(&O)", MNID_HELP_HELPON
MENUITEM "常に手前に表\示(&T)", MNID_HELP_HELPTOP
MENUITEM SEPARATOR
MENUITEM "情報(&I)...", MNID_HELP_ABOUT
#ifdef WINELIB
MENUITEM "WINE について(&A)", MNID_HELP_WINE
#endif
}
}
IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "索引"
{
LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER
}
IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "検索"
{
LTEXT "未実装", -1, 10, 10, 180, 150
}
/* Strings */
STRINGTABLE DISCARDABLE LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
{
STID_WINE_HELP, "WINE ヘルプ"
STID_WHERROR, "エラー"
STID_WARNING, "警告"
STID_INFO, "情報"
STID_NOT_IMPLEMENTED, "非実装"
STID_HLPFILE_ERROR_s, "ヘルプファイル `%s' を読み込んでいるときにエラー"
STID_INDEX, "索引(&I)"
STID_CONTENTS, "概要"
STID_BACK, "戻る(&B)"
STID_ALL_FILES, "すべてのファイル (*.*)"
STID_HELP_FILES_HLP, "ヘルプ ファイル (*.hlp)"
STID_FILE_NOT_FOUND_s "'%s' が見つかりません。自分でこのファイルを探しますか?"
STID_NO_RICHEDIT "リッチエディット実装が見つかりません... 終了します"
STID_PSH_INDEX, "ヘルプ トピック: "
}
CONTEXT_MENU MENU LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
BEGIN
POPUP ""
BEGIN
MENUITEM "コメント...", MNID_CTXT_ANNOTATE
MENUITEM "コピー", MNID_CTXT_COPY
MENUITEM "印刷...", MNID_CTXT_PRINT
POPUP "フォント"
BEGIN
MENUITEM "小", MNID_CTXT_FONTS_SMALL
MENUITEM "標準", MNID_CTXT_FONTS_NORMAL
MENUITEM "大", MNID_CTXT_FONTS_LARGE
END
POPUP "Help always visible"
BEGIN
MENUITEM "Default", MNID_CTXT_HELP_DEFAULT
MENUITEM "Visible", MNID_CTXT_HELP_VISIBLE
MENUITEM "Non visible", MNID_CTXT_HELP_NONVISIBLE
END
MENUITEM "システム カラーを使う", MNID_CTXT_SYSTEM_COLORS
END
END

View file

@ -73,6 +73,14 @@ CAPTION "Innhold"
LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER
} }
IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Søk"
{
LTEXT "Ikke laget ennå", -1, 10, 10, 180, 150
}
/* Strings */ /* Strings */
STRINGTABLE DISCARDABLE LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL STRINGTABLE DISCARDABLE LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
{ {

View file

@ -1,8 +1,9 @@
/* /*
* Help Viewer * Help Viewer
* Simplified Chinese Language Support * Simplified and Traditional Chinese Language Support
* *
* Copyright 2002 liuspider <liuspider@yahoo.com> * Copyright 2002 liuspider <liuspider@yahoo.com>
* Copyright 2008 Hongbo Ni <hongbo.at.njstar.com>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -19,68 +20,143 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
/* Chinese text is encoded in UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* Menu */ /* Menu */
MAIN_MENU MENU LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED MAIN_MENU MENU
{ {
POPUP "文件(&F" { POPUP "文件(&F)" {
MENUITEM "打开&O", MNID_FILE_OPEN MENUITEM "打开(&O)", MNID_FILE_OPEN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "打印&P", MNID_FILE_PRINT MENUITEM "打印(&P)", MNID_FILE_PRINT
MENUITEM "打印机设置&S...", MNID_FILE_SETUP MENUITEM "打印机设置(&S)...", MNID_FILE_SETUP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "退出&E", MNID_FILE_EXIT MENUITEM "退出(&E)", MNID_FILE_EXIT
} }
POPUP "编辑&E" { POPUP "编辑(&E)" {
MENUITEM "复制&C...", MNID_EDIT_COPYDLG MENUITEM "复制(&C)...", MNID_EDIT_COPYDLG
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "注释&A...", MNID_EDIT_ANNOTATE MENUITEM "注释(&A)...", MNID_EDIT_ANNOTATE
} }
POPUP "书签&B" { POPUP "书签(&B)" {
MENUITEM "定义&D...", MNID_BKMK_DEFINE MENUITEM "定义(&D)...", MNID_BKMK_DEFINE
} }
POPUP "&Options" { POPUP "选项(&O)" {
POPUP "Help always visible" POPUP "显示帮助"
BEGIN BEGIN
MENUITEM "Default", MNID_OPTS_HELP_DEFAULT MENUITEM "默认", MNID_OPTS_HELP_DEFAULT
MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE MENUITEM "显示", MNID_OPTS_HELP_VISIBLE
MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE MENUITEM "不显示", MNID_OPTS_HELP_NONVISIBLE
END END
MENUITEM "History", MNID_OPTS_HISTORY MENUITEM "历史", MNID_OPTS_HISTORY
POPUP "Fonts" POPUP "字体"
BEGIN BEGIN
MENUITEM "Small", MNID_OPTS_FONTS_SMALL MENUITEM "小号", MNID_OPTS_FONTS_SMALL
MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "中号", MNID_OPTS_FONTS_NORMAL
MENUITEM "Large", MNID_OPTS_FONTS_LARGE MENUITEM "大号", MNID_OPTS_FONTS_LARGE
END END
MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS MENUITEM "使用系统颜色", MNID_OPTS_SYSTEM_COLORS
} }
POPUP "帮助&H" { POPUP "帮助(&H)" {
MENUITEM "如何使用帮助&O", MNID_HELP_HELPON MENUITEM "如何使用帮助(&O)", MNID_HELP_HELPON
MENUITEM "总是在最前面&T", MNID_HELP_HELPTOP MENUITEM "总是在最前面(&T)", MNID_HELP_HELPTOP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "资料信息&I...", MNID_HELP_ABOUT MENUITEM "资料信息(&I)...", MNID_HELP_ABOUT
#ifdef WINELIB #ifdef WINELIB
MENUITEM "关于 WINE&A", MNID_HELP_WINE MENUITEM "关于 WINE(&A)", MNID_HELP_WINE
#endif #endif
} }
} }
/* Strings */ /* Strings */
STRINGTABLE DISCARDABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE DISCARDABLE
{ {
STID_WINE_HELP, "WINE 帮助" STID_WINE_HELP, "WINE 帮助"
STID_WHERROR, "错误" STID_WHERROR, "错误"
STID_WARNING, "警告" STID_WARNING, "警告"
STID_INFO, "信息" STID_INFO, "信息"
STID_NOT_IMPLEMENTED, "未实现" STID_NOT_IMPLEMENTED, "未实现"
STID_HLPFILE_ERROR_s, "读入帮助文件 %s 时发生错误" STID_HLPFILE_ERROR_s, "读入帮助文件 %s 时发生错误"
STID_INDEX, "内容&C" STID_INDEX, "内容(&C)"
STID_CONTENTS, "Summary" STID_CONTENTS, "概要"
STID_BACK, "返回&B" STID_BACK, "返回(&B)"
STID_ALL_FILES, "所有文件 (*.*)" STID_ALL_FILES, "所有文件 (*.*)"
STID_HELP_FILES_HLP, "帮助文件 (*.hlp)" STID_HELP_FILES_HLP, "帮助文件 (*.hlp)"
STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_FILE_NOT_FOUND_s "不能打开文件 '%s'. 你想要自己找这个文件吗?"
STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" STID_NO_RICHEDIT "找不到 richedit... 终止"
STID_PSH_INDEX, "Help topics: " STID_PSH_INDEX, "帮助内容: "
} }
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Menu */
MAIN_MENU MENU
{
POPUP "檔案(&F)" {
MENUITEM "開啟(&O)", MNID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "列印(&P)", MNID_FILE_PRINT
MENUITEM "印表機設定(&S)...", MNID_FILE_SETUP
MENUITEM SEPARATOR
MENUITEM "結束(&E)", MNID_FILE_EXIT
}
POPUP "編輯(&E)" {
MENUITEM "複製(&C)...", MNID_EDIT_COPYDLG
MENUITEM SEPARATOR
MENUITEM "註釋(&A)...", MNID_EDIT_ANNOTATE
}
POPUP "書籤(&B)" {
MENUITEM "定義(&D)...", MNID_BKMK_DEFINE
}
POPUP "選項(&O)" {
POPUP "顯示幫助"
BEGIN
MENUITEM "默認", MNID_OPTS_HELP_DEFAULT
MENUITEM "顯示", MNID_OPTS_HELP_VISIBLE
MENUITEM "不顯示", MNID_OPTS_HELP_NONVISIBLE
END
MENUITEM "歷史", MNID_OPTS_HISTORY
POPUP "字型"
BEGIN
MENUITEM "小號", MNID_OPTS_FONTS_SMALL
MENUITEM "中號", MNID_OPTS_FONTS_NORMAL
MENUITEM "大號", MNID_OPTS_FONTS_LARGE
END
MENUITEM "使用系統顏色", MNID_OPTS_SYSTEM_COLORS
}
POPUP "幫助(&H)" {
MENUITEM "如何使用幫助(&O)", MNID_HELP_HELPON
MENUITEM "總是在最上面(&T)", MNID_HELP_HELPTOP
MENUITEM SEPARATOR
MENUITEM "資訊(&I)...", MNID_HELP_ABOUT
#ifdef WINELIB
MENUITEM "關於 WINE(&A)", MNID_HELP_WINE
#endif
}
}
/* Strings */
STRINGTABLE DISCARDABLE
{
STID_WINE_HELP, "WINE 幫助"
STID_WHERROR, "錯誤"
STID_WARNING, "警告"
STID_INFO, "資訊"
STID_NOT_IMPLEMENTED, "未實現"
STID_HLPFILE_ERROR_s, "讀入幫助檔案 %s 時發生錯誤"
STID_INDEX, "內容(&C)"
STID_CONTENTS, "概要"
STID_BACK, "返回(&B)"
STID_ALL_FILES, "所有檔案 (*.*)"
STID_HELP_FILES_HLP, "幫助檔案 (*.hlp)"
STID_FILE_NOT_FOUND_s "不能開啟檔案 '%s'. 你想要自己找這個檔案嗎?"
STID_NO_RICHEDIT "找不到 richedit... 終止"
STID_PSH_INDEX, "幫助內容: "
}
#pragma code_page(default)

View file

@ -39,6 +39,7 @@ IDI_WINHELP ICON DISCARDABLE winhelp.ico
#include "lang/fr-FR.rc" #include "lang/fr-FR.rc"
#include "lang/hu-HU.rc" #include "lang/hu-HU.rc"
#include "lang/it-IT.rc" #include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/ko-KR.rc" #include "lang/ko-KR.rc"
// #include "lang/lt-LT.rc" // #include "lang/lt-LT.rc"
#include "lang/nl-NL.rc" #include "lang/nl-NL.rc"

View file

@ -64,7 +64,7 @@ BEGIN
BEGIN BEGIN
MENUITEM "&Barre d'outils", ID_TOGGLE_TOOLBAR MENUITEM "&Barre d'outils", ID_TOGGLE_TOOLBAR
MENUITEM "&Barre de format", ID_TOGGLE_FORMATBAR MENUITEM "&Barre de format", ID_TOGGLE_FORMATBAR
MENUITEM "&Ruler", ID_TOGGLE_RULER MENUITEM "&Règle", ID_TOGGLE_RULER
MENUITEM "&Barre d'état", ID_TOGGLE_STATUSBAR MENUITEM "&Barre d'état", ID_TOGGLE_STATUSBAR
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Options...", ID_VIEWPROPERTIES MENUITEM "&Options...", ID_VIEWPROPERTIES
@ -75,7 +75,7 @@ BEGIN
END END
POPUP "Forma&t" POPUP "Forma&t"
BEGIN BEGIN
MENUITEM "&Polive...", ID_FONTSETTINGS MENUITEM "&Police...", ID_FONTSETTINGS
MENUITEM "&Puces" ID_BULLET MENUITEM "&Puces" ID_BULLET
MENUITEM "&Paragraphe..." ID_PARAFORMAT MENUITEM "&Paragraphe..." ID_PARAFORMAT
MENUITEM "&Tabulations..." ID_TABSTOPS MENUITEM "&Tabulations..." ID_TABSTOPS
@ -109,10 +109,10 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Date et heure" CAPTION "Date et heure"
FONT 10, "MS Sans Serif" FONT 10, "MS Sans Serif"
BEGIN BEGIN
LTEXT "Available formats",0,3,2,100,15 LTEXT "Formats disponibles",0,3,2,100,15
LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "&OK",IDOK,87,12,40,12 PUSHBUTTON "&OK",IDOK,87,12,40,12
PUSHBUTTON "&Cancel",IDCANCEL,87,26,40,12 PUSHBUTTON "&Annuler",IDCANCEL,87,26,40,12
END END
IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80 IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
@ -132,13 +132,13 @@ Caption "Format de paragraphe"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
GROUPBOX "Indentation", 0, 10, 10, 120, 68 GROUPBOX "Indentation", 0, 10, 10, 120, 68
LTEXT "Left", 0, 15, 22, 40, 13 LTEXT "Gauche", 0, 15, 22, 40, 13
EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
LTEXT "Right", 0, 15, 40, 40, 13 LTEXT "Droite", 0, 15, 40, 40, 13
EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
LTEXT "First line", 0, 15, 58, 40, 13 LTEXT "Première ligne", 0, 15, 58, 40, 18
EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
LTEXT "Alignment", 0, 15, 87, 40, 13 LTEXT "Alignement", 0, 15, 87, 40, 13
COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
PUSHBUTTON "&Annuler", IDCANCEL, 137, 33, 50, 15 PUSHBUTTON "&Annuler", IDCANCEL, 137, 33, 50, 15
@ -163,14 +163,14 @@ STYLE DS_SYSMODAL
Caption "" Caption ""
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
GROUPBOX "Line wrapping", 0, 10, 10, 130, 85 GROUPBOX "Enveloppement de ligne", 0, 10, 10, 170, 85
RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 25, 117, 15 RADIOBUTTON "Enveloppe le texte à partir de la bordure de fenêtre", IDC_PAGEFMT_WW, 18, 25, 145, 15
RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 45, 117, 15 RADIOBUTTON "Enveloppe le texte à partir de la &marge", IDC_PAGEFMT_WM, 18, 45, 145, 15
GROUPBOX "Barres d'outils", 0, 150, 10, 120, 85 GROUPBOX "Barres d'outils", 0, 170, 10, 120, 85
CHECKBOX "&Barre d'outils", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Barre d'outils", IDC_PAGEFMT_TB, 180, 20, 80, 15
CHECKBOX "Barre de &format", IDC_PAGEFMT_FB, 160, 38, 80, 15 CHECKBOX "Barre de &format", IDC_PAGEFMT_FB, 180, 38, 80, 15
CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 160, 56, 80, 15 CHECKBOX "&Règle", IDC_PAGEFMT_RU, 180, 56, 80, 15
CHECKBOX "Barre de &statut", IDC_PAGEFMT_SB, 160, 74, 80, 15 CHECKBOX "Barre de &statut", IDC_PAGEFMT_SB, 180, 74, 80, 15
LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END END
@ -213,8 +213,8 @@ BEGIN
STRING_PREVIEW_PRINT, "Imprimer" STRING_PREVIEW_PRINT, "Imprimer"
STRING_PREVIEW_NEXTPAGE, "Page suivante" STRING_PREVIEW_NEXTPAGE, "Page suivante"
STRING_PREVIEW_PREVPAGE, "Page précédente" STRING_PREVIEW_PREVPAGE, "Page précédente"
STRING_PREVIEW_TWOPAGES, "Two pages" STRING_PREVIEW_TWOPAGES, "Deux pages"
STRING_PREVIEW_ONEPAGE, "One page" STRING_PREVIEW_ONEPAGE, "Une page"
STRING_PREVIEW_CLOSE, "Fermer" STRING_PREVIEW_CLOSE, "Fermer"
END END

View file

@ -0,0 +1,241 @@
/*
* Copyright 2008 by Katayama Hirofumi MZ
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* 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
*/
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "新規作成(&N)...\tCtrl+N", ID_FILE_NEW
MENUITEM "開く(&O)...\tCtrl+O", ID_FILE_OPEN
MENUITEM "上書き保存(&S)\tCtrl+S", ID_FILE_SAVE
MENUITEM "名前を付けて保存(&A)...", ID_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "印刷(&P)...\tCtrl+P", ID_PRINT
MENUITEM "印刷プレビュー(&W)...", ID_PREVIEW
MENUITEM "ページ設定(&E)...", ID_PRINTSETUP
MENUITEM SEPARATOR
MENUITEM "終了(&X)", ID_FILE_EXIT
END
POPUP "編集(&E)"
BEGIN
MENUITEM "元に戻す(&U)\tCtrl+Z", ID_EDIT_UNDO
MENUITEM "やり直し(&E)\tCtrl+Y", ID_EDIT_REDO
MENUITEM SEPARATOR
MENUITEM "切り取り(&T)\tCtrl+X", ID_EDIT_CUT
MENUITEM "コピー(&C)\tCtrl+C", ID_EDIT_COPY
MENUITEM "貼\り付け(&P)\tCtrl+V", ID_EDIT_PASTE
MENUITEM "クリア(&C)\tDEL", ID_EDIT_CLEAR
MENUITEM "すべて選択(&S)\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "検索(&F)...\tCrtl+F", ID_FIND
MENUITEM "次を検索(&N)\tF3", ID_FIND_NEXT
MENUITEM "置換(&R)...\tCtrl+H", ID_REPLACE
MENUITEM SEPARATOR
MENUITEM "読み取り専用(&O)", ID_EDIT_READONLY
MENUITEM "変更あり(&M)", ID_EDIT_MODIFIED
MENUITEM SEPARATOR
POPUP "E&xtras"
BEGIN
MENUITEM "Selection &info", ID_EDIT_SELECTIONINFO
MENUITEM "Character &format", ID_EDIT_CHARFORMAT
MENUITEM "&Def. char format", ID_EDIT_DEFCHARFORMAT
MENUITEM "Paragrap&h format", ID_EDIT_PARAFORMAT
MENUITEM "&Get text", ID_EDIT_GETTEXT
END
END
POPUP "表\示(&V)"
BEGIN
MENUITEM "ツールバー(&T)", ID_TOGGLE_TOOLBAR
MENUITEM "書式バー(&F)", ID_TOGGLE_FORMATBAR
MENUITEM "ルーラー(&R)", ID_TOGGLE_RULER
MENUITEM "ステータス バー(&S)", ID_TOGGLE_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "オプション(&O)...", ID_VIEWPROPERTIES
END
POPUP "挿入(&I)"
BEGIN
MENUITEM "日付と時刻(&D)...", ID_DATETIME
END
POPUP "書式(&O)"
BEGIN
MENUITEM "フォント(&F)...", ID_FONTSETTINGS
MENUITEM "箇条書き(&B)" ID_BULLET
MENUITEM "段落(&P)..." ID_PARAFORMAT
MENUITEM "タブ(&T)..." ID_TABSTOPS
POPUP "背景(&D)"
BEGIN
MENUITEM "システム(&S)\tCtrl+1", ID_BACK_1
MENUITEM "&PostThat yellowish\tCtrl+2", ID_BACK_2
END
END
POPUP "ヘルプ(&H)"
BEGIN
MENUITEM "Wine Wordpadについて(&A)" ID_ABOUT
END
END
IDM_POPUP MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "切り取り(&T)", ID_EDIT_CUT
MENUITEM "コピー(&C)", ID_EDIT_COPY
MENUITEM "貼\り付け(&P)", ID_EDIT_PASTE
MENUITEM SEPARATOR
MENUITEM "箇条書き(&B)" ID_BULLET
MENUITEM "段落(&P)..." ID_PARAFORMAT
END
END
IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "日付と時刻"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "利用できる形式",0,3,2,100,15
LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT|LBS_NOTIFY
PUSHBUTTON "&OK",IDOK,87,12,40,12
PUSHBUTTON "キャンセル(&C)",IDCANCEL,87,26,40,12
END
IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "新規作成"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "新しい文書形式",0,3,2,100,15
LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "&OK",IDOK,97,12,40,12
PUSHBUTTON "キャンセル(&C)",IDCANCEL,97,26,40,12
END
IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "段落の設定"
FONT 9, "MS UI Gothic"
BEGIN
GROUPBOX "インデント", 0, 10, 10, 120, 68
LTEXT "左(&L)", 0, 15, 22, 40, 13
EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
LTEXT "右(&R)", 0, 15, 40, 40, 13
EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
LTEXT "最初の行(&F)", 0, 15, 58, 40, 13
EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
LTEXT "整列(&A)", 0, 15, 87, 40, 13
COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15
END
IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "タブの設定"
FONT 9, "MS UI Gothic"
BEGIN
GROUPBOX "タブの停止位置(&T)", 0, 10, 10, 120, 90
COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
DEFPUSHBUTTON "追加(&A)", ID_TAB_ADD, 20, 80, 45, 15
PUSHBUTTON "削除(&R)", ID_TAB_DEL, 72, 80, 45, 15
PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15
PUSHBUTTON "すべて削除(&L)", 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 "行の折り返し", 0, 10, 10, 130, 85
RADIOBUTTON "ウィンドウの境界で折り返す(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15
RADIOBUTTON "マージンで折り返す(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15
GROUPBOX "ツールバー", 0, 150, 10, 120, 85
CHECKBOX "ツールバー(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15
CHECKBOX "書式バー(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15
CHECKBOX "ルーラー(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15
CHECKBOX "ステータスバー(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15
LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_RICHTEXT_FILES_RTF, "リッチテキスト形式 (*.rtf)"
STRING_TEXT_FILES_TXT, "テキスト文書 (*.txt)"
STRING_TEXT_FILES_UNICODE_TXT, "Unicodeテキスト文書(*.txt)"
STRING_ALL_FILES, "すべてのファイル (*.*)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_ALIGN_LEFT, "左"
STRING_ALIGN_RIGHT, "右"
STRING_ALIGN_CENTER, "中央"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_NEWFILE_RICHTEXT, "リッチテキスト文書"
STRING_NEWFILE_TXT, "テキスト文書"
STRING_NEWFILE_TXT_UNICODE, "Unicodeテキスト文書"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PRINTER_FILES_PRN, "プリンタファイル (*.PRN)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_VIEWPROPS_TITLE, "オプション"
STRING_VIEWPROPS_TEXT, "テキスト"
STRING_VIEWPROPS_RICHTEXT, "リッチテキスト"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PREVIEW_PRINT, "印刷"
STRING_PREVIEW_NEXTPAGE, "次のページ"
STRING_PREVIEW_PREVPAGE, "前のページ"
STRING_PREVIEW_TWOPAGES, "2ページ"
STRING_PREVIEW_ONEPAGE, "1ページ"
STRING_PREVIEW_CLOSE, "閉じる"
END
STRINGTABLE DISCARDABLE
BEGIN
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ストレージ文書はサポートされていません。"
STRING_WRITE_FAILED, "ファイルを保存できません。"
STRING_WRITE_ACCESS_DENIED, "ファイルに保存する権限がありません。"
STRING_OPEN_FAILED, "ファイルを開けません。"
STRING_OPEN_ACCESS_DENIED, "ファイルを開く権限がありません。"
END

View file

@ -0,0 +1,472 @@
/*
* wordpad (Simplified and Traditional Chinese Resource)
*
* Copyright 2008 Hongbo Ni <hongbo.at.njstar.com>
*
* 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
*/
/* Chinese text is encoded in UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "新建(&N)...\tCtrl+N", ID_FILE_NEW
MENUITEM "打开(&O)...\tCtrl+O", ID_FILE_OPEN
MENUITEM "保存(&S)\tCtrl+S", ID_FILE_SAVE
MENUITEM "另存为(&A)...", ID_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "打印(&P)...\tCtrl+P", ID_PRINT
MENUITEM "打印预览(&W)...", ID_PREVIEW
MENUITEM "页面设置(&E)...", ID_PRINTSETUP
MENUITEM SEPARATOR
MENUITEM "退出(&X)", ID_FILE_EXIT
END
POPUP "编辑(&E)"
BEGIN
MENUITEM "撤销(&U)\tCtrl+Z", ID_EDIT_UNDO
MENUITEM "重做(&E)\tCtrl+Y", ID_EDIT_REDO
MENUITEM SEPARATOR
MENUITEM "剪切(&T)\tCtrl+X", ID_EDIT_CUT
MENUITEM "复制(&C)\tCtrl+C", ID_EDIT_COPY
MENUITEM "粘贴(&P)\tCtrl+V", ID_EDIT_PASTE
MENUITEM "删除(&D)\tDEL", ID_EDIT_CLEAR
MENUITEM "全选(&S)\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "查找(&F)...\tCrtl+F", ID_FIND
MENUITEM "找下一个(&N)\tF3", ID_FIND_NEXT
MENUITEM "替换(&R)...\tCtrl+H", ID_REPLACE
MENUITEM SEPARATOR
MENUITEM "只读(&0))", ID_EDIT_READONLY
MENUITEM "已改动(M)", ID_EDIT_MODIFIED
MENUITEM SEPARATOR
POPUP "其他(&X)"
BEGIN
MENUITEM "选择信息(&I)", ID_EDIT_SELECTIONINFO
MENUITEM "文字格式(&F)", ID_EDIT_CHARFORMAT
MENUITEM "默认格式(&D)", ID_EDIT_DEFCHARFORMAT
MENUITEM "段落格式(&H)", ID_EDIT_PARAFORMAT
MENUITEM "获取文字(&G)", ID_EDIT_GETTEXT
END
END
POPUP "视图(&V)"
BEGIN
MENUITEM "工具栏(&T)", ID_TOGGLE_TOOLBAR
MENUITEM "格式工具栏(&F)", ID_TOGGLE_FORMATBAR
MENUITEM "标尺(&R)", ID_TOGGLE_RULER
MENUITEM "状态栏(&S)", ID_TOGGLE_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "选项(&O)...", ID_VIEWPROPERTIES
END
POPUP "插入(&I)"
BEGIN
MENUITEM "日期时间(&D)...", ID_DATETIME
END
POPUP "格式(&O)"
BEGIN
MENUITEM "字体(&F)..", ID_FONTSETTINGS
MENUITEM "子弹点(&B)", ID_BULLET
MENUITEM "段落(&P)...", ID_PARAFORMAT
MENUITEM "标签(&T)...", ID_TABSTOPS
POPUP "背景(&D)"
BEGIN
MENUITEM "系统(&S)\tCtrl+1", ID_BACK_1
MENUITEM "淡黄色(&P)\tCtrl+2", ID_BACK_2
END
END
POPUP "帮助(&H)"
BEGIN
MENUITEM "关于 &Wine 写字板", ID_ABOUT
END
END
IDM_POPUP MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "剪切(&T)", ID_EDIT_CUT
MENUITEM "复制(&C)", ID_EDIT_COPY
MENUITEM "粘贴(&P)", ID_EDIT_PASTE
MENUITEM SEPARATOR
MENUITEM "子弹点(&B)" ID_BULLET
MENUITEM "段落(&P)..." ID_PARAFORMAT
END
END
IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "日期和时间"
FONT 9, "MS Song"
BEGIN
LTEXT "可用格式",0,3,2,100,15
LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "确定(&O)",IDOK,87,12,40,12
PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12
END
IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "新建"
FONT 9, "MS Song"
BEGIN
LTEXT "新文件类型",0,3,2,100,15
LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "确定(&O)",IDOK,97,12,40,12
PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12
END
IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "段落格式"
FONT 9, "MS Song"
BEGIN
GROUPBOX "缩进", 0, 10, 10, 120, 68
LTEXT "左", 0, 15, 22, 40, 13
EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
LTEXT "右", 0, 15, 40, 40, 13
EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
LTEXT "第一行", 0, 15, 58, 40, 13
EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
LTEXT "对齐", 0, 15, 87, 40, 13
COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
PUSHBUTTON "确定(&O)", IDOK, 137, 15, 50, 15
PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15
END
IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "标签"
FONT 9, "MS Song"
BEGIN
GROUPBOX "标签停点", 0, 10, 10, 120, 90
COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15
PUSHBUTTON "删除(&R)", ID_TAB_DEL, 72, 80, 45, 15
PUSHBUTTON "确定(&O)", IDOK, 137, 15, 50, 15
PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15
PUSHBUTTON "全部删除(&R)", ID_TAB_EMPTY, 137, 51, 50, 15
END
IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 9, "MS Song"
BEGIN
GROUPBOX "自动换行", 0, 10, 10, 130, 85
RADIOBUTTON "按视窗宽度(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15
RADIOBUTTON "按纸张宽度(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15
GROUPBOX "工具栏", 0, 150, 10, 120, 85
CHECKBOX "工具栏(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15
CHECKBOX "格式工具栏(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15
CHECKBOX "标尺(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15
CHECKBOX "状态栏(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15
LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_RICHTEXT_FILES_RTF, "RTF丰富格式 (*.rtf)"
STRING_TEXT_FILES_TXT, "文本文件 (*.txt)"
STRING_TEXT_FILES_UNICODE_TXT, "统一码文本文件 (*.txt)"
STRING_ALL_FILES, "所有文件 (*.*)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_ALIGN_LEFT, "左"
STRING_ALIGN_RIGHT, "右"
STRING_ALIGN_CENTER, "中"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_NEWFILE_RICHTEXT, "RTF丰富格式文件"
STRING_NEWFILE_TXT, "文本文件 "
STRING_NEWFILE_TXT_UNICODE, "统一码文本文件"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PRINTER_FILES_PRN, "打印文件 (*.PRN)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_VIEWPROPS_TITLE, "选项"
STRING_VIEWPROPS_TEXT, "文本文字"
STRING_VIEWPROPS_RICHTEXT, "丰富格式文字"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PREVIEW_PRINT, "打印"
STRING_PREVIEW_NEXTPAGE, "下一页"
STRING_PREVIEW_PREVPAGE, "上一页"
STRING_PREVIEW_TWOPAGES, "双页"
STRING_PREVIEW_ONEPAGE, "单页"
STRING_PREVIEW_CLOSE, "关闭"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_UNITS_CM, "cm"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_DEFAULT_FILENAME, "Document"
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 储存文件"
STRING_WRITE_FAILED, "不能保存文件."
STRING_WRITE_ACCESS_DENIED, "你没有保存文件的权力."
STRING_OPEN_FAILED, "不能打开文件."
STRING_OPEN_ACCESS_DENIED, "你没有打开文件的权力."
END
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "檔案(&F)"
BEGIN
MENUITEM "新建(&N)...\tCtrl+N", ID_FILE_NEW
MENUITEM "開啟(&O)...\tCtrl+O", ID_FILE_OPEN
MENUITEM "儲存(&S)\tCtrl+S", ID_FILE_SAVE
MENUITEM "另存為(&A)...", ID_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "列印(&P)...\tCtrl+P", ID_PRINT
MENUITEM "列印預覽(&W)...", ID_PREVIEW
MENUITEM "頁面設定(&E)...", ID_PRINTSETUP
MENUITEM SEPARATOR
MENUITEM "結束(&X)", ID_FILE_EXIT
END
POPUP "編輯(&E)"
BEGIN
MENUITEM "復原(&U)\tCtrl+Z", ID_EDIT_UNDO
MENUITEM "重做(&E)\tCtrl+Y", ID_EDIT_REDO
MENUITEM SEPARATOR
MENUITEM "剪下(&T)\tCtrl+X", ID_EDIT_CUT
MENUITEM "複製(&C)\tCtrl+C", ID_EDIT_COPY
MENUITEM "貼上(&P)\tCtrl+V", ID_EDIT_PASTE
MENUITEM "刪除(&D)\tDEL", ID_EDIT_CLEAR
MENUITEM "全選(&S)\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "查找(&F)...\tCrtl+F", ID_FIND
MENUITEM "找下一個(&N)\tF3", ID_FIND_NEXT
MENUITEM "替換(&R)...\tCtrl+H", ID_REPLACE
MENUITEM SEPARATOR
MENUITEM "唯讀(&0))", ID_EDIT_READONLY
MENUITEM "已改動(M)", ID_EDIT_MODIFIED
MENUITEM SEPARATOR
POPUP "其他(&X)"
BEGIN
MENUITEM "選擇資訊(&I)", ID_EDIT_SELECTIONINFO
MENUITEM "文字格式(&F)", ID_EDIT_CHARFORMAT
MENUITEM "默認格式(&D)", ID_EDIT_DEFCHARFORMAT
MENUITEM "段落格式(&H)", ID_EDIT_PARAFORMAT
MENUITEM "獲取文字(&G)", ID_EDIT_GETTEXT
END
END
POPUP "檢視(&V)"
BEGIN
MENUITEM "工具欄(&T)", ID_TOGGLE_TOOLBAR
MENUITEM "格式工具欄(&F)", ID_TOGGLE_FORMATBAR
MENUITEM "標尺(&R)", ID_TOGGLE_RULER
MENUITEM "狀態欄(&S)", ID_TOGGLE_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "選項(&O)...", ID_VIEWPROPERTIES
END
POPUP "插入(&I)"
BEGIN
MENUITEM "日期時間(&D)...", ID_DATETIME
END
POPUP "格式(&O)"
BEGIN
MENUITEM "字型(&F)..", ID_FONTSETTINGS
MENUITEM "子彈點(&B)", ID_BULLET
MENUITEM "段落(&P)...", ID_PARAFORMAT
MENUITEM "標籤(&T)...", ID_TABSTOPS
POPUP "背景(&D)"
BEGIN
MENUITEM "系統(&S)\tCtrl+1", ID_BACK_1
MENUITEM "淡黃色(&P)\tCtrl+2", ID_BACK_2
END
END
POPUP "幫助(&H)"
BEGIN
MENUITEM "關於 &Wine 寫字板", ID_ABOUT
END
END
IDM_POPUP MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "剪下(&T)", ID_EDIT_CUT
MENUITEM "複製(&C)", ID_EDIT_COPY
MENUITEM "貼上(&P)", ID_EDIT_PASTE
MENUITEM SEPARATOR
MENUITEM "子彈點(&B)" ID_BULLET
MENUITEM "段落(&P)..." ID_PARAFORMAT
END
END
IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "日期和時間"
FONT 8, "PMingLiu"
BEGIN
LTEXT "可用格式",0,3,2,100,15
LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "確定(&O)",IDOK,87,12,40,12
PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12
END
IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "新建"
FONT 8, "PMingLiu"
BEGIN
LTEXT "新檔案類型",0,3,2,100,15
LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
PUSHBUTTON "確定(&O)",IDOK,97,12,40,12
PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12
END
IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "段落格式"
FONT 8, "PMingLiu"
BEGIN
GROUPBOX "縮進", 0, 10, 10, 120, 68
LTEXT "左", 0, 15, 22, 40, 13
EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
LTEXT "右", 0, 15, 40, 40, 13
EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
LTEXT "第一行", 0, 15, 58, 40, 13
EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
LTEXT "對齊", 0, 15, 87, 40, 13
COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
PUSHBUTTON "確定(&O)", IDOK, 137, 15, 50, 15
PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15
END
IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "標籤"
FONT 8, "PMingLiu"
BEGIN
GROUPBOX "標籤停點", 0, 10, 10, 120, 90
COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15
PUSHBUTTON "刪除(&R)", ID_TAB_DEL, 72, 80, 45, 15
PUSHBUTTON "確定(&O)", IDOK, 137, 15, 50, 15
PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15
PUSHBUTTON "全部刪除(&R)", ID_TAB_EMPTY, 137, 51, 50, 15
END
IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 8, "PMingLiu"
BEGIN
GROUPBOX "自動換行", 0, 10, 10, 130, 85
RADIOBUTTON "按視窗寬度(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15
RADIOBUTTON "按紙張寬度(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15
GROUPBOX "工具欄", 0, 150, 10, 120, 85
CHECKBOX "工具欄(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15
CHECKBOX "格式工具欄(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15
CHECKBOX "標尺(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15
CHECKBOX "狀態欄(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15
LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_RICHTEXT_FILES_RTF, "RTF豐富格式 (*.rtf)"
STRING_TEXT_FILES_TXT, "文本檔案 (*.txt)"
STRING_TEXT_FILES_UNICODE_TXT, "統一碼文本檔案 (*.txt)"
STRING_ALL_FILES, "所有檔案 (*.*)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_ALIGN_LEFT, "左"
STRING_ALIGN_RIGHT, "右"
STRING_ALIGN_CENTER, "中"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_NEWFILE_RICHTEXT, "RTF豐富格式檔案"
STRING_NEWFILE_TXT, "文本檔案 "
STRING_NEWFILE_TXT_UNICODE, "統一碼文本檔案"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PRINTER_FILES_PRN, "列印檔案 (*.PRN)"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_VIEWPROPS_TITLE, "選項"
STRING_VIEWPROPS_TEXT, "文本文字"
STRING_VIEWPROPS_RICHTEXT, "豐富格式文字"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_PREVIEW_PRINT, "列印"
STRING_PREVIEW_NEXTPAGE, "下一頁"
STRING_PREVIEW_PREVPAGE, "上一頁"
STRING_PREVIEW_TWOPAGES, "雙頁"
STRING_PREVIEW_ONEPAGE, "單頁"
STRING_PREVIEW_CLOSE, "關閉"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_UNITS_CM, "cm"
END
STRINGTABLE DISCARDABLE
BEGIN
STRING_DEFAULT_FILENAME, "Document"
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 儲存檔案"
STRING_WRITE_FAILED, "不能儲存檔案."
STRING_WRITE_ACCESS_DENIED, "你沒有儲存檔案的權力."
STRING_OPEN_FAILED, "不能開啟檔案."
STRING_OPEN_ACCESS_DENIED, "你沒有開啟檔案的權力."
END
#pragma code_page(default)

View file

@ -69,6 +69,7 @@ IDI_TXT ICON "txt.ico"
#include "En.rc" #include "En.rc"
#include "Fr.rc" #include "Fr.rc"
#include "Hu.rc" #include "Hu.rc"
#include "Ja.rc"
#include "Ko.rc" #include "Ko.rc"
#include "Nl.rc" #include "Nl.rc"
#include "No.rc" #include "No.rc"
@ -76,3 +77,4 @@ IDI_TXT ICON "txt.ico"
#include "Ru.rc" #include "Ru.rc"
#include "Si.rc" #include "Si.rc"
#include "Tr.rc" #include "Tr.rc"
#include "Zh.rc"