Sync with trunk r43000

svn path=/branches/ros-amd64-bringup/; revision=43079
This commit is contained in:
Timo Kreuzer
2009-09-19 13:58:16 +00:00
1839 changed files with 109030 additions and 54530 deletions
+2
View File
@@ -91,10 +91,12 @@
<compilerflag compiler="cxx">-Wno-non-virtual-dtor</compilerflag>
<compilerflag compiler="cc,cxx">-gstabs+</compilerflag>
<compilerflag compiler="as">-gstabs+</compilerflag>
<compilerflag compiler="midl">-m32 --win32</compilerflag>
</group>
<group compilerset="msc">
<define name="inline" compiler="cc">__inline</define>
<define name="__STDC__" compiler="cc">1</define>
<compilerflag>/Zl</compilerflag>
<compilerflag>/Zi</compilerflag>
<compilerflag>/W1</compilerflag>
+3 -3
View File
@@ -24,13 +24,13 @@
<compilerflag>-ftracer</compilerflag>
<compilerflag>-momit-leaf-frame-pointer</compilerflag>
</if>
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
</group>
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
</group>
<group linkerset="ld">
<linkerflag>-disable-stdcall-fixup</linkerflag>
</group>
<directory name="base">
<xi:include href="base/base.rbuild" />
</directory>
@@ -97,4 +97,7 @@
<directory name="write">
<xi:include href="write/write.rbuild" />
</directory>
<directory name="rapps">
<xi:include href="rapps/rapps.rbuild" />
</directory>
</group>
+25 -25
View File
@@ -1,6 +1,6 @@
/* TRANSLATOR : Mário Kaèmár /Mario Kacmar/ aka Kario ([email protected])
* DATE OF TR.: 30-01-2008
* LAST CHANGE: 27-01-2009
* LAST CHANGE: 29-08-2009
* ---------------------------------------
* TODO:
* 1. treba usporiada jednotky pod¾a abecedy
@@ -522,24 +522,24 @@ END
// TYPES OF CURRENCIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Rakúzsky šiling"
IDS_CURRENCY_BELGIAN_FRANC "Belgický frank"
IDS_CURRENCY_CYPRIOT_POUND "Cyperská libra"
IDS_CURRENCY_CZECH_KORUNA "Èeská koruna"
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finská marka"
IDS_CURRENCY_FRENCH_FRANC "Francúzsky frank"
IDS_CURRENCY_GREEK_DRACHMA "Grécka drachma"
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
IDS_CURRENCY_IRISH_POUND "Irish pound"
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
IDS_CURRENCY_AUSTRIAN_SCHILLING "Rakúzsky šiling"
IDS_CURRENCY_SLOVAK_KORUNA "Slovenská koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovinský toliar"
IDS_CURRENCY_SPANISH_PESETA "Španielska peseta"
IDS_CURRENCY_ITALIAN_LIRA "Talianska líra"
END
// TYPES OF ENERGIES
@@ -571,10 +571,14 @@ BEGIN
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Siahy"
IDS_LENGTH_FATHOMS_HUNGARY "Siahy (Maïarsko)"
IDS_LENGTH_FEET "Stopy"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Hands"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Palce"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
@@ -582,6 +586,7 @@ BEGIN
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Kilometre"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Svetelné roky"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_METERS "Metre"
IDS_LENGTH_MICRONS "Mikróny"
@@ -589,7 +594,6 @@ BEGIN
IDS_LENGTH_MILLIMETERS "Milimetre"
IDS_LENGTH_NAUTICAL_MILES "Námorné míle"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_INCHES "Palce"
IDS_LENGTH_PARSECS "Parsecy"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "Ri (Japonsko)"
@@ -598,12 +602,8 @@ BEGIN
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_FATHOMS "Siahy"
IDS_LENGTH_FATHOMS_HUNGARY "Siahy (Maïarsko)"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_FEET "Stopy"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_LIGHT_YEARS "Svetelné roky"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Yardy"
@@ -616,8 +616,8 @@ STRINGTABLE DISCARDABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "Britské termálne jednotky za minútu"
IDS_POWER_FPS_PER_MINUTE "Foot-Pounds za minútu"
IDS_POWER_KILOWATTS "Kilowatty"
IDS_POWER_HORSEPOWER "Koòské sily"
IDS_POWER_KILOWATTS "Kilowatty"
IDS_POWER_MEGAWATTS "Megawatty"
IDS_POWER_WATTS "Watty"
END
@@ -629,9 +629,9 @@ BEGIN
IDS_PRESSURE_BARS "Bary"
IDS_PRESSURE_HECTOPASCALS "Hektopascals"
IDS_PRESSURE_KILOPASCALS "Kilopascals"
IDS_PRESSURE_PSI "Libry na štvorcový palec"
IDS_PRESSURE_MM_OF_MERCURY "Millimeters of mercury"
IDS_PRESSURE_PASCALS "Pascals"
IDS_PRESSURE_PSI "Libry na štvorcový palec"
END
// TYPES OF TEMPERATURES
@@ -651,8 +651,8 @@ BEGIN
IDS_TIME_MICROSECONDS "Mikrosekundy"
IDS_TIME_MILLISECONDS "Milisekundy"
IDS_TIME_MINUTES "Minúty"
IDS_TIME_YEARS "Roky"
IDS_TIME_SECONDS "Sekundy"
IDS_TIME_YEARS "Roky"
IDS_TIME_WEEKS "Týždne"
END
@@ -660,13 +660,13 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "Centimetre/hodinu"
IDS_VELOCITY_FEET_HOUR "Stopy/hodinu"
IDS_VELOCITY_FEET_SECOND "Stopy/sekundu"
IDS_VELOCITY_KILOMETERS_HOUR "Kilometre/hodinu"
IDS_VELOCITY_KNOTS "Knots"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Metre/sekundu"
IDS_VELOCITY_MILES_HOUR "Míle/hodinu"
IDS_VELOCITY_FEET_HOUR "Stopy/hodinu"
IDS_VELOCITY_FEET_SECOND "Stopy/sekundu"
END
// TYPES OF VOLUMES
@@ -677,6 +677,11 @@ BEGIN
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Bušely (UK)" //Bušel, Bušle? Bušly?
IDS_VOLUME_BUSHELS_US "Bušely (USA)"
IDS_VOLUME_CUBIC_CENTIMETERS "Kubické centimetre"
IDS_VOLUME_CUBIC_FEET "Kubické stopy"
IDS_VOLUME_CUBIC_INCHES "Kubické palce"
IDS_VOLUME_CUBIC_METERS "Kubické metre"
IDS_VOLUME_CUBIC_YARDS "Kubické yardy"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (USA)"
@@ -686,11 +691,6 @@ BEGIN
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_CUBIC_CENTIMETERS "Kubické centimetre"
IDS_VOLUME_CUBIC_FEET "Kubické stopy"
IDS_VOLUME_CUBIC_INCHES "Kubické palce"
IDS_VOLUME_CUBIC_METERS "Kubické metre"
IDS_VOLUME_CUBIC_YARDS "Kubické yardy"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Litre"
IDS_VOLUME_MAL "Mal"
@@ -712,7 +712,7 @@ END
STRINGTABLE DISCARDABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_QUINTAL_METRIC "Cent (metrický)"
IDS_WEIGHT_CARATS "Karáty"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
@@ -722,19 +722,19 @@ BEGIN
IDS_WEIGHT_JIN_CHINA "Jin (Èína)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Tchajvan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_CARATS "Karáty"
IDS_WEIGHT_KILOGRAMS "Kilogramy"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (Èína)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Tchajvan)"
IDS_WEIGHT_POUNDS "Libry"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Unce, anglosaská"
IDS_WEIGHT_OUNCES_TROY "Unce, trójska"
IDS_WEIGHT_POUNDS "Libry"
IDS_WEIGHT_QUINTAL_METRIC "Cent (metrický)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Stones"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tony"
IDS_WEIGHT_TONS_UK "Tony (UK)"
IDS_WEIGHT_TONS_US "Tony (USA)"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Unce, anglosaská"
IDS_WEIGHT_OUNCES_TROY "Unce, trójska"
END
@@ -19,15 +19,27 @@ static VOID SetInsert(DWORD dwFlag)
static VOID PrintHistory(VOID)
{
DWORD Length = GetConsoleCommandHistoryLength(pszExeName);
DWORD BufferLength;
PBYTE HistBuf;
TCHAR *Hist;
TCHAR *HistEnd;
/* On Windows, the ANSI version of GetConsoleCommandHistory requires
* a buffer twice as large as the actual history length. */
BYTE HistBuf[Length * (sizeof(WCHAR) / sizeof(TCHAR))];
TCHAR *Hist = (TCHAR *)HistBuf;
TCHAR *HistEnd = (TCHAR *)&HistBuf[Length];
BufferLength = Length * (sizeof(WCHAR) / sizeof(TCHAR)) * sizeof(BYTE);
if (GetConsoleCommandHistory(Hist, sizeof HistBuf, pszExeName))
HistBuf = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
BufferLength);
if (!HistBuf) return;
Hist = (TCHAR *)HistBuf;
HistEnd = (TCHAR *)&HistBuf[Length];
if (GetConsoleCommandHistory(Hist, BufferLength, pszExeName))
for (; Hist < HistEnd; Hist += _tcslen(Hist) + 1)
_tprintf(_T("%s\n"), Hist);
HeapFree(GetProcessHeap(), 0, HistBuf);
}
static INT SetMacro(LPTSTR definition)
@@ -65,23 +77,39 @@ static INT SetMacro(LPTSTR definition)
static VOID PrintMacros(LPTSTR pszExeName, LPTSTR Indent)
{
DWORD Length = GetConsoleAliasesLength(pszExeName);
BYTE AliasBuf[Length];
TCHAR *Alias = (TCHAR *)AliasBuf;
TCHAR *AliasEnd = (TCHAR *)&AliasBuf[Length];
PBYTE AliasBuf;
TCHAR *Alias;
TCHAR *AliasEnd;
if (GetConsoleAliases(Alias, sizeof AliasBuf, pszExeName))
AliasBuf = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
Length * sizeof(BYTE));
if (!AliasBuf) return;
Alias = (TCHAR *)AliasBuf;
AliasEnd = (TCHAR *)&AliasBuf[Length];
if (GetConsoleAliases(Alias, Length * sizeof(BYTE), pszExeName))
for (; Alias < AliasEnd; Alias += _tcslen(Alias) + 1)
_tprintf(_T("%s%s\n"), Indent, Alias);
HeapFree(GetProcessHeap(), 0, AliasBuf);
}
static VOID PrintAllMacros(VOID)
{
DWORD Length = GetConsoleAliasExesLength();
BYTE ExeNameBuf[Length];
TCHAR *ExeName = (TCHAR *)ExeNameBuf;
TCHAR *ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
PBYTE ExeNameBuf;
TCHAR *ExeName;
TCHAR *ExeNameEnd;
if (GetConsoleAliasExes(ExeName, sizeof ExeNameBuf))
ExeNameBuf = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
Length * sizeof(BYTE));
if (!ExeNameBuf) return;
ExeName = (TCHAR *)ExeNameBuf;
ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
if (GetConsoleAliasExes(ExeName, Length * sizeof(BYTE)))
{
for (; ExeName < ExeNameEnd; ExeName += _tcslen(ExeName) + 1)
{
@@ -90,6 +118,8 @@ static VOID PrintAllMacros(VOID)
_tprintf(_T("\n"));
}
}
HeapFree(GetProcessHeap(), 0, ExeNameBuf);
}
static VOID ReadFromFile(LPTSTR param)
@@ -6,3 +6,4 @@
#include <windows.h>
#include "doskey.h"
#include "lang/en-US.rc"
#include "lang/uk-UA.rc"
@@ -0,0 +1,35 @@
/*
* PROJECT: ReactOS DOSKey
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/cmdutils/doskey/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for ReactOS DOSKey
* TRANSLATOR: Sakara Yevhen
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_HELP, "Ìåíåäæåð êîìàíäíîãî ðÿäêà äëÿ ðåäàãóâàííÿ íàëàøòóâàíü, ³ñòî𳿠òà ìàêðîñ³â.\n\
\n\
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=size]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=file] [macroname=[text]]\n\
\n\
/INSERT Äîçâ³ë âêëþ÷åííÿ ðåæèìó.\n\
/OVERSTRIKE Çàáîðîíà âêëþ÷åííÿ ðåæèìó.\n\
/EXENAME=exename Âñòàíîâëåííÿ ³ì'ÿ ïðîãðàìè äëÿ ïåðåãëÿäó/çì³íè ³ñòîð³¿\n\
³ ìàêðîñ³â. Çíà÷åííÿ çà çàìîâ÷óâàííÿì cmd.exe.\n\
/HISTORY ³äîáðàæåííÿ ³ñòî𳿠êîìàíä.\n\
/LISTSIZE=size Âñòàíîâëåííÿ ê³ëüêîñò³ êîìàíä çà ³ñòîð³þ áóôåðà.\n\
/REINSTALL Î÷èùåííÿ ³ñòî𳿠êîìàíä.\n\
/MACROS ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü.\n\
/MACROS:exename ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü äëÿ êîíêðåòíî¿ ïðîãðàìè.\n\
/MACROS:ALL ³äîáðàæåííÿ ìàêðîñ³ âèçíà÷åíü äëÿ âñ³õ ïðîãðàì.\n\
/MACROFILE=filename Çàâàíòàæåííÿ ìàêðîñ³ âèçíà÷åíü ç ôàéëó.\n\
macroname Âèçíà÷åííÿ ³ì'ÿ ìàêðîñó äëÿ ñòâîðåííÿ.\n\
text Âèçíà÷åííÿ çàì³íè òåêñòó â ìàêðîñ³.\n"
IDS_INVALID_MACRO_DEF, "Íåä³éñíèé ìàêðîñ âèçíà÷åííÿ: %s\n"
END
@@ -80,3 +80,4 @@ Mit:\n\
\t\tQuelldateien kopiert, die neuer sind als die Zieldatei\n\n"
}
#pragma code_page(default)
@@ -81,3 +81,4 @@ où :\n\
\t\tque le fichier source\n\n"
}
#pragma code_page(default)
@@ -29,18 +29,18 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
STRINGTABLE
{
STRING_INVPARMS, "Neteisingas parametrų skaičius - pagalba: xcopy /?\n"
STRING_INVPARM, "Neteisingas parametras '%s' - pagalba: xcopy /?\n"
STRING_INVPARM, "Neteisingas parametras %s - pagalba: xcopy /?\n"
STRING_PAUSE, "Spauskite <enter> kopijavimui pradėti\n"
STRING_SIMCOPY, "bus nukopijuota failų: %d\n"
STRING_COPY, "nukopijuota failų: %d\n"
STRING_QISDIR, "Ar '%s' yra failas, ar katalogas,\n" \
STRING_QISDIR, "Ar %s yra failas, ar katalogas,\n" \
"ar paskirtis?\n" \
"(F - failas, K - katalogas)\n"
STRING_SRCPROMPT,"%s? (Taip|Ne)\n"
STRING_OVERWRITE,"Perrašyti %s? (Taip|Ne|Visus)\n"
STRING_COPYFAIL, "'%s' kopijavimas į '%s' nepavyko su r/c %d\n"
STRING_OPENFAIL, "Nepavyko atverti '%s'\n"
STRING_READFAIL, "Klaida skaitant '%s'\n"
STRING_COPYFAIL, "%s kopijavimas į %s nepavyko su r/c %d\n"
STRING_OPENFAIL, "Nepavyko atverti %s\n"
STRING_READFAIL, "Klaida skaitant %s\n"
STRING_YES_CHAR, "T"
STRING_NO_CHAR, "N"
STRING_ALL_CHAR, "V"
@@ -81,3 +81,4 @@ Kur:\n\
\t\tsenesnis už šaltinio failą\n\n"
}
#pragma code_page(default)
@@ -21,6 +21,8 @@
#include "xcopy.h"
#pragma code_page(65001)
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE
@@ -77,3 +79,4 @@ Parameters:\n\
\t\tdatum. Als geen detum wordt gegeven, copiëer alleen als bron nieuwer is.\n\n"
}
#pragma code_page(default)
+43 -39
View File
@@ -22,26 +22,29 @@
#include "xcopy.h"
/* UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
{
STRING_INVPARMS,
"Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\
подробного описания.\n"
"Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\
подробного описания.\n"
STRING_INVPARM,
"Недопустимый параметр '%s' - попробуйте 'xcopy /?' для получения подробного\n\
описания.\n"
STRING_PAUSE, "Нажмите клавишу <enter>, чтобы начать копирование.\n"
STRING_SIMCOPY, "%d файл(ов) было бы скопировано.\n"
STRING_COPY, "%d файл(ов) скопировано.\n"
STRING_QISDIR, "'%s' является файлом или папкой?\n" \
"(F - Файл, D - Папка)\n"
"Недопустимый параметр '%s' - попробуйте 'xcopy /?' для получения подробного\n\
описания.\n"
STRING_PAUSE, "Нажмите клавишу <enter>, чтобы начать копирование.\n"
STRING_SIMCOPY, "%d файл(ов) было бы скопировано.\n"
STRING_COPY, "%d файл(ов) скопировано.\n"
STRING_QISDIR, "'%s' является файлом или папкой?\n" \
"(F - Файл, D - Папка)\n"
STRING_SRCPROMPT,"%s? (Yes|No)\n"
STRING_OVERWRITE,"Переписать %s? (Yes|No|All)\n"
STRING_COPYFAIL, "При копировании '%s' в '%s' произошла ошибка: %d\n"
STRING_OPENFAIL, "Невозможно открыть '%s'\n"
STRING_READFAIL, "При чтении '%s' произошла ошибка\n"
STRING_OVERWRITE,"Переписать %s? (Yes|No|All)\n"
STRING_COPYFAIL, "При копировании '%s' в '%s' произошла ошибка: %d\n"
STRING_OPENFAIL, "Невозможно открыть '%s'\n"
STRING_READFAIL, "При чтении '%s' произошла ошибка\n"
STRING_YES_CHAR, "Y"
STRING_NO_CHAR, "N"
STRING_ALL_CHAR, "A"
@@ -49,35 +52,36 @@ STRINGTABLE
STRING_DIR_CHAR, "D"
STRING_HELP,
"XCOPY - Копирует файлы и деревья папок\n\
"XCOPY - Копирует файлы и деревья папок\n\
\n\
Синтаксис:\n\
Синтаксис:\n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Где:\n\
Где:\n\
\n\
[/I] Если конечная папка отсутствует и копируется более одного файла,\n\
то предполагается папка в качестве места назначения.\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\
при этом атрибут удаляется.\n\
[/D | /D:m-d-y] Копирует только новые файлы или те, которые были изменены\n\
после указанной даты. Если дата не указана, копирует только\n\
те файлы, которые новее в исходной папке.\n"
[/I] Если конечная папка отсутствует и копируется более одного файла,\n\
то предполагается папка в качестве места назначения.\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\
при этом атрибут удаляется.\n\
[/D | /D:m-d-y] Копирует только новые файлы или те, которые были изменены\n\
после указанной даты. Если дата не указана, копирует только\n\
те файлы, которые новее в исходной папке.\n"
}
#pragma code_page(default)
@@ -80,3 +80,4 @@ Where:\n\
\t\tod izvora\n\n"
}
#pragma code_page(default)
@@ -1,5 +1,5 @@
/*
* Copyright (C) the Wine project
* Copyright 2007 Jason Edmeades
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,12 +16,23 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_WINNLS_H
#define __WINE_WINNLS_H
#include <windef.h>
#include_next <winnls.h>
#include "xcopy.h"
#define CP_UNIXCP CP_ACP
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#endif /* __WINE_WINNLS_H */
#include "Bg.rc"
#include "Da.rc"
#include "De.rc"
#include "El.rc"
#include "En.rc"
#include "Fr.rc"
#include "It.rc"
#include "Ko.rc"
#include "Nl.rc"
#include "No.rc"
#include "Pl.rc"
#include "Pt.rc"
#include "Ru.rc"
#include "Si.rc"
@@ -7,17 +7,6 @@
<library>user32</library>
<library>kernel32</library>
<file>xcopy.c</file>
<file>Da.rc</file>
<file>De.rc</file>
<file>En.rc</file>
<file>Fr.rc</file>
<file>Ko.rc</file>
<file>Lt.rc</file>
<file>Nl.rc</file>
<file>No.rc</file>
<file>Pl.rc</file>
<file>Pt.rc</file>
<file>Ru.rc</file>
<file>Si.rc</file>
<file>rsrc.rc</file>
<metadata description="xcopy command-line tool" />
</module>
@@ -0,0 +1,77 @@
#include "resource.h"
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_SECONDS, "秒"
IDS_NOBODY, "名前なし"
IDS_ABOUT, "Joshua ThielenとReactOS developersより"
END
IDM_WINEMINE MENU DISCARDABLE
BEGIN
POPUP "ゲーム(&G)"
BEGIN
MENUITEM "新規ゲーム(&N)\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "?マーク(&M)", IDM_MARKQ
MENUITEM SEPARATOR
MENUITEM "初心者(&B)", IDM_BEGINNER
MENUITEM "中級者(&I)", IDM_ADVANCED
MENUITEM "玄人(&E)", IDM_EXPERT
MENUITEM "カスタム(&C)...", IDM_CUSTOM
MENUITEM SEPARATOR
MENUITEM "ベストタイム(&B)...", IDM_TIMES
MENUITEM SEPARATOR
MENUITEM "終了(&X)", IDM_EXIT
END
POPUP "ヘルプ(&H)"
BEGIN
MENUITEM "WineMineについて(&A)", IDM_ABOUT
END
END
IDD_TIMES DIALOGEX DISCARDABLE 0, 0, 200, 75
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
CAPTION "最速タイム"
FONT 9, "MS UI Gothic"
BEGIN
GROUPBOX "最速タイム", IDNONE, 10, 10, 182, 45
LTEXT "初心者:", IDNONE, 20, 20, 58, 8
LTEXT "中級者:", IDNONE, 20, 30, 58, 8
LTEXT "玄人:", IDNONE, 20, 40, 58, 8
LTEXT "", IDC_TIME1, 80, 20, 50, 8
LTEXT "", IDC_TIME2, 80, 30, 50, 8
LTEXT "", IDC_TIME3, 80, 40, 50, 8
LTEXT "", IDC_NAME1, 132, 20, 55, 8
LTEXT "", IDC_NAME2, 132, 30, 55, 8
LTEXT "", IDC_NAME3, 132, 40, 55, 8
DEFPUSHBUTTON "OK", IDOK, 127, 57, 50, 15
PUSHBUTTON "スコアのリセット(&R)", IDRESET, 18, 57, 67, 15
END
IDD_CONGRATS DIALOGEX DISCARDABLE 0, 0, 160, 60
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
CAPTION "おめでとう!"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "お名前を入力してください", IDIGNORE, 25, 10, 150, 10
EDITTEXT IDC_EDITNAME, 25, 20, 110, 12
DEFPUSHBUTTON "OK", IDOK, 60, 40, 40, 15
END
IDD_CUSTOM DIALOGEX DISCARDABLE 0, 0, 139, 80
STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP | DS_SHELLFONT
CAPTION "カスタムゲーム"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "高さ:", IDNONE, 5, 15, 43, 10
LTEXT "幅:", IDNONE, 5, 35, 43, 10
LTEXT "地雷の数:", IDNONE, 5, 55, 43, 10
EDITTEXT IDC_EDITROWS, 49, 15, 30, 12, ES_NUMBER
EDITTEXT IDC_EDITCOLS, 49, 35, 30, 12, ES_NUMBER
EDITTEXT IDC_EDITMINES, 49, 55, 30, 12, ES_NUMBER
DEFPUSHBUTTON "OK", IDOK, 86, 32, 45, 15
PUSHBUTTON "キャンセル", IDCANCEL, 86, 52, 45, 15
END
@@ -27,6 +27,7 @@ IDB_MINES BITMAP MOVEABLE "rc/mines.bmp"
#include "lang/fr-FR.rc"
#include "lang/id-ID.rc"
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/ko-KR.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"
@@ -0,0 +1,34 @@
/* FILE: base/applications/mplay32/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2009-08-03
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "&Otevøít...", IDM_OPEN_FILE
MENUITEM "&Zavøít", IDM_CLOSE_FILE
MENUITEM SEPARATOR
MENUITEM "&Ukonèit", IDM_EXIT
END
POPUP "&Nápovìda"
BEGIN
MENUITEM "&O programu...", IDM_ABOUT
END
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_ALL_TYPES_FILTER "Všechny podporované (*.wav, *.cda, *.midi, *.mid, *.avi)\0*.wav;*.cda;*.midi;*.mid;*.avi\0"
IDS_TOOLTIP_PLAY "Pøehrát"
IDS_TOOLTIP_STOP "Zastavit"
IDS_TOOLTIP_EJECT "Vysunout"
IDS_TOOLTIP_BACKWARD "Pøeskoèit zpìt"
IDS_TOOLTIP_SEEKBACK "Posunout zpìt"
IDS_TOOLTIP_SEEKFORW "Posunout vpøed"
IDS_TOOLTIP_FORWARD "Pøeskoèit vpøed"
IDS_APPTITLE "ReactOS Pøehrávaè multimédií"
END
@@ -1,3 +1,11 @@
/*
* PROJECT: ReactOS MPlay32
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/mplay32/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for ReactOS MPlay32
* TRANSLATOR: Sakara Yevhen
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
@@ -2,6 +2,7 @@
#include "resource.h"
#include "lang/bg-BG.rc"
#include "lang/cs-CZ.rc"
#include "lang/de-DE.rc"
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
@@ -1,3 +1,9 @@
/* FILE: base/applications/msconfig/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2009-08-03
* THANKS TO: Kamil Hornicek, who translated major part of this file
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
IDD_MSCONFIG_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220
@@ -28,18 +34,18 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "", 237, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | TVS_SHOWSELALWAYS | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 2, 1, 280, 148
PUSHBUTTON "Move &Up", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14
PUSHBUTTON "Move &Down", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14
PUSHBUTTON "Na&horu", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14
PUSHBUTTON "&Do", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14
PUSHBUTTON "&Enable", IDC_BTN_SYSTEM_ENABLE, 290, 50, 66, 14
PUSHBUTTON "D&isable", IDC_BTN_SYSTEM_DISABLE, 290, 70, 66, 14
PUSHBUTTON "Povoli&t", IDC_BTN_SYSTEM_ENABLE, 290, 50, 66, 14
PUSHBUTTON "&Zakázat", IDC_BTN_SYSTEM_DISABLE, 290, 70, 66, 14
PUSHBUTTON "&Find", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14
PUSHBUTTON "&New", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
PUSHBUTTON "Edi&t", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
PUSHBUTTON "&Najít", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14
PUSHBUTTON "No&vý", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14
PUSHBUTTON "&Upravit", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14
PUSHBUTTON "Ena&ble All", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
PUSHBUTTON "Disable A&ll",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
PUSHBUTTON "&Povolit vše", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14
PUSHBUTTON "Z&akázat vše",IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14
END
IDD_TOOLS_PAGE DIALOGEX DISCARDABLE 0, 0, 362, 175
@@ -50,7 +50,7 @@ AddItemToTreeView(HWND hTreeView,
return TreeView_InsertItem(hTreeView, &tvins);
}
#if 0 // FIXME: What is this good for?
#if 0
static VOID
AddServiceDependency(PSERVICEPROPSHEET dlgInfo,
HWND hTreeView,
@@ -17,6 +17,7 @@
#include <winsock.h>
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <iphlpapi.h>
#include "netstat.h"
+36 -32
View File
@@ -437,6 +437,14 @@ static BOOL DecodeResponse(PCHAR buffer, UINT size, PSOCKADDR_IN from)
return FALSE;
}
if (from->sin_addr.s_addr != Target.sin_addr.s_addr)
{
#ifndef NDEBUG
printf("Bad source address (%s should be %s)\n", inet_ntoa(from->sin_addr), inet_ntoa(Target.sin_addr));
#endif /* !NDEBUG */
return FALSE;
}
QueryTime(&LargeTime);
RelativeTime.QuadPart = (LargeTime.QuadPart - Icmp->Timestamp.QuadPart);
@@ -543,44 +551,40 @@ static BOOL Ping(VOID)
Timeval.tv_sec = Timeout / 1000;
Timeval.tv_usec = Timeout % 1000;
Status = select(0, &Fds, NULL, NULL, &Timeval);
if ((Status != SOCKET_ERROR) && (Status != 0))
{
Length = sizeof(From);
Status = recvfrom(IcmpSock, Buffer, Size, 0, &From, &Length);
do {
Status = select(0, &Fds, NULL, NULL, &Timeval);
if ((Status != SOCKET_ERROR) && (Status != 0))
{
Length = sizeof(From);
Status = recvfrom(IcmpSock, Buffer, Size, 0, &From, &Length);
#ifndef NDEBUG
printf("Received packet\n");
DisplayBuffer(Buffer, Status);
printf("\n");
printf("Received packet\n");
DisplayBuffer(Buffer, Status);
printf("\n");
#endif /* !NDEBUG */
}
else
LostCount++;
if (Status == SOCKET_ERROR)
{
if (WSAGetLastError() != WSAETIMEDOUT)
{
printf("Could not receive data (%d).\n", WSAGetLastError());
GlobalFree(Buffer);
return FALSE;
}
Status = 0;
}
else
LostCount++;
if (Status == SOCKET_ERROR)
{
if (WSAGetLastError() != WSAETIMEDOUT)
{
printf("Could not receive data (%d).\n", WSAGetLastError());
GlobalFree(Buffer);
return FALSE;
}
Status = 0;
}
if (Status == 0)
{
printf("Request timed out.\n");
GlobalFree(Buffer);
return TRUE;
}
if (Status == 0)
{
printf("Request timed out.\n");
GlobalFree(Buffer);
return TRUE;
}
if (!DecodeResponse(Buffer, Status, (PSOCKADDR_IN)&From))
{
/* FIXME: Wait again as it could be another ICMP message type */
printf("Request timed out (incomplete datagram received).\n");
LostCount++;
}
} while (!DecodeResponse(Buffer, Status, (PSOCKADDR_IN)&From));
GlobalFree(Buffer);
return TRUE;
@@ -74,7 +74,7 @@ BEGIN
MENUITEM "Vybrat vš&e\tCtrl+A", CMD_SELECT_ALL
MENUITEM "È&as/Datum\tF5", CMD_TIME_DATE
END
POPUP "F&ormat"
POPUP "F&ormát"
BEGIN
MENUITEM "Zalo&mit dlouhé øádky", CMD_WRAP
MENUITEM "&Písmo...", CMD_FONT
@@ -155,7 +155,7 @@ BEGIN
-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,46,7,232,39
CONTROL " ",
-1,"Static",0x50000000,8,48,272,11
DEFPUSHBUTTON "Close",IDOK,114,149,44,15,WS_GROUP
DEFPUSHBUTTON "Zavøít",IDOK,114,149,44,15,WS_GROUP
ICON IDI_NPICON,-1,12,9,20,30
EDITTEXT IDC_LICENSE,8,64,272,81,ES_MULTILINE |
ES_READONLY | WS_VSCROLL
@@ -205,5 +205,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
STRING_LINE_COLUMN, "Øádek %d, sloupec %d"
END
+2 -1
View File
@@ -81,12 +81,13 @@ void Poly(HDC hdc, POINT *lpPoints, int nCount, int fg, int bg, int thickness, i
void Bezier(HDC hdc, POINT p1, POINT p2, POINT p3, POINT p4, int color, int thickness)
{
HPEN oldPen;
POINT fourPoints[4];
fourPoints[0] = p1;
fourPoints[1] = p2;
fourPoints[2] = p3;
fourPoints[3] = p4;
HPEN oldPen = SelectObject(hdc, CreatePen(PS_SOLID, thickness, color));
oldPen = SelectObject(hdc, CreatePen(PS_SOLID, thickness, color));
PolyBezier(hdc, fourPoints, 4);
DeleteObject(SelectObject(hdc, oldPen));
}
@@ -0,0 +1,201 @@
/*
* US-English Language resource file
* Translated by: first times touched from en-GB.rc file by Mario Kacmar
*/
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
ID_MENU MENU
BEGIN
POPUP "&Ôàéë"
BEGIN
MENUITEM "&Íîâ\tCtrl+N", IDM_FILENEW
MENUITEM "&Îòâàðÿíå...\tAlt+tCtrl+O", IDM_FILEOPEN
MENUITEM "&Çàïèñ\tCtrl+S", IDM_FILESAVE
MENUITEM "Çàïèñ &êàòî...", IDM_FILESAVEAS
MENUITEM SEPARATOR
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (íàñòåëåíî)", IDM_FILEASWALLPAPERPLANE
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (â ñðåäàòà)", IDM_FILEASWALLPAPERCENTERED
MENUITEM "Ïîñòàâÿíå êàòî òàïåò (ðàçïúíàòî)", IDM_FILEASWALLPAPERSTRETCHED
MENUITEM SEPARATOR
MENUITEM "Èçõîä\tAlt+F4", IDM_FILEEXIT
END
POPUP "&Îáðàáîòêà"
BEGIN
MENUITEM "Îòìÿíà\tCtrl+Z", IDM_EDITUNDO
MENUITEM "Âðúùàíå\tCtrl+Y", IDM_EDITREDO
MENUITEM SEPARATOR
MENUITEM "Îòðÿçâàíå\tCtrl+X", IDM_EDITCUT
MENUITEM "Çàïîìíÿíå\tCtrl+C", IDM_EDITCOPY
MENUITEM "Ïîñòàâÿíå\tCtrl+V", IDM_EDITPASTE
MENUITEM "Èçòðèâàíå íà èçáðàíîòî\tDel", IDM_EDITDELETESELECTION
MENUITEM "Îáðúùàíå íà èçáîðà", IDM_EDITINVERTSELECTION
MENUITEM "Èçáèðàíå íà âñè÷êî\tCtrl+A", IDM_EDITSELECTALL
MENUITEM SEPARATOR
MENUITEM "Çàïîìíÿíå â...", IDM_EDITCOPYTO
MENUITEM "Ïîñòàâÿíå â...", IDM_EDITPASTEFROM
END
POPUP "Èç&ãëåä"
BEGIN
MENUITEM "Êóòèÿ ñ ïðèíàäëåæíîñòè\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
MENUITEM "Ïàëèòðà\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
MENUITEM "Ëåíòà íà ñúñòîÿíèåòî", IDM_VIEWSTATUSBAR, CHECKED
MENUITEM "Ëåíòà çà òåêñòîâè èíñòðóìåíòè", IDM_FORMATICONBAR, CHECKED, GRAYED
MENUITEM SEPARATOR
POPUP "Ïðèáëèæåíèå"
BEGIN
POPUP "Ïîòðåáèòåëñêî"
BEGIN
MENUITEM "12,5%", IDM_VIEWZOOM125
MENUITEM "25%", IDM_VIEWZOOM25
MENUITEM "50%", IDM_VIEWZOOM50
MENUITEM "100%", IDM_VIEWZOOM100
MENUITEM "200%", IDM_VIEWZOOM200
MENUITEM "400%", IDM_VIEWZOOM400
MENUITEM "800%", IDM_VIEWZOOM800
END
MENUITEM SEPARATOR
MENUITEM "Ðåøåòêà\tCtrl+G", IDM_VIEWSHOWGRID
MENUITEM "Èçîáðàæåíèéöà", IDM_VIEWSHOWMINIATURE
END
MENUITEM "Öÿë åêðàí", IDM_VIEWFULLSCREEN
END
POPUP "Èç&îáðàæåíèå"
BEGIN
MENUITEM "Çàâúðòàíå/Îãëåäàëî\tCtrl+R", IDM_IMAGEROTATEMIRROR
MENUITEM "Ïðåîðàçìåðÿâàíå\tCtrl+W", IDM_IMAGECHANGESIZE
MENUITEM "Èçðÿçâàíå", IDM_IMAGECROP
MENUITEM "Îáðúùàíå íà öâåòîâåòå\tCtrl+I", IDM_IMAGEINVERTCOLORS
MENUITEM "Ïðèíàäëåæíîñòè\tCtrl+E", IDM_IMAGEATTRIBUTES
MENUITEM "Èçòðèâàíå íà èçîáðàæåíèåòî\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE
MENUITEM "Íåïðîçðà÷íî èç÷åðòàâàíå", IDM_IMAGEDRAWOPAQUE
END
POPUP "&Öâåòîâå"
BEGIN
MENUITEM "Ïðîìÿíà íà ïàëèòðèòå...", IDM_COLORSEDITPALETTE
END
POPUP "&?"
BEGIN
MENUITEM "Ïîìîù", IDM_HELPHELPTOPICS
MENUITEM SEPARATOR
MENUITEM "Ñâåäåíèÿ", IDM_HELPINFO
END
END
ID_ACCELERATORS ACCELERATORS
BEGIN
"^N", IDM_FILENEW
"^O", IDM_FILEOPEN
"^S", IDM_FILESAVE
"^Z", IDM_EDITUNDO
"^Y", IDM_EDITREDO
"^X", IDM_EDITCUT
"^C", IDM_EDITCOPY
"^V", IDM_EDITPASTE
VK_DELETE, IDM_EDITDELETESELECTION, VIRTKEY
"^A", IDM_EDITSELECTALL
"^T", IDM_VIEWTOOLBOX
"^L", IDM_VIEWCOLORPALETTE
"^G", IDM_VIEWSHOWGRID
"^F", IDM_VIEWFULLSCREEN
"^R", IDM_IMAGEROTATEMIRROR
"^W", IDM_IMAGECHANGESIZE
"^I", IDM_IMAGEINVERTCOLORS
"^E", IDM_IMAGEATTRIBUTES
"N", IDM_IMAGEDELETEIMAGE, CONTROL, SHIFT, VIRTKEY
END
IDD_MIRRORROTATE DIALOGEX 100, 100, 180, 100
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Çàâúðòàíå è îãëåäàëî íà èçîáðàæåíèåòî"
BEGIN
GROUPBOX "Çàâúðòàíå èëè îãëåäàëî", IDD_MIRRORROTATEGROUP, 6, 6, 112, 86
AUTORADIOBUTTON "Âîäîðàâíî îãëåäàëî", IDD_MIRRORROTATERB1, 12, 18, 100, 10, WS_GROUP
AUTORADIOBUTTON "Îòâåñíî îãëåäàëî", IDD_MIRRORROTATERB2, 12, 30, 100, 10
AUTORADIOBUTTON "Çàâúðòàíå íà úãúë", IDD_MIRRORROTATERB3, 12, 42, 100, 10
AUTORADIOBUTTON "90°", IDD_MIRRORROTATERB4, 42, 54, 50, 10, WS_GROUP | WS_DISABLED
AUTORADIOBUTTON "180°", IDD_MIRRORROTATERB5, 42, 66, 50, 10, WS_DISABLED
AUTORADIOBUTTON "270°", IDD_MIRRORROTATERB6, 42, 78, 50, 10, WS_DISABLED
DEFPUSHBUTTON "Äîáðå", IDOK, 125, 8, 48, 14
PUSHBUTTON "Îòêàç", IDCANCEL, 125, 24, 48, 14
END
IDD_ATTRIBUTES DIALOGEX 100, 100, 220, 120
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Ïðèíàäëåæíîñòè"
BEGIN
EDITTEXT IDD_ATTRIBUTESEDIT1, 40, 40, 35, 12
EDITTEXT IDD_ATTRIBUTESEDIT2, 116, 40, 35, 12
LTEXT "Øèðèíà:", IDD_ATTRIBUTESTEXT1, 10, 40, 30, 10
LTEXT "Âèñî÷èíà:", IDD_ATTRIBUTESTEXT2, 80, 40, 36, 10
LTEXT "Äàòà íà ôàéëà:", IDD_ATTRIBUTESTEXT3, 10, 5, 60, 10
LTEXT "Ôàéëîâ ðàçìåð:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10
LTEXT "Ðàçäåëèòåëíà:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT6, 70, 5, 60, 10
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT7, 70, 15, 60, 10
LTEXT "Íåíàëè÷íî", IDD_ATTRIBUTESTEXT8, 70, 25, 60, 10
GROUPBOX "Åäèíèöè", IDD_ATTRIBUTESGROUP1, 6, 57, 139, 27
AUTORADIOBUTTON "Öîëîâå", IDD_ATTRIBUTESRB1, 12, 69, 40, 10, WS_GROUP
AUTORADIOBUTTON "ñì", IDD_ATTRIBUTESRB2, 52, 69, 35, 10
AUTORADIOBUTTON "Òî÷êè", IDD_ATTRIBUTESRB3, 92, 69, 35, 10
GROUPBOX "Öâåòîâå", IDD_ATTRIBUTESGROUP2, 6, 88, 139, 27
AUTORADIOBUTTON "×åðíî- áÿëî", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP
AUTORADIOBUTTON "Öâåòîâå", IDD_ATTRIBUTESRB5, 92, 100, 50, 10
DEFPUSHBUTTON "Äîáðå", IDOK, 155, 8, 55, 14
PUSHBUTTON "Îòêàç", IDCANCEL, 155, 24, 55, 14
PUSHBUTTON "Ïîäðàçáèðàíî", IDD_ATTRIBUTESSTANDARD, 155, 40, 55, 14
END
IDD_CHANGESIZE DIALOGEX 100, 100, 210, 80
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Ïðîìÿíà íà ðàçìåðà"
BEGIN
GROUPBOX "Ïðîìÿíà íà ðàçìåðà", IDD_CHANGESIZEGROUP, 6, 6, 142, 66
ICON IDI_HORZSTRETCH, IDD_CHANGESIZEICON1, 12, 18, 32, 32
LTEXT "Âîäîðàâíî:", IDD_CHANGESIZETEXT1, 45, 24, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT1, 90, 23, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT2, 125, 24, 15, 10
ICON IDI_VERTSTRETCH, IDD_CHANGESIZEICON2, 12, 43, 32, 32
LTEXT "Îòâåñíî:", IDD_CHANGESIZETEXT3, 45, 49, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT2, 90, 48, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT4, 125, 49, 15, 10
DEFPUSHBUTTON "Äîáðå", IDOK, 155, 8, 48, 14
PUSHBUTTON "Îòêàç", IDCANCEL, 155, 24, 48, 14
END
STRINGTABLE
BEGIN
IDS_PROGRAMNAME, "Ðèñóâàíå"
IDS_WINDOWTITLE, "%s - ðèñóâàíå"
IDS_INFOTITLE, "Ðèñóíúê (Paint) çà ÐåàêòÎÑ"
IDS_INFOTEXT, "Ðèñóíúê (Paint) çà ÐåàêòÎÑ å äîñòúïåí ïîä GNU Lesser General Public License (LGPL) âåðñèÿ 3 (see www.gnu.org)"
IDS_SAVEPROMPTTEXT, "Èñêàòå ëè äà çàïèøåòå ïðîìåíèòå â %s?"
IDS_DEFAULTFILENAME, "Áåç èìå.bmp"
IDS_MINIATURETITLE, "Èçîáðàæåíèéöå"
IDS_TOOLTIP1, "Ñâîáîäíî èçáèðàíå"
IDS_TOOLTIP2, "Èçáîð"
IDS_TOOLTIP3, "Ãóìè÷êà"
IDS_TOOLTIP4, "Çàïúëâàíå ñ öâÿò"
IDS_TOOLTIP5, "Èçáîð íà öâÿò"
IDS_TOOLTIP6, "Ïðèáëèæåíèå"
IDS_TOOLTIP7, "Ìîëèâ"
IDS_TOOLTIP8, "×åòêà"
IDS_TOOLTIP9, "Ïðúñêàëêà"
IDS_TOOLTIP10, "Òåêñò"
IDS_TOOLTIP11, "×åðòà"
IDS_TOOLTIP12, "Êðèâà íà Áåçèå"
IDS_TOOLTIP13, "Ïðàâîúãúëíèê"
IDS_TOOLTIP14, "Ìíîãîúãúëíèê"
IDS_TOOLTIP15, "Åëèïñà"
IDS_TOOLTIP16, "Çàîáëåí ïðàâîúãúëíèê"
IDS_OPENFILTER, "Ôàéëîâå bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Âñè÷êè ôàéëîâå (*.*)\1*.*\1"
IDS_SAVEFILTER, "24 ðàçðÿäíè ôàéëîâå bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1"
END
@@ -0,0 +1,201 @@
/*
* Japanese Language resource file
* Translated by: pcds90net, Tomoya Kitagawa
*/
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
ID_MENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "新規(&N)\tCtrl+N", IDM_FILENEW
MENUITEM "開く(&O)\tCtrl+O", IDM_FILEOPEN
MENUITEM "上書き保存(&S)\tCtrl+S", IDM_FILESAVE
MENUITEM "名前を付けて保存(&A)...", IDM_FILESAVEAS
MENUITEM SEPARATOR
MENUITEM "背景に設定 (並べて表\示)", IDM_FILEASWALLPAPERPLANE
MENUITEM "背景に設定 (中央に表\示)", IDM_FILEASWALLPAPERCENTERED
MENUITEM "背景に設定 (拡大)", IDM_FILEASWALLPAPERSTRETCHED
MENUITEM SEPARATOR
MENUITEM "ペイントの終了(&Q)\tAlt+F4", IDM_FILEEXIT
END
POPUP "編集(&E)"
BEGIN
MENUITEM "元に戻す\tCtrl+Z", IDM_EDITUNDO
MENUITEM "やり直し\tCtrl+Y", IDM_EDITREDO
MENUITEM SEPARATOR
MENUITEM "切り取り\tCtrl+X", IDM_EDITCUT
MENUITEM "コピー\tCtrl+C", IDM_EDITCOPY
MENUITEM "貼\り付け\tCtrl+V", IDM_EDITPASTE
MENUITEM "選択範囲の削除\tDel", IDM_EDITDELETESELECTION
MENUITEM "選択範囲の挿入", IDM_EDITINVERTSELECTION
MENUITEM "すべて選択\tCtrl+A", IDM_EDITSELECTALL
MENUITEM SEPARATOR
MENUITEM "ファイルへコピー", IDM_EDITCOPYTO
MENUITEM "ファイルから貼\り付け", IDM_EDITPASTEFROM
END
POPUP "表\示(&V)"
BEGIN
MENUITEM "ツール ボックス\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED
MENUITEM "カラー パレット\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED
MENUITEM "ステータス バー", IDM_VIEWSTATUSBAR, CHECKED
MENUITEM "テキスト ツール バー", IDM_FORMATICONBAR, CHECKED, GRAYED
MENUITEM SEPARATOR
POPUP "拡大"
BEGIN
POPUP "ユーザー定義"
BEGIN
MENUITEM "12,5%", IDM_VIEWZOOM125
MENUITEM "25%", IDM_VIEWZOOM25
MENUITEM "50%", IDM_VIEWZOOM50
MENUITEM "100%", IDM_VIEWZOOM100
MENUITEM "200%", IDM_VIEWZOOM200
MENUITEM "400%", IDM_VIEWZOOM400
MENUITEM "800%", IDM_VIEWZOOM800
END
MENUITEM SEPARATOR
MENUITEM "グリッドを表\示\tCtrl+G", IDM_VIEWSHOWGRID
MENUITEM "実寸表\示", IDM_VIEWSHOWMINIATURE
END
MENUITEM "全画面表\示\tCtrl+F", IDM_VIEWFULLSCREEN
END
POPUP "画像(&I)"
BEGIN
MENUITEM "回転と反転\tCtrl+R", IDM_IMAGEROTATEMIRROR
MENUITEM "サイズの変更\tCtrl+W", IDM_IMAGECHANGESIZE
MENUITEM "切り取り", IDM_IMAGECROP
MENUITEM "色の反転\tCtrl+I", IDM_IMAGEINVERTCOLORS
MENUITEM "画像の属性\tCtrl+E", IDM_IMAGEATTRIBUTES
MENUITEM "画像の削除\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE
MENUITEM "不透明色を描画する", IDM_IMAGEDRAWOPAQUE
END
POPUP "色(&C)"
BEGIN
MENUITEM "パレットの編集", IDM_COLORSEDITPALETTE
END
POPUP "&?"
BEGIN
MENUITEM "ヘルプ トピック", IDM_HELPHELPTOPICS
MENUITEM SEPARATOR
MENUITEM "情報", IDM_HELPINFO
END
END
ID_ACCELERATORS ACCELERATORS
BEGIN
"^N", IDM_FILENEW
"^O", IDM_FILEOPEN
"^S", IDM_FILESAVE
"^Z", IDM_EDITUNDO
"^Y", IDM_EDITREDO
"^X", IDM_EDITCUT
"^C", IDM_EDITCOPY
"^V", IDM_EDITPASTE
VK_DELETE, IDM_EDITDELETESELECTION, VIRTKEY
"^A", IDM_EDITSELECTALL
"^T", IDM_VIEWTOOLBOX
"^L", IDM_VIEWCOLORPALETTE
"^G", IDM_VIEWSHOWGRID
"^F", IDM_VIEWFULLSCREEN
"^R", IDM_IMAGEROTATEMIRROR
"^W", IDM_IMAGECHANGESIZE
"^I", IDM_IMAGEINVERTCOLORS
"^E", IDM_IMAGEATTRIBUTES
"N", IDM_IMAGEDELETEIMAGE, CONTROL, SHIFT, VIRTKEY
END
IDD_MIRRORROTATE DIALOGEX 100, 100, 180, 100
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 9, "MS UI Gothic"
CAPTION "回転と反転"
BEGIN
GROUPBOX "回転と反転", IDD_MIRRORROTATEGROUP, 6, 6, 112, 86
AUTORADIOBUTTON "水平方向に反転", IDD_MIRRORROTATERB1, 12, 18, 100, 10, WS_GROUP
AUTORADIOBUTTON "垂直方向に反転", IDD_MIRRORROTATERB2, 12, 30, 100, 10
AUTORADIOBUTTON "角度を指定", IDD_MIRRORROTATERB3, 12, 42, 100, 10
AUTORADIOBUTTON "90°", IDD_MIRRORROTATERB4, 42, 54, 50, 10, WS_GROUP | WS_DISABLED
AUTORADIOBUTTON "180°", IDD_MIRRORROTATERB5, 42, 66, 50, 10, WS_DISABLED
AUTORADIOBUTTON "270°", IDD_MIRRORROTATERB6, 42, 78, 50, 10, WS_DISABLED
DEFPUSHBUTTON "OK", IDOK, 125, 8, 48, 14
PUSHBUTTON "キャンセル", IDCANCEL, 125, 24, 48, 14
END
IDD_ATTRIBUTES DIALOGEX 100, 100, 210, 120
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 9, "MS UI Gothic"
CAPTION "画像の属性"
BEGIN
EDITTEXT IDD_ATTRIBUTESEDIT1, 40, 40, 35, 12
EDITTEXT IDD_ATTRIBUTESEDIT2, 110, 40, 35, 12
LTEXT "幅:", IDD_ATTRIBUTESTEXT1, 10, 40, 30, 10
LTEXT "高さ:", IDD_ATTRIBUTESTEXT2, 80, 40, 30, 10
LTEXT "ファイルの日付:", IDD_ATTRIBUTESTEXT3, 10, 5, 60, 10
LTEXT "ファイルのサイズ:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10
LTEXT "解像度:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT6, 70, 5, 60, 10
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT7, 70, 15, 60, 10
LTEXT "利用不可能\", IDD_ATTRIBUTESTEXT8, 70, 25, 60, 10
GROUPBOX "単位", IDD_ATTRIBUTESGROUP1, 6, 57, 139, 27
AUTORADIOBUTTON "インチ", IDD_ATTRIBUTESRB1, 12, 69, 35, 10, WS_GROUP
AUTORADIOBUTTON "cm", IDD_ATTRIBUTESRB2, 52, 69, 35, 10
AUTORADIOBUTTON "ピクセル", IDD_ATTRIBUTESRB3, 92, 69, 35, 10
GROUPBOX "色", IDD_ATTRIBUTESGROUP2, 6, 88, 139, 27
AUTORADIOBUTTON "白黒", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP
AUTORADIOBUTTON "カラー", IDD_ATTRIBUTESRB5, 92, 100, 35, 10
DEFPUSHBUTTON "OK", IDOK, 155, 8, 48, 14
PUSHBUTTON "キャンセル", IDCANCEL, 155, 24, 48, 14
PUSHBUTTON "デフォルト", IDD_ATTRIBUTESSTANDARD, 155, 40, 48, 14
END
IDD_CHANGESIZE DIALOGEX 100, 100, 210, 80
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 9, "MS UI Gothic"
CAPTION "サイズの変更"
BEGIN
GROUPBOX "サイズの変更", IDD_CHANGESIZEGROUP, 6, 6, 142, 66
ICON IDI_HORZSTRETCH, IDD_CHANGESIZEICON1, 12, 18, 32, 32
LTEXT "水平方向:", IDD_CHANGESIZETEXT1, 45, 24, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT1, 90, 23, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT2, 125, 24, 15, 10
ICON IDI_VERTSTRETCH, IDD_CHANGESIZEICON2, 12, 43, 32, 32
LTEXT "垂直方向:", IDD_CHANGESIZETEXT3, 45, 49, 40, 10
EDITTEXT IDD_CHANGESIZEEDIT2, 90, 48, 32, 12
LTEXT "%", IDD_CHANGESIZETEXT4, 125, 49, 15, 10
DEFPUSHBUTTON "OK", IDOK, 155, 8, 48, 14
PUSHBUTTON "キャンセル", IDCANCEL, 155, 24, 48, 14
END
STRINGTABLE
BEGIN
IDS_PROGRAMNAME, "ペイント"
IDS_WINDOWTITLE, "%s - ペイント"
IDS_INFOTITLE, "ReactOS ペイント"
IDS_INFOTEXT, "ReactOS ペイントは GNU Lesser General Public License (LGPL) version 3 (詳細は www.gnu.org)の下で利用可能\です。"
IDS_SAVEPROMPTTEXT, "%s の変更内容を保存しますか?"
IDS_DEFAULTFILENAME, "無題.bmp"
IDS_MINIATURETITLE, "縮小図"
IDS_TOOLTIP1, "自由選択"
IDS_TOOLTIP2, "選択"
IDS_TOOLTIP3, "消しゴム"
IDS_TOOLTIP4, "塗りつぶし"
IDS_TOOLTIP5, "色の選択"
IDS_TOOLTIP6, "拡大と縮小"
IDS_TOOLTIP7, "鉛筆"
IDS_TOOLTIP8, "ブラシ"
IDS_TOOLTIP9, "エアブラシ"
IDS_TOOLTIP10, "テキスト"
IDS_TOOLTIP11, "直線"
IDS_TOOLTIP12, "曲線"
IDS_TOOLTIP13, "四角形"
IDS_TOOLTIP14, "多角形"
IDS_TOOLTIP15, "楕円"
IDS_TOOLTIP16, "角丸四角形"
IDS_OPENFILTER, "ビットマップ ファイル (*.bmp;*.dib)\1*.bmp;*.dib\1すべてのファイル (*.*)\1*.*\1"
IDS_SAVEFILTER, "24 ビット ビットマップ (*.bmp;*.dib)\1*.bmp;*.dib\1"
END
@@ -1,5 +1,8 @@
/*
* translated by Caemyr - Olaf Siejka (May,2009)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
*/
+10 -8
View File
@@ -1,7 +1,9 @@
/*
* Ukrainian Language resource file
* Translated by: Artem Reznikov
* Last changed: 29-04-2009
* PROJECT: Paint for ReactOS
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/devmgmt/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Paint
* TRANSLATOR: Artem Reznikov, Sakara Yevhen
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
@@ -47,7 +49,7 @@ BEGIN
MENUITEM SEPARATOR
POPUP "Ìàñøòàá"
BEGIN
POPUP "User defined"
POPUP "Êîðèñòóâàëüíèöüêèé"
BEGIN
MENUITEM "12,5%", IDM_VIEWZOOM125
MENUITEM "25%", IDM_VIEWZOOM25
@@ -58,8 +60,8 @@ BEGIN
MENUITEM "800%", IDM_VIEWZOOM800
END
MENUITEM SEPARATOR
MENUITEM "Show grid", IDM_VIEWSHOWGRID
MENUITEM "Show miniature", IDM_VIEWSHOWMINIATURE
MENUITEM "Ïîêàçàòè ñ³òêó", IDM_VIEWSHOWGRID
MENUITEM "Ïîêàçàòè â ì³í³àòþð³", IDM_VIEWSHOWMINIATURE
END
MENUITEM "Íà âåñü åêðàí\tCtrl+F", IDM_VIEWFULLSCREEN
END
@@ -176,10 +178,10 @@ BEGIN
IDS_PROGRAMNAME, "Paint"
IDS_WINDOWTITLE, "%s - Paint"
IDS_INFOTITLE, "Paint äëÿ ReactOS"
IDS_INFOTEXT, "Paint for ReactOS is available under the GNU Lesser General Public License (LGPL) version 3 (see www.gnu.org)"
IDS_INFOTEXT, "Paint äëÿ ReactOS äîñòóïíèé çã³äíî ç GNU Lesser General Public License (LGPL) âåðñ³¿ 3 (äèâ³òüñÿ www.gnu.org)"
IDS_SAVEPROMPTTEXT, "Çáåðåãòè çì³íè äî %s?"
IDS_DEFAULTFILENAME, "Áåç_³ìåí³.bmp"
IDS_MINIATURETITLE, "Miniature"
IDS_MINIATURETITLE, "̳í³àòþðà"
IDS_TOOLTIP1, "Âèä³ëåííÿ äîâ³ëüíî¿ îáëàñò³"
IDS_TOOLTIP2, "Âèä³ëåííÿ"
IDS_TOOLTIP3, "Ëàñòèê"
+2
View File
@@ -20,6 +20,7 @@
#include "lang/es-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/ja-JP.rc"
#include "lang/nl-NL.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"
@@ -30,6 +31,7 @@
#include "lang/ro-RO.rc"
#include "lang/sk-SK.rc"
// cp 1251 languages
#include "lang/bg-BG.rc"
#include "lang/ru-RU.rc"
#include "lang/uk-UA.rc"
+2 -1
View File
@@ -313,8 +313,9 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
if (hwnd==hwndMiniature)
{
long mclient[4];
HDC hdc;
GetClientRect(hwndMiniature, (LPRECT)&mclient);
HDC hdc = GetDC(hwndMiniature);
hdc = GetDC(hwndMiniature);
BitBlt(hdc, -min(imgXRes*GetScrollPos(hScrollbox, SB_HORZ)/10000, imgXRes-mclient[2]),
-min(imgYRes*GetScrollPos(hScrollbox, SB_VERT)/10000, imgYRes-mclient[3]), imgXRes, imgYRes, hDrawingDC, 0, 0, SRCCOPY);
ReleaseDC(hwndMiniature, hdc);
@@ -0,0 +1 @@
c:\cabman.exe -M raw -S rappmgr.cab \rapps\*.txt
@@ -0,0 +1,54 @@
ADDING DOWNLOADABLE PROGRAMMS
For an each programm would be creacted an INI alike syntax.
Also an each field is language inhdepended and individual, an URL's to a source programm is
also maybe different or even nonexisting for anothers languages.
For instance a programm 1C which is mostly interested only for russian users and have no
reason for peoples living in another countries.
The File Overview:
[Section]
Name = program name
RegName = Name in registry
Version = 1.1.1
Licence = GPL
Description = Description
Size = 10 mb
Category = 5
URLSite = http://www.site.com/
URLDownload = http://ftp.site.com/pub/installer.exe
CDPath = ; Ïîêà íå èñïîëüçóåòñÿ
[Section.0419] ; 0419 - for Russian language
Description = Description in Russian language
Obligatory fields are: Name, Category, URLDownload
Other fields to fill not necessarily.
Categories list:
1 - Audio
2 - Video
3 - Graphics
4 - Games
5 - Internet
6 - Office
7 - Development
8 - Edutainment
9 - Engineering
10 - Finance
11 - Science
12 - Tools
13 - Drivers
14 - Libraries
15 - Other
The list downloadable programms is keeping on a server and updating from a server
automatically at first time thes programm is running!
For generating a list of a programm (usually a CAB archive), could be used a batch file CreateCabFile.bat
After downloading (at first time the programm runs around), this file is placing
in the same folder where downloaded programm located to future usage them.
If in some cases an unpacked file is moved, deleted or not exist, then the procedure
to create a new one would be repeated.
If the CAB file is moved, deleted or not exist, then it would be downloaded again.
@@ -0,0 +1,54 @@
ДОБАВЛЕНИЕ ЗАГРУЖАЕМЫХ ПРОГРАММ
Для каждой программы создается отдельный текстовый файл с ini-подобным синтаксисом.
Каждое поле для любого языка может быть индивидуально. Например, для русского языка
ссылка на дистрибутив программы может быть одна, для английского - вторая, а для
китайского - третья. Можно добавлять программы только для какого-либо одного языка.
Например, 1C может быть интересна только русским, и добавлять ее для каждого языка не
имеет смысла.
Общий вид файла программы:
[Section] ; Секция для английского языка
Name = Имя программы ; Текстовое поле
RegName = Имя в реестре ; Имя, которое отображается в списке программ после установки
Version = 1.1.1 ; Текстовое поле с версией
Licence = Название лицензии ; Текстовое поле
Description = Описание программы ; Тектсовое поле
Size = Размер программы ; Текстовое поле
Category = 5 ; Цифровое поле с категорией
URLSite = http://www.site.com/ ; Текстовое поле. Ссылка на сайт программы
URLDownload = http://ftp.site.com/pub/installer.exe ; Текстовое поле. Ссылка для скачивания
CDPath = ; Пока не используется
[Section.0419] ; Секция для русского языка
Description = Описание на русском языке
Обязательными полями являются: Name, Category, URLDownload
Остальные поля заполнять не обязательно.
Список доступных категорий:
1 - Audio
2 - Video
3 - Graphics
4 - Games
5 - Internet
6 - Office
7 - Development
8 - Edutainment
9 - Engineering
10 - Finance
11 - Science
12 - Tools
13 - Drivers
14 - Libraries
15 - Other
Список программ хранится на сервере и скачивается при первом включении автоматически!
Для генерации файла списка программ (обычного CAB-архива), хранящегося на сервере можно
воспользоваться скриптом CreateCabFile.bat. После скачивания (при первом включении) этот
файл останется в одной папке с программой, но будет распакован и в дальнейшем будет
использоваться распакованный вариант. Если распакованный вариант по каким-либо причинам
будет удален - распаковка будет повторена. Если будет удален CAB-файл, то он будет скачан
снова.
@@ -0,0 +1,40 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/aboutdlg.c
* PURPOSE: About Dialog
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
static
INT_PTR CALLBACK
AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDOK:
EndDialog(hDlg, LOWORD(wParam));
break;
}
}
break;
}
return FALSE;
}
VOID
ShowAboutDialog(VOID)
{
DialogBox(hInst,
MAKEINTRESOURCE(IDD_ABOUT_DIALOG),
hMainWnd,
AboutDlgProc);
}
+127
View File
@@ -0,0 +1,127 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/available.c
* PURPOSE: Functions for working with availabled applications
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
BOOL
ShowAvailableAppInfo(INT Index)
{
PAPPLICATION_INFO Info = (PAPPLICATION_INFO) ListViewGetlParam(Index);
WCHAR szText[MAX_STR_LEN];
if (!Info) return FALSE;
NewRichEditText(Info->szName, CFE_BOLD);
InsertRichEditText(L"\n", 0);
#define ADD_TEXT(a, b, c, d) \
if (b[0] != '\0') \
{ \
LoadStringW(hInst, a, szText, sizeof(szText) / sizeof(WCHAR)); \
InsertRichEditText(szText, c); \
InsertRichEditText(b, d); \
} \
ADD_TEXT(IDS_AINFO_VERSION, Info->szVersion, CFE_BOLD, 0);
ADD_TEXT(IDS_AINFO_LICENCE, Info->szLicence, CFE_BOLD, 0);
ADD_TEXT(IDS_AINFO_SIZE, Info->szSize, CFE_BOLD, 0);
ADD_TEXT(IDS_AINFO_URLSITE, Info->szUrlSite, CFE_BOLD, CFE_LINK);
ADD_TEXT(IDS_AINFO_DESCRIPTION, Info->szDesc, CFE_BOLD, 0);
return TRUE;
}
BOOL
EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc)
{
HANDLE hFind = INVALID_HANDLE_VALUE;
WIN32_FIND_DATAW FindFileData;
WCHAR szPath[MAX_PATH];
WCHAR szAppsPath[MAX_PATH];
WCHAR szSectionLocale[MAX_PATH] = L"Section.";
WCHAR szCabPath[MAX_PATH];
WCHAR szLocale[4 + 1];
APPLICATION_INFO Info;
if (!GetCurrentDirectoryW(MAX_PATH, szPath))
{
return FALSE;
}
swprintf(szCabPath, L"%s\\rappmgr.cab", szPath);
wcscat(szPath, L"\\rapps\\");
wcscpy(szAppsPath, szPath);
if (!CreateDirectory(szPath, NULL) &&
GetLastError() != ERROR_ALREADY_EXISTS)
{
return FALSE;
}
GetLocaleInfoW(GetUserDefaultLCID(), LOCALE_ILANGUAGE, szLocale, sizeof(szLocale) / sizeof(WCHAR));
wcscat(szSectionLocale, szLocale);
wcscat(szPath, L"*.txt");
hFind = FindFirstFileW(szPath, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
if (GetFileAttributesW(szCabPath) == 0xFFFFFFFF)
DownloadApplicationsDB(APPLICATION_DATEBASE_URL);
ExtractFilesFromCab(szCabPath, szAppsPath);
hFind = FindFirstFileW(szPath, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
return FALSE;
}
#define GET_STRING1(a, b) \
if (!ParserGetString(szSectionLocale, a, b, MAX_PATH, FindFileData.cFileName)) \
if (!ParserGetString(L"Section", a, b, MAX_PATH, FindFileData.cFileName)) \
continue;
#define GET_STRING2(a, b) \
if (!ParserGetString(szSectionLocale, a, b, MAX_PATH, FindFileData.cFileName)) \
if (!ParserGetString(L"Section", a, b, MAX_PATH, FindFileData.cFileName)) \
b[0] = '\0';
do
{
Info.Category = ParserGetInt(szSectionLocale, L"Category", FindFileData.cFileName);
if (Info.Category == -1)
{
Info.Category = ParserGetInt(L"Section", L"Category", FindFileData.cFileName);
if (Info.Category == -1)
continue;
}
if (EnumType != Info.Category && EnumType != ENUM_ALL_AVAILABLE) continue;
GET_STRING1(L"Name", Info.szName);
GET_STRING1(L"URLDownload", Info.szUrlDownload);
GET_STRING2(L"RegName", Info.szRegName);
GET_STRING2(L"Version", Info.szVersion);
GET_STRING2(L"Licence", Info.szLicence);
GET_STRING2(L"Description", Info.szDesc);
GET_STRING2(L"Size", Info.szSize);
GET_STRING2(L"URLSite", Info.szUrlSite);
GET_STRING2(L"CDPath", Info.szCDPath);
if (!lpEnumProc(Info)) break;
}
while (FindNextFileW(hFind, &FindFileData) != 0);
FindClose(hFind);
return TRUE;
}
@@ -0,0 +1,57 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/installdlg.c
* PURPOSE: "Download and Install" Dialog
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
static PAPPLICATION_INFO AppInfo;
static
INT_PTR CALLBACK
InstallDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
case WM_INITDIALOG:
{
}
break;
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
EndDialog(hDlg, LOWORD(wParam));
break;
}
}
break;
}
return FALSE;
}
BOOL
InstallApplication(INT Index)
{
if (!IS_AVAILABLE_ENUM(SelectedEnumType))
return FALSE;
AppInfo = (PAPPLICATION_INFO) ListViewGetlParam(Index);
if (!AppInfo) return FALSE;
DialogBox(hInst,
MAKEINTRESOURCE(IDD_INSTALL_DIALOG),
hMainWnd,
InstallDlgProc);
return TRUE;
}
+253
View File
@@ -0,0 +1,253 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/installed.c
* PURPOSE: Functions for working with installed applications
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
BOOL
GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString)
{
DWORD dwSize = MAX_PATH;
if (RegQueryValueExW(hKey,
lpKeyName,
NULL,
NULL,
(LPBYTE)lpString,
&dwSize) == ERROR_SUCCESS)
{
return TRUE;
}
wcscpy(lpString, L"---");
return FALSE;
}
BOOL
IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey)
{
DWORD dwSize = MAX_PATH, dwType;
WCHAR szName[MAX_PATH];
WCHAR szDisplayName[MAX_PATH];
HKEY hKey, hSubKey;
INT ItemIndex = 0;
if (RegOpenKeyW(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
&hKey) != ERROR_SUCCESS)
{
return FALSE;
}
while (RegEnumKeyExW(hKey, ItemIndex, szName, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
if (RegOpenKeyW(hKey, szName, &hSubKey) == ERROR_SUCCESS)
{
dwType = REG_SZ;
dwSize = MAX_PATH;
if (RegQueryValueExW(hSubKey,
L"DisplayName",
NULL,
&dwType,
(LPBYTE)szDisplayName,
&dwSize) == ERROR_SUCCESS)
{
if (wcscmp(szDisplayName, lpRegName) == 0)
{
RegCloseKey(hSubKey);
RegCloseKey(hKey);
return TRUE;
}
}
}
RegCloseKey(hSubKey);
dwSize = MAX_PATH;
ItemIndex++;
}
RegCloseKey(hKey);
return FALSE;
}
BOOL
UninstallApplication(INT Index, BOOL bModify)
{
WCHAR szModify[] = L"ModifyPath";
WCHAR szUninstall[] = L"UninstallString";
WCHAR szPath[MAX_PATH];
DWORD dwType, dwSize;
INT ItemIndex;
LVITEM Item;
HKEY hKey;
if (!IS_INSTALLED_ENUM(SelectedEnumType))
return FALSE;
if (Index == -1)
{
ItemIndex = (INT) SendMessageW(hListView, LVM_GETNEXTITEM, -1, LVNI_FOCUSED);
if (ItemIndex == -1)
return FALSE;
}
else
{
ItemIndex = Index;
}
ZeroMemory(&Item, sizeof(LVITEM));
Item.mask = LVIF_PARAM;
Item.iItem = ItemIndex;
if (!ListView_GetItem(hListView, &Item))
return FALSE;
hKey = (HKEY)Item.lParam;
dwType = REG_SZ;
dwSize = MAX_PATH;
if (RegQueryValueExW(hKey,
bModify ? szModify : szUninstall,
NULL,
&dwType,
(LPBYTE)szPath,
&dwSize) != ERROR_SUCCESS)
{
return FALSE;
}
return StartProcess(szPath, TRUE);
}
BOOL
ShowInstalledAppInfo(INT Index)
{
WCHAR szText[MAX_PATH], szInfo[MAX_PATH];
HKEY hKey = (HKEY) ListViewGetlParam(Index);
if (!hKey) return FALSE;
GetApplicationString(hKey, L"DisplayName", szText);
NewRichEditText(szText, CFE_BOLD);
InsertRichEditText(L"\n", 0);
#define GET_INFO(a, b, c, d) \
if (GetApplicationString(hKey, a, szInfo)) \
{ \
LoadStringW(hInst, b, szText, sizeof(szText) / sizeof(WCHAR)); \
InsertRichEditText(szText, c); \
InsertRichEditText(szInfo, d); \
} \
GET_INFO(L"DisplayVersion", IDS_INFO_VERSION, CFE_BOLD, 0);
GET_INFO(L"Publisher", IDS_INFO_PUBLISHER, CFE_BOLD, 0);
GET_INFO(L"RegOwner", IDS_INFO_REGOWNER, CFE_BOLD, 0);
GET_INFO(L"ProductID", IDS_INFO_PRODUCTID, CFE_BOLD, 0);
GET_INFO(L"HelpLink", IDS_INFO_HELPLINK, CFE_BOLD, CFM_LINK);
GET_INFO(L"HelpTelephone", IDS_INFO_HELPPHONE, CFE_BOLD, 0);
GET_INFO(L"Readme", IDS_INFO_README, CFE_BOLD, 0);
GET_INFO(L"Contact", IDS_INFO_CONTACT, CFE_BOLD, 0);
GET_INFO(L"URLUpdateInfo", IDS_INFO_UPDATEINFO, CFE_BOLD, CFM_LINK);
GET_INFO(L"URLInfoAbout", IDS_INFO_INFOABOUT, CFE_BOLD, CFM_LINK);
GET_INFO(L"Comments", IDS_INFO_COMMENTS, CFE_BOLD, 0);
GET_INFO(L"InstallDate", IDS_INFO_INSTALLDATE, CFE_BOLD, 0);
GET_INFO(L"InstallLocation", IDS_INFO_INSTLOCATION, CFE_BOLD, 0);
GET_INFO(L"InstallSource", IDS_INFO_INSTALLSRC, CFE_BOLD, 0);
GET_INFO(L"UninstallString", IDS_INFO_UNINSTALLSTR, CFE_BOLD, 0);
GET_INFO(L"InstallSource", IDS_INFO_INSTALLSRC, CFE_BOLD, 0);
GET_INFO(L"ModifyPath", IDS_INFO_MODIFYPATH, CFE_BOLD, 0);
return TRUE;
}
BOOL
EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc)
{
DWORD dwSize = MAX_PATH, dwType, dwValue;
BOOL bIsSystemComponent, bIsUpdate;
WCHAR pszName[MAX_PATH];
WCHAR pszParentKeyName[MAX_PATH];
WCHAR pszDisplayName[MAX_PATH];
HKEY hKey, hSubKey;
LONG ItemIndex = 0;
if (RegOpenKeyW(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
&hKey) != ERROR_SUCCESS)
{
return FALSE;
}
while (RegEnumKeyExW(hKey, ItemIndex, pszName, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
if (RegOpenKeyW(hKey, pszName, &hSubKey) == ERROR_SUCCESS)
{
dwType = REG_DWORD;
dwSize = sizeof(DWORD);
if (RegQueryValueExW(hSubKey,
L"SystemComponent",
NULL,
&dwType,
(LPBYTE)&dwValue,
&dwSize) == ERROR_SUCCESS)
{
bIsSystemComponent = (dwValue == 0x1);
}
else
{
bIsSystemComponent = FALSE;
}
dwType = REG_SZ;
dwSize = MAX_PATH;
bIsUpdate = (RegQueryValueExW(hSubKey,
L"ParentKeyName",
NULL,
&dwType,
(LPBYTE)pszParentKeyName,
&dwSize) == ERROR_SUCCESS);
dwSize = MAX_PATH;
if (RegQueryValueExW(hSubKey,
L"DisplayName",
NULL,
&dwType,
(LPBYTE)pszDisplayName,
&dwSize) == ERROR_SUCCESS)
{
if (EnumType < ENUM_ALL_COMPONENTS || EnumType > ENUM_UPDATES)
EnumType = ENUM_ALL_COMPONENTS;
if (!bIsSystemComponent)
{
if ((EnumType == ENUM_ALL_COMPONENTS) || /* All components */
((EnumType == ENUM_APPLICATIONS) && (!bIsUpdate)) || /* Applications only */
((EnumType == ENUM_UPDATES) && (bIsUpdate))) /* Updates only */
{
if (!lpEnumProc(ItemIndex, pszDisplayName, pszName, (LPARAM)hSubKey))
break;
}
}
}
}
dwSize = MAX_PATH;
ItemIndex++;
}
RegCloseKey(hKey);
return TRUE;
}
@@ -0,0 +1,167 @@
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Ôàéë"
BEGIN
MENUITEM "Íà&ñòðîéêè", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "Èç&õîä", ID_EXIT
END
POPUP "&Ïðèëîæåíèÿ"
BEGIN
MENUITEM "&Ñëàãàíå", ID_INSTALL
MENUITEM "&Ìàõàíå",ID_UNINSTALL
MENUITEM "&Ïðîìÿíà", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "Î&ïðåñíÿâàíå", ID_REFRESH
END
POPUP "Ïîìîù"
BEGIN
MENUITEM "Ïîìîù", ID_HELP, GRAYED
MENUITEM "Çà", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Îòâàðÿíå íà âðúçêàòà â îáçîðíèê", ID_OPEN_LINK
MENUITEM "&Çàïîìíÿíå íà âðúçêàòà â êîøíèöàòà", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Ñëàãàíå", ID_INSTALL
MENUITEM "&Ìàõàíå", ID_UNINSTALL
MENUITEM "&Ïðîìÿíà", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "Î&ïðåñíÿâàíå", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Íàñòðîéêè"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Äîáðå", IDOK, 255, 212, 60, 14
PUSHBUTTON "Îòêàç", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ñâàëÿíå è ñëàãàíå"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Äîáðå", IDOK, 255, 212, 60, 14
PUSHBUTTON "Îòêàç", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Ñâàëÿíå"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Îòêàç", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 210, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Çà"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ\nÂúçïðîèçâîäñòâåíè ïðàâà (C) 2009\nÄìèòðèé ×àïúéøåâ ([email protected])", IDC_STATIC, 48, 7, 150, 39
PUSHBUTTON "Çàòâàðÿíå", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Ñëàãàíå"
IDS_TOOLTIP_UNINSTALL "Ìàõàíå"
IDS_TOOLTIP_MODIFY "Ïðîìÿíà"
IDS_TOOLTIP_SETTINGS "Íàñòðîéêè"
IDS_TOOLTIP_REFRESH "Îïðåñíÿâàíå"
IDS_TOOLTIP_EXIT "Èçõîä"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Èìå"
IDS_APP_INST_VERSION "Èçäàíèå"
IDS_APP_DESCRIPTION "Îïèñàíèå"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nÂåðñèÿ: "
IDS_INFO_DESCRIPTION "\nÎïèñàíèå: "
IDS_INFO_PUBLISHER "\nÈçäàòåë: "
IDS_INFO_HELPLINK "\nÂðúçêà çà ïîìîù: "
IDS_INFO_HELPPHONE "\nÒåëåôîí çà ïîìîù: "
IDS_INFO_README "\nÏðî÷åòè ìå: "
IDS_INFO_REGOWNER "\nÂïèñàí ñîáñòâåíèê: "
IDS_INFO_PRODUCTID "\nÎçíà÷èòåë íà ïðîèçâåäåíèåòî: "
IDS_INFO_CONTACT "\nÑâðúçêà: "
IDS_INFO_UPDATEINFO "\nÑâåäåíèÿ çà îáíîâÿâàíå: "
IDS_INFO_INFOABOUT "\nÑâåäåíèÿ çà: "
IDS_INFO_COMMENTS "\nÇàáåëåæêè: "
IDS_INFO_INSTLOCATION "\nÑëîæåíî â: "
IDS_INFO_INSTALLSRC "\nÑëîæåíî îò: "
IDS_INFO_UNINSTALLSTR "\nÍèç çà ïðåìàõâàíå: "
IDS_INFO_MODIFYPATH "\nÏúò çà èçìåíåíèÿ: "
IDS_INFO_INSTALLDATE "\nÄàòà íà ñëàãàíå: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nÂåðñèÿ: "
IDS_AINFO_DESCRIPTION "\nÎïèñàíèå: "
IDS_AINFO_SIZE "\nÐàçìåð: "
IDS_AINFO_URLSITE "\nÄîìàøíà ñòðàíèöà: "
IDS_AINFO_LICENCE "\nÐàçðåøèòåëíî: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Çâóê"
IDS_CAT_DEVEL "Ðàçðàáîòêà"
IDS_CAT_DRIVERS "Âîäà÷è (äðàéâåðè)"
IDS_CAT_EDU "Îáðàçîâàíèå"
IDS_CAT_ENGINEER "Èíæåíåðñòâî"
IDS_CAT_FINANCE "Ôèíàíñè"
IDS_CAT_GAMES "Èãðè è çàáàâëåíèÿ"
IDS_CAT_GRAPHICS "Ãðàôèêà"
IDS_CAT_INTERNET "Èíòåðíåò è ìðåæà"
IDS_CAT_LIBS "Áèáëèîòåêè"
IDS_CAT_OFFICE "Ñëóæåáíè"
IDS_CAT_OTHER "Äðóãè"
IDS_CAT_SCIENCE "Íàóêà"
IDS_CAT_TOOLS "Ñðåäñòâà"
IDS_CAT_VIDEO "Âèäåî"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ"
IDS_SEARCH_TEXT "Òúðñåíå"
IDS_INSTALL "Ñëàãàíå"
IDS_UNINSTALL "Ìàõàíå"
IDS_MODIFY "Ïðîìÿíà"
IDS_APPS_COUNT "Áðîé ïðèëîæåíèÿ: %d"
IDS_WELCOME_TITLE "Óïðàâèòåëÿò çà ïðèëîæåíèÿ íà ÐåàêòÎÑ âè ïðèâåòñòâà!\n\n"
IDS_WELCOME_TEXT "Èçáåðåòå ðàçäåë îò ëÿâàòà ñòðàíà, ñëåä êîåòî èçáåðåòå ïðèëîæåíèå çà ñëàãàíå èëè ïðåìàõâàíå.\nÑòðàíèöàòà íà ÐåàêòÎÑ: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Ñëîæåíè"
IDS_AVAILABLEFORINST "Íàëè÷íî çà ñëàãàíå"
IDS_UPDATES "Îáíîâëåíèÿ"
IDS_APPLICATIONS "Ïðèëîæåíèÿ"
IDS_DOWNLOAD_FOLDER "Ñâàëÿíèÿ"
END
@@ -0,0 +1,167 @@
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
IDR_MAINMENU MENU
BEGIN
POPUP "&Datei"
BEGIN
MENUITEM "&Einstellungen", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Beenden", ID_EXIT
END
POPUP "&Programme"
BEGIN
MENUITEM "&Installieren", ID_INSTALL
MENUITEM "&Deinstallieren",ID_UNINSTALL
MENUITEM "&Ändern", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Aktualisieren", ID_REFRESH
END
POPUP "Hilfe"
BEGIN
MENUITEM "Hilfe", ID_HELP, GRAYED
MENUITEM "Über", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Öffne den Link in einem Browser", ID_OPEN_LINK
MENUITEM "&Kopiere den Link in die Zwischenablage", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Installieren", ID_INSTALL
MENUITEM "&Deinstallieren", ID_UNINSTALL
MENUITEM "&Ändern", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Aktualisieren", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Einstellungen"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Abbrechen", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Herunterladen und installieren"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Abbrechen", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Herunterladen..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Abbrechen", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Über"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Anwendungsmanager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Schließen", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Installieren"
IDS_TOOLTIP_UNINSTALL "Deinstallieren"
IDS_TOOLTIP_MODIFY "Ändern"
IDS_TOOLTIP_SETTINGS "Einstellungen"
IDS_TOOLTIP_REFRESH "Aktualisieren"
IDS_TOOLTIP_EXIT "Beenden"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Name"
IDS_APP_INST_VERSION "Version"
IDS_APP_DESCRIPTION "Beschreibung"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nVersion: "
IDS_INFO_DESCRIPTION "\nBeschreibung: "
IDS_INFO_PUBLISHER "\nPublisher: "
IDS_INFO_HELPLINK "\nHilfe-Link: "
IDS_INFO_HELPPHONE "\nHilfe-Telefonnr.: "
IDS_INFO_README "\nReadme: "
IDS_INFO_REGOWNER "\nregistrierter Eigentümer: "
IDS_INFO_PRODUCTID "\nProdukt-ID: "
IDS_INFO_CONTACT "\nKontaktt: "
IDS_INFO_UPDATEINFO "\nUpdate Information: "
IDS_INFO_INFOABOUT "\nInformation über: "
IDS_INFO_COMMENTS "\nKommentare: "
IDS_INFO_INSTLOCATION "\nInstallationsort: "
IDS_INFO_INSTALLSRC "\nInstallationsquelle: "
IDS_INFO_UNINSTALLSTR "\nDeinstallationsstring: "
IDS_INFO_MODIFYPATH "\nÄnderungspfad: "
IDS_INFO_INSTALLDATE "\nInstallationsdatum: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nVersion: "
IDS_AINFO_DESCRIPTION "\nBeschreibung: "
IDS_AINFO_SIZE "\nGröße: "
IDS_AINFO_URLSITE "\nHomepage: "
IDS_AINFO_LICENCE "\nLizenz: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Audio"
IDS_CAT_DEVEL "Entwicklung"
IDS_CAT_DRIVERS "Treiber"
IDS_CAT_EDU "Edutainment"
IDS_CAT_ENGINEER "Technische Anwendungen"
IDS_CAT_FINANCE "Finanzen"
IDS_CAT_GAMES "Spiele & Spaß"
IDS_CAT_GRAPHICS "Grafik"
IDS_CAT_INTERNET "Internet & Netzwerk"
IDS_CAT_LIBS "Bibliotheken"
IDS_CAT_OFFICE "Büro"
IDS_CAT_OTHER "Sonstiges"
IDS_CAT_SCIENCE "Wissenschaft"
IDS_CAT_TOOLS "Werkzeuge"
IDS_CAT_VIDEO "Video"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "ReactOS Anwendungsmanager"
IDS_SEARCH_TEXT "Suche..."
IDS_INSTALL "Installieren"
IDS_UNINSTALL "Deinstallieren"
IDS_MODIFY "Ändern"
IDS_APPS_COUNT "Anzahl der Anwendungen: %d"
IDS_WELCOME_TITLE "Willkommen im ReactOS Anwendungsmanager!\n\n"
IDS_WELCOME_TEXT "Wählen Sie links eine Kategorie und dann eine Anwendung um sie zu installieren oder zu deinstallieren.\nReactOS Webseite: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Installiert"
IDS_AVAILABLEFORINST "Zur Installation verfügbar"
IDS_UPDATES "Updates"
IDS_APPLICATIONS "Anwendungen"
IDS_DOWNLOAD_FOLDER "Downloads"
END
@@ -0,0 +1,167 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDR_MAINMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Settings", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "E&xit", ID_EXIT
END
POPUP "&Programs"
BEGIN
MENUITEM "&Install", ID_INSTALL
MENUITEM "&Uninstall",ID_UNINSTALL
MENUITEM "&Modify", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Refresh", ID_REFRESH
END
POPUP "Help"
BEGIN
MENUITEM "Help", ID_HELP, GRAYED
MENUITEM "About", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Open link in a browser", ID_OPEN_LINK
MENUITEM "&Copy link to clipboard", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Install", ID_INSTALL
MENUITEM "&Uninstall", ID_UNINSTALL
MENUITEM "&Modify", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Refresh", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Settings"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Cancel", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Download and Install"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Cancel", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Download..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Cancel", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "About"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Install"
IDS_TOOLTIP_UNINSTALL "Uninstall"
IDS_TOOLTIP_MODIFY "Modify"
IDS_TOOLTIP_SETTINGS "Settings"
IDS_TOOLTIP_REFRESH "Refresh"
IDS_TOOLTIP_EXIT "Exit"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Name"
IDS_APP_INST_VERSION "Version"
IDS_APP_DESCRIPTION "Description"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nVersion: "
IDS_INFO_DESCRIPTION "\nDescription: "
IDS_INFO_PUBLISHER "\nPublisher: "
IDS_INFO_HELPLINK "\nHelp Link: "
IDS_INFO_HELPPHONE "\nHelp Telephone: "
IDS_INFO_README "\nReadme: "
IDS_INFO_REGOWNER "\nRegistered Owner: "
IDS_INFO_PRODUCTID "\nProductID: "
IDS_INFO_CONTACT "\nContact: "
IDS_INFO_UPDATEINFO "\nUpdate Information: "
IDS_INFO_INFOABOUT "\nInformation About: "
IDS_INFO_COMMENTS "\nComments: "
IDS_INFO_INSTLOCATION "\nInstall Location: "
IDS_INFO_INSTALLSRC "\nInstall Source: "
IDS_INFO_UNINSTALLSTR "\nUninstall String: "
IDS_INFO_MODIFYPATH "\nModify Path: "
IDS_INFO_INSTALLDATE "\nInstall Date: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nVersion: "
IDS_AINFO_DESCRIPTION "\nDescription: "
IDS_AINFO_SIZE "\nSize: "
IDS_AINFO_URLSITE "\nHome Page: "
IDS_AINFO_LICENCE "\nLicence: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Audio"
IDS_CAT_DEVEL "Development"
IDS_CAT_DRIVERS "Drivers"
IDS_CAT_EDU "Edutainment"
IDS_CAT_ENGINEER "Engineering"
IDS_CAT_FINANCE "Finance"
IDS_CAT_GAMES "Games & Fun"
IDS_CAT_GRAPHICS "Graphics"
IDS_CAT_INTERNET "Internet & Network"
IDS_CAT_LIBS "Libraries"
IDS_CAT_OFFICE "Office"
IDS_CAT_OTHER "Other"
IDS_CAT_SCIENCE "Science"
IDS_CAT_TOOLS "Tools"
IDS_CAT_VIDEO "Video"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "ReactOS Applications Manager"
IDS_SEARCH_TEXT "Search..."
IDS_INSTALL "Install"
IDS_UNINSTALL "Uninstall"
IDS_MODIFY "Modify"
IDS_APPS_COUNT "Applications count: %d"
IDS_WELCOME_TITLE "Welcome to ReactOS Application Manager!\n\n"
IDS_WELCOME_TEXT "Choose a category on the left, then choose a application for install or uninstall.\nReactOS Web Site: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Installed"
IDS_AVAILABLEFORINST "Available for installation"
IDS_UPDATES "Updates"
IDS_APPLICATIONS "Applications"
IDS_DOWNLOAD_FOLDER "Downloads"
END
@@ -0,0 +1,167 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "設定(&S)", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "終了(&X)", ID_EXIT
END
POPUP "プログラム(&P)"
BEGIN
MENUITEM "インストール(&I)", ID_INSTALL
MENUITEM "アンインストール(&U)",ID_UNINSTALL
MENUITEM "変更(&M)", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "更新(&R)", ID_REFRESH
END
POPUP "ヘルプ"
BEGIN
MENUITEM "ヘルプ", ID_HELP, GRAYED
MENUITEM "バージョン情報", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "ブラウザでリンクを開く(&O)", ID_OPEN_LINK
MENUITEM "クリップボードにコピーする(&C)", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "インストール(&I)", ID_INSTALL
MENUITEM "アンインストール(&U)", ID_UNINSTALL
MENUITEM "変更(&M)", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "更新(&R)", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "設定"
FONT 9, "MS UI Gothic"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "キャンセル", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ダウンロードとインストール"
FONT 9, "MS UI Gothic"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "キャンセル", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "ダウンロード..."
FONT 9, "MS UI Gothic"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "キャンセル", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "バージョン情報"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "ReactOS アプリケーション マネージャー\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "閉じる", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "インストール"
IDS_TOOLTIP_UNINSTALL "アンインストール"
IDS_TOOLTIP_MODIFY "変更"
IDS_TOOLTIP_SETTINGS "設定"
IDS_TOOLTIP_REFRESH "更新"
IDS_TOOLTIP_EXIT "終了"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "名前"
IDS_APP_INST_VERSION "バージョン"
IDS_APP_DESCRIPTION "概要"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nバージョン: "
IDS_INFO_DESCRIPTION "\n概要: "
IDS_INFO_PUBLISHER "\n発行元: "
IDS_INFO_HELPLINK "\nヘルプへのリンク: "
IDS_INFO_HELPPHONE "\nヘルプの電話番号: "
IDS_INFO_README "\nReadmeの位置: "
IDS_INFO_REGOWNER "\n登録された所有者: "
IDS_INFO_PRODUCTID "\nプロダクトID: "
IDS_INFO_CONTACT "\n連絡先: "
IDS_INFO_UPDATEINFO "\nアップデート情報: "
IDS_INFO_INFOABOUT "\nこれに関する情報: "
IDS_INFO_COMMENTS "\nコメント: "
IDS_INFO_INSTLOCATION "\nインストール場所: "
IDS_INFO_INSTALLSRC "\nインストール元: "
IDS_INFO_UNINSTALLSTR "\nアンインストールに使用する文字列: "
IDS_INFO_MODIFYPATH "\n変更に使用するパス: "
IDS_INFO_INSTALLDATE "\nインストールした日付: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nバージョン: "
IDS_AINFO_DESCRIPTION "\n概要: "
IDS_AINFO_SIZE "\nサイズ: "
IDS_AINFO_URLSITE "\nホームページ: "
IDS_AINFO_LICENCE "\nライセンス: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "オーディオ"
IDS_CAT_DEVEL "開発"
IDS_CAT_DRIVERS "ドライバ"
IDS_CAT_EDU "教育"
IDS_CAT_ENGINEER "工学"
IDS_CAT_FINANCE "経営"
IDS_CAT_GAMES "ゲームとお楽しみ"
IDS_CAT_GRAPHICS "グラフィックス"
IDS_CAT_INTERNET "インターネットとネットワーク"
IDS_CAT_LIBS "ライブラリ"
IDS_CAT_OFFICE "オフィス"
IDS_CAT_OTHER "その他"
IDS_CAT_SCIENCE "科学"
IDS_CAT_TOOLS "ツール"
IDS_CAT_VIDEO "ビデオ"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "ReactOS アプリケーション マネージャー"
IDS_SEARCH_TEXT "検索..."
IDS_INSTALL "インストール"
IDS_UNINSTALL "アンインストール"
IDS_MODIFY "変更"
IDS_APPS_COUNT "アプリケーション数: %d"
IDS_WELCOME_TITLE "ReactOS アプリケーション マネージャーへようこそ!\n\n"
IDS_WELCOME_TEXT "左側からカテゴリを選択し、インストール又はアンインストールするアプリケーションを選んでください。\nReactOS ウェブ サイト: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "インストール済み"
IDS_AVAILABLEFORINST "インストール可能\"
IDS_UPDATES "アップデート"
IDS_APPLICATIONS "アプリケーション"
IDS_DOWNLOAD_FOLDER "ダウンロード"
END
@@ -0,0 +1,167 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
IDR_MAINMENU MENU
BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "&Innstillinger", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "A&vslutt", ID_EXIT
END
POPUP "&Programmer"
BEGIN
MENUITEM "&Installere", ID_INSTALL
MENUITEM "&Avinstallere",ID_UNINSTALL
MENUITEM "&Endre", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Oppdatere", ID_REFRESH
END
POPUP "Hjelp"
BEGIN
MENUITEM "Hjelp", ID_HELP, GRAYED
MENUITEM "Om", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Åpne lenke i en nettleser", ID_OPEN_LINK
MENUITEM "&Kopier lenke til utklipptavlen", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Installere", ID_INSTALL
MENUITEM "&Avinstallere", ID_UNINSTALL
MENUITEM "&Endre", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Oppdater", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Innstillinger"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Avbryt", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Last ned og installere"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Avbryt", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Lastet ned..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Om"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Programbehandler\nEnerett (C) 2009\nav Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Lukk", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Installere"
IDS_TOOLTIP_UNINSTALL "Avinstallere"
IDS_TOOLTIP_MODIFY "Rediger"
IDS_TOOLTIP_SETTINGS "Innstillinger"
IDS_TOOLTIP_REFRESH "Oppdatere"
IDS_TOOLTIP_EXIT "Avslutt"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Navn"
IDS_APP_INST_VERSION "Versjon"
IDS_APP_DESCRIPTION "Beskrivelse"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nVersjon: "
IDS_INFO_DESCRIPTION "\nBeskrivelse: "
IDS_INFO_PUBLISHER "\nUtgiver: "
IDS_INFO_HELPLINK "\nHjelpelenke: "
IDS_INFO_HELPPHONE "\nHjelptelefon: "
IDS_INFO_README "\nLes meg: "
IDS_INFO_REGOWNER "\nRegistert eier: "
IDS_INFO_PRODUCTID "\nProdukt ID: "
IDS_INFO_CONTACT "\nKontakt: "
IDS_INFO_UPDATEINFO "\nOppdatert informasjon: "
IDS_INFO_INFOABOUT "\nInformasjon om: "
IDS_INFO_COMMENTS "\nKomentarer: "
IDS_INFO_INSTLOCATION "\nInstallering plassering: "
IDS_INFO_INSTALLSRC "\nInstallering kilde: "
IDS_INFO_UNINSTALLSTR "\nAvinstallering plassering: "
IDS_INFO_MODIFYPATH "\nEndret mappe: "
IDS_INFO_INSTALLDATE "\nInstallert dato: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nVersjon: "
IDS_AINFO_DESCRIPTION "\nBeskrivelse: "
IDS_AINFO_SIZE "\nStørrelse: "
IDS_AINFO_URLSITE "\nHjemmeside: "
IDS_AINFO_LICENCE "\nLisens: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Lyd"
IDS_CAT_DEVEL "Utvikling"
IDS_CAT_DRIVERS "Drivere"
IDS_CAT_EDU "Edutainment"
IDS_CAT_ENGINEER "Engineering"
IDS_CAT_FINANCE "Finans"
IDS_CAT_GAMES "Spill & morro"
IDS_CAT_GRAPHICS "Grafikk"
IDS_CAT_INTERNET "Internett & Nettverk"
IDS_CAT_LIBS "Biblioteker"
IDS_CAT_OFFICE "Kontor"
IDS_CAT_OTHER "Andre"
IDS_CAT_SCIENCE "Vitenskap"
IDS_CAT_TOOLS "Verktøy"
IDS_CAT_VIDEO "Filmer"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "ReactOS programbehandler"
IDS_SEARCH_TEXT "Søk..."
IDS_INSTALL "Installere"
IDS_UNINSTALL "Avinstallere"
IDS_MODIFY "Endre"
IDS_APPS_COUNT "Program oppsummering: %d"
IDS_WELCOME_TITLE "Velkommen til ReactOS programbehandler!\n\n"
IDS_WELCOME_TEXT "Velg en kategori til venstre, og velg et program for installere eller avinstallere programvaren.\nReactOS internettside: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Installert"
IDS_AVAILABLEFORINST "Tilgjengelig for installasjon"
IDS_UPDATES "Oppdateringer"
IDS_APPLICATIONS "Programmer"
IDS_DOWNLOAD_FOLDER "Nedlastinger"
END
@@ -0,0 +1,169 @@
// * translated by Caemyr - Olaf Siejka (Aug, 2009)
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Plik"
BEGIN
MENUITEM "&Ustawienia", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Wyjœcie", ID_EXIT
END
POPUP "&Programy"
BEGIN
MENUITEM "&Instaluj", ID_INSTALL
MENUITEM "&Odinstaluj",ID_UNINSTALL
MENUITEM "&Modyfikuj", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "O&dœwie¿", ID_REFRESH
END
POPUP "Pomoc"
BEGIN
MENUITEM "Pomoc", ID_HELP, GRAYED
MENUITEM "O programie", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Otwórz link w przegl¹darce", ID_OPEN_LINK
MENUITEM "&Skopiuj link do przegl¹darki", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Instaluj", ID_INSTALL
MENUITEM "&odinstaluj", ID_UNINSTALL
MENUITEM "&Modyfikuj", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Odœwie¿", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ustawienia"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Anuluj", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Œci¹gnij i zainstaluj"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Anuluj", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Œci¹gnij..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Anuluj", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "O programie"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Instaluj"
IDS_TOOLTIP_UNINSTALL "Odinstaluj"
IDS_TOOLTIP_MODIFY "Modyfikuj"
IDS_TOOLTIP_SETTINGS "Ustawienia"
IDS_TOOLTIP_REFRESH "Odœwie¿"
IDS_TOOLTIP_EXIT "Wyjœcie"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Nazwa"
IDS_APP_INST_VERSION "Wersja"
IDS_APP_DESCRIPTION "Opis"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nWersja: "
IDS_INFO_DESCRIPTION "\nOpis: "
IDS_INFO_PUBLISHER "\nAutor: "
IDS_INFO_HELPLINK "\nLink do pomocy: "
IDS_INFO_HELPPHONE "\nInfolinia: "
IDS_INFO_README "\nPrzeczytaj.to: "
IDS_INFO_REGOWNER "\nW³aœciciel: "
IDS_INFO_PRODUCTID "\nProductID: "
IDS_INFO_CONTACT "\nKontakt: "
IDS_INFO_UPDATEINFO "\nAktualizacje: "
IDS_INFO_INFOABOUT "\nInformacje: "
IDS_INFO_COMMENTS "\nKomentarze: "
IDS_INFO_INSTLOCATION "\nScie¿ka instalacji: "
IDS_INFO_INSTALLSRC "\nród³o instalacji: "
IDS_INFO_UNINSTALLSTR "\nKomenda deinstalacji: "
IDS_INFO_MODIFYPATH "\nModify Path: "
IDS_INFO_INSTALLDATE "\nData instalacji: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nWersja: "
IDS_AINFO_DESCRIPTION "\nOpis: "
IDS_AINFO_SIZE "\nRozmiar: "
IDS_AINFO_URLSITE "\nStrona: "
IDS_AINFO_LICENCE "\nLicencja: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "DŸwiêk"
IDS_CAT_DEVEL "Programowanie"
IDS_CAT_DRIVERS "Sterowniki"
IDS_CAT_EDU "Edukacja"
IDS_CAT_ENGINEER "In¿ynieria"
IDS_CAT_FINANCE "Finanse"
IDS_CAT_GAMES "Gry i rozrywka"
IDS_CAT_GRAPHICS "Grafika"
IDS_CAT_INTERNET "Internet i Sieci"
IDS_CAT_LIBS "Biblioteki"
IDS_CAT_OFFICE "Biurowe"
IDS_CAT_OTHER "Inne"
IDS_CAT_SCIENCE "Nauka"
IDS_CAT_TOOLS "Narzêdzia"
IDS_CAT_VIDEO "Wideo"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "Mened¿er aplikacji ReactOS"
IDS_SEARCH_TEXT "Szukaj..."
IDS_INSTALL "Instaluj"
IDS_UNINSTALL "Odinstaluj"
IDS_MODIFY "Modyfikuj"
IDS_APPS_COUNT "Licznik aplikacji: %d"
IDS_WELCOME_TITLE "Witamy w Mened¿erze aplikacji ReactOS!\n\n"
IDS_WELCOME_TEXT "Z listy po lewej wybierz kategoriê, a nastêpnie aplikacjê by j¹ zainstalowaæ lub odinstalowaæ.\nStrona projektu ReactOS: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Zainstalowane"
IDS_AVAILABLEFORINST "Dostêpne"
IDS_UPDATES "Uaktualnienia"
IDS_APPLICATIONS "Aplikacje"
IDS_DOWNLOAD_FOLDER "Œci¹gniête"
END
@@ -0,0 +1,167 @@
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Ôàéë"
BEGIN
MENUITEM "&Ïàðàìåòðû", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Âûõîä", ID_EXIT
END
POPUP "&Ïðîãðàììû"
BEGIN
MENUITEM "&Óñòàíîâèòü", ID_INSTALL
MENUITEM "&Óäàëèòü", ID_UNINSTALL
MENUITEM "&Èçìåíèòü", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Îáíîâèòü", ID_REFRESH
END
POPUP "Ñïðàâêà"
BEGIN
MENUITEM "Ñîäåðæàíèå", ID_HELP, GRAYED
MENUITEM "Î ïðîãðàììå", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Îòêðûòü ññûëêó â áðàóçåðå", ID_OPEN_LINK
MENUITEM "&Êîïèðîâàòü ññûëêó â áóôåð", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Óñòàíîâèòü", ID_INSTALL
MENUITEM "&Óäàëèòü", ID_UNINSTALL
MENUITEM "&Èçìåíèòü", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Îáíîâèòü", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ïàðàìåòðû"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Îòìåíà", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Ñêà÷àòü è óñòàíîâèòü"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Îòìåíà", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Çàãðóçêà..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Îòìåíà", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Î ïðîãðàììå"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Ìåíåäæåð ïðèëîæåíèé ReactOS\nÀâòîðñêèå ïðàâà (C) 2009\nÄìèòðèé ×àïûøåâ ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Çàêðûòü", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Óñòàíîâèòü"
IDS_TOOLTIP_UNINSTALL "Óäàëèòü"
IDS_TOOLTIP_MODIFY "Èçìåíèòü"
IDS_TOOLTIP_SETTINGS "Ïàðàìåòðû"
IDS_TOOLTIP_REFRESH "Îáíîâèòü"
IDS_TOOLTIP_EXIT "Âûõîä"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Íàçâàíèå"
IDS_APP_INST_VERSION "Âåðñèÿ"
IDS_APP_DESCRIPTION "Îïèñàíèå"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nÂåðñèÿ: "
IDS_INFO_DESCRIPTION "\nÎïèñàíèå: "
IDS_INFO_PUBLISHER "\nÈçäàòåëü: "
IDS_INFO_HELPLINK "\nÑñûëêà ïîääåðæêè: "
IDS_INFO_HELPPHONE "\nÒåëåôîí ïîääåðæêè: "
IDS_INFO_README "\nÔàéë ""Readme"": "
IDS_INFO_REGOWNER "\nÇàðåãèñòðèðîâàííûé âëàäåëåö: "
IDS_INFO_PRODUCTID "\nÊîä ïðîäóêòà: "
IDS_INFO_CONTACT "\nÊîíòàêò: "
IDS_INFO_UPDATEINFO "\nÈíôîðìàöèÿ îá îáíîâëåíèÿõ: "
IDS_INFO_INFOABOUT "\nÈíôîðìàöèÿ î ïðîãðàììå: "
IDS_INFO_COMMENTS "\nÊîììåíòàðèè: "
IDS_INFO_INSTLOCATION "\nÓñòàíîâëåíî èç: "
IDS_INFO_INSTALLSRC "\nÈñòî÷íèê óñòàíîâêè: "
IDS_INFO_UNINSTALLSTR "\nÑòðîêà äëÿ óäàëåíèÿ: "
IDS_INFO_MODIFYPATH "\nÑòðîêà äëÿ èçìåíåíèÿ: "
IDS_INFO_INSTALLDATE "\nÄàòà óñòàíîâêè: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nÂåðñèÿ: "
IDS_AINFO_DESCRIPTION "\nÎïèñàíèå: "
IDS_AINFO_SIZE "\nÐàçìåð: "
IDS_AINFO_URLSITE "\nÄîìàøíÿÿ ñòðàíèöà: "
IDS_AINFO_LICENCE "\nËèöåíçèÿ: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Àóäèî"
IDS_CAT_DEVEL "Ðàçðàáîòêà"
IDS_CAT_DRIVERS "Äðàéâåðû"
IDS_CAT_EDU "Îáðàçîâàíèå"
IDS_CAT_ENGINEER "Èíæåíåðíûå"
IDS_CAT_FINANCE "Ôèíàíñû"
IDS_CAT_GAMES "Èãðû è ðàçâëå÷åíèÿ"
IDS_CAT_GRAPHICS "Ãðàôèêà"
IDS_CAT_INTERNET "Èíòåðíåò è ñåòü"
IDS_CAT_LIBS "Áèáëèîòåêè"
IDS_CAT_OFFICE "Îôèñ"
IDS_CAT_OTHER "Ðàçíîå"
IDS_CAT_SCIENCE "Íàóêà"
IDS_CAT_TOOLS "Èíñòðóìåíòû"
IDS_CAT_VIDEO "Âèäåî"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "Ìåíåäæåð ïðèëîæåíèé ReactOS"
IDS_SEARCH_TEXT "Ïîèñê..."
IDS_INSTALL "Óñòàíîâèòü"
IDS_UNINSTALL "Óäàëèòü"
IDS_MODIFY "Èçìåíèòü"
IDS_APPS_COUNT "Êîëè÷åñòâî: %d"
IDS_WELCOME_TITLE "Äîáðî ïîæàëîâàòü â ""Ìåíåäæåð ïðèëîæåíèé ReactOS""!\n\n"
IDS_WELCOME_TEXT "Âûáåðèòå êàòåãîðèþ ñëåâà è ïðèëîæåíèå äëÿ óñòàíîâêè èëè óäàëåíèÿ.\nÑàéò ReactOS: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Óñòàíîâëåííûå"
IDS_AVAILABLEFORINST "Äîñòóïíî äëÿ óñòàíîâêè"
IDS_UPDATES "Îáíîâëåíèÿ"
IDS_APPLICATIONS "Ïðèëîæåíèÿ"
IDS_DOWNLOAD_FOLDER "Downloads"
END
@@ -0,0 +1,172 @@
/* TRANSLATOR : Mário Kaèmár /Mario Kacmar/ aka Kario ([email protected])
* DATE OF TR.: 29-08-2009
* LAST CHANGE: 29-08-2009
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Súbor"
BEGIN
MENUITEM "&Nastavenia", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "S&konèi", ID_EXIT
END
POPUP "&Programy"
BEGIN
MENUITEM "&Inštalova", ID_INSTALL
MENUITEM "O&dinštalova", ID_UNINSTALL
MENUITEM "&Zmeni", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Obnovi", ID_REFRESH
END
POPUP "Pomocník"
BEGIN
MENUITEM "Pomocník", ID_HELP, GRAYED
MENUITEM "Èo je ...", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Otvori linku v prehliadaèi", ID_OPEN_LINK
MENUITEM "&Kopírova linku do schránky", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Inštalova", ID_INSTALL
MENUITEM "O&dinštalova", ID_UNINSTALL
MENUITEM "&Zmeni", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Obnovi", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Nastavenia"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Zruši", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Stiahnu a nainštalova"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "OK", IDOK, 255, 212, 60, 14
PUSHBUTTON "Zruši", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Sahujem ..." // Stiahnu ???
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "Zruši", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Èo je Manažér aplikácií systému ReactOS"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Manažér aplikácií systému ReactOS\nAutorské práva (C) 2009\nod Dmitry Chapyshev ([email protected])\nPreklad: Mário Kaèmár ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Zavrie", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Inštalova"
IDS_TOOLTIP_UNINSTALL "Odinštalova"
IDS_TOOLTIP_MODIFY "Zmeni"
IDS_TOOLTIP_SETTINGS "Nastavenia"
IDS_TOOLTIP_REFRESH "Obnovi"
IDS_TOOLTIP_EXIT "Skonèi"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "Názov"
IDS_APP_INST_VERSION "Verzia"
IDS_APP_DESCRIPTION "Popis"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nVerzia: "
IDS_INFO_DESCRIPTION "\nPopis: "
IDS_INFO_PUBLISHER "\nPublisher: "
IDS_INFO_HELPLINK "\nHelp Link: "
IDS_INFO_HELPPHONE "\nHelp Telephone: "
IDS_INFO_README "\nReadme: "
IDS_INFO_REGOWNER "\nRegistered Owner: "
IDS_INFO_PRODUCTID "\nProductID: "
IDS_INFO_CONTACT "\nKontakt: "
IDS_INFO_UPDATEINFO "\nUpdate Information: "
IDS_INFO_INFOABOUT "\nInformation About: "
IDS_INFO_COMMENTS "\nComments: "
IDS_INFO_INSTLOCATION "\nInstall Location: "
IDS_INFO_INSTALLSRC "\nInstall Source: "
IDS_INFO_UNINSTALLSTR "\nUninstall String: "
IDS_INFO_MODIFYPATH "\nModify Path: "
IDS_INFO_INSTALLDATE "\nInstall Date: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nVerzia: "
IDS_AINFO_DESCRIPTION "\nPopis: "
IDS_AINFO_SIZE "\nVe¾kos: "
IDS_AINFO_URLSITE "\nDomovská stránka: "
IDS_AINFO_LICENCE "\nLicencia: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Audio"
IDS_CAT_DEVEL "Vývojárske" // Development, vývoj??
IDS_CAT_DRIVERS "Ovládaèe" // Drivers
IDS_CAT_EDU "Vzdelávacie" // Edutainment
IDS_CAT_ENGINEER "Inžinierske" // Engineering, konštrukèné??
IDS_CAT_FINANCE "Finanèné" // Finance, peòažníctvo??
IDS_CAT_GAMES "Hry & zábava" // Games & Fun, zábavné??
IDS_CAT_GRAPHICS "Grafické" // Graphics
IDS_CAT_INTERNET "Internet & sie"
IDS_CAT_LIBS "Knižnice"
IDS_CAT_OFFICE "Kancelárske" // Office
IDS_CAT_OTHER "Iné"
IDS_CAT_SCIENCE "Vedecké" // Science
IDS_CAT_TOOLS "Nástroje" // Tools
IDS_CAT_VIDEO "Video"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "Manažér aplikácií systému ReactOS"
IDS_SEARCH_TEXT "H¾ada..."
IDS_INSTALL "Inštalova"
IDS_UNINSTALL "Odinštalova"
IDS_MODIFY "Zmeni"
IDS_APPS_COUNT "Poèet programov: %d"
IDS_WELCOME_TITLE "Víta Vás Manažér aplikácií systému ReactOS!\n\n" // ReactOS Application Manager
IDS_WELCOME_TEXT "Vyberte si kategóriu na ¾avej strane, potom vyberte aplikáciu, ktorú chcete nainštalova alebo odinštalova.\nWebstránka projektu ReactOS: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Nainštalované"
IDS_AVAILABLEFORINST "Dostupné pre nainštalovanie"
IDS_UPDATES "Aktualizácie"
IDS_APPLICATIONS "Aplikácie"
IDS_DOWNLOAD_FOLDER "Sahovania" // Downloads
END
@@ -0,0 +1,175 @@
/*
* PROJECT: ReactOS ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for ReactOS ReactOS Applications Manager
* TRANSLATOR: Sakara Yevhen
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
IDR_MAINMENU MENU
BEGIN
POPUP "&Ôàéë"
BEGIN
MENUITEM "&Íàëàøòóâàííÿ", ID_SETTINGS, GRAYED
MENUITEM SEPARATOR
MENUITEM "Â&èõ³ä", ID_EXIT
END
POPUP "&Ïðîãðàìè"
BEGIN
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
MENUITEM "&Âèäàëèòè",ID_UNINSTALL
MENUITEM "&Çì³íèòè", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Îíîâèòè", ID_REFRESH
END
POPUP "Äîâ³äêà"
BEGIN
MENUITEM "Äîâ³äêà", ID_HELP, GRAYED
MENUITEM "Ïðî ïðîãðàìó...", ID_ABOUT
END
END
IDR_LINKMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&³äêðèòè ïîñèëàííÿ â áðàóçåð³", ID_OPEN_LINK
MENUITEM "&Êîï³þâàòè ïîñèëàííÿ â áóôåð îáì³íó", ID_COPY_LINK
END
END
IDR_APPLICATIONMENU MENU
BEGIN
POPUP "popup"
BEGIN
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
MENUITEM "&Âèäàëèòè", ID_UNINSTALL
MENUITEM "&Çì³íèòè", ID_MODIFY
MENUITEM SEPARATOR
MENUITEM "&Îíîâèòè", ID_REFRESH
END
END
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Íàëàøòóâàííÿ"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Òàê", IDOK, 255, 212, 60, 14
PUSHBUTTON "ͳ", IDCANCEL, 320, 212, 60, 14
END
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 386, 231
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Çàâàíòàæèòè ³ âñòàíîâèòè"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Òàê", IDOK, 255, 212, 60, 14
PUSHBUTTON "ͳ", IDCANCEL, 320, 212, 60, 14
END
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
CAPTION "Çàâàíòàæåííÿ..."
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER
PUSHBUTTON "³äì³íèòè", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP
END
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
CAPTION "Ïðî ïðîãðàìó..."
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Ìåíåäæåð äîäàòê³â ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev ([email protected])", IDC_STATIC, 48, 7, 130, 39
PUSHBUTTON "Çàêðèòè", IDOK, 133, 46, 50, 14
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_TOOLTIP_INSTALL "Âñòàíîâèòè"
IDS_TOOLTIP_UNINSTALL "Âèäàëèòè"
IDS_TOOLTIP_MODIFY "Çì³íèòè"
IDS_TOOLTIP_SETTINGS "Íàëàøòóâàííÿ"
IDS_TOOLTIP_REFRESH "Îíîâèòè"
IDS_TOOLTIP_EXIT "Âèõ³ä"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_NAME "²ì’ÿ"
IDS_APP_INST_VERSION "Âåðñ³ÿ"
IDS_APP_DESCRIPTION "Îïèñ"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_INFO_VERSION "\nÂåðñ³ÿ: "
IDS_INFO_DESCRIPTION "\nÎïèñ: "
IDS_INFO_PUBLISHER "\nÂèäàâåöü: "
IDS_INFO_HELPLINK "\nÏîñèëàííÿ ï³äòðèìêè: "
IDS_INFO_HELPPHONE "\nÒåëåôîí ï³äòðèìêè: "
IDS_INFO_README "\n²íôîðìàö³ÿ: "
IDS_INFO_REGOWNER "\nÇàðåºñòðîâàíèé âëàñíèê: "
IDS_INFO_PRODUCTID "\nID ïðîäóêòó: "
IDS_INFO_CONTACT "\nÊîíòàêòíà ³íôîðìàö³ÿ: "
IDS_INFO_UPDATEINFO "\nÎíîâëåííÿ ³íôîðìàö³¿: "
IDS_INFO_INFOABOUT "\nÏðî ³íôîðìàö³ÿ: "
IDS_INFO_COMMENTS "\nÊîìåíòàð³: "
IDS_INFO_INSTLOCATION "\nÂñòàíîâëåííÿ ìîâíèõ ëîêàö³é: "
IDS_INFO_INSTALLSRC "\nÂñòàíîâèòè âèõ³äíèé êîä: "
IDS_INFO_UNINSTALLSTR "\nÂèäàëèòè ðÿäîê: "
IDS_INFO_MODIFYPATH "\nÇì³íèòè øëÿõ: "
IDS_INFO_INSTALLDATE "\nÂñòàíîâèòè äàòó: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_AINFO_VERSION "\nÂåðñ³ÿ: "
IDS_AINFO_DESCRIPTION "\nÎïèñ: "
IDS_AINFO_SIZE "\nÐîçì³ð: "
IDS_AINFO_URLSITE "\nÄîìàøíÿ ñòîð³íêà: "
IDS_AINFO_LICENCE "\n˳öåíç³ÿ: "
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_CAT_AUDIO "Àóä³î"
IDS_CAT_DEVEL "Ðîçðîáêà"
IDS_CAT_DRIVERS "Äðàéâåðè"
IDS_CAT_EDU "Ðîçâèòîê"
IDS_CAT_ENGINEER "Òåõí³êà"
IDS_CAT_FINANCE "Ô³íàíñè "
IDS_CAT_GAMES "²ãðè òà ðîçâàãè"
IDS_CAT_GRAPHICS "Ãðàô³êà"
IDS_CAT_INTERNET "²íòåðíåò ³ ìåðåæà"
IDS_CAT_LIBS "Á³áë³îòåêè"
IDS_CAT_OFFICE "Îô³ñ"
IDS_CAT_OTHER "²íøå"
IDS_CAT_SCIENCE "Íàóêà"
IDS_CAT_TOOLS "²íñòðóìåíòè"
IDS_CAT_VIDEO "³äåî"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_APPTITLE "Ìåíåäæåð äîäàòê³â ReactOS"
IDS_SEARCH_TEXT "Ïîøóê..."
IDS_INSTALL "Âñòàíîâèòè"
IDS_UNINSTALL "Âèäàëèòè"
IDS_MODIFY "Çì³íèòè"
IDS_APPS_COUNT "ʳëüê³ñòü äîäàòê³â: %d"
IDS_WELCOME_TITLE "Ëàñêàâî ïðîñèìî â Ìåíåäæåð äîäàòê³â ReactOS!\n\n"
IDS_WELCOME_TEXT "Âèáåð³òü êàòåãîð³þ çë³âà, à ïîò³ì âèáåð³òü ïðîãðàìè äëÿ âñòàíîâëåííÿ ÷è âèäàëåííÿ.\nÑòîð³íêà ReactOS: "
IDS_WELCOME_URL "http://www.reactos.org"
IDS_INSTALLED "Âñòàíîâëåíà"
IDS_AVAILABLEFORINST "Äîñòóïí³ äëÿ âñòàíîâëåííÿ"
IDS_UPDATES "Îíîâëåííÿ"
IDS_APPLICATIONS "Äîäàòêè"
IDS_DOWNLOAD_FOLDER "Çàâàíòàæåííÿ"
END
+122
View File
@@ -0,0 +1,122 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/listview.c
* PURPOSE: ListView functions
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
HWND hListView;
BOOL bAscending = TRUE;
PVOID
ListViewGetlParam(INT Index)
{
INT ItemIndex;
LVITEM Item;
if (Index == -1)
{
ItemIndex = (INT) SendMessage(hListView, LVM_GETNEXTITEM, -1, LVNI_FOCUSED);
if (ItemIndex == -1)
return NULL;
}
else
{
ItemIndex = Index;
}
ZeroMemory(&Item, sizeof(LVITEM));
Item.mask = LVIF_PARAM;
Item.iItem = ItemIndex;
if (!ListView_GetItem(hListView, &Item))
return NULL;
return (PVOID)Item.lParam;
}
BOOL
ListViewAddColumn(INT Index, LPWSTR lpText, INT Width, INT Format)
{
LV_COLUMN Column;
ZeroMemory(&Column, sizeof(LV_COLUMN));
Column.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
Column.iSubItem = Index;
Column.pszText = (LPTSTR)lpText;
Column.cx = Width;
Column.fmt = Format;
return (ListView_InsertColumn(hListView, Index, &Column) == -1) ? FALSE : TRUE;
}
INT
ListViewAddItem(INT ItemIndex, INT IconIndex, LPWSTR lpText, LPARAM lParam)
{
LV_ITEMW Item;
ZeroMemory(&Item, sizeof(LV_ITEM));
Item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
Item.pszText = lpText;
Item.lParam = lParam;
Item.iItem = ItemIndex;
Item.iImage = IconIndex;
return ListView_InsertItem(hListView, &Item);
}
INT
CALLBACK
ListViewCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
WCHAR Item1[MAX_STR_LEN], Item2[MAX_STR_LEN];
LVFINDINFO IndexInfo;
INT Index;
IndexInfo.flags = LVFI_PARAM;
IndexInfo.lParam = lParam1;
Index = ListView_FindItem(hListView, -1, &IndexInfo);
ListView_GetItemText(hListView, Index, (INT)lParamSort, Item1, sizeof(Item1) / sizeof(WCHAR));
IndexInfo.lParam = lParam2;
Index = ListView_FindItem(hListView, -1, &IndexInfo);
ListView_GetItemText(hListView, Index, (INT)lParamSort, Item2, sizeof(Item2) / sizeof(WCHAR));
if (bAscending)
return wcscmp(Item2, Item1);
else
return wcscmp(Item1, Item2);
return 0;
}
BOOL
CreateListView(HWND hwnd)
{
hListView = CreateWindowExW(WS_EX_CLIENTEDGE,
WC_LISTVIEWW,
L"",
WS_CHILD | WS_VISIBLE | LVS_SORTASCENDING | LVS_REPORT | LVS_SINGLESEL,
205, 28, 465, 250,
hwnd,
NULL,
hInst,
NULL);
if (!hListView)
{
/* TODO: Show error message */
return FALSE;
}
(VOID) ListView_SetExtendedListViewStyle(hListView, LVS_EX_FULLROWSELECT);
return TRUE;
}
+402
View File
@@ -0,0 +1,402 @@
/* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/download.c
* PURPOSE: Displaying a download dialog
* COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers)
* Copyright 2004 Mike McCormack (for CodeWeavers)
* Copyright 2005 Ge van Geldorp ([email protected])
* Copyright 2009 Dmitry Chapyshev ([email protected])
*/
/*
* Based on Wine dlls/shdocvw/shdocvw_main.c
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#define COBJMACROS
#define WIN32_NO_STATUS
#include "rapps.h"
#include "resource.h"
#include <commctrl.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <urlmon.h>
static PAPPLICATION_INFO AppInfo;
typedef struct _IBindStatusCallbackImpl
{
const IBindStatusCallbackVtbl *vtbl;
LONG ref;
HWND hDialog;
BOOL *pbCancelled;
} IBindStatusCallbackImpl;
static
HRESULT WINAPI
dlQueryInterface(IBindStatusCallback* This, REFIID riid, void** ppvObject)
{
if (!ppvObject) return E_POINTER;
if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IBindStatusCallback))
{
IBindStatusCallback_AddRef(This);
*ppvObject = This;
return S_OK;
}
return E_NOINTERFACE;
}
static
ULONG WINAPI
dlAddRef(IBindStatusCallback* iface)
{
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl*) iface;
return InterlockedIncrement(&This->ref);
}
static
ULONG WINAPI
dlRelease(IBindStatusCallback* iface)
{
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl*) iface;
DWORD ref = InterlockedDecrement(&This->ref);
if (!ref)
{
DestroyWindow(This->hDialog);
HeapFree(GetProcessHeap(), 0, This);
}
return ref;
}
static
HRESULT WINAPI
dlOnStartBinding(IBindStatusCallback* iface, DWORD dwReserved, IBinding* pib)
{
return S_OK;
}
static
HRESULT WINAPI
dlGetPriority(IBindStatusCallback* iface, LONG* pnPriority)
{
return S_OK;
}
static
HRESULT WINAPI
dlOnLowResource( IBindStatusCallback* iface, DWORD reserved)
{
return S_OK;
}
static
HRESULT WINAPI
dlOnProgress(IBindStatusCallback* iface,
ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText)
{
IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
HWND Item;
LONG r;
WCHAR OldText[100];
Item = GetDlgItem(This->hDialog, IDC_DOWNLOAD_PROGRESS);
if (Item && ulProgressMax)
{
SendMessageW(Item, PBM_SETPOS, ((ULONGLONG)ulProgress * 100) / ulProgressMax, 0);
}
Item = GetDlgItem(This->hDialog, IDC_DOWNLOAD_STATUS);
if (Item && szStatusText)
{
SendMessageW(Item, WM_GETTEXT, sizeof(OldText) / sizeof(OldText[0]), (LPARAM) OldText);
if (sizeof(OldText) / sizeof(OldText[0]) - 1 <= wcslen(OldText) || 0 != wcscmp(OldText, szStatusText))
{
SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) szStatusText);
}
}
SetLastError(0);
r = GetWindowLongPtrW(This->hDialog, GWLP_USERDATA);
if (0 != r || 0 != GetLastError())
{
*This->pbCancelled = TRUE;
return E_ABORT;
}
return S_OK;
}
static
HRESULT WINAPI
dlOnStopBinding(IBindStatusCallback* iface, HRESULT hresult, LPCWSTR szError)
{
return S_OK;
}
static
HRESULT WINAPI
dlGetBindInfo(IBindStatusCallback* iface, DWORD* grfBINDF, BINDINFO* pbindinfo)
{
return S_OK;
}
static
HRESULT WINAPI
dlOnDataAvailable(IBindStatusCallback* iface, DWORD grfBSCF,
DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
{
return S_OK;
}
static
HRESULT WINAPI
dlOnObjectAvailable(IBindStatusCallback* iface, REFIID riid, IUnknown* punk)
{
return S_OK;
}
static const IBindStatusCallbackVtbl dlVtbl =
{
dlQueryInterface,
dlAddRef,
dlRelease,
dlOnStartBinding,
dlGetPriority,
dlOnLowResource,
dlOnProgress,
dlOnStopBinding,
dlGetBindInfo,
dlOnDataAvailable,
dlOnObjectAvailable
};
static IBindStatusCallback*
CreateDl(HWND Dlg, BOOL *pbCancelled)
{
IBindStatusCallbackImpl *This;
This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IBindStatusCallbackImpl));
if (!This) return NULL;
This->vtbl = &dlVtbl;
This->ref = 1;
This->hDialog = Dlg;
This->pbCancelled = pbCancelled;
return (IBindStatusCallback*) This;
}
static
DWORD WINAPI
ThreadFunc(LPVOID Context)
{
IBindStatusCallback *dl;
WCHAR path[MAX_PATH];
LPWSTR p;
STARTUPINFOW si;
PROCESS_INFORMATION pi;
HWND Dlg = (HWND) Context;
DWORD r;
BOOL bCancelled = FALSE;
BOOL bTempfile = FALSE;
HKEY hKey = NULL;
DWORD dwSize = MAX_PATH;
/* built the path for the download */
p = wcsrchr(AppInfo->szUrlDownload, L'/');
if (!p) goto end;
/* Create default download path */
if (GetWindowsDirectoryW(path, sizeof(path) / sizeof(WCHAR)))
{
WCHAR DPath[MAX_PATH];
int i;
for (i = 0; i < 4; i++)
{
if (i == 3)
{
DPath[i] = '\0';
break;
}
DPath[i] = path[i];
}
LoadStringW(hInst, IDS_DOWNLOAD_FOLDER, path, sizeof(path) / sizeof(WCHAR));
wcscat(DPath, path);
wcscpy(path, DPath);
}
if (wcslen(AppInfo->szUrlDownload) > 4)
{
if (AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 4] == '.' &&
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 3] == 'c' &&
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 2] == 'a' &&
AppInfo->szUrlDownload[wcslen(AppInfo->szUrlDownload) - 1] == 'b')
{
if (!GetCurrentDirectoryW(MAX_PATH, path))
goto end;
}
else
{
if (RegOpenKeyW(HKEY_LOCAL_MACHINE,
L"Software\\ReactOS\\rappmgr",
&hKey) == ERROR_SUCCESS)
{
if ((RegQueryValueExW(hKey,
L"DownloadFolder",
NULL,
NULL,
(LPBYTE)&path,
&dwSize) != ERROR_SUCCESS) && (path[0] == 0))
{
RegCloseKey(hKey);
goto end;
}
RegCloseKey(hKey);
}
}
}
else goto end;
if (GetFileAttributesW(path) == 0xFFFFFFFF)
{
if (!CreateDirectoryW(path, NULL))
goto end;
}
wcscat(path, L"\\");
wcscat(path, p + 1);
/* download it */
bTempfile = TRUE;
dl = CreateDl(Context, &bCancelled);
r = URLDownloadToFileW(NULL, AppInfo->szUrlDownload, path, 0, dl);
if (dl) IBindStatusCallback_Release(dl);
if (S_OK != r)
{
MessageBoxW(0, L"Download error!", NULL, 0);
goto end;
}
else if (bCancelled)
{
goto end;
}
ShowWindow(Dlg, SW_HIDE);
/* run it */
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
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);
}
EndDialog(Dlg, 0);
return 0;
}
static
INT_PTR CALLBACK
DownloadDlgProc(HWND Dlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
HANDLE Thread;
DWORD ThreadId;
HWND Item;
switch (Msg)
{
case WM_INITDIALOG:
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 0);
Item = GetDlgItem(Dlg, IDC_DOWNLOAD_PROGRESS);
if (Item)
{
SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
SendMessageW(Item, PBM_SETPOS, 0, 0);
}
Thread = CreateThread(NULL, 0, ThreadFunc, Dlg, 0, &ThreadId);
if (!Thread) return FALSE;
CloseHandle(Thread);
return TRUE;
case WM_COMMAND:
if (wParam == IDCANCEL)
{
SetWindowLongPtrW(Dlg, GWLP_USERDATA, 1);
PostMessageW(Dlg, WM_CLOSE, 0, 0);
}
return FALSE;
case WM_CLOSE:
EndDialog(Dlg, 0);
return TRUE;
default:
return FALSE;
}
}
BOOL
DownloadApplication(INT Index)
{
if (!IS_AVAILABLE_ENUM(SelectedEnumType))
return FALSE;
AppInfo = (PAPPLICATION_INFO) ListViewGetlParam(Index);
if (!AppInfo) return FALSE;
DialogBoxW(hInst,
MAKEINTRESOURCEW(IDD_DOWNLOAD_DIALOG),
hMainWnd,
DownloadDlgProc);
return TRUE;
}
VOID
DownloadApplicationsDB(LPWSTR lpUrl)
{
APPLICATION_INFO IntInfo;
ZeroMemory(&IntInfo, sizeof(APPLICATION_INFO));
wcscpy(IntInfo.szUrlDownload, lpUrl);
AppInfo = &IntInfo;
DialogBoxW(hInst,
MAKEINTRESOURCEW(IDD_DOWNLOAD_DIALOG),
hMainWnd,
DownloadDlgProc);
}
@@ -0,0 +1,20 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0'
processorArchitecture='*'
publicKeyToken='6595b64144ccf1df'
language='*' />
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='highestAvailable' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
+246
View File
@@ -0,0 +1,246 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/misc.c
* PURPOSE: Misc functions
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
/* SESSION Operation */
#define EXTRACT_FILLFILELIST 0x00000001
#define EXTRACT_EXTRACTFILES 0x00000002
typedef struct
{
int erfOper;
int erfType;
BOOL fError;
} ERF, *PERF;
struct FILELIST
{
LPSTR FileName;
struct FILELIST *next;
BOOL DoExtract;
};
typedef struct
{
INT FileSize;
ERF Error;
struct FILELIST *FileList;
INT FileCount;
INT Operation;
CHAR Destination[MAX_PATH];
CHAR CurrentFile[MAX_PATH];
CHAR Reserved[MAX_PATH];
struct FILELIST *FilterList;
} SESSION;
HRESULT (WINAPI *pfnExtract)(SESSION *dest, LPCSTR szCabName);
INT
GetSystemColorDepth(VOID)
{
DEVMODE pDevMode;
INT ColorDepth;
pDevMode.dmSize = sizeof(DEVMODE);
pDevMode.dmDriverExtra = 0;
if (!EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &pDevMode))
{
/* TODO: Error message */
return ILC_COLOR;
}
switch (pDevMode.dmBitsPerPel)
{
case 32: ColorDepth = ILC_COLOR32; break;
case 24: ColorDepth = ILC_COLOR24; break;
case 16: ColorDepth = ILC_COLOR16; break;
case 8: ColorDepth = ILC_COLOR8; break;
case 4: ColorDepth = ILC_COLOR4; break;
default: ColorDepth = ILC_COLOR; break;
}
return ColorDepth;
}
int
GetWindowWidth(HWND hwnd)
{
RECT Rect;
GetWindowRect(hwnd, &Rect);
return (Rect.right - Rect.left);
}
int
GetWindowHeight(HWND hwnd)
{
RECT Rect;
GetWindowRect(hwnd, &Rect);
return (Rect.bottom - Rect.top);
}
int
GetClientWindowWidth(HWND hwnd)
{
RECT Rect;
GetClientRect(hwnd, &Rect);
return (Rect.right - Rect.left);
}
int
GetClientWindowHeight(HWND hwnd)
{
RECT Rect;
GetClientRect(hwnd, &Rect);
return (Rect.bottom - Rect.top);
}
VOID
CopyTextToClipboard(LPCWSTR lpszText)
{
if(OpenClipboard(NULL))
{
HGLOBAL ClipBuffer;
WCHAR *Buffer;
EmptyClipboard();
ClipBuffer = GlobalAlloc(GMEM_DDESHARE, (wcslen(lpszText) + 1) * sizeof(TCHAR));
Buffer = (WCHAR*)GlobalLock(ClipBuffer);
wcscpy(Buffer, lpszText);
GlobalUnlock(ClipBuffer);
SetClipboardData(CF_UNICODETEXT, ClipBuffer);
CloseClipboard();
}
}
VOID
SetWelcomeText(VOID)
{
WCHAR szText[MAX_STR_LEN*3];
LoadStringW(hInst, IDS_WELCOME_TITLE, szText, sizeof(szText) / sizeof(WCHAR));
NewRichEditText(szText, CFE_BOLD);
LoadStringW(hInst, IDS_WELCOME_TEXT, szText, sizeof(szText) / sizeof(WCHAR));
InsertRichEditText(szText, 0);
LoadStringW(hInst, IDS_WELCOME_URL, szText, sizeof(szText) / sizeof(WCHAR));
InsertRichEditText(szText, CFM_LINK);
}
VOID
ShowPopupMenu(HWND hwnd, UINT MenuID)
{
HMENU hPopupMenu = GetSubMenu(LoadMenuW(hInst, MAKEINTRESOURCEW(MenuID)), 0);
POINT pt;
GetCursorPos(&pt);
SetForegroundWindow(hwnd);
TrackPopupMenu(hPopupMenu, 0, pt.x, pt.y, 0, hMainWnd, NULL);
DestroyMenu(hPopupMenu);
}
BOOL
StartProcess(LPWSTR lpPath, BOOL Wait)
{
PROCESS_INFORMATION pi;
STARTUPINFOW si;
DWORD dwRet;
MSG msg;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.wShowWindow = SW_SHOW;
if (!CreateProcessW(NULL, lpPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
return FALSE;
}
CloseHandle(pi.hThread);
if (Wait) EnableWindow(hMainWnd, FALSE);
while (Wait)
{
dwRet = MsgWaitForMultipleObjects(1, &pi.hProcess, FALSE, INFINITE, QS_ALLEVENTS);
if (dwRet == WAIT_OBJECT_0 + 1)
{
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
{
if (dwRet == WAIT_OBJECT_0 || dwRet == WAIT_FAILED)
break;
}
}
CloseHandle(pi.hProcess);
if (Wait)
{
EnableWindow(hMainWnd, TRUE);
SetForegroundWindow(hMainWnd);
SetFocus(hMainWnd);
}
return TRUE;
}
BOOL
ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath)
{
HINSTANCE hCabinetDll;
CHAR szCabName[MAX_PATH];
SESSION Dest;
HRESULT Result;
hCabinetDll = LoadLibraryW(L"cabinet.dll");
if (hCabinetDll)
{
pfnExtract = (void *) GetProcAddress(hCabinetDll, "Extract");
if (pfnExtract)
{
ZeroMemory(&Dest, sizeof(SESSION));
WideCharToMultiByte(CP_ACP, 0, lpOutputPath, -1, Dest.Destination, MAX_PATH, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, lpCabName, -1, szCabName, MAX_PATH, NULL, NULL);
Dest.Operation = EXTRACT_FILLFILELIST;
Result = pfnExtract(&Dest, szCabName);
if (Result == S_OK)
{
Dest.Operation = EXTRACT_EXTRACTFILES;
Result = pfnExtract(&Dest, szCabName);
if (Result == S_OK)
{
FreeLibrary(hCabinetDll);
return TRUE;
}
}
}
FreeLibrary(hCabinetDll);
}
return FALSE;
}
+737
View File
@@ -0,0 +1,737 @@
/*
* PROJECT: ReactOS Applications Manager
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/rapps/parser.c
* PURPOSE: Parser functions
* PROGRAMMERS: Dmitry Chapyshev ([email protected])
*/
#include "rapps.h"
typedef LONG NTSTATUS;
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
void WINAPI RtlInitUnicodeString(PUNICODE_STRING,PCWSTR);
NTSTATUS WINAPI RtlUnicodeStringToInteger(const UNICODE_STRING*,ULONG,ULONG*);
BOOLEAN WINAPI RtlIsTextUnicode(LPCVOID,INT,INT*);
static const char bom_utf8[] = {0xEF,0xBB,0xBF};
typedef enum
{
ENCODING_UTF8 = 1,
ENCODING_UTF16LE,
ENCODING_UTF16BE
} ENCODING;
typedef struct tagSECTIONKEY
{
WCHAR *value;
struct tagSECTIONKEY *next;
WCHAR name[1];
} SECTIONKEY;
typedef struct tagSECTION
{
struct tagSECTIONKEY *key;
struct tagSECTION *next;
WCHAR name[1];
} SECTION;
typedef struct
{
BOOL changed;
SECTION *section;
WCHAR *filename;
ENCODING encoding;
} ITEMS;
#define N_CACHED_ITEMS 10
static ITEMS *ItemsArray[N_CACHED_ITEMS] = {NULL};
#define CurProfile (ItemsArray[0])
#define IS_ENTRY_COMMENT(str) ((str)[0] == ';')
#define ParserIsSpace(c) (iswspace(c) || c == 0x1a)
static
WCHAR*
memchrW(const WCHAR *ptr, WCHAR ch, size_t n)
{
const WCHAR *end;
for (end = ptr + n; ptr < end; ptr++)
if (*ptr == ch)
return (WCHAR *)(ULONG_PTR)ptr;
return NULL;
}
static
WCHAR
*memrchrW(const WCHAR *ptr, WCHAR ch, size_t n)
{
const WCHAR *end;
WCHAR *ret = NULL;
for (end = ptr + n; ptr < end; ptr++)
if (*ptr == ch)
ret = (WCHAR *)(ULONG_PTR)ptr;
return ret;
}
static
void
ParserCopyEntry(LPWSTR buffer, LPCWSTR value, int len, BOOL strip_quote)
{
WCHAR quote = '\0';
if (!buffer) return;
if (strip_quote && ((*value == '\'') || (*value == '\"')))
{
if (value[1] && (value[wcslen(value)-1] == *value))
quote = *value++;
}
lstrcpynW(buffer, value, len);
if (quote && (len >= (int)wcslen(value))) buffer[wcslen(buffer)-1] = '\0';
}
static
void
ParserByteSwapShortBuffer(WCHAR * buffer, int len)
{
int i;
USHORT * shortbuffer = buffer;
for (i = 0; i < len; i++)
shortbuffer[i] = (shortbuffer[i] >> 8) | (shortbuffer[i] << 8);
}
static
void
ParserWriteMarker(HANDLE hFile, ENCODING encoding)
{
DWORD dwBytesWritten;
WCHAR bom;
switch (encoding)
{
case ENCODING_UTF8:
WriteFile(hFile, bom_utf8, sizeof(bom_utf8), &dwBytesWritten, NULL);
break;
case ENCODING_UTF16LE:
bom = 0xFEFF;
WriteFile(hFile, &bom, sizeof(bom), &dwBytesWritten, NULL);
break;
case ENCODING_UTF16BE:
bom = 0xFFFE;
WriteFile(hFile, &bom, sizeof(bom), &dwBytesWritten, NULL);
break;
}
}
static
void
ParserWriteLine(HANDLE hFile, WCHAR * szLine, int len, ENCODING encoding)
{
char * write_buffer;
int write_buffer_len;
DWORD dwBytesWritten;
switch (encoding)
{
case ENCODING_UTF8:
write_buffer_len = WideCharToMultiByte(CP_UTF8, 0, szLine, len, NULL, 0, NULL, NULL);
write_buffer = HeapAlloc(GetProcessHeap(), 0, write_buffer_len);
if (!write_buffer) return;
len = WideCharToMultiByte(CP_UTF8, 0, szLine, len, write_buffer, write_buffer_len, NULL, NULL);
WriteFile(hFile, write_buffer, len, &dwBytesWritten, NULL);
HeapFree(GetProcessHeap(), 0, write_buffer);
break;
case ENCODING_UTF16LE:
WriteFile(hFile, szLine, len * sizeof(WCHAR), &dwBytesWritten, NULL);
break;
case ENCODING_UTF16BE:
ParserByteSwapShortBuffer(szLine, len);
WriteFile(hFile, szLine, len * sizeof(WCHAR), &dwBytesWritten, NULL);
break;
}
}
static
void
ParserSave(HANDLE hFile, const SECTION *section, ENCODING encoding)
{
SECTIONKEY *key;
WCHAR *buffer, *p;
ParserWriteMarker(hFile, encoding);
for ( ; section; section = section->next)
{
int len = 0;
if (section->name[0]) len += wcslen(section->name) + 4;
for (key = section->key; key; key = key->next)
{
len += wcslen(key->name) + 2;
if (key->value) len += wcslen(key->value) + 1;
}
buffer = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
if (!buffer) return;
p = buffer;
if (section->name[0])
{
*p++ = '[';
wcscpy(p, section->name);
p += wcslen(p);
*p++ = ']';
*p++ = '\r';
*p++ = '\n';
}
for (key = section->key; key; key = key->next)
{
wcscpy(p, key->name);
p += wcslen(p);
if (key->value)
{
*p++ = '=';
wcscpy(p, key->value);
p += wcslen(p);
}
*p++ = '\r';
*p++ = '\n';
}
ParserWriteLine(hFile, buffer, len, encoding);
HeapFree(GetProcessHeap(), 0, buffer);
}
}
static
void
ParserFree(SECTION *section)
{
SECTION *next_section;
SECTIONKEY *key, *next_key;
for ( ; section; section = next_section)
{
for (key = section->key; key; key = next_key)
{
next_key = key->next;
HeapFree(GetProcessHeap(), 0, key->value);
HeapFree(GetProcessHeap(), 0, key);
}
next_section = section->next;
HeapFree(GetProcessHeap(), 0, section);
}
}
static
ENCODING
ParserDetectTextEncoding(const void * buffer, int * len)
{
INT flags = IS_TEXT_UNICODE_SIGNATURE |
IS_TEXT_UNICODE_REVERSE_SIGNATURE |
IS_TEXT_UNICODE_ODD_LENGTH;
if (*len >= sizeof(bom_utf8) && !memcmp(buffer, bom_utf8, sizeof(bom_utf8)))
{
*len = sizeof(bom_utf8);
return ENCODING_UTF8;
}
RtlIsTextUnicode((void *)buffer, *len, &flags);
if (flags & IS_TEXT_UNICODE_SIGNATURE)
{
*len = sizeof(WCHAR);
return ENCODING_UTF16LE;
}
if (flags & IS_TEXT_UNICODE_REVERSE_SIGNATURE)
{
*len = sizeof(WCHAR);
return ENCODING_UTF16BE;
}
*len = 0;
return ENCODING_UTF8;
}
static
SECTION
*ParserLoad(HANDLE hFile, ENCODING * pEncoding)
{
void *buffer_base, *pBuffer;
WCHAR * szFile;
const WCHAR *szLineStart, *szLineEnd;
const WCHAR *szValueStart, *szEnd, *next_line;
int line = 0, len;
SECTION *section, *first_section;
SECTION **next_section;
SECTIONKEY *key, *prev_key, **next_key;
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if (dwFileSize == INVALID_FILE_SIZE || dwFileSize == 0)
return NULL;
buffer_base = HeapAlloc(GetProcessHeap(), 0 , dwFileSize);
if (!buffer_base)
return NULL;
if (!ReadFile(hFile, buffer_base, dwFileSize, &dwFileSize, NULL))
{
HeapFree(GetProcessHeap(), 0, buffer_base);
return NULL;
}
len = dwFileSize;
*pEncoding = ParserDetectTextEncoding(buffer_base, &len);
pBuffer = (char *)buffer_base + len;
dwFileSize -= len;
switch (*pEncoding)
{
case ENCODING_UTF8:
len = MultiByteToWideChar(CP_UTF8, 0, pBuffer, dwFileSize, NULL, 0);
szFile = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
if (!szFile)
{
HeapFree(GetProcessHeap(), 0, buffer_base);
return NULL;
}
MultiByteToWideChar(CP_UTF8, 0, pBuffer, dwFileSize, szFile, len);
szEnd = szFile + len;
break;
case ENCODING_UTF16LE:
szFile = pBuffer;
szEnd = (WCHAR *)((char *)pBuffer + dwFileSize);
break;
case ENCODING_UTF16BE:
szFile = pBuffer;
szEnd = (WCHAR *)((char *)pBuffer + dwFileSize);
ParserByteSwapShortBuffer(szFile, dwFileSize / sizeof(WCHAR));
break;
default:
HeapFree(GetProcessHeap(), 0, buffer_base);
return NULL;
}
first_section = HeapAlloc(GetProcessHeap(), 0, sizeof(*section));
if (first_section == NULL)
{
if (szFile != pBuffer)
HeapFree(GetProcessHeap(), 0, szFile);
HeapFree(GetProcessHeap(), 0, buffer_base);
return NULL;
}
first_section->name[0] = 0;
first_section->key = NULL;
first_section->next = NULL;
next_section = &first_section->next;
next_key = &first_section->key;
prev_key = NULL;
next_line = szFile;
while (next_line < szEnd)
{
szLineStart = next_line;
next_line = memchrW(szLineStart, '\n', szEnd - szLineStart);
if (!next_line) next_line = memchrW(szLineStart, '\r', szEnd - szLineStart);
if (!next_line) next_line = szEnd;
else next_line++;
szLineEnd = next_line;
line++;
while (szLineStart < szLineEnd && ParserIsSpace(*szLineStart)) szLineStart++;
while ((szLineEnd > szLineStart) && ParserIsSpace(szLineEnd[-1])) szLineEnd--;
if (szLineStart >= szLineEnd)
continue;
if (*szLineStart == '[')
{
const WCHAR * szSectionEnd;
if ((szSectionEnd = memrchrW(szLineStart, ']', szLineEnd - szLineStart)))
{
szLineStart++;
len = (int)(szSectionEnd - szLineStart);
if (!(section = HeapAlloc(GetProcessHeap(), 0, sizeof(*section) + len * sizeof(WCHAR))))
break;
memcpy(section->name, szLineStart, len * sizeof(WCHAR));
section->name[len] = '\0';
section->key = NULL;
section->next = NULL;
*next_section = section;
next_section = &section->next;
next_key = &section->key;
prev_key = NULL;
continue;
}
}
len = szLineEnd - szLineStart;
if ((szValueStart = memchrW(szLineStart, '=', szLineEnd - szLineStart)) != NULL)
{
const WCHAR *szNameEnd = szValueStart;
while ((szNameEnd > szLineStart) && ParserIsSpace(szNameEnd[-1])) szNameEnd--;
len = szNameEnd - szLineStart;
szValueStart++;
while (szValueStart < szLineEnd && ParserIsSpace(*szValueStart)) szValueStart++;
}
if (len || !prev_key || *prev_key->name)
{
if (!(key = HeapAlloc(GetProcessHeap(), 0, sizeof(*key) + len * sizeof(WCHAR)))) break;
memcpy(key->name, szLineStart, len * sizeof(WCHAR));
key->name[len] = '\0';
if (szValueStart)
{
len = (int)(szLineEnd - szValueStart);
key->value = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
memcpy(key->value, szValueStart, len * sizeof(WCHAR));
key->value[len] = '\0';
}
else key->value = NULL;
key->next = NULL;
*next_key = key;
next_key = &key->next;
prev_key = key;
}
}
if (szFile != pBuffer)
HeapFree(GetProcessHeap(), 0, szFile);
HeapFree(GetProcessHeap(), 0, buffer_base);
return first_section;
}
static
SECTIONKEY
*ParserFind(SECTION **section, LPCWSTR section_name, LPCWSTR key_name, BOOL create, BOOL create_always)
{
LPCWSTR p;
int seclen, keylen;
while (ParserIsSpace(*section_name)) section_name++;
if (*section_name)
p = section_name + wcslen(section_name) - 1;
else
p = section_name;
while ((p > section_name) && ParserIsSpace(*p)) p--;
seclen = p - section_name + 1;
while (ParserIsSpace(*key_name)) key_name++;
if (*key_name)
p = key_name + wcslen(key_name) - 1;
else
p = key_name;
while ((p > key_name) && ParserIsSpace(*p)) p--;
keylen = p - key_name + 1;
while (*section)
{
if (((*section)->name[0])
&& (!(_wcsnicmp((*section)->name, section_name, seclen)))
&& (((*section)->name)[seclen] == '\0'))
{
SECTIONKEY **key = &(*section)->key;
while (*key)
{
if(!create_always)
{
if ((!(_wcsnicmp((*key)->name, key_name, keylen)))
&& (((*key)->name)[keylen] == '\0'))
return *key;
}
key = &(*key)->next;
}
if (!create)
return NULL;
if (!(*key = HeapAlloc(GetProcessHeap(), 0, sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR))))
return NULL;
wcscpy((*key)->name, key_name);
(*key)->value = NULL;
(*key)->next = NULL;
return *key;
}
section = &(*section)->next;
}
if (!create) return NULL;
*section = HeapAlloc(GetProcessHeap(), 0, sizeof(SECTION) + wcslen(section_name) * sizeof(WCHAR));
if(*section == NULL) return NULL;
wcscpy((*section)->name, section_name);
(*section)->next = NULL;
if (!((*section)->key = HeapAlloc(GetProcessHeap(), 0,
sizeof(SECTIONKEY) + wcslen(key_name) * sizeof(WCHAR))))
{
HeapFree(GetProcessHeap(), 0, *section);
return NULL;
}
wcscpy((*section)->key->name, key_name);
(*section)->key->value = NULL;
(*section)->key->next = NULL;
return (*section)->key;
}
static
BOOL
ParserFlushFile(void)
{
HANDLE hFile = NULL;
if (!CurProfile) return FALSE;
if (!CurProfile->changed) return TRUE;
hFile = CreateFileW(CurProfile->filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) return FALSE;
ParserSave(hFile, CurProfile->section, CurProfile->encoding);
CloseHandle(hFile);
CurProfile->changed = FALSE;
return TRUE;
}
static
void
ParserReleaseFile(void)
{
ParserFlushFile();
ParserFree(CurProfile->section);
HeapFree(GetProcessHeap(), 0, CurProfile->filename);
CurProfile->changed = FALSE;
CurProfile->section = NULL;
CurProfile->filename = NULL;
CurProfile->encoding = ENCODING_UTF8;
}
static
BOOL
ParserOpen(LPCWSTR filename, BOOL write_access)
{
WCHAR szDir[MAX_PATH];
WCHAR buffer[MAX_PATH];
HANDLE hFile = INVALID_HANDLE_VALUE;
int i, j;
ITEMS *tempProfile;
static const WCHAR wszSeparator[] = L"\\rapps\\";
if (!CurProfile)
for (i = 0; i < N_CACHED_ITEMS; i++)
{
ItemsArray[i] = HeapAlloc(GetProcessHeap(), 0, sizeof(ITEMS));
if (ItemsArray[i] == NULL) break;
ItemsArray[i]->changed = FALSE;
ItemsArray[i]->section = NULL;
ItemsArray[i]->filename = NULL;
ItemsArray[i]->encoding = ENCODING_UTF8;
}
GetCurrentDirectoryW(MAX_PATH, szDir);
wcscpy(buffer, szDir);
wcscat(buffer, wszSeparator);
wcscat(buffer, filename);
hFile = CreateFileW(buffer, GENERIC_READ | (write_access ? GENERIC_WRITE : 0),
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if ((hFile == INVALID_HANDLE_VALUE) && (GetLastError() != ERROR_FILE_NOT_FOUND))
{
return FALSE;
}
for (i = 0; i < N_CACHED_ITEMS; i++)
{
if ((ItemsArray[i]->filename && !wcscmp(buffer, ItemsArray[i]->filename)))
{
if (i)
{
ParserFlushFile();
tempProfile = ItemsArray[i];
for (j = i; j > 0; j--)
ItemsArray[j] = ItemsArray[j - 1];
CurProfile = tempProfile;
}
if (hFile != INVALID_HANDLE_VALUE)
{
CloseHandle(hFile);
}
return TRUE;
}
}
ParserFlushFile();
if (i == N_CACHED_ITEMS)
{
tempProfile = ItemsArray[N_CACHED_ITEMS - 1];
for (i = N_CACHED_ITEMS - 1; i > 0; i--)
ItemsArray[i] = ItemsArray[i - 1];
CurProfile = tempProfile;
}
if (CurProfile->filename) ParserReleaseFile();
CurProfile->filename = HeapAlloc(GetProcessHeap(), 0, (wcslen(buffer) + 1) * sizeof(WCHAR));
if (CurProfile->filename == NULL)
return FALSE;
wcscpy(CurProfile->filename, buffer);
if (hFile != INVALID_HANDLE_VALUE)
{
CurProfile->section = ParserLoad(hFile, &CurProfile->encoding);
CloseHandle(hFile);
}
return TRUE;
}
static
INT
ParserGetSection(SECTION *section, LPCWSTR section_name, LPWSTR buffer, UINT len, BOOL return_values)
{
SECTIONKEY *key;
if (!buffer)
return 0;
while (section)
{
if (section->name[0] && !_wcsicmp(section->name, section_name))
{
UINT oldlen = len;
for (key = section->key; key; key = key->next)
{
if (len <= 2) break;
if (!*key->name) continue; /* Skip empty lines */
if (IS_ENTRY_COMMENT(key->name)) continue; /* Skip comments */
if (!return_values && !key->value) continue; /* Skip lines w.o. '=' */
ParserCopyEntry(buffer, key->name, len - 1, 0);
len -= wcslen(buffer) + 1;
buffer += wcslen(buffer) + 1;
if (len < 2) break;
if (return_values && key->value)
{
buffer[-1] = '=';
ParserCopyEntry(buffer, key->value, len - 1, 0);
len -= wcslen(buffer) + 1;
buffer += wcslen(buffer) + 1;
}
}
*buffer = '\0';
if (len <= 1)
{
buffer[-1] = '\0';
return oldlen - 2;
}
return oldlen - len;
}
section = section->next;
}
buffer[0] = buffer[1] = '\0';
return 0;
}
static
INT
ParserInternalGetString(LPCWSTR section, LPCWSTR key_name, LPWSTR buffer, UINT len)
{
SECTIONKEY *key = NULL;
static const WCHAR empty_strW[] = { 0 };
if (!buffer || !len) return 0;
if (key_name)
{
if (!key_name[0])
{
ParserCopyEntry(buffer, empty_strW, len, TRUE);
return wcslen(buffer);
}
key = ParserFind(&CurProfile->section, section, key_name, FALSE, FALSE);
ParserCopyEntry(buffer, (key && key->value) ? key->value : empty_strW,
len, TRUE);
return wcslen(buffer);
}
if (section && section[0])
{
INT ret = ParserGetSection(CurProfile->section, section, buffer, len, FALSE);
if (!buffer[0])
{
ParserCopyEntry(buffer, empty_strW, len, TRUE);
ret = wcslen(buffer);
}
return ret;
}
buffer[0] = '\0';
return 0;
}
INT
ParserGetString(LPCWSTR Section, LPCWSTR ValueName, LPWSTR Buffer, UINT Len, LPCWSTR FileName)
{
if (Section == NULL) return 0;
if (ParserOpen(FileName, FALSE))
return ParserInternalGetString(Section, ValueName, Buffer, Len);
return 0;
}
UINT
ParserGetInt(LPCWSTR Section, LPCWSTR ValueName, LPCWSTR FileName)
{
WCHAR Buffer[30];
UNICODE_STRING BufferW;
ULONG Result;
if (!ParserGetString(Section,
ValueName,
Buffer,
sizeof(Buffer) / sizeof(WCHAR),
FileName))
return -1;
if (!Buffer[0]) return -1;
RtlInitUnicodeString(&BufferW, Buffer);
RtlUnicodeStringToInteger(&BufferW, 0, &Result);
return Result;
}
+154
View File
@@ -0,0 +1,154 @@
#ifndef _RAPPS_H__
#define _RAPPS_H__
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include <shlwapi.h>
#include <wchar.h>
#include "resource.h"
#define APPLICATION_DATEBASE_URL L"http://opendn.org/rappmgr.cab"
#define SPLIT_WIDTH 4
#define MAX_STR_LEN 256
#define LISTVIEW_ICON_SIZE 24
#define TREEVIEW_ICON_SIZE 24
/* EnumType flags for EnumInstalledApplications */
#define ENUM_ALL_COMPONENTS 30
#define ENUM_APPLICATIONS 31
#define ENUM_UPDATES 32
/* EnumType flags for EnumAvailableApplications */
#define ENUM_ALL_AVAILABLE 0
#define ENUM_CAT_AUDIO 1
#define ENUM_CAT_VIDEO 2
#define ENUM_CAT_GRAPHICS 3
#define ENUM_CAT_GAMES 4
#define ENUM_CAT_INTERNET 5
#define ENUM_CAT_OFFICE 6
#define ENUM_CAT_DEVEL 7
#define ENUM_CAT_EDU 8
#define ENUM_CAT_ENGINEER 9
#define ENUM_CAT_FINANCE 10
#define ENUM_CAT_SCIENCE 11
#define ENUM_CAT_TOOLS 12
#define ENUM_CAT_DRIVERS 13
#define ENUM_CAT_LIBS 14
#define ENUM_CAT_OTHER 15
#define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
#define ENUM_INSTALLED_MAX ENUM_UPDATES
#define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
#define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
#define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
#define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
/* aboutdlg.c */
VOID ShowAboutDialog(VOID);
/* available.c */
typedef struct
{
INT Category;
WCHAR szName[MAX_PATH];
WCHAR szRegName[MAX_PATH];
WCHAR szVersion[MAX_PATH];
WCHAR szLicence[MAX_PATH];
WCHAR szDesc[MAX_PATH];
WCHAR szSize[MAX_PATH];
WCHAR szUrlSite[MAX_PATH];
WCHAR szUrlDownload[MAX_PATH];
WCHAR szCDPath[MAX_PATH];
} APPLICATION_INFO, *PAPPLICATION_INFO;
/* available.c */
typedef BOOL (CALLBACK *AVAILENUMPROC)(APPLICATION_INFO Info);
BOOL EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc);
BOOL ShowAvailableAppInfo(INT Index);
/* installdlg.c */
BOOL InstallApplication(INT Index);
/* installed.c */
typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, LPWSTR lpKeyName, LPARAM lParam);
BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc);
BOOL GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString);
BOOL ShowInstalledAppInfo(INT Index);
BOOL UninstallApplication(INT Index, BOOL bModify);
BOOL IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey);
/* winmain.c */
extern HWND hMainWnd;
extern HINSTANCE hInst;
extern INT SelectedEnumType;
/* listview.c */
extern HWND hListView;
extern BOOL bAscending;
BOOL CreateListView(HWND hwnd);
BOOL ListViewAddColumn(INT Index, LPWSTR lpText, INT Width, INT Format);
INT ListViewAddItem(INT ItemIndex, INT IconIndex, LPWSTR lpText, LPARAM lParam);
INT CALLBACK ListViewCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
PVOID ListViewGetlParam(INT Index);
/* loaddlg.c */
BOOL DownloadApplication(INT Index);
VOID DownloadApplicationsDB(LPWSTR lpUrl);
/* misc.c */
INT GetSystemColorDepth(VOID);
int GetWindowWidth(HWND hwnd);
int GetWindowHeight(HWND hwnd);
int GetClientWindowWidth(HWND hwnd);
int GetClientWindowHeight(HWND hwnd);
VOID CopyTextToClipboard(LPCWSTR lpszText);
VOID SetWelcomeText(VOID);
VOID ShowPopupMenu(HWND hwnd, UINT MenuID);
BOOL StartProcess(LPWSTR lpPath, BOOL Wait);
BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath);
/* parser.c */
INT ParserGetString(LPCWSTR section, LPCWSTR entry, LPWSTR buffer, UINT len, LPCWSTR filename);
UINT ParserGetInt(LPCWSTR section, LPCWSTR entry, LPCWSTR filename);
/* richedit.c */
extern HWND hRichEdit;
extern PWSTR pLink;
BOOL CreateRichEdit(HWND hwnd);
VOID RichEditOnLink(HWND hwnd, ENLINK *Link);
VOID InsertRichEditText(LPCWSTR lpszText, DWORD dwEffects);
VOID NewRichEditText(LPCWSTR lpszText, DWORD dwEffects);
/* settingsdlg.c */
VOID CreateSettingsDlg(HWND hwnd);
/* splitter.c */
extern HWND hVSplitter;
extern HWND hHSplitter;
BOOL CreateVSplitBar(HWND hwnd);
BOOL CreateHSplitBar(HWND hwnd);
int GetHSplitterPos(VOID);
VOID SetHSplitterPos(int Pos);
/* statusbar.c */
extern HWND hStatusBar;
BOOL CreateStatusBar(HWND hwnd);
VOID SetStatusBarText(LPCWSTR lpszText);
/* toolbar.c */
extern HWND hToolBar;
extern HWND hSearchBar;
BOOL CreateToolBar(HWND hwnd);
VOID ToolBarOnGetDispInfo(LPTOOLTIPTEXT lpttt);
/* treeview.c */
extern HWND hTreeView;
BOOL CreateTreeView(HWND hwnd);
HTREEITEM TreeViewAddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam);
#endif /* _RAPPS_H__ */
@@ -0,0 +1,31 @@
<module name="rapps" type="win32gui" installbase="system32" installname="rapps.exe" unicode="yes">
<include base="rapps">.</include>
<library>advapi32</library>
<library>comctl32</library>
<library>kernel32</library>
<library>gdi32</library>
<library>urlmon</library>
<library>user32</library>
<library>uuid</library>
<library>shell32</library>
<library>shlwapi</library>
<library>ntdll</library>
<file>aboutdlg.c</file>
<file>available.c</file>
<file>installdlg.c</file>
<file>installed.c</file>
<file>listview.c</file>
<file>loaddlg.c</file>
<file>misc.c</file>
<file>parser.c</file>
<file>richedit.c</file>
<file>settingsdlg.c</file>
<file>splitter.c</file>
<file>statusbar.c</file>
<file>toolbar.c</file>
<file>treeview.c</file>
<file>winmain.c</file>
<file>rapps.rc</file>
</module>
+40
View File
@@ -0,0 +1,40 @@
#include "rapps.h"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Applications Manager\0"
#define REACTOS_STR_INTERNAL_NAME "rapps\0"
#define REACTOS_STR_ORIGINAL_FILENAME "rapps.exe\0"
#include <reactos/version.rc>
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_MAIN ICON DISCARDABLE "res/main.ico"
IDI_EXIT ICON DISCARDABLE "res/exit.ico"
IDI_INSTALL ICON DISCARDABLE "res/install.ico"
IDI_UNINSTALL ICON DISCARDABLE "res/uninstall.ico"
IDI_SETTINGS ICON DISCARDABLE "res/settings.ico"
IDI_MODIFY ICON DISCARDABLE "res/modify.ico"
IDI_REFRESH ICON DISCARDABLE "res/refresh.ico"
IDI_APPS ICON DISCARDABLE "res/apps.ico"
IDI_APPUPD ICON DISCARDABLE "res/appupd.ico"
IDI_CATEGORY ICON DISCARDABLE "res/cat.ico"
/* Categories */
IDI_CAT_AUDIO ICON DISCARDABLE "res/cats/audio.ico"
IDI_CAT_DEVEL ICON DISCARDABLE "res/cats/devel.ico"
IDI_CAT_DRIVERS ICON DISCARDABLE "res/cats/drivers.ico"
IDI_CAT_EDU ICON DISCARDABLE "res/cats/edu.ico"
IDI_CAT_ENGINEER ICON DISCARDABLE "res/cats/engineer.ico"
IDI_CAT_FINANCE ICON DISCARDABLE "res/cats/finance.ico"
IDI_CAT_GAMES ICON DISCARDABLE "res/cats/games.ico"
IDI_CAT_GRAPHICS ICON DISCARDABLE "res/cats/graphics.ico"
IDI_CAT_INTERNET ICON DISCARDABLE "res/cats/internet.ico"
IDI_CAT_LIBS ICON DISCARDABLE "res/cats/libs.ico"
IDI_CAT_OFFICE ICON DISCARDABLE "res/cats/office.ico"
IDI_CAT_OTHER ICON DISCARDABLE "res/cats/other.ico"
IDI_CAT_SCIENCE ICON DISCARDABLE "res/cats/science.ico"
IDI_CAT_TOOLS ICON DISCARDABLE "res/cats/tools.ico"
IDI_CAT_VIDEO ICON DISCARDABLE "res/cats/video.ico"
1 24 DISCARDABLE "manifest.xml"
#include "rsrc.rc"
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = AbiWord
Version = 2.6.4
Licence = GPL
Description = Word processor.
Size = 5.9MB
Category = 6
URLSite = http://www.abiword.org
URLDownload = http://www.abiword.org/downloads/abiword/2.6.4/Windows/abiword-setup-2.6.4.exe
CDPath = none
[Section.0407]
Description = Textverarbeitung
[Section.0415]
Description = Edytor tekstu
@@ -0,0 +1,25 @@
; UTF-8
[Section]
Name = AC97 Driver for VirtualBox
Version = 5.10.00.3610
Licence = Unknown
Description = Unzip in the "ReactOS" folder then restart ReactOS twice.
Size = 186kB
Category = 13
URLSite = Unknown
URLDownload = http://svn.reactos.org/packages/ac97_vbox.exe
CDPath = none
[Section.0407]
Name = AC97 Treiber für VirtualBox
Licence = Unbekannt
Description = Entpacken in das "ReactOS"-Verzeichnis und ReactOS zweimal neustarten.
URLSite = Unbekannt
[Section.0415]
Name = Sterownik AC97 dla VirtualBox
Licence = Nieznana
Description = Rozpakuj zawartość w folderze "ReactOS" i dwukrotnie zrestartuj system.
URLSite = Nieznana
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Audio Grabber
Version = 1.83 SE
Licence = Freeware
Description = A very good CD Ripper/Audio File Converter.
Size = 1.6MB
Category = 1
URLSite = http://www.audiograbber.com-us.net/
URLDownload = http://www.audiograbber.de/files/4898276276/agsetup183se.exe
CDPath = none
[Section.0407]
Description = Ein sehr guter CD-Ripper/Audio-Datei-Konverter.
[Section.0415]
Description = Bardzo dobry CD Ripper/konwerter plików audio.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Diablo II
Version = 1.4
Licence = Shareware
Description = Diablo 2 Shareware. zeckensack's glide wrapper is req. to run it.
Size = 132MB
Category = 4
URLSite = http://www.blizzard.com/diablo2
URLDownload = http://ftp.freenet.de./pub/filepilot/windows/spiele/diabloiidemo.exe
CDPath = none
[Section.0407]
Description = Diablo 2 Shareware. zeckensacks glide wrapper wird zum Ausführen benötigt.
[Section.0415]
Description = Diablo 2 Shareware. Do poprawnego działania wymagany jest zainstalowany zeckensacks glide wrapper.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = DOSBox
Version = 0.73
Licence = GPL
Description = DOSBox is a DOS emulator.
Size = 1.4MB
Category = 15
URLSite = http://www.dosbox.com
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/dosbox/DOSBox0.73-win32-installer.exe
CDPath = none
[Section.0407]
Description = DOSBox ist ein DOS Emulator.
[Section.0415]
Description = DOSBox - emulator DOSa.
@@ -0,0 +1,37 @@
; UTF-8
[Section]
Name = Mozilla Firefox 2.0
Version = 2.0.0.20
Licence = MPL/GPL/LGPL
Description = The most popular and one of the best free Web Browsers out there.
Size = 5.8M
Category = 5
URLSite = http://www.mozilla.com/en-US/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/en-US/Firefox%20Setup%202.0.0.20.exe
CDPath = none
[Section.0419]
Description = Один из самых популярных и лучших бесплатных браузеров.
Size = 6.4M
URLSite = http://www.mozilla-europe.org/ru/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/ru/Firefox%20Setup%202.0.0.20.exe
[Section.0407]
Description = Der populärste und einer der besten freien Webbrowser.
Size = 5.5M
URLSite = http://www.mozilla-europe.org/de/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/de/Firefox%20Setup%202.0.0.20.exe
[Section.0405]
Description = Mest populære og best også gratis nettleserene der ute.
Size = 5.6M
URLSite = http://www.mozilla-europe.org/no/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/nb-NO/Firefox%20Setup%202.0.0.20.exe
[Section.0415]
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
Size = 6.3M
URLSite = http://www.mozilla-europe.org/pl/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/win32/pl/Firefox%20Setup%202.0.0.20.exe
@@ -0,0 +1,37 @@
; UTF-8
[Section]
Name = Mozilla Firefox 3.0
Version = 3.0.13
Licence = MPL/GPL/LGPL
Description = The most popular and one of the best free Web Browsers out there.
Size = 7.1M
Category = 5
URLSite = http://www.mozilla.com/en-US/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/en-US/Firefox%20Setup%203.0.13.exe
CDPath = none
[Section.0419]
Description = Один из самых популярных и лучших бесплатных браузеров.
Size = 7.4M
URLSite = http://www.mozilla-europe.org/ru/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/ru/Firefox%20Setup%203.0.13.exe
[Section.0407]
Description = Der populärste und einer der besten freien Webbrowser.
Size = 6.9M
URLSite = http://www.mozilla-europe.org/de/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/de/Firefox%20Setup%203.0.13.exe
[Section.0405]
Description = Mest populære og best også gratis nettleserene der ute.
Size = 6.9M
URLSite = http://www.mozilla-europe.org/no/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/nb-NO/Firefox%20Setup%203.0.13.exe
[Section.0415]
Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych.
Size = 7.8M
URLSite = http://www.mozilla-europe.org/pl/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.13/win32/pl/Firefox%20Setup%203.0.13.exe
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = FreeBASIC
Version = 0.20.0b
Licence = GPL/LGPL
Description = Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC.
Size = 5.5MB
Category = 7
URLSite = http://www.freebasic.net/
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.20.0b-win32.exe
CDPath = none
[Section.0407]
Description = Open Source BASIC Compiler. Die BASIC Syntax ist kompatibel zu QBASIC.
[Section.0415]
Description = Otwarty kompilator BASIC, ze składnią kompatybilną z QBASIC.
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = GlidewrapZbag
Version = 0.84c
Licence = Freeware
Description = glidewrapper needed to run Diablo 2 on ReactOS.
Size = 249kB
Category = 3
URLSite = http://www.zeckensack.de/glide/index.html
URLDownload = http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe
CDPath = none
[Section.0407]
Description = glidewrapper ist erforderlich um Diablo2 in ReactOS auszuführen.
[Section.0415]
Description = glidewrapper jest potrzebny do uruchomienia Diablo2 w ReactOS-ie.
@@ -0,0 +1,22 @@
; UTF-8
[Section]
Name = IrfanView
Version = 4.23
Licence = Freeware (for personal use)
Description = Viewer for all kinds of graphics/audio files/video files.
Size = 1.3MB
Category = 3
URLSite = http://www.irfanview.com
URLDownload = http://irfanview.tuwien.ac.at/iview425_setup.exe
CDPath = none
[Section.0407]
Licence = Freeware für nichtkommerzielle Nutzung
Description = Anzeigeprogramm für alle Arten von Grafik-/Audio- oder Video-Dateien.
[Section.0415]
Licence = Freeware (dla użytku domowego)
Description = Przeglądarka dla bardzo wielu typów obrazów, plików audio oraz wideo.
@@ -0,0 +1,21 @@
; UTF-8
[Section]
Name = IrfanView Plugins
Version = 4.25
Licence = Freeware (for personal use)
Description = Additional Plugins for supporting more file types.
Size = 7.7MB
Category = 3
URLSite = http://www.irfanview.com
URLDownload = http://irfanview.tuwien.ac.at/plugins/irfanview_plugins_425_setup.exe
CDPath = none
[Section.0407]
Licence = Freeware für nichtkommerzielle Nutzung
Description = Zusätzlich Plugins zur Unterstützung von weiteren Dateitypen.
[Section.0407]
Licence = Freeware (dla użytku domowego)
Description = Wtyczki otwierające dodatkowe typy plików w Irfanview.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = LBreakout2
Version = 2.4.1
Licence = GPL
Description = Breakout Clone using SDL libs.
Size = 3.1MB
Category = 4
URLSite = http://lgames.sourceforge.net/index.php?project=LBreakout2
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lbreakout2-2.4.1-win32.exe
CDPath = none
[Section.0407]
Description = Breakout-Klon verwendet SDL Bibliothek.
[Section.0415]
Description = Klon Breakouta/Arkanoida napisany przy u¿yciu biblioteki SDL.
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = LGeneral
Version = 1.1
Licence = GPL
Description = Panzer General Clone using SDL libs.
Size = 2.0MB
Category = 4
URLSite = http://lgames.sourceforge.net/index.php?project=LGeneral
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lgeneral-1.1-win32.exe
CDPath = none
[Section.0407]
Description = Panzer-General-Klon verwendet SDL Bibliotheken.
[Section.0415]
Description = Klon gry Panzer General napisany przy u¿yciu biblioteki SDL.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = LMarbles
Version = 1.0.6
Licence = GPL
Description = Atomix Clone using SDL libs.
Size = 1.4MB
Category = 4
URLSite = http://lgames.sourceforge.net/index.php?project=LMarbles
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/lgames/lmarbles-1.0.6-win32.exe
CDPath = none
[Section.0407]
Description = Atomix-Klon verwendet SDL Bibliotheken.
[Section.0415]
Description = Klon gry Atomix, u¿ywaj¹cy biblioteki SDL.
@@ -0,0 +1,23 @@
; UTF-8
[Section]
Name = OLE Viewer and Microsoft Foundation Classes version 4
Version = 4.0
Licence = Unknown
Description = MFC 4 is needed by some applications.
Size = 865kB
Category = 14
URLSite = http://support.microsoft.com/kb/122244
URLDownload = http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe
CDPath = none
[Section.0407]
Name = OLE Anzeige und Microsoft Foundation Classes Version 4
Licence = Unbekannt
Description = MFC 4 wird von einigen Anwendungen benötigt.
[Section.0415]
Name = Przeglądarka OLE oraz MFC (Microsoft Foundation Classes) wersja 4
Licence = Nieznana
Description = Biblioteka MFC 4 jest używana przez część aplikacji.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = MinGW
Version = 5.1.4
Licence = Public domain/GPL
Description = A Port of the GNU toolchain with GCC, GDB, GNU make, etc.
Size = 136kb
Category = 7
URLSite = http://mingw.org/
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe
CDPath = none
[Section.0407]
Description = Eine Portierung der GNU Werkzeugkette mit GCC, GDB, GNU make usw.
[Section.0415]
Description = Kompilator GCC dla platformy Windows wraz z dodatkowymi narzêdziami (GDB, make, itd.).
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Miranda IM
Version = 0.8.5
Licence = GPL
Description = Open source multiprotocol instant messaging application - May not work completely.
Size = 1.6MB
Category = 5
URLSite = http://www.miranda-im.org/
URLDownload = http://miranda.googlecode.com/files/miranda-im-v0.8.5-unicode.exe
CDPath = none
[Section.0407]
Description = Open source Multiprotocol Instant Messaging Anwendung - funktioniert möglicherweise nicht vollständig.
[Section.0415]
Description = Otwarty komunikator internetowy, obsługujący wiele różnych protokołów (m.in. GG, Tlen, Jabber, ICQ, IRC) - może nie działać prawidłowo.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = mIRC
Version = 6.35
Licence = Shareware
Description = The most popular client for the Internet Relay Chat (IRC).
Size = 1.66M
Category = 5
URLSite = http://www.mirc.com
URLDownload = http://mirc.bigchief.dk/mirc635.exe
CDPath = none
[Section.0407]
Description = Der populärste Client für Internet Relay Chat (IRC).
[Section.0415]
Description = Najpopularniejszy klient IRC (Internet Relay Chat).
@@ -0,0 +1,21 @@
; UTF-8
[Section]
Name = Microsoft XML 3
Version = 3.0
Licence = Unknown
Description = MSXML3 is needed for some MSI Installers.
Size = 1.0MB
Category = 14
URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en
URLDownload = http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = MSXML3 wird von einige MSI Installern benötigt.
[Section.0415]
Licence = Nieznana
Description = Niektóre spośród plików instalacyjnych MSI potrzebują parsera MSXML3.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Off By One Browser
Version = 3.5d
Licence = Freeware
Description = The Off By One Browser is a very small and fast web browser with full HTML 3.2 support.
Size = 0.98M
Category = 5
URLSite = http://offbyone.com
URLDownload = http://offbyone.com/offbyone/images/OffByOneSetup.exe
CDPath = none
[Section.0407]
Description = Der Off-By-One-Browser ist ein sehr kleiner und schneller Webbrowser mit voller HTML 3.2 Unterstützung.
[Section.0415]
Description = Bardzo mała i szybka przeglądarka internetowa z pełną obsługą HTML 3.2.
@@ -0,0 +1,25 @@
; UTF-8
[Section]
Name = OpenOffice 2.4
Version = 2.4.2
Licence = LGPL
Description = THE Open Source Office Suite.
Size = 127MB
Category = 6
URLSite = http://www.openoffice.org
URLDownload = http://ftp.plusline.de/OpenOffice/stable/2.4.2/OOo_2.4.2_Win32Intel_install_wJRE_en-US.exe
CDPath = none
[Section.0407]
Description = DIE Open Source Office Suite
URLSite = http://de.openoffice.org
Size = 114.2MB
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/de/2.4.2/OOo_2.4.2_Win32Intel_install_de.exe
[Section.0415]
URLSite = http://pl.openoffice.org/
Description = Otwarty pakiet biurowy
URLDownload = http://www.mirrorservice.org/sites/download.openoffice.org/localized/pl/2.4.2/OOo_2.4.2_Win32Intel_install_wJRE_pl.exe
Size = 128.0M
@@ -0,0 +1,26 @@
; UTF-8
[Section]
Name = OpenOffice 3.0
Version = 3.1.0
Licence = LGPL
Description = THE Open Source Office Suite.
Size = 134.3MB
Category = 6
URLSite = http://www.openoffice.org
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/stable/3.1.0/OOo_3.1.0_Win32Intel_install_en-US.exe
CDPath = none
[Section.0407]
Description = DIE Open Source Office Suite
URLSite = http://de.openoffice.org
Size = 156.8MB
Version = 3.1.1
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/de/3.1.1/OOo_3.1.1_Win32Intel_install_wJRE_de.exe
[Section.0415]
Description = Otwarty pakiet biurowy
URLSite = http://pl.openoffice.org
Size = 147.1MB
URLDownload = http://ftp.tu-chemnitz.de/pub/openoffice/localized/pl/3.1.0/OOo_3.1.0_Win32Intel_install_wJRE_pl.exe
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = OpenTTD
Version = 0.7.2
Licence = GPL v2
Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon.
Size = 2.9MB
Category = 4
URLSite = http://www.openttd.org
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/openttd/openttd-0.7.2-win32.exe
CDPath = none
[Section.0407]
Description = Open Source Klon der "Transport Tycoon Deluxe" Spiel-Engine. Sie benötigen eine Kopie von Transport Tycoon.
[Section.0415]
Description = Otwarty klon silnika gry "Transport Tycoon Deluxe". Do poprawnego działania potrzebna jest kopia gry Transport Tycoon.
@@ -0,0 +1,21 @@
; UTF-8
[Section]
Name = Opera
Version = 9.64
Licence = Freeware
Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client.
Size = 7.1M
Category = 5
URLSite = http://www.opera.com/
URLDownload = http://ftp.opera.com/pub/opera/win/964/int/Opera_964_int_Setup.exe
CDPath = none
[Section.0419]
Description = Популярный браузер со многими дополнительными возможностями, включающий почтовый и BitTorrent клиент.
[Section.0407]
Description = Der populäre Opera Browser mit vielen fortschrittlichen Eigenschaften, enthält einen Mail und BitTorrent Client.
[Section.0415]
Description = Popularna przeglądarka internetowa z wieloma zaawansowanymi funkcjami, zawierająca klientów: poczty oraz BitTorrent.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = PuTTY
Version = 0.60
Licence = MIT
Description = A free SSH, Telnet, rlogin, and raw TCP client.
Size = 1.7MB
Category = 5
URLSite = http://www.chiark.greenend.org.uk/~sgtatham/putty/
URLDownload = http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe
CDPath = none
[Section.0407]
Description = Ein freier SSH-, Telnet-, rlogin- und TCP-Client
[Section.0415]
Description = Darmowy klient obs³uguj¹cy protoko³y SSH, Telnet, rlogin oraz bezpoœrednie TCP.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = ReactOS Build Environment
Version = 1.4.4
Licence = GPL
Description = Allows you to build the ReactOS Source. For more instructions see ReactOS wiki.
Size = 14.9MB
Category = 7
URLSite = http://reactos.org/wiki/Build_Environment
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/reactos/RosBE-1.4.4.exe
CDPath = none
[Section.0407]
Description = Erlaubt es Ihnen ReactOS aus den Quellen zu bauen. Im ReactOS-Wiki finden Sie dazu nähere Anweisungen.
[Section.0415]
Description = Pozwala zbudować obraz płyty ReactOS ze źródeł. Więcej informacji na Wiki ReactOS.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Samba TNG
Version = 0.4.99cvs
Licence = GPL
Description = This tool allows you to access your Windows shared folders/printers with ReactOS.
Size = 1MB
Category = 5
URLSite = http://samba-tng.org
URLDownload = http://svn.reactos.org/packages/samba-tng.exe
CDPath = none
[Section.0407]
Description = Dieses Werkzeug erlaubt den Zugriff auf Windows' gemeinsame Verzeichnisse und Drucker aus ReactOS heraus.
[Section.0415]
Description = Narzêdzie pozwalaj¹ce na dostêp z poziomu ReactOSa do wspó³dzielonych folderów/drukarek Windows.
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = ScummVM
Version = 0.13.1
Licence = GPL
Description = Sam and Max, Day of the Tentacle, etc on ReactOS.
Size = 2.9MB
Category = 4
URLSite = http://scummvm.org/
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/scummvm/scummvm-0.13.1-win32.exe
CDPath = none
[Section.0407]
Description = Sam and Max, Day of the Tentacle usw in ReactOS
[Section.0415]
Description = Program pozwalaj¹cy uruchomiæ stare gry przygodowe (Sam and Max, Day of the Tentacle, Monkey Island) w ReactOS
@@ -0,0 +1,19 @@
; UTF-8
[Section]
Name = Simple Direct Media Layer (SDL) Mixer
Version = 1.2.8
Licence = LGPL
Description = Needed for some Open Source Games to run. You need 7-Zip or a similar Utility to extract it.
Size = 307kB
Category = 14
URLSite = http://www.libsdl.org/projects/SDL_mixer/
URLDownload = http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.8-win32.zip
CDPath = none
[Section.0407]
Description = Erforderlich um einige Open Source Spiele auszuführen. Sie brauchen 7-Zip oder einen ähnlichen Entpacker um es zu entpacken.
[Section.0415]
Description = Biblioteka wymagana przez niektóre gry (zwłaszcza te o otwartym źródle). Do jej rozpakowania potrzebny jest 7-Zip lub podobny program.
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Simple Direct Media Layer (SDL) Runtime
Version = 1.2.13
Licence = LGPL
Description = Needed for many Open Source Games to run. You need 7-Zip or a similar Utility to extract it.
Size = 145kB
Category = 14
URLSite = http://www.libsdl.org/
URLDownload = http://www.libsdl.org/release/SDL-1.2.13-win32.zip
CDPath = none
[Section.0407]
Name = Simple Direct Media Layer (SDL) Laufzeitsystem
Description = Erforderlich um einige Open Source Spiele auszuführen. Sie brauchen 7-Zip oder einen ähnlichen Entpacker um es zu entpacken.
[Section.0415]
Name = Biblioteka uruchomieniowa Simple Direct Media Layer (SDL)
Description = Wymagana przez wiele gier (głównie o otwartym źródle). Do jej rozpakowania potrzebny jest program 7-Zip lub podobny.
@@ -0,0 +1,27 @@
; UTF-8
[Section]
Name = Mozilla SeaMonkey
Version = 1.1.17
Licence = MPL/GPL/LGPL
Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need.
Size = 12.4MB
Category = 5
URLSite = http://www.seamonkey-project.org/
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.17/seamonkey-1.1.17.en-US.win32.installer.exe
CDPath = none
[Section.0419]
Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор.
Size = 9.0MB
URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.ru-RU.win32.installer.exe
[Section.0407]
Description = Mozilla Suite ist lebendig. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen.
Size = 9.0MB
URLDownload = http://ftp.df.lth.se/mozilla/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.de-AT.win32.installer.exe
[Section.0415]
Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz.
Size = 12.4MB
URLDownload = http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.17/contrib-localized/seamonkey-1.1.17.pl-PL.win32.installer.exe
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = SMPlayer
Version = 0.6.8
Licence = GPL
Description = SMPlayer.
Size = 13.38MB
Category = 1
URLSite = http://smplayer.sourceforge.net/
URLDownload = http://dfn.dl.sourceforge.net/sourceforge/smplayer/smplayer_0.6.8_setup.exe
CDPath = none
[Section.0407]
URLSite = http://smplayer.sourceforge.net/index.php?tr_lang=de
[Section.0415]
URLSite = http://smplayer.sourceforge.net/index.php?tr_lang=pl
Description = Graficzna nak³adka na MPlayer, otwarty odtwarzacz filmów.
@@ -0,0 +1,30 @@
; UTF-8
[Section]
Name = Mozilla Thunderbird 2.0
Version = 2.0.0.23
Licence = MPL/GPL/LGPL
Description = The most popular and one of the best free Mail Clients out there.
Size = 6.2M
Category = 5
URLSite = http://www.mozilla-europe.org/en/products/thunderbird/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/en-US/Thunderbird%20Setup%202.0.0.23.exe
CDPath = none
[Section.0419]
Description = Один из самых популярных и лучших бесплатных почтовых клиентов.
Size = 7.1M
URLSite = http://www.mozilla-europe.org/ru/products/thunderbird/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/ru/Thunderbird%20Setup%202.0.0.23.exe
[Section.0407]
Description = Der populärste und einer der besten freien Mail-Clients.
Size = 6.4M
URLSite = http://www.mozilla-europe.org/de/products/thunderbird/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/de/Thunderbird%20Setup%202.0.0.23.exe
[Section.0415]
Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty.
Size = 7.2M
URLSite = http://www.mozilla-europe.org/pl/products/thunderbird/
URLDownload = http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.23/win32/pl/Thunderbird%20Setup%202.0.0.23.exe
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = Tile World
Version = 1.3.0
Licence = GPL
Description = Nice Clone of Chip's Challenge originally made for the Atari Lynx. Includes free CCLP2 Graphics Pack, so you dont need the copyrighted Original.
Size = 1.2MB
Category = 4
URLSite = http://www.muppetlabs.com/~breadbox/software/tworld/
URLDownload = http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-CCLP2.exe
CDPath = none
[Section.0407]
Description = Schöner Klon von Chip's Challenge ursprünglich etnwickelt für Atari Lynx. Enthält CCLP2 Graphics Pack, deshalb wird das urheberrechtlich geschützte Original nicht benötigt.
[Section.0415]
Description = Udany klon gry Chip's Challenge z Atari Lynx. Zawiera darmowy zestaw grafik CCLP2.
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = TuxPaint
Version = 0.9.21
Licence = GPL
Description = An Open Source bitmap graphics editor geared towards young children.
Size = 10MB
Category = 3
URLSite = http://tuxpaint.org
URLDownload = http://ovh.dl.sourceforge.net/sourceforge/tuxpaint/tuxpaint-0.9.21-win32-installer.exe
CDPath = none
[Section.0407]
Description = Ein Open Source Bitmap Zeichenprogramm für kleine Kinder.
[Section.0415]
Description = Otwarty program graficzny przeznaczony głównie dla dzieci.
@@ -0,0 +1,24 @@
; UTF-8
[Section]
Name = µTorrent
Version = 1.8.4
Licence = Freeware for non-commercial uses
Description = Small and fast BitTorrent Client.
Size = 282K
Category = 5
URLSite = http://www.utorrent.com/
URLDownload = http://download.utorrent.com/1.8.3/utorrent.exe
CDPath = none
[Section.0419]
Licence = Бесплатная для не комерческого использования
Description = Маленький и быстрый BitTorrent клиент.
[Section.0407]
Licence = Freeware für nichtkommerzielle Nutzung
Description = Kleiner und schneller BitTorrent Client.
[Section.0415]
Licence = Freeware (do użytku domowego)
Description = Mały i szybki klient BitTorrent.
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Basic 5 Runtime
Version = 5.0
Licence = Unknown
Description = Visual Basic 5 Runtime.
Size = 970kB
Category = 14
URLSite = http://support.microsoft.com/kb/180071
URLDownload = http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Basic 5 Laufzeitsystem
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Basic 5
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Basic 6 Runtime
Version = 6.0
Licence = Unknown
Description = Visual Basic 6 Runtime.
Size = 1.0MB
Category = 14
URLSite = http://support.microsoft.com/kb/192461
URLDownload = http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbrun60.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Basic 6 Laufzeitsystem
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Basic 6
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Studio 2005 Runtime
Version = 7.0
Licence = Unknown
Description = Visual Studio 2005 Runtime.
Size = 2.6MB
Category = 14
URLSite = http://www.microsoft.com/Downloads/details.aspx?displaylang=en&FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee
URLDownload = http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Studio 2005 Laufzeitsystem
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Studio 2005
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Studio 2005 Runtime SP1
Version = 7.1
Licence = Unknown
Description = Visual Studio 2005 Runtime SP1.
Size = 2.6MB
Category = 14
URLSite = http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en
URLDownload = http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Studio 2005 Laufzeitsystem SP1
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Studio 2005 SP1
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Studio 2008 Runtime
Version = 8.0
Licence = Unknown
Description = Visual Studio 2008 Runtime.
Size = 1.7MB
Category = 14
URLSite = http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
URLDownload = http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Studio 2008 Laufzeitsystem
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Studio 2008
@@ -0,0 +1,20 @@
; UTF-8
[Section]
Name = Visual Studio 6 Runtime
Version = 6.0
Licence = Unknown
Description = Visual Studio 6 Runtime.
Size = 1.7MB
Category = 14
URLSite = http://support.microsoft.com/kb/259403
URLDownload = http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe
CDPath = none
[Section.0407]
Licence = Unbekannt
Description = Visual Studio 6 Laufzeitsystem
[Section.0415]
Licence = Nieznana
Description = Biblioteki uruchomieniowe Visual Studio 6
@@ -0,0 +1,18 @@
; UTF-8
[Section]
Name = WinBoard
Version = 4.2.7b
Licence = GPL 3
Description = WinBoard is a graphical chessboard for the Windows/ReactOS that can serve as a user interface for GNU Chess, Crafty, and other chess engines, for the Internet Chess Servers, and for electronic mail correspondence chess.
Size = 5.9MB
Category = 4
URLSite = http://www.gnu.org/software/xboard/
URLDownload = http://ftp.gnu.org/gnu/winboard/winboard-4_2_7b.exe
CDPath = none
[Section.0407]
Description = WinBoard ist ein grafisches Schachbrett für Windows/ReactOS welches als Nutzerinterface für GNU Chess, Crafty oder andere Schachprogramme, für Internet Schachserver und für Briefschach dient.
[Section.0415]
Description = Graficzna szachownica dla systemu Windows/ReactOS, która może służyć jako graficzna nakładka dla GNU Chess, Crafty, lub innych programów szachowych(w tym internetowych serwerów szachowych) lub szachów korespondencyjnych.
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Some files were not shown because too many files have changed in this diff Show More