STRING_SIMCOPY, "%d file saranno copiati\n"
STRING_COPY, "%d file copiato/i\n"
STRING_QISDIR, "'%s' è il nome di un file o una cartella\n\
- nell'obiettivo?\n\
+ nella destinazione?\n\
(F - File, C - Cartella)\n"
STRING_SRCPROMPT,"%s? (Sì|No)\n"
STRING_OVERWRITE,"Sovrascrivere %s? (Sì|No|Tutti)\n"
\n\
Where:\n\
\n\
-[/I] 만약 대상이 존재하지 않는 경우 디렉토리로 가정하고 두개나 더 많은 파일을 \n\
+[/I] 만약 대상이 존재하지 않는 경우 디렉토리로 가정하고 두개나 더 많은 파일을\n\
\t복사\n\
[/S] 디렉토리하고 하위 디렉토리 복사\n\
[/E] 빈 디렉토리를 포함해서 디렉토리와 하위 디렉토리 복사\n\
--- /dev/null
+/*
+ * XCOPY - Wine-compatible xcopy program
+ * Serbian language support
+ *
+ * Copyright (C) 2007 J. Edmeades
+ * Copyright 2010 Đorđe Vasiljević
+ *
+ * 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"
+
+#pragma code_page(65001)
+
+LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
+
+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\
+ на одредишту?\n\
+ (Д - датотека, Ф - фасцикла)\n"
+ STRING_SRCPROMPT,"%s? (Да|Не)\n"
+ STRING_OVERWRITE,"Заменити %s? (Да|Не|Све)\n"
+ STRING_COPYFAIL, "Умножавање „%s“ у „%s“ није успело са r/c %d\n"
+ STRING_OPENFAIL, "Отварање „%s“ датотеке није успело\n"
+ STRING_READFAIL, "Читање „%s“ датотеке није успело\n"
+ STRING_YES_CHAR, "Д"
+ STRING_NO_CHAR, "Н"
+ STRING_ALL_CHAR, "С"
+ STRING_FILE_CHAR,"Д"
+ STRING_DIR_CHAR, "Ф"
+
+ STRING_HELP,
+"XCOPY — умножава изворне датотеке или гране фасцикли у одредиште\n\
+\n\
+Синтакса:\n\
+XCOPY извор [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
+\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
+\n\
+Где:\n\
+\n\
+[/I] Претпостави фасциклу када одредиште не постоји и када се умножавају две или\n\
+\tвише датотека\n\
+[/S] Умножи фасцикле и потфасцикле\n\
+[/E] Умножи фасцикле и потфасцикле заједно с празним\n\
+[/Q] Не приказуј називе током умножавања.\n\
+[/F] Прикажи цео извор и одредиште током умножавања\n\
+[/L] Опонашај радњу приказујући називе који ће бити умножени\n\
+[/W] Питај пре почињања умножавања\n\
+[/T] Прави празну структуру фасцикле, али не умножава датотеке\n\
+[/Y] Потисни упит при замењивању датотека\n\
+[/-Y] Омогући упит при замењивању датотека\n\
+[/P] Питај за сваку изворну датотеку пре умножавања\n\
+[/N] Умножи користећи кратке називе\n\
+[/U] Умножи само оне датотеке које постоје у одредишту\n\
+[/R] Замени све датотеке које се само читају\n\
+[/H] Укључи сакривене и системске датотеке у умножавање\n\
+[/C] Настави иако дође до грешке у умножавању\n\
+[/A] Умножи само архивиране датотеке\n\
+[/M] Умножи само архивиране датотеке и уклони\n\
+\tособине архиве\n\
+[/D | /D:m-d-y] Умножи нове или измењене датотеке након одређеног датума.\n\
+\t\tАко датум није унесен, умножи само ако је одредиште старије\n\
+\t\tод извора\n\n"
+
+}
+
+LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
+
+STRINGTABLE
+{
+ STRING_INVPARMS, "Neispravan broj parametara. Koristite xcopy /? za pomoć\n"
+ STRING_INVPARM, "Neispravan parametar „%s“. Koristite xcopy /? za pomoć\n"
+ STRING_PAUSE, "Pritisnite <enter> da započnete umnožavanje\n"
+ STRING_SIMCOPY, "%d datoteka/e će biti umoženo\n"
+ STRING_COPY, "%d datoteka/e je umnoženo\n"
+ STRING_QISDIR, "Da li je „%s“ naziv datoteke ili fascikla\n\
+ na odredištu?\n\
+ (D - datoteka, F - fascikla)\n"
+ STRING_SRCPROMPT,"%s? (Da|Ne)\n"
+ STRING_OVERWRITE,"Zameniti %s? (Da|Ne|Sve)\n"
+ STRING_COPYFAIL, "Umnožavanje „%s“ u „%s“ nije uspelo sa r/c %d\n"
+ STRING_OPENFAIL, "Otvaranje „%s“ datoteke nije uspelo\n"
+ STRING_READFAIL, "Čitanje „%s“ datoteke nije uspelo\n"
+ STRING_YES_CHAR, "D"
+ STRING_NO_CHAR, "N"
+ STRING_ALL_CHAR, "S"
+ STRING_FILE_CHAR,"D"
+ STRING_DIR_CHAR, "F"
+
+ STRING_HELP,
+"XCOPY — umnožava izvorne datoteke ili grane fascikli u odredište\n\
+\n\
+Sintaksa:\n\
+XCOPY izvor [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
+\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
+\n\
+Gde:\n\
+\n\
+[/I] Pretpostavi fasciklu kada odredište ne postoji i kada se umnožavaju dve ili\n\
+\tviše datoteka\n\
+[/S] Umnoži fascikle i potfascikle\n\
+[/E] Umnoži fascikle i potfascikle zajedno s praznim\n\
+[/Q] Ne prikazuj nazive tokom umnožavanja.\n\
+[/F] Prikaži ceo izvor i odredište tokom umnožavanja\n\
+[/L] Oponašaj radnju prikazujući nazive koji će biti umnoženi\n\
+[/W] Pitaj pre počinjanja umnožavanja\n\
+[/T] Pravi praznu strukturu fascikle, ali ne umnožava datoteke\n\
+[/Y] Potisni upit pri zamenjivanju datoteka\n\
+[/-Y] Omogući upit pri zamenjivanju datoteka\n\
+[/P] Pitaj za svaku izvornu datoteku pre umnožavanja\n\
+[/N] Umnoži koristeći kratke nazive\n\
+[/U] Umnoži samo one datoteke koje postoje u odredištu\n\
+[/R] Zameni sve datoteke koje se samo čitaju\n\
+[/H] Uključi sakrivene i sistemske datoteke u umnožavanje\n\
+[/C] Nastavi iako dođe do greške u umnožavanju\n\
+[/A] Umnoži samo arhivirane datoteke\n\
+[/M] Umnoži samo arhivirane datoteke i ukloni\n\
+\tosobine arhive\n\
+[/D | /D:m-d-y] Umnoži nove ili izmenjene datoteke nakon određenog datuma.\n\
+\t\tAko datum nije unesen, umnoži samo ako je odredište starije\n\
+\t\tod izvora\n\n"
+
+}
#include "Ro.rc"
#include "Ru.rc"
#include "Si.rc"
+#include "Sr.rc"
#include "Sv.rc"
#include "Uk.rc"
WINE_DEFAULT_DEBUG_CHANNEL(xcopy);
/* Prototypes */
+static int XCOPY_ParseCommandLine(WCHAR *suppliedsource,
+ WCHAR *supplieddestination, DWORD *flags);
static int XCOPY_ProcessSourceParm(WCHAR *suppliedsource, WCHAR *stem,
WCHAR *spec, DWORD flags);
static int XCOPY_ProcessDestParm(WCHAR *supplieddestination, WCHAR *stem,
const WCHAR PROMPTSTR1[] = {'/', 'Y', 0};
const WCHAR PROMPTSTR2[] = {'/', 'y', 0};
const WCHAR COPYCMD[] = {'C', 'O', 'P', 'Y', 'C', 'M', 'D', 0};
- const WCHAR EXCLUDE[] = {'E', 'X', 'C', 'L', 'U', 'D', 'E', ':', 0};
-
- /*
- * Parse the command line
- */
-
- /* Confirm at least one parameter */
- if (argc < 2) {
- XCOPY_wprintf(XCOPY_LoadMessage(STRING_INVPARMS));
- return RC_INITERROR;
- }
/* Preinitialize flags based on COPYCMD */
if (GetEnvironmentVariableW(COPYCMD, copyCmd, MAXSTRING)) {
lose */
flags |= OPT_COPYHIDSYS;
+ /*
+ * Parse the command line
+ */
+ if ((rc = XCOPY_ParseCommandLine(suppliedsource, supplieddestination,
+ &flags)) != RC_OK) {
+ if (rc == RC_HELP)
+ return RC_OK;
+ else
+ return rc;
+ }
+
+ /* Trace out the supplied information */
+ WINE_TRACE("Supplied parameters:\n");
+ WINE_TRACE("Source : '%s'\n", wine_dbgstr_w(suppliedsource));
+ WINE_TRACE("Destination : '%s'\n", wine_dbgstr_w(supplieddestination));
+
+ /* Extract required information from source specification */
+ rc = XCOPY_ProcessSourceParm(suppliedsource, sourcestem, sourcespec, flags);
+ if (rc != RC_OK) return rc;
+
+ /* Extract required information from destination specification */
+ rc = XCOPY_ProcessDestParm(supplieddestination, destinationstem,
+ destinationspec, sourcespec, flags);
+ if (rc != RC_OK) return rc;
+
+ /* Trace out the resulting information */
+ WINE_TRACE("Resolved parameters:\n");
+ WINE_TRACE("Source Stem : '%s'\n", wine_dbgstr_w(sourcestem));
+ WINE_TRACE("Source Spec : '%s'\n", wine_dbgstr_w(sourcespec));
+ WINE_TRACE("Dest Stem : '%s'\n", wine_dbgstr_w(destinationstem));
+ WINE_TRACE("Dest Spec : '%s'\n", wine_dbgstr_w(destinationspec));
+
+ /* Pause if necessary */
+ if (flags & OPT_PAUSE) {
+ DWORD count;
+ char pausestr[10];
+
+ XCOPY_wprintf(XCOPY_LoadMessage(STRING_PAUSE));
+ ReadFile (GetStdHandle(STD_INPUT_HANDLE), pausestr, sizeof(pausestr),
+ &count, NULL);
+ }
+
+ /* Now do the hard work... */
+ rc = XCOPY_DoCopy(sourcestem, sourcespec,
+ destinationstem, destinationspec,
+ flags);
+
+ /* Clear up exclude list allocated memory */
+ while (excludeList) {
+ EXCLUDELIST *pos = excludeList;
+ excludeList = excludeList -> next;
+ HeapFree(GetProcessHeap(), 0, pos->name);
+ HeapFree(GetProcessHeap(), 0, pos);
+ }
+
+ /* Finished - print trailer and exit */
+ if (flags & OPT_SIMULATE) {
+ XCOPY_wprintf(XCOPY_LoadMessage(STRING_SIMCOPY), filesCopied);
+ } else if (!(flags & OPT_NOCOPY)) {
+ XCOPY_wprintf(XCOPY_LoadMessage(STRING_COPY), filesCopied);
+ }
+ if (rc == RC_OK && filesCopied == 0) rc = RC_NOFILES;
+ return rc;
+
+}
+
+/* =========================================================================
+ XCOPY_ParseCommandLine - Parses the command line
+ ========================================================================= */
+static BOOL is_whitespace(WCHAR c)
+{
+ return c == ' ' || c == '\t';
+}
+
+static WCHAR *skip_whitespace(WCHAR *p)
+{
+ for (; *p && is_whitespace(*p); p++);
+ return p;
+}
+
+/* Windows XCOPY uses a simplified command line parsing algorithm
+ that lacks the escaped-quote logic of build_argv(), because
+ literal double quotes are illegal in any of its arguments.
+ Example: 'XCOPY "c:\DIR A" "c:DIR B\"' is OK. */
+static int find_end_of_word(const WCHAR *word, WCHAR **end)
+{
+ BOOL in_quotes = 0;
+ const WCHAR *ptr = word;
+ for (;;) {
+ for (; *ptr != '\0' && *ptr != '"' &&
+ (in_quotes || !is_whitespace(*ptr)); ptr++);
+ if (*ptr == '"') {
+ in_quotes = !in_quotes;
+ ptr++;
+ }
+ /* Odd number of double quotes is illegal for XCOPY */
+ if (in_quotes && *ptr == '\0')
+ return RC_INITERROR;
+ if (*ptr == '\0' || (!in_quotes && is_whitespace(*ptr)))
+ break;
+ }
+ *end = (WCHAR*)ptr;
+ return RC_OK;
+}
+
+/* Remove all double quotes from a word */
+static void strip_quotes(WCHAR *word, WCHAR **end)
+{
+ WCHAR *rp, *wp;
+ for (rp = word, wp = word; *rp != '\0'; rp++) {
+ if (*rp == '"')
+ continue;
+ if (wp < rp)
+ *wp = *rp;
+ wp++;
+ }
+ *wp = '\0';
+ *end = wp;
+}
+
+static int XCOPY_ParseCommandLine(WCHAR *suppliedsource,
+ WCHAR *supplieddestination, DWORD *pflags)
+{
+ const WCHAR EXCLUDE[] = {'E', 'X', 'C', 'L', 'U', 'D', 'E', ':', 0};
+ DWORD flags = *pflags;
+ WCHAR *cmdline, *word, *end, *next;
+ int rc = RC_INITERROR;
+
+ cmdline = _wcsdup(GetCommandLineW());
+ if (cmdline == NULL)
+ return rc;
+
/* Skip first arg, which is the program name */
- argvW++;
+ if ((rc = find_end_of_word(cmdline, &word)) != RC_OK)
+ goto out;
+ word = skip_whitespace(word);
- while (argc > 1)
+ while (*word)
{
- argc--;
- WINE_TRACE("Processing Arg: '%s'\n", wine_dbgstr_w(*argvW));
+ WCHAR first;
+ if ((rc = find_end_of_word(word, &end)) != RC_OK)
+ goto out;
+
+ next = skip_whitespace(end);
+ first = word[0];
+ *end = '\0';
+ strip_quotes(word, &end);
+ WINE_TRACE("Processing Arg: '%s'\n", wine_dbgstr_w(word));
/* First non-switch parameter is source, second is destination */
- if (*argvW[0] != '/') {
+ if (first != '/') {
if (suppliedsource[0] == 0x00) {
- lstrcpyW(suppliedsource, *argvW);
+ lstrcpyW(suppliedsource, word);
} else if (supplieddestination[0] == 0x00) {
- lstrcpyW(supplieddestination, *argvW);
+ lstrcpyW(supplieddestination, word);
} else {
XCOPY_wprintf(XCOPY_LoadMessage(STRING_INVPARMS));
- return RC_INITERROR;
+ goto out;
}
} else {
/* Process all the switch options
Note: Windows docs say /P prompts when dest is created
but tests show it is done for each src file
regardless of the destination */
- switch (toupper(argvW[0][1])) {
+ switch (toupper(word[1])) {
case 'I': flags |= OPT_ASSUMEDIR; break;
case 'S': flags |= OPT_RECURSIVE; break;
case 'Q': flags |= OPT_QUIET; break;
/* E can be /E or /EXCLUDE */
case 'E': if (CompareStringW(LOCALE_USER_DEFAULT,
NORM_IGNORECASE | SORT_STRINGSORT,
- &argvW[0][1], 8,
+ &word[1], 8,
EXCLUDE, -1) == 2) {
- if (XCOPY_ProcessExcludeList(&argvW[0][9])) {
+ if (XCOPY_ProcessExcludeList(&word[9])) {
XCOPY_FailMessage(ERROR_INVALID_PARAMETER);
- return RC_INITERROR;
+ goto out;
} else flags |= OPT_EXCLUDELIST;
} else flags |= OPT_EMPTYDIR | OPT_RECURSIVE;
break;
/* D can be /D or /D: */
- case 'D': if ((argvW[0][2])==':' && isdigit(argvW[0][3])) {
+ case 'D': if (word[2]==':' && isdigit(word[3])) {
SYSTEMTIME st;
- WCHAR *pos = &argvW[0][3];
+ WCHAR *pos = &word[3];
BOOL isError = FALSE;
memset(&st, 0x00, sizeof(st));
/* Parse the arg : Day */
if (!isError) {
st.wYear = _wtol(pos);
+ while (*pos && isdigit(*pos)) pos++;
if (st.wYear < 100) st.wYear+=2000;
}
wine_dbgstr_w(datestring), wine_dbgstr_w(timestring));
} else {
XCOPY_FailMessage(ERROR_INVALID_PARAMETER);
- return RC_INITERROR;
+ goto out;
}
} else {
flags |= OPT_DATENEWER;
}
break;
- case '-': if (toupper(argvW[0][2])=='Y')
+ case '-': if (toupper(word[2])=='Y')
flags &= ~OPT_NOPROMPT; break;
case '?': XCOPY_wprintf(XCOPY_LoadMessage(STRING_HELP));
- return RC_OK;
+ rc = RC_HELP;
+ goto out;
default:
- WINE_TRACE("Unhandled parameter '%s'\n", wine_dbgstr_w(*argvW));
- XCOPY_wprintf(XCOPY_LoadMessage(STRING_INVPARM), *argvW);
- return RC_INITERROR;
+ WINE_TRACE("Unhandled parameter '%s'\n", wine_dbgstr_w(word));
+ XCOPY_wprintf(XCOPY_LoadMessage(STRING_INVPARM), word);
+ goto out;
}
}
- argvW++;
+ word = next;
}
/* Default the destination if not supplied */
if (supplieddestination[0] == 0x00)
lstrcpyW(supplieddestination, wchr_dot);
- /* Trace out the supplied information */
- WINE_TRACE("Supplied parameters:\n");
- WINE_TRACE("Source : '%s'\n", wine_dbgstr_w(suppliedsource));
- WINE_TRACE("Destination : '%s'\n", wine_dbgstr_w(supplieddestination));
-
- /* Extract required information from source specification */
- rc = XCOPY_ProcessSourceParm(suppliedsource, sourcestem, sourcespec, flags);
- if (rc != RC_OK) return rc;
-
- /* Extract required information from destination specification */
- rc = XCOPY_ProcessDestParm(supplieddestination, destinationstem,
- destinationspec, sourcespec, flags);
- if (rc != RC_OK) return rc;
-
- /* Trace out the resulting information */
- WINE_TRACE("Resolved parameters:\n");
- WINE_TRACE("Source Stem : '%s'\n", wine_dbgstr_w(sourcestem));
- WINE_TRACE("Source Spec : '%s'\n", wine_dbgstr_w(sourcespec));
- WINE_TRACE("Dest Stem : '%s'\n", wine_dbgstr_w(destinationstem));
- WINE_TRACE("Dest Spec : '%s'\n", wine_dbgstr_w(destinationspec));
-
- /* Pause if necessary */
- if (flags & OPT_PAUSE) {
- DWORD count;
- char pausestr[10];
-
- XCOPY_wprintf(XCOPY_LoadMessage(STRING_PAUSE));
- ReadFile (GetStdHandle(STD_INPUT_HANDLE), pausestr, sizeof(pausestr),
- &count, NULL);
- }
-
- /* Now do the hard work... */
- rc = XCOPY_DoCopy(sourcestem, sourcespec,
- destinationstem, destinationspec,
- flags);
-
- /* Clear up exclude list allocated memory */
- while (excludeList) {
- EXCLUDELIST *pos = excludeList;
- excludeList = excludeList -> next;
- HeapFree(GetProcessHeap(), 0, pos->name);
- HeapFree(GetProcessHeap(), 0, pos);
- }
+ *pflags = flags;
+ rc = RC_OK;
- /* Finished - print trailer and exit */
- if (flags & OPT_SIMULATE) {
- XCOPY_wprintf(XCOPY_LoadMessage(STRING_SIMCOPY), filesCopied);
- } else if (!(flags & OPT_NOCOPY)) {
- XCOPY_wprintf(XCOPY_LoadMessage(STRING_COPY), filesCopied);
- }
- if (rc == RC_OK && filesCopied == 0) rc = RC_NOFILES;
+ out:
+ free(cmdline);
return rc;
-
}
if (attribs == INVALID_FILE_ATTRIBUTES) {
/* If /I supplied and wildcard copy, assume directory */
- if (flags & OPT_ASSUMEDIR &&
- (wcschr(srcspec, '?') || wcschr(srcspec, '*'))) {
+ /* Also if destination ends with backslash */
+ if ((flags & OPT_ASSUMEDIR &&
+ (wcschr(srcspec, '?') || wcschr(srcspec, '*'))) ||
+ (supplieddestination[lstrlenW(supplieddestination)-1] == '\\')) {
isDir = TRUE;
#define RC_CTRLC 2
#define RC_INITERROR 4
#define RC_WRITEERROR 5
+#define RC_HELP 6
#define OPT_ASSUMEDIR 0x00000001
#define OPT_RECURSIVE 0x00000002
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#define WINE_OLESELFREGISTER
-#define WINE_FILEDESCRIPTION_STR "Wine core exe"
+#define WINE_FILEDESCRIPTION_STR "Wine Internet Explorer"
#define WINE_FILENAME_STR "iexplore.exe"
#define WINE_FILEVERSION 6,0,2900,2180
#define WINE_FILEVERSION_STR "6.0.2900.2180"
#define WINE_PRODUCTVERSION 6,0,2900,2180
#define WINE_PRODUCTVERSION_STR "6.0.2900.2180"
+#define WINE_EXTRAVALUES VALUE "OLESelfRegister",""
#include "wine/wine_common_ver.rc"
#include "winhelp_res.h"
+#pragma code_page(65001)
+
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/* Menu */
MAIN_MENU MENU
{
- POPUP "ÆÄÀÏ(&F)" {
- MENUITEM "¿±â(&O)...", MNID_FILE_OPEN
+ POPUP "파일(&F)" {
+ MENUITEM "열기(&O)...", MNID_FILE_OPEN
MENUITEM SEPARATOR
- MENUITEM "Àμâ(&P)", MNID_FILE_PRINT
- MENUITEM "ÇÁ¸°ÅÍ ¼³Á¤(&S)...", MNID_FILE_SETUP
+ MENUITEM "인쇄(&P)", MNID_FILE_PRINT
+ MENUITEM "프린터 설정(&S)...", MNID_FILE_SETUP
MENUITEM SEPARATOR
- MENUITEM "Á¾·á(&E)", MNID_FILE_EXIT
+ MENUITEM "종료(&E)", MNID_FILE_EXIT
}
- POPUP "ÆíÁý(&E)" {
- MENUITEM "º¹»ç(&C)...", MNID_EDIT_COPYDLG
+ POPUP "편집(&E)" {
+ MENUITEM "복사(&C)...", MNID_EDIT_COPYDLG
MENUITEM SEPARATOR
- MENUITEM "ÁÖ¼®(&A)...", MNID_EDIT_ANNOTATE
+ MENUITEM "주석(&A)...", MNID_EDIT_ANNOTATE
}
- POPUP "Ã¥°¥ÇÇ(&B)" {
- MENUITEM "Á¤ÀÇ(&D)...", MNID_BKMK_DEFINE
+ POPUP "책갈피(&B)" {
+ MENUITEM "정의(&D)...", MNID_BKMK_DEFINE
}
- POPUP "¿É¼Ç(&O)" {
- POPUP "°¡´ÉÇÑ µµ¿ò¸» º¸À̱â"
+ POPUP "옵션(&O)" {
+ POPUP "가능한 도움말 보이기"
BEGIN
- MENUITEM "񃧯", MNID_OPTS_HELP_DEFAULT
- MENUITEM "º¸À̱â", MNID_OPTS_HELP_VISIBLE
- MENUITEM "º¸¿©ÁÖÁö ¾Ê±â", MNID_OPTS_HELP_NONVISIBLE
+ MENUITEM "기본", MNID_OPTS_HELP_DEFAULT
+ MENUITEM "보이기", MNID_OPTS_HELP_VISIBLE
+ MENUITEM "보여주지 않기", MNID_OPTS_HELP_NONVISIBLE
END
- MENUITEM "±â·Ï", MNID_OPTS_HISTORY
- POPUP "±Û²Ã"
+ MENUITEM "기록", MNID_OPTS_HISTORY
+ POPUP "글꼴"
BEGIN
- MENUITEM "ÀÛ°Ô", MNID_OPTS_FONTS_SMALL
- MENUITEM "º¸Åë", MNID_OPTS_FONTS_NORMAL
- MENUITEM "Å©°Ô", MNID_OPTS_FONTS_LARGE
+ MENUITEM "작게", MNID_OPTS_FONTS_SMALL
+ MENUITEM "보통", MNID_OPTS_FONTS_NORMAL
+ MENUITEM "크게", MNID_OPTS_FONTS_LARGE
END
- MENUITEM "½Ã½ºÅÛ »ö»ó »ç¿ë", MNID_OPTS_SYSTEM_COLORS
+ MENUITEM "시스템 색상 사용", MNID_OPTS_SYSTEM_COLORS
}
- POPUP "µµ¿ò¸»(&H)" {
- MENUITEM "µµ¿ò¸» »ç¿ë¹ý(&O)", MNID_HELP_HELPON
- MENUITEM "Ç×»ó À§(&T)", MNID_HELP_HELPTOP
+ POPUP "도움말(&H)" {
+ MENUITEM "도움말 사용법(&O)", MNID_HELP_HELPON
+ MENUITEM "항상 위(&T)", MNID_HELP_HELPTOP
MENUITEM SEPARATOR
- MENUITEM "Á¤º¸(&I)...", MNID_HELP_ABOUT
+ MENUITEM "Wine 도움말 정보(&I)...", MNID_HELP_ABOUT
}
}
IDD_INDEX DIALOG 0, 0, 200, 190
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 9, "MS Shell Dlg"
-CAPTION "À妽º"
+CAPTION "인덱스"
{
LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER
}
IDD_SEARCH DIALOG 0, 0, 200, 190
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
FONT 9, "MS Shell Dlg"
-CAPTION "ã±â"
+CAPTION "찾기"
{
- LTEXT "¾ÆÁ÷ ±¸ÇöµÇÁö ¾ÊÀ½", -1, 10, 10, 180, 150
+ LTEXT "아직 구현되지 않음", -1, 10, 10, 180, 150
}
/* Strings */
STRINGTABLE
{
-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, "µµ¿ò¸» ¸ñÂ÷: "
+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, "도움말 목차: "
}
CONTEXT_MENU MENU
BEGIN
POPUP ""
BEGIN
- MENUITEM "ÁÖ¼®...", MNID_CTXT_ANNOTATE
- MENUITEM "º¹»ç", MNID_CTXT_COPY
- MENUITEM "Àμâ...", MNID_CTXT_PRINT
- POPUP "±Û²Ã"
+ 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
+ MENUITEM "좁게", MNID_CTXT_FONTS_SMALL
+ MENUITEM "보통", MNID_CTXT_FONTS_NORMAL
+ MENUITEM "넓게", MNID_CTXT_FONTS_LARGE
END
- POPUP "µµ¿ò¸» Ç×»ó º¸À̱â"
+ POPUP "도움말 항상 보이기"
BEGIN
- MENUITEM "񃧯", MNID_CTXT_HELP_DEFAULT
- MENUITEM "º¸À̱â", MNID_CTXT_HELP_VISIBLE
- MENUITEM "¾È º¸À̱â", MNID_CTXT_HELP_NONVISIBLE
+ MENUITEM "기본", MNID_CTXT_HELP_DEFAULT
+ MENUITEM "보이기", MNID_CTXT_HELP_VISIBLE
+ MENUITEM "안 보이기", MNID_CTXT_HELP_NONVISIBLE
END
- MENUITEM "½Ã½ºÅÛ »ö»ó »ç¿ë", MNID_CTXT_SYSTEM_COLORS
+ MENUITEM "시스템 색상 사용", MNID_CTXT_SYSTEM_COLORS
END
END
*
* Copyright 2002 liuspider <liuspider@yahoo.com>
* Copyright 2008 Hongbo Ni <hongbo.at.njstar.com>
+ * Copyright 2010 Cheer Xiao <xiaqqaix.at.gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
MENUITEM "打印(&P)", MNID_FILE_PRINT
MENUITEM "打印机设置(&S)...", MNID_FILE_SETUP
MENUITEM SEPARATOR
- MENUITEM "退出(&E)", MNID_FILE_EXIT
+ MENUITEM "退出(&X)", MNID_FILE_EXIT
}
POPUP "编辑(&E)" {
MENUITEM "复制(&C)...", MNID_EDIT_COPYDLG
MENUITEM "定义(&D)...", MNID_BKMK_DEFINE
}
POPUP "选项(&O)" {
- POPUP "显示帮助"
+ POPUP "æ\80»æ\98¯æ\98¾ç¤ºå¸®å\8a©"
BEGIN
MENUITEM "默认", MNID_OPTS_HELP_DEFAULT
MENUITEM "显示", MNID_OPTS_HELP_VISIBLE
MENUITEM "如何使用帮助(&O)", MNID_HELP_HELPON
MENUITEM "总是在最前面(&T)", MNID_HELP_HELPTOP
MENUITEM SEPARATOR
- MENUITEM "资料信息(&I)...", MNID_HELP_ABOUT
+ MENUITEM "关于 Wine 帮助(&I)...", MNID_HELP_ABOUT
}
}
+IDD_INDEX DIALOG 0, 0, 200, 190
+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 0, 0, 200, 190
+STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
+FONT 8, "MS Shell Dlg"
+CAPTION "搜索"
+{
+ LTEXT "尚未实现", -1, 10, 10, 180, 150
+}
+
/* Strings */
STRINGTABLE
{
STID_WARNING, "警告"
STID_INFO, "信息"
STID_NOT_IMPLEMENTED, "未实现"
-STID_HLPFILE_ERROR_s, "读入帮助文件 ‘%s’ 时发生错误"
-STID_INDEX, "内容(&C)"
+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 "找不到 richedit... 终止"
-STID_PSH_INDEX, "帮助内容: "
+STID_FILE_NOT_FOUND_s "找不到文件“%s”。 你想要自己找这个文件吗?"
+STID_NO_RICHEDIT "找不到 richedit 的实现……终止"
+STID_PSH_INDEX, "帮助主题:"
}
+CONTEXT_MENU MENU
+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 "总是显示帮助"
+ BEGIN
+ MENUITEM "默认", MNID_CTXT_HELP_DEFAULT
+ MENUITEM "显示", MNID_CTXT_HELP_VISIBLE
+ MENUITEM "不显示", MNID_CTXT_HELP_NONVISIBLE
+ END
+ MENUITEM "使用系统颜色", MNID_CTXT_SYSTEM_COLORS
+ END
+END
+
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Menu */
#include "Es.rc"
#include "Fi.rc"
#include "Hu.rc"
-#include "Ko.rc"
#include "No.rc"
#include "Pl.rc"
#include "Sk.rc"
#include "He.rc"
#include "It.rc"
#include "Ja.rc"
+#include "Ko.rc"
#include "Lt.rc"
#include "Nl.rc"
#include "Pt.rc"
MENUITEM SEPARATOR
POPUP "其他(&X)"
BEGIN
- MENUITEM "选中信息(&I)", ID_EDIT_SELECTIONINFO
+ MENUITEM "选中信息(&I)", ID_EDIT_SELECTIONINFO /* 准确性待议 */
MENUITEM "文字格式(&F)", ID_EDIT_CHARFORMAT
MENUITEM "默认格式(&D)", ID_EDIT_DEFCHARFORMAT
MENUITEM "段落格式(&H)", ID_EDIT_PARAFORMAT
BEGIN
MENUITEM "黑色", ID_COLOR_BLACK /* 未找到“标准译名表” */
MENUITEM "栗色", ID_COLOR_MAROON
- MENUITEM "调和绿", ID_COLOR_GREEN
+ MENUITEM "绿色", ID_COLOR_GREEN
MENUITEM "橄榄色" ID_COLOR_OLIVE
MENUITEM "藏青" ID_COLOR_NAVY
MENUITEM "紫色" ID_COLOR_PURPLE
MENUITEM "灰色" ID_COLOR_GRAY
MENUITEM "银色" ID_COLOR_SILVER
MENUITEM "红色" ID_COLOR_RED
- MENUITEM "绿色" ID_COLOR_LIME
+ MENUITEM "青柠色" ID_COLOR_LIME
MENUITEM "黄色" ID_COLOR_YELLOW
MENUITEM "蓝色" ID_COLOR_BLUE
MENUITEM "洋红" ID_COLOR_FUCHSIA /* =magenta? */
button.iBitmap = nImage;
button.idCommand = nCommand;
button.fsState = TBSTATE_ENABLED;
- button.fsStyle = TBSTYLE_BUTTON;
+ button.fsStyle = BTNS_BUTTON;
button.dwData = 0;
button.iString = -1;
SendMessageW(hwndToolBar, TB_ADDBUTTONSW, 1, (LPARAM)&button);
button.iBitmap = -1;
button.idCommand = 0;
button.fsState = 0;
- button.fsStyle = TBSTYLE_SEP;
+ button.fsStyle = BTNS_SEP;
button.dwData = 0;
button.iString = -1;
SendMessageW(hwndToolBar, TB_ADDBUTTONSW, 1, (LPARAM)&button);
if(!SendMessageW(hReBarWnd, RB_SETBARINFO, 0, (LPARAM)&rbi))
return -1;
- hToolBarWnd = CreateToolbarEx(hReBarWnd, CCS_NOPARENTALIGN|CCS_NOMOVEY|WS_VISIBLE|WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_BUTTON,
+ hToolBarWnd = CreateToolbarEx(hReBarWnd, CCS_NOPARENTALIGN|CCS_NOMOVEY|WS_VISIBLE|WS_CHILD|TBSTYLE_TOOLTIPS|BTNS_BUTTON,
IDC_TOOLBAR,
1, hInstance, IDB_TOOLBAR,
NULL, 0,
SendMessageW(hReBarWnd, RB_INSERTBAND, -1, (LPARAM)&rbb);
hFormatBarWnd = CreateToolbarEx(hReBarWnd,
- CCS_NOPARENTALIGN | CCS_NOMOVEY | WS_VISIBLE | TBSTYLE_TOOLTIPS | TBSTYLE_BUTTON,
+ CCS_NOPARENTALIGN | CCS_NOMOVEY | WS_VISIBLE | TBSTYLE_TOOLTIPS | BTNS_BUTTON,
IDC_FORMATBAR, 8, hInstance, IDB_FORMATBAR, NULL, 0, 16, 16, 16, 16, sizeof(TBBUTTON));
AddButton(hFormatBarWnd, 0, ID_FORMAT_BOLD);
--- /dev/null
+/*
+ * Serbian language support
+ *
+ * Copyright (C) 2007 Mikolaj Zalewski
+ * Copyright 2010 Đorđe Vasiljević
+ *
+ * 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"
+
+#pragma code_page(65001)
+
+LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
+
+STRINGTABLE
+{
+ IDS_FAILED, "Покретање Писанке није успело"
+}
+
+LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
+
+STRINGTABLE
+{
+ IDS_FAILED, "Pokretanje Pisanke nije uspelo"
+}
--- /dev/null
+/*
+ * Simplified Chinese language support
+ *
+ * Copyright (C) 2010 Cheer Xiao <xiaqqaix.at.gmail.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
+ */
+
+#include "resources.h"
+
+/* Chinese text is encoded in UTF-8 */
+#pragma code_page(65001)
+
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
+
+STRINGTABLE
+{
+ IDS_FAILED, "启动写字板失败"
+}
#include "Ro.rc"
#include "Ru.rc"
#include "Si.rc"
+#include "Sr.rc"
#include "Uk.rc"
+#include "Zh.rc"