- Fix formating

svn path=/trunk/; revision=31915
This commit is contained in:
Dmitry Chapyshev 2008-01-21 13:37:05 +00:00
parent 8d4ed7fa0a
commit 08c6e8b084
15 changed files with 1538 additions and 1541 deletions

View file

@ -5,7 +5,7 @@
* COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers) * COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers)
* Copyright 2004 Mike McCormack (for CodeWeavers) * Copyright 2004 Mike McCormack (for CodeWeavers)
* Copyright 2005 Ge van Geldorp (gvg@reactos.org) * Copyright 2005 Ge van Geldorp (gvg@reactos.org)
* Copyright 2007 Dmitry Chapyshev (lentind@yandex.ru) * Copyright 2007 Dmitry Chapyshev (lentind@yandex.ru)
*/ */
/* /*
* Based on Wine dlls/shdocvw/shdocvw_main.c * Based on Wine dlls/shdocvw/shdocvw_main.c
@ -44,309 +44,307 @@ extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
typedef struct _IBindStatusCallbackImpl typedef struct _IBindStatusCallbackImpl
{ {
const IBindStatusCallbackVtbl *vtbl; const IBindStatusCallbackVtbl *vtbl;
LONG ref; LONG ref;
HWND hDialog; HWND hDialog;
BOOL *pbCancelled; BOOL *pbCancelled;
} IBindStatusCallbackImpl; } IBindStatusCallbackImpl;
static HRESULT WINAPI static HRESULT WINAPI
dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject) dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject)
{ {
if (NULL == ppvObject) if (NULL == ppvObject)
{ {
return E_POINTER; return E_POINTER;
} }
if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IBindStatusCallback)) if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IBindStatusCallback))
{ {
IBindStatusCallback_AddRef( This ); IBindStatusCallback_AddRef( This );
*ppvObject = This; *ppvObject = This;
return S_OK; return S_OK;
} }
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static ULONG WINAPI static ULONG WINAPI
dlAddRef(IBindStatusCallback* iface) dlAddRef(IBindStatusCallback* iface)
{ {
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface; IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
return InterlockedIncrement(&This->ref); return InterlockedIncrement(&This->ref);
} }
static ULONG WINAPI static ULONG WINAPI
dlRelease(IBindStatusCallback* iface) dlRelease(IBindStatusCallback* iface)
{ {
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface; IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
DWORD ref = InterlockedDecrement(&This->ref); DWORD ref = InterlockedDecrement(&This->ref);
if( !ref ) if( !ref )
{ {
DestroyWindow( This->hDialog ); DestroyWindow( This->hDialog );
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, This);
} }
return ref; return ref;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnStartBinding(IBindStatusCallback* iface, DWORD dwReserved, IBinding* pib) dlOnStartBinding(IBindStatusCallback* iface, DWORD dwReserved, IBinding* pib)
{ {
DPRINT1("OnStartBinding not implemented\n"); DPRINT1("OnStartBinding not implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority) dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority)
{ {
DPRINT1("GetPriority not implemented\n"); DPRINT1("GetPriority not implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnLowResource( IBindStatusCallback* iface, DWORD reserved) dlOnLowResource( IBindStatusCallback* iface, DWORD reserved)
{ {
DPRINT1("OnLowResource not implemented\n"); DPRINT1("OnLowResource not implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnProgress(IBindStatusCallback* iface, ULONG ulProgress, dlOnProgress(IBindStatusCallback* iface, ULONG ulProgress,
ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
{ {
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface; IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
HWND Item; HWND Item;
LONG r; LONG r;
WCHAR OldText[100]; WCHAR OldText[100];
Item = GetDlgItem(This->hDialog, IDC_PROGRESS); Item = GetDlgItem(This->hDialog, IDC_PROGRESS);
if (NULL != Item && 0 != ulProgressMax) if (NULL != Item && 0 != ulProgressMax)
{ {
SendMessageW(Item, PBM_SETPOS, (ulProgress * 100) / ulProgressMax, 0); SendMessageW(Item, PBM_SETPOS, (ulProgress * 100) / ulProgressMax, 0);
} }
Item = GetDlgItem(This->hDialog, IDC_STATUS); Item = GetDlgItem(This->hDialog, IDC_STATUS);
if (NULL != Item && NULL != szStatusText) if (NULL != Item && NULL != szStatusText)
{ {
SendMessageW(Item, WM_GETTEXT, sizeof(OldText) / sizeof(OldText[0]), SendMessageW(Item, WM_GETTEXT, sizeof(OldText) / sizeof(OldText[0]),
(LPARAM) OldText); (LPARAM) OldText);
if (sizeof(OldText) / sizeof(OldText[0]) - 1 <= wcslen(OldText) || 0 != wcscmp(OldText, szStatusText)) if (sizeof(OldText) / sizeof(OldText[0]) - 1 <= wcslen(OldText) || 0 != wcscmp(OldText, szStatusText))
{ {
SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) szStatusText); SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) szStatusText);
} }
} }
SetLastError(0); SetLastError(0);
r = GetWindowLongPtrW(This->hDialog, GWLP_USERDATA); r = GetWindowLongPtrW(This->hDialog, GWLP_USERDATA);
if (0 != r || 0 != GetLastError()) if (0 != r || 0 != GetLastError())
{ {
*This->pbCancelled = TRUE; *This->pbCancelled = TRUE;
DPRINT("Cancelled\n"); DPRINT("Cancelled\n");
return E_ABORT; return E_ABORT;
} }
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError) dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError)
{ {
DPRINT1("OnStopBinding not implemented\n"); DPRINT1("OnStopBinding not implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo) dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo)
{ {
DPRINT1("GetBindInfo not implemented\n"); DPRINT1("GetBindInfo not implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF, dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF,
DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed) DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
{ {
DPRINT1("OnDataAvailable implemented\n"); DPRINT1("OnDataAvailable implemented\n");
return S_OK; return S_OK;
} }
static HRESULT WINAPI static HRESULT WINAPI
dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk) dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk)
{ {
DPRINT1("OnObjectAvailable implemented\n"); DPRINT1("OnObjectAvailable implemented\n");
return S_OK; return S_OK;
} }
static const IBindStatusCallbackVtbl dlVtbl = static const IBindStatusCallbackVtbl dlVtbl =
{ {
dlQueryInterface, dlQueryInterface,
dlAddRef, dlAddRef,
dlRelease, dlRelease,
dlOnStartBinding, dlOnStartBinding,
dlGetPriority, dlGetPriority,
dlOnLowResource, dlOnLowResource,
dlOnProgress, dlOnProgress,
dlOnStopBinding, dlOnStopBinding,
dlGetBindInfo, dlGetBindInfo,
dlOnDataAvailable, dlOnDataAvailable,
dlOnObjectAvailable dlOnObjectAvailable
}; };
static IBindStatusCallback* static IBindStatusCallback*
CreateDl(HWND Dlg, BOOL *pbCancelled) CreateDl(HWND Dlg, BOOL *pbCancelled)
{ {
IBindStatusCallbackImpl *This; IBindStatusCallbackImpl *This;
This = HeapAlloc(GetProcessHeap(), 0, sizeof(IBindStatusCallbackImpl)); This = HeapAlloc(GetProcessHeap(), 0, sizeof(IBindStatusCallbackImpl));
This->vtbl = &dlVtbl; This->vtbl = &dlVtbl;
This->ref = 1; This->ref = 1;
This->hDialog = Dlg; This->hDialog = Dlg;
This->pbCancelled = pbCancelled; This->pbCancelled = pbCancelled;
return (IBindStatusCallback*) This; return (IBindStatusCallback*) This;
} }
static DWORD WINAPI static DWORD WINAPI
ThreadFunc(LPVOID Context) ThreadFunc(LPVOID Context)
{ {
//static const WCHAR szUrl[] = DownloadUrl; //static const WCHAR szUrl[] = DownloadUrl;
IBindStatusCallback *dl; IBindStatusCallback *dl;
WCHAR path[MAX_PATH]; WCHAR path[MAX_PATH];
LPWSTR p; LPWSTR p;
STARTUPINFOW si; STARTUPINFOW si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
HWND Dlg = (HWND) Context; HWND Dlg = (HWND) Context;
DWORD r; DWORD r;
BOOL bCancelled = FALSE; BOOL bCancelled = FALSE;
BOOL bTempfile = FALSE; BOOL bTempfile = FALSE;
HKEY hKey; HKEY hKey;
DWORD dwSize = MAX_PATH; DWORD dwSize = MAX_PATH;
/* built the path for the download */ /* built the path for the download */
p = wcsrchr(SelectedApplication->Location, L'/'); p = wcsrchr(SelectedApplication->Location, L'/');
if (NULL == p) if (NULL == p)
{ {
goto end; goto end;
} }
/* Create default download path */ /* Create default download path */
if (GetWindowsDirectory(path, sizeof(path) / sizeof(WCHAR))) if (GetWindowsDirectory(path, sizeof(path) / sizeof(WCHAR)))
{ {
WCHAR DPath[256]; WCHAR DPath[256];
int i; int i;
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
{ {
if (i == 3) if (i == 3)
{ {
DPath[i] = '\0'; DPath[i] = '\0';
break; break;
} }
DPath[i] = path[i]; DPath[i] = path[i];
} }
LoadString(GetModuleHandle(NULL), IDS_DOWNLOAD_FOLDER, path, sizeof(path) / sizeof(WCHAR)); LoadString(GetModuleHandle(NULL), IDS_DOWNLOAD_FOLDER, path, sizeof(path) / sizeof(WCHAR));
wcscat((LPWSTR)DPath, path); wcscat((LPWSTR)DPath, path);
wcscpy(path, DPath); wcscpy(path, DPath);
} }
if (RegOpenKey(HKEY_LOCAL_MACHINE, if (RegOpenKey(HKEY_LOCAL_MACHINE,
TEXT("Software\\ReactOS\\Downloader"), TEXT("Software\\ReactOS\\Downloader"),
&hKey) == ERROR_SUCCESS) &hKey) == ERROR_SUCCESS)
{ {
if ((RegQueryValueEx(hKey, if ((RegQueryValueEx(hKey,
L"DownloadFolder", L"DownloadFolder",
NULL, NULL,
NULL, NULL,
(LPBYTE)&path, (LPBYTE)&path,
&dwSize) != ERROR_SUCCESS) && (path[0] == 0)) &dwSize) != ERROR_SUCCESS) && (path[0] == 0))
{ {
goto end; goto end;
} }
} }
if (GetFileAttributes(path) == 0xFFFFFFFF)
if (!CreateDirectory((LPCTSTR)path,NULL))
{
goto end;
}
wcscat(path, L"\\");
wcscat(path, p + 1);
/* download it */
bTempfile = TRUE;
dl = CreateDl(Context, &bCancelled);
r = URLDownloadToFileW(NULL, SelectedApplication->Location, path, 0, dl);
if (NULL != dl)
{
IBindStatusCallback_Release(dl);
}
if (S_OK != r)
{
MessageBoxW(0,Strings[IDS_DOWNLOAD_ERROR],0,0);
goto end;
}
else if (bCancelled)
{
goto end;
}
ShowWindow(Dlg, SW_HIDE);
if (GetFileAttributes(path) == 0xFFFFFFFF) /* run it */
if (!CreateDirectory((LPCTSTR)path,NULL)) memset(&si, 0, sizeof(si));
{ si.cb = sizeof(si);
goto end; r = CreateProcessW(path, NULL, NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
} if (0 == r)
wcscat(path, L"\\"); {
wcscat(path, p + 1); goto end;
}
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
/* download it */ end:
bTempfile = TRUE; if (bTempfile)
dl = CreateDl(Context, &bCancelled); {
r = URLDownloadToFileW(NULL, SelectedApplication->Location, path, 0, dl); if (bCancelled)
if (NULL != dl) DeleteFileW(path);
{ else
IBindStatusCallback_Release(dl); {
} DWORD dwSize = sizeof(DWORD);
if (S_OK != r) DWORD dwValue, dwType = REG_DWORD;
{ if (RegQueryValueEx(hKey,
MessageBoxW(0,Strings[IDS_DOWNLOAD_ERROR],0,0); L"DeleteInstaller",
goto end; NULL,
} &dwType,
else if (bCancelled) (LPBYTE)&dwValue,
{ &dwSize) == ERROR_SUCCESS)
goto end; if (dwValue == 0x1)
} DeleteFileW(path);
ShowWindow(Dlg, SW_HIDE); RegCloseKey(hKey);
}
/* run it */ }
memset(&si, 0, sizeof(si)); EndDialog(Dlg, 0);
si.cb = sizeof(si); return 0;
r = CreateProcessW(path, NULL, NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
if (0 == r)
{
goto end;
}
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
end:
if (bTempfile)
{
if (bCancelled)
DeleteFileW(path);
else
{
DWORD dwSize = sizeof(DWORD);
DWORD dwValue, dwType = REG_DWORD;
if (RegQueryValueEx(hKey,
L"DeleteInstaller",
NULL,
&dwType,
(LPBYTE)&dwValue,
&dwSize) == ERROR_SUCCESS)
if (dwValue == 0x1)
DeleteFileW(path);
RegCloseKey(hKey);
}
}
EndDialog(Dlg, 0);
return 0;
} }
INT_PTR CALLBACK INT_PTR CALLBACK
DownloadProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam) DownloadProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{ {
HANDLE Thread; HANDLE Thread;
DWORD ThreadId; DWORD ThreadId;
HWND Item; HWND Item;
switch (Msg) switch (Msg)
{ {
case WM_INITDIALOG:/* case WM_INITDIALOG:/*
Icon = LoadIconW((HINSTANCE) GetWindowLongPtr(Dlg, GWLP_HINSTANCE), Icon = LoadIconW((HINSTANCE) GetWindowLongPtr(Dlg, GWLP_HINSTANCE),
MAKEINTRESOURCEW(IDI_ICON_MAIN)); MAKEINTRESOURCEW(IDI_ICON_MAIN));
if (NULL != Icon) if (NULL != Icon)
@ -354,13 +352,13 @@ DownloadProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) Icon); SendMessageW(Dlg, WM_SETICON, ICON_BIG, (LPARAM) Icon);
SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) Icon); SendMessageW(Dlg, WM_SETICON, ICON_SMALL, (LPARAM) Icon);
}*/ }*/
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0); SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
Item = GetDlgItem(Dlg, IDC_PROGRESS); Item = GetDlgItem(Dlg, IDC_PROGRESS);
if (NULL != Item) if (NULL != Item)
{ {
SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0,100)); SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0,100));
SendMessageW(Item, PBM_SETPOS, 0, 0); SendMessageW(Item, PBM_SETPOS, 0, 0);
}/* }/*
Item = GetDlgItem(Dlg, IDC_REMOVE); Item = GetDlgItem(Dlg, IDC_REMOVE);
if (NULL != Item) if (NULL != Item)
{ {
@ -375,27 +373,27 @@ DownloadProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
ShowWindow(Item, SW_HIDE); ShowWindow(Item, SW_HIDE);
} }
}*/ }*/
Thread = CreateThread(NULL, 0, ThreadFunc, Dlg, 0, &ThreadId); Thread = CreateThread(NULL, 0, ThreadFunc, Dlg, 0, &ThreadId);
if (NULL == Thread) if (NULL == Thread)
{ {
return FALSE; return FALSE;
} }
CloseHandle(Thread); CloseHandle(Thread);
return TRUE; return TRUE;
case WM_COMMAND: case WM_COMMAND:
if (wParam == IDCANCEL) if (wParam == IDCANCEL)
{ {
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1); SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1);
PostMessage(Dlg, WM_CLOSE, 0, 0); PostMessage(Dlg, WM_CLOSE, 0, 0);
} }
return FALSE; return FALSE;
case WM_CLOSE: case WM_CLOSE:
EndDialog(Dlg, 0); EndDialog(Dlg, 0);
return TRUE; return TRUE;
default: default:
return FALSE; return FALSE;
} }
} }

View file

@ -1,9 +1,9 @@
#include <windows.h> #include <windows.h>
#include "resources.h" #include "resources.h"
#define REACTOS_STR_FILE_DESCRIPTION "Download !\0" #define REACTOS_STR_FILE_DESCRIPTION "Download !\0"
#define REACTOS_STR_INTERNAL_NAME "downloader\0" #define REACTOS_STR_INTERNAL_NAME "downloader\0"
#define REACTOS_STR_ORIGINAL_FILENAME "downloader.exe\0" #define REACTOS_STR_ORIGINAL_FILENAME "downloader.exe\0"
#include <reactos/version.rc> #include <reactos/version.rc>

View file

@ -5,9 +5,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..." CAPTION "Download..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -15,47 +15,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Einstellungen" CAPTION "Einstellungen"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Download Ordner:", -1, 6, 10, 140, 8 LTEXT "Download Ordner:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "W&ähle...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "W&ähle...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Installationsdateien nach dem Setup löschen", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Installationsdateien nach dem Setup löschen", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update Server:", -1, 6, 55, 140, 8 LTEXT "Update Server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Abbrechen", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Abbrechen", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader" IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Willkommen im ReactOS Downloader" IDS_WELCOME_TITLE "Willkommen im ReactOS Downloader"
IDS_WELCOME "Bitte wählen Sie links eine Kategorie. Dies ist Version 1.1." IDS_WELCOME "Bitte wählen Sie links eine Kategorie. Dies ist Version 1.1."
IDS_NO_APP_TITLE "Keine Anwendung ausgewählt" IDS_NO_APP_TITLE "Keine Anwendung ausgewählt"
IDS_NO_APP "Bitte wählen Sie eine Anwendung, bevor Sie die Download-Schaltfläche betätigen. Wenn Sie Hilfe benötigen, drücken Sie die Hilfe-Schaltfläche in der oberen rechten Ecke." IDS_NO_APP "Bitte wählen Sie eine Anwendung, bevor Sie die Download-Schaltfläche betätigen. Wenn Sie Hilfe benötigen, drücken Sie die Hilfe-Schaltfläche in der oberen rechten Ecke."
IDS_UPDATE_TITLE "Update" IDS_UPDATE_TITLE "Update"
IDS_UPDATE "Diese Funktion wurde noch nicht implementiert." IDS_UPDATE "Diese Funktion wurde noch nicht implementiert."
IDS_HELP_TITLE "Hilfe" IDS_HELP_TITLE "Hilfe"
IDS_HELP "Wählen Sie links eine Kategorie, wählen Sie eine Anwendung und drücken Sie die Download-Schaltfläche. Um die Anwendungsinformationen zu aktualisieren, drücken Sie die Schaltfläche neben der Hilfe-Schaltfläche." IDS_HELP "Wählen Sie links eine Kategorie, wählen Sie eine Anwendung und drücken Sie die Download-Schaltfläche. Um die Anwendungsinformationen zu aktualisieren, drücken Sie die Schaltfläche neben der Hilfe-Schaltfläche."
IDS_NO_APPS "In dieser Kategorie sind bisher noch keine Anwendungen. Sie können helfen, indem Sie Anwendungen hinzufügen." IDS_NO_APPS "In dieser Kategorie sind bisher noch keine Anwendungen. Sie können helfen, indem Sie Anwendungen hinzufügen."
IDS_CHOOSE_APP "Bitte wählen Sie eine Anwendung." IDS_CHOOSE_APP "Bitte wählen Sie eine Anwendung."
IDS_CHOOSE_SUB "Bitte wählen Sie eine Unterkategorie." IDS_CHOOSE_SUB "Bitte wählen Sie eine Unterkategorie."
IDS_CHOOSE_CATEGORY "Bitte wählen Sie eine Kategorie." IDS_CHOOSE_CATEGORY "Bitte wählen Sie eine Kategorie."
IDS_CHOOSE_BOTH "Bitte wählen Sie eine Unterkategorie oder eine Anwendung." IDS_CHOOSE_BOTH "Bitte wählen Sie eine Unterkategorie oder eine Anwendung."
IDS_XMLERROR_1 "XML Datei nicht gefunden!" IDS_XMLERROR_1 "XML Datei nicht gefunden!"
IDS_XMLERROR_2 "XML Datei kann nicht verarbeitet werden!" IDS_XMLERROR_2 "XML Datei kann nicht verarbeitet werden!"
IDS_DOWNLOAD_ERROR "Die Datei konnte nicht heruntergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht." IDS_DOWNLOAD_ERROR "Die Datei konnte nicht heruntergeladen werden.\nBitte prüfen sie, ob eine Verbindung zum Internet besteht."
IDS_VERSION "Version: " IDS_VERSION "Version: "
IDS_LICENCE "Lizenz: " IDS_LICENCE "Lizenz: "
IDS_MAINTAINER "Maintainer: " IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Anwendungen" IDS_APPS_TITLE "Anwendungen"
IDS_CATS_TITLE "Kategorien" IDS_CATS_TITLE "Kategorien"
IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner..." IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner..."
IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden." IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!" IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s wird benötigt um %s ausführen zu können. Soll %s jetzt installiert werden?" IDS_INSTALL_DEP "%s wird benötigt um %s ausführen zu können. Soll %s jetzt installiert werden?"
TTT_HELPBUTTON, "Hilfe über den Downloader" TTT_HELPBUTTON "Hilfe über den Downloader"
TTT_UPDATEBUTTON, "Noch nicht vorhanden" TTT_UPDATEBUTTON "Noch nicht vorhanden"
TTT_PROFBUTTON, "Konfiguriert den Downloader" TTT_PROFBUTTON "Konfiguriert den Downloader"
END END

View file

@ -5,9 +5,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..." CAPTION "Download..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -15,47 +15,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Preferences" CAPTION "Preferences"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Download folder:", -1, 6, 10, 140, 8 LTEXT "Download folder:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update server:", -1, 6, 55, 140, 8 LTEXT "Update server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader" IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Welcome to the ReactOS Downloader" IDS_WELCOME_TITLE "Welcome to the ReactOS Downloader"
IDS_WELCOME "Please choose a category on the left. This is version 1.1." IDS_WELCOME "Please choose a category on the left. This is version 1.1."
IDS_NO_APP_TITLE "No application selected" IDS_NO_APP_TITLE "No application selected"
IDS_NO_APP "Please select a Application before you click the download button, if you need assistance please click on the question mark button on the top right corner." IDS_NO_APP "Please select a Application before you click the download button, if you need assistance please click on the question mark button on the top right corner."
IDS_UPDATE_TITLE "Update" IDS_UPDATE_TITLE "Update"
IDS_UPDATE "Sorry this feature is not implemented yet." IDS_UPDATE "Sorry this feature is not implemented yet."
IDS_HELP_TITLE "Help" IDS_HELP_TITLE "Help"
IDS_HELP "Choose a category on the left, then choose a application and click the download button. To update the application information click the button next to the help button." IDS_HELP "Choose a category on the left, then choose a application and click the download button. To update the application information click the button next to the help button."
IDS_NO_APPS "Sorry, there no applications in this category yet. You can help and add more applications." IDS_NO_APPS "Sorry, there no applications in this category yet. You can help and add more applications."
IDS_CHOOSE_APP "Please choose an application." IDS_CHOOSE_APP "Please choose an application."
IDS_CHOOSE_SUB "Please choose a subcategory." IDS_CHOOSE_SUB "Please choose a subcategory."
IDS_CHOOSE_CATEGORY "Please choose a category." IDS_CHOOSE_CATEGORY "Please choose a category."
IDS_CHOOSE_BOTH "Please choose a subcategory or an application." IDS_CHOOSE_BOTH "Please choose a subcategory or an application."
IDS_XMLERROR_1 "Could not find the xml file !" IDS_XMLERROR_1 "Could not find the xml file !"
IDS_XMLERROR_2 "Could not parse the xml file !" IDS_XMLERROR_2 "Could not parse the xml file !"
IDS_DOWNLOAD_ERROR "Unable to download the file.\nPlease check your internet connection." IDS_DOWNLOAD_ERROR "Unable to download the file.\nPlease check your internet connection."
IDS_VERSION "Version: " IDS_VERSION "Version: "
IDS_LICENCE "Licence: " IDS_LICENCE "Licence: "
IDS_MAINTAINER "Maintainer: " IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Applications" IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Categories" IDS_CATS_TITLE "Categories"
IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_CHOOSE_FOLDER "Please, choose the folder..."
IDS_NOTCREATE_REGKEY "Could not create the registry key." IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Get help about the downloader" TTT_HELPBUTTON "Get help about the downloader"
TTT_UPDATEBUTTON, "Not yet available" TTT_UPDATEBUTTON "Not yet available"
TTT_PROFBUTTON, "Let you configure the downloader" TTT_PROFBUTTON "Let you configure the downloader"
END END

View file

@ -10,9 +10,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Descargar..." CAPTION "Descargar..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Cancelar", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -20,47 +20,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Preferencias" CAPTION "Preferencias"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Carpeta de descarga:", -1, 6, 10, 140, 8 LTEXT "Carpeta de descarga:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Seleccionar...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "&Seleccionar...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Borrar archivos de instalación tras la instalación", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Borrar archivos de instalación tras la instalación", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Actualizar servidor:", -1, 6, 55, 140, 8 LTEXT "Actualizar servidor:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Aceptar", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&Aceptar", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancelar", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Cancelar", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "¡Descargar! - Descargador de ReactOS" IDS_WINDOW_TITLE "¡Descargar! - Descargador de ReactOS"
IDS_WELCOME_TITLE "Bienvenido al descargador de ReactOS" IDS_WELCOME_TITLE "Bienvenido al descargador de ReactOS"
IDS_WELCOME "Por favor selecciona una categoría de la izquierda. Esta es la versión 1.1." IDS_WELCOME "Por favor selecciona una categoría de la izquierda. Esta es la versión 1.1."
IDS_NO_APP_TITLE "Ninguna aplicación seleccionada" IDS_NO_APP_TITLE "Ninguna aplicación seleccionada"
IDS_NO_APP "Por favor seleccione una Aplicación antes de pulsar el botón de Descarga, si necesita asistencia por favor pulsa el botón con la interrogación en la esquina superior derecha." IDS_NO_APP "Por favor seleccione una Aplicación antes de pulsar el botón de Descarga, si necesita asistencia por favor pulsa el botón con la interrogación en la esquina superior derecha."
IDS_UPDATE_TITLE "Actualizar" IDS_UPDATE_TITLE "Actualizar"
IDS_UPDATE "Perdón esta característica no a sido implementada todavía." IDS_UPDATE "Perdón esta característica no a sido implementada todavía."
IDS_HELP_TITLE "Ayuda" IDS_HELP_TITLE "Ayuda"
IDS_HELP "Selecciona una categoría de la izquierda, entonces selecciona una aplicación y pulsa el botón de descargar. Para actualizar la información de la aplicación pulsa el botón junto al botón de ayuda." IDS_HELP "Selecciona una categoría de la izquierda, entonces selecciona una aplicación y pulsa el botón de descargar. Para actualizar la información de la aplicación pulsa el botón junto al botón de ayuda."
IDS_NO_APPS "Perdón, aun no hay ninguna aplicación en esta categoría. Puedes ayudar y añadir más aplicaciones." IDS_NO_APPS "Perdón, aun no hay ninguna aplicación en esta categoría. Puedes ayudar y añadir más aplicaciones."
IDS_CHOOSE_APP "Por favor selecciona una aplicación." IDS_CHOOSE_APP "Por favor selecciona una aplicación."
IDS_CHOOSE_SUB "Por favor selecciona una subcategoría." IDS_CHOOSE_SUB "Por favor selecciona una subcategoría."
IDS_CHOOSE_CATEGORY "Por favor selecciona una categoría." IDS_CHOOSE_CATEGORY "Por favor selecciona una categoría."
IDS_CHOOSE_BOTH "Por favor selecciona una subcategoria o una aplicación." IDS_CHOOSE_BOTH "Por favor selecciona una subcategoria o una aplicación."
IDS_XMLERROR_1 "¡No se a encontrado el archivo xml!" IDS_XMLERROR_1 "¡No se a encontrado el archivo xml!"
IDS_XMLERROR_2 "¡No se ha podido analizar el archivo xml!" IDS_XMLERROR_2 "¡No se ha podido analizar el archivo xml!"
IDS_DOWNLOAD_ERROR "Imposible descargar el archivo.\nPor favor verifica tu conexión a internet." IDS_DOWNLOAD_ERROR "Imposible descargar el archivo.\nPor favor verifica tu conexión a internet."
IDS_VERSION "Versión: " IDS_VERSION "Versión: "
IDS_LICENCE "Licencia: " IDS_LICENCE "Licencia: "
IDS_MAINTAINER "Mantenido por: " IDS_MAINTAINER "Mantenido por: "
IDS_APPS_TITLE "Aplicaciones" IDS_APPS_TITLE "Aplicaciones"
IDS_CATS_TITLE "Categorias" IDS_CATS_TITLE "Categorias"
IDS_CHOOSE_FOLDER "Por favor, seleccione la carpeta..." IDS_CHOOSE_FOLDER "Por favor, seleccione la carpeta..."
IDS_NOTCREATE_REGKEY "No se puede crear la llave del registro." IDS_NOTCREATE_REGKEY "No se puede crear la llave del registro."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "¡Imposible crear una carpeta con este nombre!" IDS_UNABLECREATE_FOLDER "¡Imposible crear una carpeta con este nombre!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Obtenga ayuda acerca de Downloader" TTT_HELPBUTTON "Obtenga ayuda acerca de Downloader"
TTT_UPDATEBUTTON, "No disponible todavía" TTT_UPDATEBUTTON "No disponible todavía"
TTT_PROFBUTTON, "Le permite configurar Downloader" TTT_PROFBUTTON "Le permite configurar Downloader"
END END

View file

@ -5,9 +5,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Téléchargement..." CAPTION "Téléchargement..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Annuler", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -15,47 +15,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Préférences" CAPTION "Préférences"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8 LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8 LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Télécharger ! - Téléchargeur de ReactOS" IDS_WINDOW_TITLE "Télécharger ! - Téléchargeur de ReactOS"
IDS_WELCOME_TITLE "Bienvenue dans le Téléchargeur de ReactOS" IDS_WELCOME_TITLE "Bienvenue dans le Téléchargeur de ReactOS"
IDS_WELCOME "Veuillez choisir une catégorie sur la gauche. C'est la version 1.1." IDS_WELCOME "Veuillez choisir une catégorie sur la gauche. C'est la version 1.1."
IDS_NO_APP_TITLE "Aucune application selectionnée" IDS_NO_APP_TITLE "Aucune application selectionnée"
IDS_NO_APP "Veuillez sélectionner une application avant de cliquer sur le bouton Télécharger, si vous avez besoin d'aide, veuillez cliquer sur le point d'interrogation dans le coin supérieur droit." IDS_NO_APP "Veuillez sélectionner une application avant de cliquer sur le bouton Télécharger, si vous avez besoin d'aide, veuillez cliquer sur le point d'interrogation dans le coin supérieur droit."
IDS_UPDATE_TITLE "Mise à jour" IDS_UPDATE_TITLE "Mise à jour"
IDS_UPDATE "Désolé, cette fonctionnalité n'est pas encore implémentée." IDS_UPDATE "Désolé, cette fonctionnalité n'est pas encore implémentée."
IDS_HELP_TITLE "Aide" IDS_HELP_TITLE "Aide"
IDS_HELP "Choisissez une catégorie sur la gauche, puis choisissez une application et cliquez sur le bouton Télécharger. Pour mettre à jour les informations sur l'application, cliquez sur le bouton à côté du bouton d'aide." IDS_HELP "Choisissez une catégorie sur la gauche, puis choisissez une application et cliquez sur le bouton Télécharger. Pour mettre à jour les informations sur l'application, cliquez sur le bouton à côté du bouton d'aide."
IDS_NO_APPS "Désolé, il n'y a pas encore d'application dans cette catégorie. Vous pouvez contribuer et ajouter plus d'applications." IDS_NO_APPS "Désolé, il n'y a pas encore d'application dans cette catégorie. Vous pouvez contribuer et ajouter plus d'applications."
IDS_CHOOSE_APP "Veuillez choisir une application." IDS_CHOOSE_APP "Veuillez choisir une application."
IDS_CHOOSE_SUB "Veuillez choisir une sous-catégorie." IDS_CHOOSE_SUB "Veuillez choisir une sous-catégorie."
IDS_CHOOSE_CATEGORY "Veuillez choisir une catégorie." IDS_CHOOSE_CATEGORY "Veuillez choisir une catégorie."
IDS_CHOOSE_BOTH "Veuillez choisir une sous-catégorie ou une application." IDS_CHOOSE_BOTH "Veuillez choisir une sous-catégorie ou une application."
IDS_XMLERROR_1 "Impossible de trouver le fichier xml !" IDS_XMLERROR_1 "Impossible de trouver le fichier xml !"
IDS_XMLERROR_2 "Impossible d'analyser le fichier xml !" IDS_XMLERROR_2 "Impossible d'analyser le fichier xml !"
IDS_DOWNLOAD_ERROR "Impossible de télécharger le fichier.\nVeuillez vérifier votre connexion Internet." IDS_DOWNLOAD_ERROR "Impossible de télécharger le fichier.\nVeuillez vérifier votre connexion Internet."
IDS_VERSION "Version: " IDS_VERSION "Version: "
IDS_LICENCE "Licence: " IDS_LICENCE "Licence: "
IDS_MAINTAINER "Maintainer: " IDS_MAINTAINER "Maintainer: "
IDS_APPS_TITLE "Applications" IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Catégories" IDS_CATS_TITLE "Catégories"
IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..." IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..."
IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre." IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !" IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s est nécessaire pour lancer %s. Voulez-vous installer %s maintenant ?" IDS_INSTALL_DEP "%s est nécessaire pour lancer %s. Voulez-vous installer %s maintenant ?"
TTT_HELPBUTTON, "Obtenez de l'aide à propros du téléchargeur" TTT_HELPBUTTON "Obtenez de l'aide à propros du téléchargeur"
TTT_UPDATEBUTTON, "Pas encore disponible" TTT_UPDATEBUTTON "Pas encore disponible"
TTT_PROFBUTTON, "Vous permet de configurer le téléchargeur" TTT_PROFBUTTON "Vous permet de configurer le téléchargeur"
END END

View file

@ -5,9 +5,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..." CAPTION "Download..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Batal", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -15,47 +15,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Proferences" CAPTION "Proferences"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Download folder:", -1, 6, 10, 140, 8 LTEXT "Download folder:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update server:", -1, 6, 55, 140, 8 LTEXT "Update server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader" IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader" IDS_WELCOME_TITLE "Selamat datang di ReactOS Downloader"
IDS_WELCOME "Silahkan pilih kategori di sebelah kiri. Ini versi 1.1." IDS_WELCOME "Silahkan pilih kategori di sebelah kiri. Ini versi 1.1."
IDS_NO_APP_TITLE "Tidak ada aplikasi yang dipilih" IDS_NO_APP_TITLE "Tidak ada aplikasi yang dipilih"
IDS_NO_APP "Silahkan pilih Aplikasi sebelum anda mengklik tombol download, jika anda membutuhkan asistensi silahkan klik pada tombol di sudut kanan atas." IDS_NO_APP "Silahkan pilih Aplikasi sebelum anda mengklik tombol download, jika anda membutuhkan asistensi silahkan klik pada tombol di sudut kanan atas."
IDS_UPDATE_TITLE "Mutakhirkan" IDS_UPDATE_TITLE "Mutakhirkan"
IDS_UPDATE "Maaf fitur ini belum diimplementasikan." IDS_UPDATE "Maaf fitur ini belum diimplementasikan."
IDS_HELP_TITLE "Bantuan" IDS_HELP_TITLE "Bantuan"
IDS_HELP "Pilih kategori di sisi kiri, lalu pilih aplikasi dan klik tombol download. Untuk memutakhirkan informasi aplikasi klik tombol disebelah tombol bantuan." IDS_HELP "Pilih kategori di sisi kiri, lalu pilih aplikasi dan klik tombol download. Untuk memutakhirkan informasi aplikasi klik tombol disebelah tombol bantuan."
IDS_NO_APPS "Maaf, belum ada aplikasi dalam kategori ini. Anda dapat membantu dan menambahkan aplikasi lebih banyak." IDS_NO_APPS "Maaf, belum ada aplikasi dalam kategori ini. Anda dapat membantu dan menambahkan aplikasi lebih banyak."
IDS_CHOOSE_APP "Silahkan pilih aplikasi." IDS_CHOOSE_APP "Silahkan pilih aplikasi."
IDS_CHOOSE_SUB "Silahkan pilih subkategori." IDS_CHOOSE_SUB "Silahkan pilih subkategori."
IDS_CHOOSE_CATEGORY "Silahkan pilih kategori." IDS_CHOOSE_CATEGORY "Silahkan pilih kategori."
IDS_CHOOSE_BOTH "Silahkan pilih subkategori atau aplikasi." IDS_CHOOSE_BOTH "Silahkan pilih subkategori atau aplikasi."
IDS_XMLERROR_1 "Tidak dapat menemukan file xml !" IDS_XMLERROR_1 "Tidak dapat menemukan file xml !"
IDS_XMLERROR_2 "Tidak dapat mengurai file xml !" IDS_XMLERROR_2 "Tidak dapat mengurai file xml !"
IDS_DOWNLOAD_ERROR "Tidak bisa mendownload file.\nSilahkan periksa koneksi internet anda." IDS_DOWNLOAD_ERROR "Tidak bisa mendownload file.\nSilahkan periksa koneksi internet anda."
IDS_VERSION "Versi: " IDS_VERSION "Versi: "
IDS_LICENCE "Lisensi: " IDS_LICENCE "Lisensi: "
IDS_MAINTAINER "Pemelihara: " IDS_MAINTAINER "Pemelihara: "
IDS_APPS_TITLE "Applications" IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Categories" IDS_CATS_TITLE "Categories"
IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_CHOOSE_FOLDER "Please, choose the folder..."
IDS_NOTCREATE_REGKEY "Could not create the registry key." IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Get help about the downloader" TTT_HELPBUTTON "Get help about the downloader"
TTT_UPDATEBUTTON, "Not yet available" TTT_UPDATEBUTTON "Not yet available"
TTT_PROFBUTTON, "Let you configure the downloader" TTT_PROFBUTTON "Let you configure the downloader"
END END

View file

@ -5,9 +5,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..." CAPTION "Download..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -15,47 +15,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Proferences" CAPTION "Proferences"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Download folder:", -1, 6, 10, 140, 8 LTEXT "Download folder:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Update server:", -1, 6, 55, 140, 8 LTEXT "Update server:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Download ! - ReactOS Downloader" IDS_WINDOW_TITLE "Download ! - ReactOS Downloader"
IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader" IDS_WELCOME_TITLE "Benvenuto al ReactOS Downloader"
IDS_WELCOME "Scegli una categoria a sinistra. Questa è la versione 1.1." IDS_WELCOME "Scegli una categoria a sinistra. Questa è la versione 1.1."
IDS_NO_APP_TITLE "Nessuna applicazione selezionata" IDS_NO_APP_TITLE "Nessuna applicazione selezionata"
IDS_NO_APP "Scegli una Applicazione prima di premere il bottone di download, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra." IDS_NO_APP "Scegli una Applicazione prima di premere il bottone di download, se serve assistenza clicca sul punto di domanda nell'angolo in alto a destra."
IDS_UPDATE_TITLE "Aggiorna" IDS_UPDATE_TITLE "Aggiorna"
IDS_UPDATE "Funzione non ancora implementata." IDS_UPDATE "Funzione non ancora implementata."
IDS_HELP_TITLE "Aiuto" IDS_HELP_TITLE "Aiuto"
IDS_HELP "Scegli una categoria a sinistra, poi scegli una applicazione e clicca il bottone download. Per aggiornare le informazioni sulla applicazione clicca il bottone accanto a quello di aiuto." IDS_HELP "Scegli una categoria a sinistra, poi scegli una applicazione e clicca il bottone download. Per aggiornare le informazioni sulla applicazione clicca il bottone accanto a quello di aiuto."
IDS_NO_APPS "Non ci sono ancora applicazioni in questa categoria. Puoi aiutare aggiungendone altre." IDS_NO_APPS "Non ci sono ancora applicazioni in questa categoria. Puoi aiutare aggiungendone altre."
IDS_CHOOSE_APP "Scegli una applicazione." IDS_CHOOSE_APP "Scegli una applicazione."
IDS_CHOOSE_SUB "Scegli una sottocategoria." IDS_CHOOSE_SUB "Scegli una sottocategoria."
IDS_CHOOSE_CATEGORY "Scegli una categoria." IDS_CHOOSE_CATEGORY "Scegli una categoria."
IDS_CHOOSE_BOTH "Scegli una sottocategoria o una applicazione." IDS_CHOOSE_BOTH "Scegli una sottocategoria o una applicazione."
IDS_XMLERROR_1 "File xml non trovato !" IDS_XMLERROR_1 "File xml non trovato !"
IDS_XMLERROR_2 "Impossibile trattare il contenuto del file xml !" IDS_XMLERROR_2 "Impossibile trattare il contenuto del file xml !"
IDS_DOWNLOAD_ERROR "Download del file impossibile.\nVerifica la connessione a Internet." IDS_DOWNLOAD_ERROR "Download del file impossibile.\nVerifica la connessione a Internet."
IDS_VERSION "Versione: " IDS_VERSION "Versione: "
IDS_LICENCE "Licenza: " IDS_LICENCE "Licenza: "
IDS_MAINTAINER "Manutentore: " IDS_MAINTAINER "Manutentore: "
IDS_APPS_TITLE "Applications" IDS_APPS_TITLE "Applications"
IDS_CATS_TITLE "Categories" IDS_CATS_TITLE "Categories"
IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_CHOOSE_FOLDER "Please, choose the folder..."
IDS_NOTCREATE_REGKEY "Could not create the registry key." IDS_NOTCREATE_REGKEY "Could not create the registry key."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Get help about the downloader" TTT_HELPBUTTON "Get help about the downloader"
TTT_UPDATEBUTTON, "Not yet available" TTT_UPDATEBUTTON "Not yet available"
TTT_PROFBUTTON, "Let you configure the downloader" TTT_PROFBUTTON "Let you configure the downloader"
END END

View file

@ -7,9 +7,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Çàãðóçêà..." CAPTION "Çàãðóçêà..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 17, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 17, SS_CENTER
PUSHBUTTON "Отмена", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Отмена", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -17,47 +17,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Íàñòðîéêè" CAPTION "Íàñòðîéêè"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Папка для закачки:", -1, 6, 10, 140, 8 LTEXT "Папка для закачки:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Выбрать...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "&Выбрать...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Удалять установочные файлы после установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Удалять установочные файлы после установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Сервер обновлений:", -1, 6, 55, 140, 8 LTEXT "Сервер обновлений:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "О&тмена", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "О&тмена", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Скачать! - Менеджер закачек ReactOS" IDS_WINDOW_TITLE "Скачать! - Менеджер закачек ReactOS"
IDS_WELCOME_TITLE "Добро пожаловать в Менеджер закачек ReactOS" IDS_WELCOME_TITLE "Добро пожаловать в Менеджер закачек ReactOS"
IDS_WELCOME "Пожалуйста выберите категорию справа. Версия 1.1" IDS_WELCOME "Пожалуйста выберите категорию справа. Версия 1.1"
IDS_NO_APP_TITLE "Приложение не выбрано" IDS_NO_APP_TITLE "Приложение не выбрано"
IDS_NO_APP "Пожалуйста, выберите приложение прежде, чем нажать кнопку загрузки. Если вам нужна справка, то нажмите кнопку со знаком вопроса в верхнем правом углу." IDS_NO_APP "Пожалуйста, выберите приложение прежде, чем нажать кнопку загрузки. Если вам нужна справка, то нажмите кнопку со знаком вопроса в верхнем правом углу."
IDS_UPDATE_TITLE "Обновить" IDS_UPDATE_TITLE "Обновить"
IDS_UPDATE "Извените, данная возможность на данным момент недоступна." IDS_UPDATE "Извените, данная возможность на данным момент недоступна."
IDS_HELP_TITLE "Справка" IDS_HELP_TITLE "Справка"
IDS_HELP "Выберите категорию слева, затем выберите приложение и нажмите кнопку загрузки. Для получения информации об обновлениях нажмите кнопку рядом с кнопкой справки." IDS_HELP "Выберите категорию слева, затем выберите приложение и нажмите кнопку загрузки. Для получения информации об обновлениях нажмите кнопку рядом с кнопкой справки."
IDS_NO_APPS "Извените, на данный момент в этой категории приложений нет, но вы можете помочь добавить их." IDS_NO_APPS "Извените, на данный момент в этой категории приложений нет, но вы можете помочь добавить их."
IDS_CHOOSE_APP "Пожалуйста выберите приложение." IDS_CHOOSE_APP "Пожалуйста выберите приложение."
IDS_CHOOSE_SUB "Пожалуйста выберите подкатегорию." IDS_CHOOSE_SUB "Пожалуйста выберите подкатегорию."
IDS_CHOOSE_CATEGORY "Пожалуйста выберите категорию." IDS_CHOOSE_CATEGORY "Пожалуйста выберите категорию."
IDS_CHOOSE_BOTH "Пожалуйста выберите подкатегорию или приложение." IDS_CHOOSE_BOTH "Пожалуйста выберите подкатегорию или приложение."
IDS_XMLERROR_1 "Не удалось найти xml-файл!" IDS_XMLERROR_1 "Не удалось найти xml-файл!"
IDS_XMLERROR_2 "Не удалось обработать xml-файл!" IDS_XMLERROR_2 "Не удалось обработать xml-файл!"
IDS_DOWNLOAD_ERROR "Не удается загрузить файл.\nПожалуйста проверьте ваше подключение к интернет." IDS_DOWNLOAD_ERROR "Не удается загрузить файл.\nПожалуйста проверьте ваше подключение к интернет."
IDS_VERSION "Версия: " IDS_VERSION "Версия: "
IDS_LICENCE "Лицензия: " IDS_LICENCE "Лицензия: "
IDS_MAINTAINER "Производитель: " IDS_MAINTAINER "Производитель: "
IDS_APPS_TITLE "Приложения" IDS_APPS_TITLE "Приложения"
IDS_CATS_TITLE "Категории" IDS_CATS_TITLE "Категории"
IDS_CHOOSE_FOLDER "Пожалуйства выберите папку..." IDS_CHOOSE_FOLDER "Пожалуйства выберите папку..."
IDS_NOTCREATE_REGKEY "Не удалось создать ключ в реестре." IDS_NOTCREATE_REGKEY "Не удалось создать ключ в реестре."
IDS_DOWNLOAD_FOLDER "Скачать!" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Не удалось создать папку с таким именем!" IDS_UNABLECREATE_FOLDER "Не удалось создать папку с таким именем!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Get help about the downloader" TTT_HELPBUTTON "Показать справку программы"
TTT_UPDATEBUTTON, "Not yet available" TTT_UPDATEBUTTON "Сейчас недоступно"
TTT_PROFBUTTON, "Let you configure the downloader" TTT_PROFBUTTON "Выполнить настройку программы"
END END

View file

@ -13,9 +13,9 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Çàâàíòàæåííÿ..." CAPTION "Çàâàíòàæåííÿ..."
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12 CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER|PBS_SMOOTH,10,10,200,12
LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER LTEXT "", IDC_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Скасувати", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP PUSHBUTTON "Скасувати", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END END
IDD_PROF DIALOGEX 6, 6, 267, 110 IDD_PROF DIALOGEX 6, 6, 267, 110
@ -23,47 +23,47 @@ STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Íàñòðîéêè" CAPTION "Íàñòðîéêè"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Папка для завантаження:", -1, 6, 10, 140, 8 LTEXT "Папка для завантаження:", -1, 6, 10, 140, 8
EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Вибрати...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 PUSHBUTTON "&Вибрати...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14
AUTOCHECKBOX "&Видаляти настановні файли після установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP AUTOCHECKBOX "&Видаляти настановні файли після установки", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP
LTEXT "Сервер оновлень:", -1, 6, 55, 140, 8 LTEXT "Сервер оновлень:", -1, 6, 55, 140, 8
EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15
PUSHBUTTON "&Скасувати", IDCANCEL, 207, 90, 54, 15 PUSHBUTTON "&Скасувати", IDCANCEL, 207, 90, 54, 15
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_WINDOW_TITLE "Завантажити ! - Завантажувач ReactOS" IDS_WINDOW_TITLE "Завантажити ! - Завантажувач ReactOS"
IDS_WELCOME_TITLE "Ласкаво просимо у Завантажувач ReactOS" IDS_WELCOME_TITLE "Ласкаво просимо у Завантажувач ReactOS"
IDS_WELCOME "Будь ласка виберіть категорію зліва. Це версія 1.1." IDS_WELCOME "Будь ласка виберіть категорію зліва. Це версія 1.1."
IDS_NO_APP_TITLE "Додаток не вибраний" IDS_NO_APP_TITLE "Додаток не вибраний"
IDS_NO_APP "Будь ласка, виберіть додаток перш ніж натиснути кнопку завантаження. Якщо Вам потрібна допомога, натисніть кнопку зі знаком питання у верхньому правому кутку." IDS_NO_APP "Будь ласка, виберіть додаток перш ніж натиснути кнопку завантаження. Якщо Вам потрібна допомога, натисніть кнопку зі знаком питання у верхньому правому кутку."
IDS_UPDATE_TITLE "Оновити" IDS_UPDATE_TITLE "Оновити"
IDS_UPDATE "Вибачте, дана можливість ще недоступна." IDS_UPDATE "Вибачте, дана можливість ще недоступна."
IDS_HELP_TITLE "Довідка" IDS_HELP_TITLE "Довідка"
IDS_HELP "Виберіть категорію зліва, потім виберіть додаток і натисніть кнопку завантаження. Для отримання інформації про оновлення натисніть кнопку поряд з кнопкою довідки." IDS_HELP "Виберіть категорію зліва, потім виберіть додаток і натисніть кнопку завантаження. Для отримання інформації про оновлення натисніть кнопку поряд з кнопкою довідки."
IDS_NO_APPS "Вибачте, в цій категорії ще немає додатків. Ви можете допомогти і додати більше додатків." IDS_NO_APPS "Вибачте, в цій категорії ще немає додатків. Ви можете допомогти і додати більше додатків."
IDS_CHOOSE_APP "Будь ласка виберіть додаток." IDS_CHOOSE_APP "Будь ласка виберіть додаток."
IDS_CHOOSE_SUB "Будь ласка виберіть підкатегорію." IDS_CHOOSE_SUB "Будь ласка виберіть підкатегорію."
IDS_CHOOSE_CATEGORY "Будь ласка виберіть категорію." IDS_CHOOSE_CATEGORY "Будь ласка виберіть категорію."
IDS_CHOOSE_BOTH "Будь ласка виберіть підкатегорію або додаток." IDS_CHOOSE_BOTH "Будь ласка виберіть підкатегорію або додаток."
IDS_XMLERROR_1 "Не вдалося знайти файл XML !" IDS_XMLERROR_1 "Не вдалося знайти файл XML !"
IDS_XMLERROR_2 "Не вдалося обробити файл XML !" IDS_XMLERROR_2 "Не вдалося обробити файл XML !"
IDS_DOWNLOAD_ERROR "Неможливо завантажити файл.\nБудь ласка перевірте ваше інтернет-з'єднання." IDS_DOWNLOAD_ERROR "Неможливо завантажити файл.\nБудь ласка перевірте ваше інтернет-з'єднання."
IDS_VERSION "Версія: " IDS_VERSION "Версія: "
IDS_LICENCE "Ліцензія: " IDS_LICENCE "Ліцензія: "
IDS_MAINTAINER "Виробник: " IDS_MAINTAINER "Виробник: "
IDS_APPS_TITLE "Додатки" IDS_APPS_TITLE "Додатки"
IDS_CATS_TITLE "Категорії" IDS_CATS_TITLE "Категорії"
IDS_CHOOSE_FOLDER "Будь ласка виберіть папку..." IDS_CHOOSE_FOLDER "Будь ласка виберіть папку..."
IDS_NOTCREATE_REGKEY "Не вдалося створити ключ у реєстрі." IDS_NOTCREATE_REGKEY "Не вдалося створити ключ у реєстрі."
IDS_DOWNLOAD_FOLDER "Downloader" IDS_DOWNLOAD_FOLDER "Downloader"
IDS_UNABLECREATE_FOLDER "Не вдалося створити папку з таким ім'ям!" IDS_UNABLECREATE_FOLDER "Не вдалося створити папку з таким ім'ям!"
IDS_UPDATE_URL "http://svn.reactos.org" IDS_UPDATE_URL "http://svn.reactos.org"
IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?"
TTT_HELPBUTTON, "Отримайти допомогу про downloader" TTT_HELPBUTTON "Отримайти допомогу про downloader"
TTT_UPDATEBUTTON, "Поки що не доступно" TTT_UPDATEBUTTON "Поки що не доступно"
TTT_PROFBUTTON, "Налаштувати downloader" TTT_PROFBUTTON "Налаштувати downloader"
END END

File diff suppressed because it is too large Load diff

View file

@ -1,70 +1,71 @@
/* Icons */
#define IDI_MAIN 0x0 #define IDI_MAIN 0x0
#define IDI_UPDATE 5000 #define IDI_UPDATE 5000
#define IDI_HELP 5001 #define IDI_HELP 5001
#define IDI_PROF 5002 #define IDI_PROF 5002
#define IDB_UNDERLINE 0x100 /* Bitmaps */
#define IDB_LOGO 0x101 #define IDB_UNDERLINE 0x100
#define IDB_DOWNLOAD 0x102 #define IDB_LOGO 0x101
#define IDB_UNINSTALL 0x103 #define IDB_DOWNLOAD 0x102
#define IDB_TREEVIEW_ICON_0 0x900 #define IDB_UNINSTALL 0x103
#define IDB_TREEVIEW_ICON_1 0x901 #define IDB_TREEVIEW_ICON_0 0x900
#define IDB_TREEVIEW_ICON_2 0x902 #define IDB_TREEVIEW_ICON_1 0x901
#define IDB_TREEVIEW_ICON_3 0x903 #define IDB_TREEVIEW_ICON_2 0x902
#define IDB_TREEVIEW_ICON_4 0x904 #define IDB_TREEVIEW_ICON_3 0x903
#define IDB_TREEVIEW_ICON_5 0x905 #define IDB_TREEVIEW_ICON_4 0x904
#define IDB_TREEVIEW_ICON_6 0x906 #define IDB_TREEVIEW_ICON_5 0x905
#define IDB_TREEVIEW_ICON_7 0x907 #define IDB_TREEVIEW_ICON_6 0x906
#define IDB_TREEVIEW_ICON_8 0x908 #define IDB_TREEVIEW_ICON_7 0x907
#define IDB_TREEVIEW_ICON_9 0x909 #define IDB_TREEVIEW_ICON_8 0x908
#define IDB_TREEVIEW_ICON_10 0x910 #define IDB_TREEVIEW_ICON_9 0x909
#define IDB_TREEVIEW_ICON_11 0x911 #define IDB_TREEVIEW_ICON_10 0x910
#define IDB_TREEVIEW_ICON_12 0x912 #define IDB_TREEVIEW_ICON_11 0x911
#define IDB_TREEVIEW_ICON_13 0x913 #define IDB_TREEVIEW_ICON_12 0x912
#define IDD_DOWNLOAD 0x100 #define IDB_TREEVIEW_ICON_13 0x913
#define IDC_PROGRESS 0x1000 /* Dialogs */
#define IDC_STATUS 0x1001 #define IDD_DOWNLOAD 0x100
#define IDC_REMOVE 0x1002 #define IDD_PROF 6000
#define IDC_DOWNLOAD_FOLDER_EDIT 0x1003 /* Controls */
#define IDC_CHOOSE_BUTTON 0x1004 #define IDC_PROGRESS 0x1000
#define IDC_UPDATE_SERVER_EDIT 0x1005 #define IDC_STATUS 0x1001
#define IDC_DELINST_FILES_CHECKBOX 0x1006 #define IDC_REMOVE 0x1002
#define IDC_DOWNLOAD_FOLDER_EDIT 0x1003
#define IDS_WINDOW_TITLE 0 #define IDC_CHOOSE_BUTTON 0x1004
#define IDS_WELCOME_TITLE 1 #define IDC_UPDATE_SERVER_EDIT 0x1005
#define IDS_WELCOME 2 #define IDC_DELINST_FILES_CHECKBOX 0x1006
#define IDS_NO_APP_TITLE 3 /* Strings */
#define IDS_NO_APP 4 #define IDS_WINDOW_TITLE 0
#define IDS_UPDATE_TITLE 5 #define IDS_WELCOME_TITLE 1
#define IDS_UPDATE 6 #define IDS_WELCOME 2
#define IDS_HELP_TITLE 7 #define IDS_NO_APP_TITLE 3
#define IDS_HELP 8 #define IDS_NO_APP 4
#define IDS_NO_APPS 9 #define IDS_UPDATE_TITLE 5
#define IDS_CHOOSE_APP 10 #define IDS_UPDATE 6
#define IDS_CHOOSE_SUB 11 #define IDS_HELP_TITLE 7
#define IDS_CHOOSE_CATEGORY 12 #define IDS_HELP 8
#define IDS_CHOOSE_BOTH 13 #define IDS_NO_APPS 9
#define IDS_XMLERROR_1 14 #define IDS_CHOOSE_APP 10
#define IDS_XMLERROR_2 15 #define IDS_CHOOSE_SUB 11
#define IDS_DOWNLOAD_ERROR 16 #define IDS_CHOOSE_CATEGORY 12
#define IDS_VERSION 17 #define IDS_CHOOSE_BOTH 13
#define IDS_LICENCE 18 #define IDS_XMLERROR_1 14
#define IDS_MAINTAINER 19 #define IDS_XMLERROR_2 15
#define IDS_APPS_TITLE 20 #define IDS_DOWNLOAD_ERROR 16
#define IDS_CATS_TITLE 21 #define IDS_VERSION 17
#define IDS_CHOOSE_FOLDER 22 #define IDS_LICENCE 18
#define IDS_NOTCREATE_REGKEY 23 #define IDS_MAINTAINER 19
#define IDS_DOWNLOAD_FOLDER 24 #define IDS_APPS_TITLE 20
#define IDS_UNABLECREATE_FOLDER 25 #define IDS_CATS_TITLE 21
#define IDS_UPDATE_URL 26 #define IDS_CHOOSE_FOLDER 22
#define IDS_INSTALL_DEP 27 #define IDS_NOTCREATE_REGKEY 23
#define IDS_DOWNLOAD_FOLDER 24
#define TTT_HELPBUTTON 50 #define IDS_UNABLECREATE_FOLDER 25
#define TTT_UPDATEBUTTON 51 #define IDS_UPDATE_URL 26
#define TTT_PROFBUTTON 52 #define IDS_INSTALL_DEP 27
/* Tool tips */
#define IDD_PROF 6000 #define TTT_HELPBUTTON 50
#define TTT_UPDATEBUTTON 51
#define TTT_PROFBUTTON 52
#define STRING_COUNT 20 /* Other */
#define MAX_STRING_LENGHT 0x100 #define STRING_COUNT 20
#define MAX_STRING_LENGHT 0x100

View file

@ -1,29 +1,27 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_MAIN ICON DISCARDABLE "resources/main.ico" IDI_MAIN ICON DISCARDABLE "resources/main.ico"
IDI_UPDATE ICON DISCARDABLE "resources/update.ico" IDI_UPDATE ICON DISCARDABLE "resources/update.ico"
IDI_HELP ICON DISCARDABLE "resources/help.ico" IDI_HELP ICON DISCARDABLE "resources/help.ico"
IDI_PROF ICON DISCARDABLE "resources/preferences.ico" IDI_PROF ICON DISCARDABLE "resources/preferences.ico"
IDB_LOGO BITMAP DISCARDABLE "resources/logo.bmp" IDB_LOGO BITMAP DISCARDABLE "resources/logo.bmp"
//IDB_HELP BITMAP DISCARDABLE "resources/help.bmp" IDB_DOWNLOAD BITMAP DISCARDABLE "resources/download.bmp"
//IDB_UPDATE BITMAP DISCARDABLE "resources/update.bmp" IDB_UNINSTALL BITMAP DISCARDABLE "resources/uninstall.bmp"
IDB_DOWNLOAD BITMAP DISCARDABLE "resources/download.bmp" IDB_UNDERLINE BITMAP DISCARDABLE "resources/underline.bmp"
IDB_UNINSTALL BITMAP DISCARDABLE "resources/uninstall.bmp" IDB_TREEVIEW_ICON_0 BITMAP DISCARDABLE "resources/0.bmp"
IDB_UNDERLINE BITMAP DISCARDABLE "resources/underline.bmp" IDB_TREEVIEW_ICON_1 BITMAP DISCARDABLE "resources/1.bmp"
IDB_TREEVIEW_ICON_0 BITMAP DISCARDABLE "resources/0.bmp" IDB_TREEVIEW_ICON_2 BITMAP DISCARDABLE "resources/2.bmp"
IDB_TREEVIEW_ICON_1 BITMAP DISCARDABLE "resources/1.bmp" IDB_TREEVIEW_ICON_3 BITMAP DISCARDABLE "resources/3.bmp"
IDB_TREEVIEW_ICON_2 BITMAP DISCARDABLE "resources/2.bmp" IDB_TREEVIEW_ICON_4 BITMAP DISCARDABLE "resources/4.bmp"
IDB_TREEVIEW_ICON_3 BITMAP DISCARDABLE "resources/3.bmp" IDB_TREEVIEW_ICON_5 BITMAP DISCARDABLE "resources/5.bmp"
IDB_TREEVIEW_ICON_4 BITMAP DISCARDABLE "resources/4.bmp" IDB_TREEVIEW_ICON_6 BITMAP DISCARDABLE "resources/6.bmp"
IDB_TREEVIEW_ICON_5 BITMAP DISCARDABLE "resources/5.bmp" IDB_TREEVIEW_ICON_7 BITMAP DISCARDABLE "resources/7.bmp"
IDB_TREEVIEW_ICON_6 BITMAP DISCARDABLE "resources/6.bmp" IDB_TREEVIEW_ICON_8 BITMAP DISCARDABLE "resources/8.bmp"
IDB_TREEVIEW_ICON_7 BITMAP DISCARDABLE "resources/7.bmp" IDB_TREEVIEW_ICON_9 BITMAP DISCARDABLE "resources/9.bmp"
IDB_TREEVIEW_ICON_8 BITMAP DISCARDABLE "resources/8.bmp" IDB_TREEVIEW_ICON_10 BITMAP DISCARDABLE "resources/10.bmp"
IDB_TREEVIEW_ICON_9 BITMAP DISCARDABLE "resources/9.bmp" IDB_TREEVIEW_ICON_11 BITMAP DISCARDABLE "resources/11.bmp"
IDB_TREEVIEW_ICON_10 BITMAP DISCARDABLE "resources/10.bmp" IDB_TREEVIEW_ICON_12 BITMAP DISCARDABLE "resources/12.bmp"
IDB_TREEVIEW_ICON_11 BITMAP DISCARDABLE "resources/11.bmp" IDB_TREEVIEW_ICON_13 BITMAP DISCARDABLE "resources/13.bmp"
IDB_TREEVIEW_ICON_12 BITMAP DISCARDABLE "resources/12.bmp"
IDB_TREEVIEW_ICON_13 BITMAP DISCARDABLE "resources/13.bmp"
#include "lang/de-DE.rc" #include "lang/de-DE.rc"

View file

@ -1,26 +1,26 @@
struct Application struct Application
{ {
WCHAR Name[0x100]; WCHAR Name[0x100];
WCHAR RegName[0x100]; WCHAR RegName[0x100];
WCHAR Version[0x100]; WCHAR Version[0x100];
WCHAR Maintainer[0x100]; WCHAR Maintainer[0x100];
WCHAR Licence[0x100]; WCHAR Licence[0x100];
WCHAR Description[0x400]; WCHAR Description[0x400];
WCHAR Location[0x100]; WCHAR Location[0x100];
WCHAR Depends[0x100]; WCHAR Depends[0x100];
WCHAR PostInstallAction[0x100]; WCHAR PostInstallAction[0x100];
struct Application* Next; struct Application* Next;
}; };
struct Category struct Category
{ {
WCHAR Name[0x100]; WCHAR Name[0x100];
//WCHAR Description[0x100]; //WCHAR Description[0x100];
int Icon; int Icon;
HANDLE TreeviewItem; HANDLE TreeviewItem;
struct Application* Apps; struct Application* Apps;
struct Category* Next; struct Category* Next;
struct Category* Children; struct Category* Children;
struct Category* Parent; struct Category* Parent;
}; };

View file

@ -21,216 +21,216 @@ extern WCHAR Strings [STRING_COUNT][MAX_STRING_LENGHT];
void tag_opened (void* usrdata, const char* tag, const char** arg) void tag_opened (void* usrdata, const char* tag, const char** arg)
{ {
int i; int i;
if(!strcmp(tag, "tree") && !CurrentApplication) if(!strcmp(tag, "tree") && !CurrentApplication)
{ {
// check version // check version
} }
else if(!strcmp(tag, "category") && !CurrentApplication) else if(!strcmp(tag, "category") && !CurrentApplication)
{ {
if (!Current) if (!Current)
{ {
Current = malloc(sizeof(struct Category)); Current = malloc(sizeof(struct Category));
memset(Current, 0, sizeof(struct Category)); memset(Current, 0, sizeof(struct Category));
} }
else if (TagOpen) else if (TagOpen)
{ {
Current->Children = malloc(sizeof(struct Category)); Current->Children = malloc(sizeof(struct Category));
memset(Current->Children, 0, sizeof(struct Category)); memset(Current->Children, 0, sizeof(struct Category));
Current->Children->Parent = Current; Current->Children->Parent = Current;
Current = Current->Children; Current = Current->Children;
} }
else else
{ {
Current->Next = malloc(sizeof(struct Category)); Current->Next = malloc(sizeof(struct Category));
memset(Current->Next, 0, sizeof(struct Category)); memset(Current->Next, 0, sizeof(struct Category));
Current->Next->Parent = Current->Parent; Current->Next->Parent = Current->Parent;
Current = Current->Next; Current = Current->Next;
} }
TagOpen = TRUE; TagOpen = TRUE;
for (i=0; arg[i]; i+=2) for (i=0; arg[i]; i+=2)
{ {
if(!strcmp(arg[i], "name")) if(!strcmp(arg[i], "name"))
{ {
MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, Current->Name, 0x100); MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, Current->Name, 0x100);
} }
if(!strcmp(arg[i], "icon")) if(!strcmp(arg[i], "icon"))
{ {
Current->Icon = atoi(arg[i+1]); Current->Icon = atoi(arg[i+1]);
} }
} }
} }
else if(!strcmp(tag, "application") && !CurrentApplication) else if(!strcmp(tag, "application") && !CurrentApplication)
{ {
if(Current->Apps) if(Current->Apps)
{ {
CurrentApplication = Current->Apps; CurrentApplication = Current->Apps;
while(CurrentApplication->Next) while(CurrentApplication->Next)
CurrentApplication = CurrentApplication->Next; CurrentApplication = CurrentApplication->Next;
CurrentApplication->Next = malloc(sizeof(struct Application)); CurrentApplication->Next = malloc(sizeof(struct Application));
memset(CurrentApplication->Next, 0, sizeof(struct Application)); memset(CurrentApplication->Next, 0, sizeof(struct Application));
CurrentApplication = CurrentApplication->Next; CurrentApplication = CurrentApplication->Next;
} }
else else
{ {
Current->Apps = malloc(sizeof(struct Application)); Current->Apps = malloc(sizeof(struct Application));
memset(Current->Apps, 0, sizeof(struct Application)); memset(Current->Apps, 0, sizeof(struct Application));
CurrentApplication = Current->Apps; CurrentApplication = Current->Apps;
} }
for (i=0; arg[i]; i+=2) for (i=0; arg[i]; i+=2)
{ {
if(!strcmp(arg[i], "name")) if(!strcmp(arg[i], "name"))
{ {
MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentApplication->Name, 0x100); MultiByteToWideChar(CP_UTF8, 0, arg[i+1], -1, CurrentApplication->Name, 0x100);
} }
} }
} }
else if (CurrentApplication) else if (CurrentApplication)
{ {
strncpy(CurrentTag, tag, 0x100); strncpy(CurrentTag, tag, 0x100);
} }
else else
MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0); MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
} }
void text (void* usrdata, const char* data, int len) void text (void* usrdata, const char* data, int len)
{ {
if (!CurrentApplication) if (!CurrentApplication)
return; return;
if(!strcmp(CurrentTag, "maintainer")) if(!strcmp(CurrentTag, "maintainer"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Maintainer); int currentlengt = lstrlenW(CurrentApplication->Maintainer);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Maintainer[currentlengt], 0x100-currentlengt);
} }
else if(!strcmp(CurrentTag, "regname")) else if(!strcmp(CurrentTag, "regname"))
{ {
int currentlengt = lstrlenW(CurrentApplication->RegName); int currentlengt = lstrlenW(CurrentApplication->RegName);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->RegName[currentlengt], 0x100-currentlengt);
} }
else if(!strcmp(CurrentTag, "description")) else if(!strcmp(CurrentTag, "description"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Description); int currentlengt = lstrlenW(CurrentApplication->Description);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Description[currentlengt], 0x400-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Description[currentlengt], 0x400-currentlengt);
} }
else if(!strcmp(CurrentTag, "location")) else if(!strcmp(CurrentTag, "location"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Location); int currentlengt = lstrlenW(CurrentApplication->Location);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Location[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Location[currentlengt], 0x100-currentlengt);
} }
else if(!strcmp(CurrentTag, "version")) else if(!strcmp(CurrentTag, "version"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Version); int currentlengt = lstrlenW(CurrentApplication->Version);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Version[currentlengt], 0x400-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Version[currentlengt], 0x400-currentlengt);
} }
else if(!strcmp(CurrentTag, "licence")) else if(!strcmp(CurrentTag, "licence"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Licence); int currentlengt = lstrlenW(CurrentApplication->Licence);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Licence[currentlengt], 0x100-currentlengt);
} }
else if(!strcmp(CurrentTag, "depends")) else if(!strcmp(CurrentTag, "depends"))
{ {
int currentlengt = lstrlenW(CurrentApplication->Depends); int currentlengt = lstrlenW(CurrentApplication->Depends);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Depends[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->Depends[currentlengt], 0x100-currentlengt);
} }
else if(!strcmp(CurrentTag, "postinstallaction")) else if(!strcmp(CurrentTag, "postinstallaction"))
{ {
int currentlengt = lstrlenW(CurrentApplication->PostInstallAction); int currentlengt = lstrlenW(CurrentApplication->PostInstallAction);
MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->PostInstallAction[currentlengt], 0x100-currentlengt); MultiByteToWideChar(CP_UTF8, 0, data, len, &CurrentApplication->PostInstallAction[currentlengt], 0x100-currentlengt);
} }
} }
void tag_closed (void* tree, const char* tag) void tag_closed (void* tree, const char* tag)
{ {
CurrentTag[0] = 0; CurrentTag[0] = 0;
if(!strcmp(tag, "category")) if(!strcmp(tag, "category"))
{ {
if (TagOpen) if (TagOpen)
{ {
TagOpen = FALSE; TagOpen = FALSE;
} }
else else
{ {
Current = Current->Parent; Current = Current->Parent;
} }
} }
else if(!strcmp(tag, "application")) else if(!strcmp(tag, "application"))
{ {
CurrentApplication = NULL; CurrentApplication = NULL;
} }
} }
BOOL ProcessXML (const char* filename, struct Category* Root) BOOL ProcessXML (const char* filename, struct Category* Root)
{ {
int done = 0; int done = 0;
char buffer[255]; char buffer[255];
FILE* file; FILE* file;
XML_Parser parser; XML_Parser parser;
if(Current) if(Current)
return FALSE; return FALSE;
Current = Root; Current = Root;
TagOpen = TRUE; TagOpen = TRUE;
file = fopen("downloader.xml", "r"); file = fopen("downloader.xml", "r");
if(!file) if(!file)
{ {
file = fopen(filename, "r"); file = fopen(filename, "r");
if(!file) if(!file)
{ {
MessageBoxW(0,Strings[IDS_XMLERROR_1],0,0); MessageBoxW(0,Strings[IDS_XMLERROR_1],0,0);
return FALSE; return FALSE;
} }
} }
parser = XML_ParserCreate(NULL); parser = XML_ParserCreate(NULL);
XML_SetElementHandler(parser, tag_opened, tag_closed); XML_SetElementHandler(parser, tag_opened, tag_closed);
XML_SetCharacterDataHandler(parser, text); XML_SetCharacterDataHandler(parser, text);
while (!done) while (!done)
{ {
size_t len = fread (buffer, 1, sizeof(buffer), file); size_t len = fread (buffer, 1, sizeof(buffer), file);
done = len < sizeof(buffer); done = len < sizeof(buffer);
if(!XML_Parse(parser, buffer, len, done)) if(!XML_Parse(parser, buffer, len, done))
{ {
MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0); MessageBoxW(0,Strings[IDS_XMLERROR_2],0,0);
return FALSE; return FALSE;
} }
} }
XML_ParserFree(parser); XML_ParserFree(parser);
fclose(file); fclose(file);
return TRUE; return TRUE;
} }
void FreeApps (struct Application* Apps) void FreeApps (struct Application* Apps)
{ {
if (Apps->Next) if (Apps->Next)
FreeApps(Apps->Next); FreeApps(Apps->Next);
free(Apps); free(Apps);
} }
void FreeTree (struct Category* Node) void FreeTree (struct Category* Node)
{ {
if (Node->Children) if (Node->Children)
FreeTree(Node->Children); FreeTree(Node->Children);
if (Node->Next) if (Node->Next)
FreeTree(Node->Next); FreeTree(Node->Next);
if (Node->Apps) if (Node->Apps)
FreeApps(Node->Apps); FreeApps(Node->Apps);
free(Node); free(Node);
} }