mirror of
https://github.com/reactos/reactos.git
synced 2024-07-02 02:34:53 +00:00
[0.4.7][RAPPS/ATL] Fast-forward both to state of 0.4.8-release-0-gd47d448
Due to infrastructure changes on 2018-02-17 (after initial 0.4.7rls) we totally broke the rapps compatibility of all releases before 0.4.8 leaving rapps useless in those. Therefore I decided to port back what is necessary to make rapps work again also in this ancient release. fixes CORE-14351 adapts to infrastructure changes fixes CORE-14350 RAPPS Certificate pinning fixes download from FTP and merges many other improvements from GSOC 2017 back in time
This commit is contained in:
parent
45044a8371
commit
3966ffa790
|
@ -35,7 +35,7 @@ list(APPEND SOURCE
|
|||
add_definitions(
|
||||
-DUSE_CERT_PINNING
|
||||
-D_ATL_NO_EXCEPTIONS)
|
||||
|
||||
|
||||
file(GLOB_RECURSE rapps_rc_deps res/*.*)
|
||||
add_rc_deps(rapps.rc ${rapps_rc_deps})
|
||||
add_executable(rapps ${SOURCE} rapps.rc)
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
|
||||
static INT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (Msg == WM_COMMAND && LOWORD(wParam) == IDOK)
|
||||
if ((Msg == WM_COMMAND) &&
|
||||
(LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL))
|
||||
{
|
||||
return EndDialog(hDlg, LOWORD(wParam));
|
||||
}
|
||||
|
|
|
@ -19,12 +19,9 @@
|
|||
|
||||
// CAvailableApplicationInfo
|
||||
CAvailableApplicationInfo::CAvailableApplicationInfo(const ATL::CStringW& sFileNameParam)
|
||||
: m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), m_HasInstalledVersion(FALSE), m_Parser(sFileNameParam)
|
||||
: m_IsSelected(FALSE), m_LicenseType(LICENSE_NONE), m_sFileName(sFileNameParam),
|
||||
m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), m_HasInstalledVersion(FALSE)
|
||||
{
|
||||
m_LicenseType = LICENSE_NONE;
|
||||
|
||||
m_sFileName = sFileNameParam;
|
||||
|
||||
RetrieveGeneralInfo();
|
||||
}
|
||||
|
||||
|
@ -39,11 +36,14 @@ VOID CAvailableApplicationInfo::RefreshAppInfo()
|
|||
// Lazily load general info from the file
|
||||
VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
|
||||
{
|
||||
m_Category = m_Parser.GetInt(L"Category");
|
||||
m_Parser = new CConfigParser(m_sFileName);
|
||||
|
||||
m_Category = m_Parser->GetInt(L"Category");
|
||||
|
||||
if (!GetString(L"Name", m_szName)
|
||||
|| !GetString(L"URLDownload", m_szUrlDownload))
|
||||
{
|
||||
delete m_Parser;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -64,6 +64,8 @@ VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
|
|||
{
|
||||
RetrieveInstalledVersion();
|
||||
}
|
||||
|
||||
delete m_Parser;
|
||||
}
|
||||
|
||||
VOID CAvailableApplicationInfo::RetrieveInstalledStatus()
|
||||
|
@ -87,7 +89,7 @@ VOID CAvailableApplicationInfo::RetrieveLanguages()
|
|||
ATL::CStringW szBuffer;
|
||||
|
||||
// TODO: Get multiline parameter
|
||||
if (!m_Parser.GetString(L"Languages", szBuffer))
|
||||
if (!m_Parser->GetString(L"Languages", szBuffer))
|
||||
{
|
||||
m_HasLanguageInfo = FALSE;
|
||||
return;
|
||||
|
@ -126,7 +128,7 @@ VOID CAvailableApplicationInfo::RetrieveLanguages()
|
|||
|
||||
VOID CAvailableApplicationInfo::RetrieveLicenseType()
|
||||
{
|
||||
INT IntBuffer = m_Parser.GetInt(L"LicenseType");
|
||||
INT IntBuffer = m_Parser->GetInt(L"LicenseType");
|
||||
|
||||
if (IsLicenseType(IntBuffer))
|
||||
{
|
||||
|
@ -195,46 +197,33 @@ VOID CAvailableApplicationInfo::SetLastWriteTime(FILETIME* ftTime)
|
|||
|
||||
inline BOOL CAvailableApplicationInfo::GetString(LPCWSTR lpKeyName, ATL::CStringW& ReturnedString)
|
||||
{
|
||||
if (!m_Parser.GetString(lpKeyName, ReturnedString))
|
||||
if (!m_Parser->GetString(lpKeyName, ReturnedString))
|
||||
{
|
||||
ReturnedString.Empty();
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
// CAvailableApplicationInfo
|
||||
// CAvailableApplicationInfo
|
||||
|
||||
// AvailableStrings
|
||||
AvailableStrings::AvailableStrings()
|
||||
{
|
||||
//FIXME: maybe provide a fallback?
|
||||
if (GetStorageDirectory(szPath))
|
||||
{
|
||||
szAppsPath = szPath + L"\\rapps\\";
|
||||
szCabPath = szPath + L"\\rappmgr.cab";
|
||||
szSearchPath = szAppsPath + L"*.txt";
|
||||
}
|
||||
}
|
||||
// AvailableStrings
|
||||
|
||||
// CAvailableApps
|
||||
ATL::CStringW CAvailableApps::m_szPath;
|
||||
ATL::CStringW CAvailableApps::m_szCabPath;
|
||||
ATL::CStringW CAvailableApps::m_szAppsPath;
|
||||
ATL::CStringW CAvailableApps::m_szSearchPath;
|
||||
|
||||
BOOL CAvailableApps::InitializeStaticStrings()
|
||||
{
|
||||
|
||||
if (!m_szPath.IsEmpty())
|
||||
{
|
||||
// strings are filled
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//FIXME: maybe provide a fallback?
|
||||
if (GetStorageDirectory(m_szPath))
|
||||
{
|
||||
m_szAppsPath = m_szPath + L"\\rapps\\";
|
||||
m_szCabPath = m_szPath + L"\\rappmgr.cab";
|
||||
m_szSearchPath = m_szAppsPath + L"*.txt";
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
AvailableStrings CAvailableApps::m_Strings;
|
||||
|
||||
CAvailableApps::CAvailableApps()
|
||||
{
|
||||
//set all paths
|
||||
InitializeStaticStrings();
|
||||
}
|
||||
|
||||
VOID CAvailableApps::FreeCachedEntries()
|
||||
|
@ -256,26 +245,21 @@ VOID CAvailableApps::DeleteCurrentAppsDB()
|
|||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
WIN32_FIND_DATAW FindFileData;
|
||||
|
||||
if (!InitializeStaticStrings())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
hFind = FindFirstFileW(m_szSearchPath.GetString(), &FindFileData);
|
||||
hFind = FindFirstFileW(m_Strings.szSearchPath.GetString(), &FindFileData);
|
||||
|
||||
if (hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
ATL::CStringW szTmp;
|
||||
do
|
||||
{
|
||||
szTmp = m_szAppsPath + FindFileData.cFileName;
|
||||
szTmp = m_Strings.szAppsPath + FindFileData.cFileName;
|
||||
DeleteFileW(szTmp.GetString());
|
||||
} while (FindNextFileW(hFind, &FindFileData) != 0);
|
||||
FindClose(hFind);
|
||||
}
|
||||
|
||||
RemoveDirectoryW(m_szAppsPath);
|
||||
RemoveDirectoryW(m_szPath);
|
||||
RemoveDirectoryW(m_Strings.szAppsPath);
|
||||
RemoveDirectoryW(m_Strings.szPath);
|
||||
}
|
||||
|
||||
BOOL CAvailableApps::UpdateAppsDB()
|
||||
|
@ -283,18 +267,13 @@ BOOL CAvailableApps::UpdateAppsDB()
|
|||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
WIN32_FIND_DATAW FindFileData;
|
||||
|
||||
if (!InitializeStaticStrings())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!CreateDirectoryW(m_szPath.GetString(), NULL) && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
if (!CreateDirectoryW(m_Strings.szPath, NULL) && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//if there are some files in the db folder - we're good
|
||||
hFind = FindFirstFileW(m_szSearchPath.GetString(), &FindFileData);
|
||||
hFind = FindFirstFileW(m_Strings.szSearchPath, &FindFileData);
|
||||
if (hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
FindClose(hFind);
|
||||
|
@ -303,12 +282,12 @@ BOOL CAvailableApps::UpdateAppsDB()
|
|||
|
||||
CDownloadManager::DownloadApplicationsDB(APPLICATION_DATABASE_URL);
|
||||
|
||||
if (!ExtractFilesFromCab(m_szCabPath, m_szAppsPath))
|
||||
if (!ExtractFilesFromCab(m_Strings.szCabPath, m_Strings.szAppsPath))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
DeleteFileW(m_szCabPath.GetString());
|
||||
DeleteFileW(m_Strings.szCabPath);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -325,7 +304,7 @@ BOOL CAvailableApps::Enum(INT EnumType, AVAILENUMPROC lpEnumProc)
|
|||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
WIN32_FIND_DATAW FindFileData;
|
||||
|
||||
hFind = FindFirstFileW(m_szSearchPath.GetString(), &FindFileData);
|
||||
hFind = FindFirstFileW(m_Strings.szSearchPath.GetString(), &FindFileData);
|
||||
|
||||
if (hFind == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
|
@ -373,17 +352,15 @@ BOOL CAvailableApps::Enum(INT EnumType, AVAILENUMPROC lpEnumProc)
|
|||
m_InfoList.AddTail(Info);
|
||||
|
||||
skip_if_cached:
|
||||
if (Info->m_Category == FALSE)
|
||||
continue;
|
||||
|
||||
if (EnumType != Info->m_Category && EnumType != ENUM_ALL_AVAILABLE)
|
||||
continue;
|
||||
|
||||
Info->RefreshAppInfo();
|
||||
|
||||
if (lpEnumProc)
|
||||
lpEnumProc(static_cast<CAvailableApplicationInfo*>(Info), m_szAppsPath.GetString());
|
||||
if (EnumType == Info->m_Category
|
||||
|| EnumType == ENUM_ALL_AVAILABLE
|
||||
|| (EnumType == ENUM_CAT_SELECTED && Info->m_IsSelected))
|
||||
{
|
||||
Info->RefreshAppInfo();
|
||||
|
||||
if (lpEnumProc)
|
||||
lpEnumProc(Info, m_Strings.szAppsPath.GetString());
|
||||
}
|
||||
} while (FindNextFileW(hFind, &FindFileData) != 0);
|
||||
|
||||
FindClose(hFind);
|
||||
|
@ -411,15 +388,32 @@ CAvailableApplicationInfo* CAvailableApps::FindInfo(const ATL::CStringW& szAppNa
|
|||
return NULL;
|
||||
}
|
||||
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> CAvailableApps::FindInfoList(const ATL::CSimpleArray<ATL::CStringW> &arrAppsNames) const
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> CAvailableApps::FindInfoList(const ATL::CSimpleArray<ATL::CStringW> &arrAppsNames) const
|
||||
{
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> result;
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> result;
|
||||
for (INT i = 0; i < arrAppsNames.GetSize(); ++i)
|
||||
{
|
||||
CAvailableApplicationInfo* Info = FindInfo(arrAppsNames[i]);
|
||||
if (Info)
|
||||
{
|
||||
result.Add(Info);
|
||||
result.Add(*Info);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> CAvailableApps::GetSelected() const
|
||||
{
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> result;
|
||||
POSITION CurrentListPosition = m_InfoList.GetHeadPosition();
|
||||
CAvailableApplicationInfo* Info;
|
||||
|
||||
while (CurrentListPosition != NULL)
|
||||
{
|
||||
Info = m_InfoList.GetNext(CurrentListPosition);
|
||||
if (Info->m_IsSelected)
|
||||
{
|
||||
result.Add(*Info);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
@ -427,31 +421,16 @@ ATL::CSimpleArray<CAvailableApplicationInfo*> CAvailableApps::FindInfoList(const
|
|||
|
||||
const ATL::CStringW& CAvailableApps::GetFolderPath() const
|
||||
{
|
||||
return m_szPath;
|
||||
return m_Strings.szPath;
|
||||
}
|
||||
|
||||
const ATL::CStringW& CAvailableApps::GetAppPath() const
|
||||
{
|
||||
return m_szAppsPath;
|
||||
return m_Strings.szAppsPath;
|
||||
}
|
||||
|
||||
const ATL::CStringW& CAvailableApps::GetCabPath() const
|
||||
{
|
||||
return m_szCabPath;
|
||||
}
|
||||
|
||||
LPCWSTR CAvailableApps::GetFolderPathString() const
|
||||
{
|
||||
return m_szPath.GetString();
|
||||
}
|
||||
|
||||
LPCWSTR CAvailableApps::GetAppPathString() const
|
||||
{
|
||||
return m_szPath.GetString();
|
||||
}
|
||||
|
||||
LPCWSTR CAvailableApps::GetCabPathString() const
|
||||
{
|
||||
return m_szPath.GetString();
|
||||
return m_Strings.szCabPath;
|
||||
}
|
||||
// CAvailableApps
|
||||
|
|
|
@ -145,7 +145,6 @@ class CAvailableAppView
|
|||
|
||||
szLoadedAInfoText.LoadStringW(IDS_AINFO_LANGUAGES);
|
||||
|
||||
//TODO: replace those hardcoded strings
|
||||
if (Info->HasNativeLanguage())
|
||||
{
|
||||
szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_AVAILABLE_TRANSLATION);
|
||||
|
@ -389,14 +388,17 @@ class CAppsListView :
|
|||
};
|
||||
|
||||
BOOL bHasAllChecked;
|
||||
BOOL bAscending;
|
||||
BOOL bIsAscending;
|
||||
BOOL bHasCheckboxes;
|
||||
|
||||
INT nLastHeaderID;
|
||||
|
||||
public:
|
||||
CAppsListView() :
|
||||
bHasAllChecked(FALSE),
|
||||
bAscending(TRUE),
|
||||
bHasCheckboxes(FALSE)
|
||||
bIsAscending(TRUE),
|
||||
bHasCheckboxes(FALSE),
|
||||
nLastHeaderID(-1)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -416,11 +418,40 @@ public:
|
|||
|
||||
VOID ColumnClick(LPNMLISTVIEW pnmv)
|
||||
{
|
||||
SortContext ctx = {this, pnmv->iSubItem};
|
||||
HWND hHeader;
|
||||
HDITEMW hColumn;
|
||||
INT nHeaderID = pnmv->iSubItem;
|
||||
|
||||
if ((GetWindowLongPtr(GWL_STYLE) & ~LVS_NOSORTHEADER) == 0)
|
||||
return;
|
||||
|
||||
hHeader = (HWND) SendMessage(LVM_GETHEADER, 0, 0);
|
||||
ZeroMemory(&hColumn, sizeof(hColumn));
|
||||
|
||||
/* If the sorting column changed, remove the sorting style from the old column */
|
||||
if ((nLastHeaderID != -1) && (nLastHeaderID != nHeaderID))
|
||||
{
|
||||
hColumn.mask = HDI_FORMAT;
|
||||
Header_GetItem(hHeader, nLastHeaderID, &hColumn);
|
||||
hColumn.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN);
|
||||
Header_SetItem(hHeader, nLastHeaderID, &hColumn);
|
||||
}
|
||||
|
||||
/* Set the sorting style to the new column */
|
||||
hColumn.mask = HDI_FORMAT;
|
||||
Header_GetItem(hHeader, nHeaderID, &hColumn);
|
||||
|
||||
hColumn.fmt &= (bIsAscending ? ~HDF_SORTDOWN : ~HDF_SORTUP);
|
||||
hColumn.fmt |= (bIsAscending ? HDF_SORTUP : HDF_SORTDOWN);
|
||||
Header_SetItem(hHeader, nHeaderID, &hColumn);
|
||||
|
||||
/* Sort the list, using the current values of nHeaderID and bIsAscending */
|
||||
SortContext ctx = {this, nHeaderID};
|
||||
SortItems(s_CompareFunc, &ctx);
|
||||
|
||||
bAscending = !bAscending;
|
||||
/* Save new values */
|
||||
nLastHeaderID = nHeaderID;
|
||||
bIsAscending = !bIsAscending;
|
||||
}
|
||||
|
||||
PVOID GetLParam(INT Index)
|
||||
|
@ -508,12 +539,7 @@ public:
|
|||
GetItemText(Index, iSubItem, Item2.GetBuffer(MAX_STR_LEN), MAX_STR_LEN);
|
||||
Item2.ReleaseBuffer();
|
||||
|
||||
if (bAscending)
|
||||
return Item2 == Item1;
|
||||
else
|
||||
return Item1 == Item2;
|
||||
|
||||
return 0;
|
||||
return bIsAscending ? Item1.Compare(Item2) : Item2.Compare(Item1);
|
||||
}
|
||||
|
||||
HWND Create(HWND hwndParent)
|
||||
|
@ -542,6 +568,30 @@ public:
|
|||
if (bHasCheckboxes)
|
||||
{
|
||||
SetItemState(item, INDEXTOSTATEIMAGEMASK((fCheck) ? 2 : 1), LVIS_STATEIMAGEMASK);
|
||||
SetSelected(item, fCheck);
|
||||
}
|
||||
}
|
||||
|
||||
VOID SetSelected(INT item, BOOL value)
|
||||
{
|
||||
if (item < 0)
|
||||
{
|
||||
for (INT i = 0; i >= 0; i = GetNextItem(i, LVNI_ALL))
|
||||
{
|
||||
CAvailableApplicationInfo* pAppInfo = (CAvailableApplicationInfo*) GetItemData(i);
|
||||
if (pAppInfo)
|
||||
{
|
||||
pAppInfo->m_IsSelected = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CAvailableApplicationInfo* pAppInfo = (CAvailableApplicationInfo*) GetItemData(item);
|
||||
if (pAppInfo)
|
||||
{
|
||||
pAppInfo->m_IsSelected = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -554,20 +604,20 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> GetCheckedItems()
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> GetCheckedItems()
|
||||
{
|
||||
if (!bHasCheckboxes)
|
||||
{
|
||||
return ATL::CSimpleArray<CAvailableApplicationInfo*>();
|
||||
return ATL::CSimpleArray<CAvailableApplicationInfo>();
|
||||
}
|
||||
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> list;
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> list;
|
||||
for (INT i = 0; i >= 0; i = GetNextItem(i, LVNI_ALL))
|
||||
{
|
||||
if (GetCheckState(i) != FALSE)
|
||||
{
|
||||
CAvailableApplicationInfo* pAppInfo = (CAvailableApplicationInfo*) GetItemData(i);
|
||||
list.Add(pAppInfo);
|
||||
list.Add(*pAppInfo);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
|
@ -645,7 +695,7 @@ public:
|
|||
const INT m_Width;
|
||||
const INT m_Height;
|
||||
|
||||
CSearchBar() : m_Width(200), m_Height(22)
|
||||
CSearchBar() : m_Width(200), m_Height(22)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -729,33 +779,35 @@ private:
|
|||
|
||||
VOID InitCategoriesList()
|
||||
{
|
||||
HTREEITEM hRootItem1, hRootItem2;
|
||||
HTREEITEM hRootItemInstalled, hRootItemAvailable;
|
||||
|
||||
hRootItem1 = AddCategory(TVI_ROOT, IDS_INSTALLED, IDI_CATEGORY);
|
||||
AddCategory(hRootItem1, IDS_APPLICATIONS, IDI_APPS);
|
||||
AddCategory(hRootItem1, IDS_UPDATES, IDI_APPUPD);
|
||||
hRootItemInstalled = AddCategory(TVI_ROOT, IDS_INSTALLED, IDI_CATEGORY);
|
||||
AddCategory(hRootItemInstalled, IDS_APPLICATIONS, IDI_APPS);
|
||||
AddCategory(hRootItemInstalled, IDS_UPDATES, IDI_APPUPD);
|
||||
|
||||
hRootItem2 = AddCategory(TVI_ROOT, IDS_AVAILABLEFORINST, IDI_CATEGORY);
|
||||
AddCategory(hRootItem2, IDS_CAT_AUDIO, IDI_CAT_AUDIO);
|
||||
AddCategory(hRootItem2, IDS_CAT_VIDEO, IDI_CAT_VIDEO);
|
||||
AddCategory(hRootItem2, IDS_CAT_GRAPHICS, IDI_CAT_GRAPHICS);
|
||||
AddCategory(hRootItem2, IDS_CAT_GAMES, IDI_CAT_GAMES);
|
||||
AddCategory(hRootItem2, IDS_CAT_INTERNET, IDI_CAT_INTERNET);
|
||||
AddCategory(hRootItem2, IDS_CAT_OFFICE, IDI_CAT_OFFICE);
|
||||
AddCategory(hRootItem2, IDS_CAT_DEVEL, IDI_CAT_DEVEL);
|
||||
AddCategory(hRootItem2, IDS_CAT_EDU, IDI_CAT_EDU);
|
||||
AddCategory(hRootItem2, IDS_CAT_ENGINEER, IDI_CAT_ENGINEER);
|
||||
AddCategory(hRootItem2, IDS_CAT_FINANCE, IDI_CAT_FINANCE);
|
||||
AddCategory(hRootItem2, IDS_CAT_SCIENCE, IDI_CAT_SCIENCE);
|
||||
AddCategory(hRootItem2, IDS_CAT_TOOLS, IDI_CAT_TOOLS);
|
||||
AddCategory(hRootItem2, IDS_CAT_DRIVERS, IDI_CAT_DRIVERS);
|
||||
AddCategory(hRootItem2, IDS_CAT_LIBS, IDI_CAT_LIBS);
|
||||
AddCategory(hRootItem2, IDS_CAT_OTHER, IDI_CAT_OTHER);
|
||||
AddCategory(TVI_ROOT, IDS_SELECTEDFORINST, IDI_SELECTEDFORINST);
|
||||
|
||||
hRootItemAvailable = AddCategory(TVI_ROOT, IDS_AVAILABLEFORINST, IDI_CATEGORY);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_AUDIO, IDI_CAT_AUDIO);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_VIDEO, IDI_CAT_VIDEO);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_GRAPHICS, IDI_CAT_GRAPHICS);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_GAMES, IDI_CAT_GAMES);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_INTERNET, IDI_CAT_INTERNET);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_OFFICE, IDI_CAT_OFFICE);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_DEVEL, IDI_CAT_DEVEL);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_EDU, IDI_CAT_EDU);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_ENGINEER, IDI_CAT_ENGINEER);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_FINANCE, IDI_CAT_FINANCE);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_SCIENCE, IDI_CAT_SCIENCE);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_TOOLS, IDI_CAT_TOOLS);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_DRIVERS, IDI_CAT_DRIVERS);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_LIBS, IDI_CAT_LIBS);
|
||||
AddCategory(hRootItemAvailable, IDS_CAT_OTHER, IDI_CAT_OTHER);
|
||||
|
||||
m_TreeView->SetImageList();
|
||||
m_TreeView->Expand(hRootItem1, TVE_EXPAND);
|
||||
m_TreeView->Expand(hRootItem2, TVE_EXPAND);
|
||||
m_TreeView->SelectItem(hRootItem1);
|
||||
m_TreeView->Expand(hRootItemInstalled, TVE_EXPAND);
|
||||
m_TreeView->Expand(hRootItemAvailable, TVE_EXPAND);
|
||||
m_TreeView->SelectItem(hRootItemAvailable);
|
||||
}
|
||||
|
||||
BOOL CreateStatusBar()
|
||||
|
@ -914,6 +966,8 @@ private:
|
|||
|
||||
VOID OnSize(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (wParam == SIZE_MINIMIZED)
|
||||
return;
|
||||
|
||||
/* Size status bar */
|
||||
m_StatusBar->SendMessage(WM_SIZE, 0, 0);
|
||||
|
@ -1081,6 +1135,10 @@ private:
|
|||
case IDS_CAT_VIDEO:
|
||||
UpdateApplicationsList(ENUM_CAT_VIDEO);
|
||||
break;
|
||||
|
||||
case IDS_SELECTEDFORINST:
|
||||
UpdateApplicationsList(ENUM_CAT_SELECTED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1153,7 +1211,7 @@ private:
|
|||
/* Check if the item is checked */
|
||||
if ((pnic->uNewState & LVIS_STATEIMAGEMASK) && !bUpdating)
|
||||
{
|
||||
BOOL checked = ListView_GetCheckState(pnic->hdr.hwndFrom, pnic->iItem);
|
||||
BOOL checked = m_ListView->GetCheckState(pnic->iItem);
|
||||
/* FIXME: HAX!
|
||||
- preventing decremention below zero as a safeguard for ReactOS
|
||||
In ReactOS this action is triggered whenever user changes *selection*, but should be only when *checkbox* state toggled
|
||||
|
@ -1165,6 +1223,10 @@ private:
|
|||
: ((nSelectedApps > 0)
|
||||
? -1
|
||||
: 0);
|
||||
|
||||
/* Update item's selection status */
|
||||
m_ListView->SetSelected(pnic->iItem, checked);
|
||||
|
||||
UpdateStatusBarText();
|
||||
}
|
||||
}
|
||||
|
@ -1399,7 +1461,7 @@ private:
|
|||
{
|
||||
if (nSelectedApps > 0)
|
||||
{
|
||||
CDownloadManager::DownloadListOfApplications(m_ListView->GetCheckedItems());
|
||||
CDownloadManager::DownloadListOfApplications(m_AvailableApps.GetSelected());
|
||||
UpdateApplicationsList(-1);
|
||||
}
|
||||
else if (CDownloadManager::DownloadApplication(m_ListView->GetSelectedData()))
|
||||
|
@ -1541,6 +1603,7 @@ private:
|
|||
|
||||
ListView_SetItemText(hListView, Index, 1, const_cast<LPWSTR>(Info->m_szVersion.GetString()));
|
||||
ListView_SetItemText(hListView, Index, 2, const_cast<LPWSTR>(Info->m_szDesc.GetString()));
|
||||
ListView_SetCheckState(hListView, Index, Info->m_IsSelected);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1565,7 +1628,6 @@ private:
|
|||
bUpdating = TRUE;
|
||||
m_ListView->SetRedraw(FALSE);
|
||||
|
||||
nSelectedApps = 0;
|
||||
if (EnumType < 0)
|
||||
{
|
||||
EnumType = SelectedEnumType;
|
||||
|
@ -1580,7 +1642,7 @@ private:
|
|||
|
||||
m_ListView->DeleteAllItems();
|
||||
|
||||
// Create new ImageList
|
||||
// Create new ImageList
|
||||
hImageListView = ImageList_Create(LISTVIEW_ICON_SIZE,
|
||||
LISTVIEW_ICON_SIZE,
|
||||
GetSystemColorDepth() | ILC_MASK,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <windef.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlsimpcoll.h>
|
||||
#include <atlcoll.h>
|
||||
|
||||
|
@ -25,6 +25,7 @@ inline BOOL IsLicenseType(INT x)
|
|||
struct CAvailableApplicationInfo
|
||||
{
|
||||
INT m_Category;
|
||||
BOOL m_IsSelected;
|
||||
LicenseType m_LicenseType;
|
||||
ATL::CStringW m_szName;
|
||||
ATL::CStringW m_szRegName;
|
||||
|
@ -45,6 +46,7 @@ struct CAvailableApplicationInfo
|
|||
ATL::CStringW m_szSHA1;
|
||||
ATL::CStringW m_szInstalledVersion;
|
||||
|
||||
// Create an object from file
|
||||
CAvailableApplicationInfo(const ATL::CStringW& sFileNameParam);
|
||||
|
||||
// Load all info from the file
|
||||
|
@ -63,7 +65,7 @@ private:
|
|||
BOOL m_IsInstalled;
|
||||
BOOL m_HasLanguageInfo;
|
||||
BOOL m_HasInstalledVersion;
|
||||
CConfigParser m_Parser;
|
||||
CConfigParser* m_Parser;
|
||||
|
||||
inline BOOL GetString(LPCWSTR lpKeyName, ATL::CStringW& ReturnedString);
|
||||
|
||||
|
@ -78,15 +80,19 @@ private:
|
|||
|
||||
typedef BOOL(CALLBACK *AVAILENUMPROC)(CAvailableApplicationInfo *Info, LPCWSTR szFolderPath);
|
||||
|
||||
struct AvailableStrings
|
||||
{
|
||||
ATL::CStringW szPath;
|
||||
ATL::CStringW szCabPath;
|
||||
ATL::CStringW szAppsPath;
|
||||
ATL::CStringW szSearchPath;
|
||||
|
||||
AvailableStrings();
|
||||
};
|
||||
|
||||
class CAvailableApps
|
||||
{
|
||||
static ATL::CStringW m_szPath;
|
||||
static ATL::CStringW m_szCabPath;
|
||||
static ATL::CStringW m_szAppsPath;
|
||||
static ATL::CStringW m_szSearchPath;
|
||||
|
||||
static BOOL InitializeStaticStrings();
|
||||
|
||||
static AvailableStrings m_Strings;
|
||||
ATL::CAtlList<CAvailableApplicationInfo*> m_InfoList;
|
||||
|
||||
public:
|
||||
|
@ -100,12 +106,10 @@ public:
|
|||
BOOL Enum(INT EnumType, AVAILENUMPROC lpEnumProc);
|
||||
|
||||
CAvailableApplicationInfo* FindInfo(const ATL::CStringW& szAppName) const;
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> FindInfoList(const ATL::CSimpleArray<ATL::CStringW> &arrAppsNames) const;
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> FindInfoList(const ATL::CSimpleArray<ATL::CStringW> &arrAppsNames) const;
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> GetSelected() const;
|
||||
|
||||
const ATL::CStringW& GetFolderPath() const;
|
||||
const ATL::CStringW& GetAppPath() const;
|
||||
const ATL::CStringW& GetCabPath() const;
|
||||
LPCWSTR GetFolderPathString() const;
|
||||
LPCWSTR GetAppPathString() const;
|
||||
LPCWSTR GetCabPathString() const;
|
||||
};
|
||||
|
|
|
@ -22,7 +22,7 @@ class CRichEdit :
|
|||
if ((dwEffects == CFM_LINK) && !PathIsURLW(lpszText))
|
||||
{
|
||||
// if text is not an URL, no styling is used
|
||||
SetRangeFormatting(Len, Len + InsertedTextLen, 0);
|
||||
SetRangeFormatting(Len, Len + InsertedTextLen, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
#include <ndk/rtlfuncs.h>
|
||||
#include <atlcoll.h>
|
||||
#include <atlsimpcoll.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlstr.h>
|
||||
#include <rappsmsg.h>
|
||||
|
||||
#include "resource.h"
|
||||
#include "winmain.h"
|
||||
|
||||
#define APPLICATION_DATABASE_URL L"https://svn.reactos.org/packages/rappmgr.cab"
|
||||
#define APPLICATION_DATABASE_URL L"https://rapps.reactos.org/rappmgr.cab"
|
||||
#define MAX_STR_LEN 256
|
||||
|
||||
enum AppsCategories
|
||||
|
@ -50,13 +50,14 @@ enum AppsCategories
|
|||
ENUM_CAT_DRIVERS,
|
||||
ENUM_CAT_LIBS,
|
||||
ENUM_CAT_OTHER,
|
||||
ENUM_CAT_SELECTED,
|
||||
ENUM_ALL_INSTALLED,
|
||||
ENUM_INSTALLED_APPLICATIONS = 31,
|
||||
ENUM_UPDATES = 32,
|
||||
ENUM_INSTALLED_MIN = ENUM_ALL_INSTALLED,
|
||||
ENUM_INSTALLED_MAX = ENUM_UPDATES,
|
||||
ENUM_AVAILABLE_MIN = ENUM_ALL_AVAILABLE,
|
||||
ENUM_AVAILABLE_MAX = ENUM_CAT_OTHER,
|
||||
ENUM_AVAILABLE_MAX = ENUM_CAT_SELECTED,
|
||||
};
|
||||
|
||||
inline BOOL IsAvailableEnum(INT x)
|
||||
|
|
|
@ -15,6 +15,7 @@ class CDownloadManager
|
|||
static CDowloadingAppsListView DownloadsListView;
|
||||
|
||||
static VOID Download(const DownloadInfo& DLInfo, BOOL bIsModal = FALSE);
|
||||
static VOID SetProgressMarquee(HWND Item, BOOL Enable);
|
||||
|
||||
public:
|
||||
static INT_PTR CALLBACK DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
@ -26,7 +27,7 @@ public:
|
|||
DWORD_PTR dwRefData);
|
||||
|
||||
static DWORD WINAPI ThreadFunc(LPVOID Context);
|
||||
static BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo*>& AppsList, BOOL bIsModal = FALSE);
|
||||
static BOOL DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal = FALSE);
|
||||
static BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL bIsModal = FALSE);
|
||||
static VOID DownloadApplicationsDB(LPCWSTR lpUrl);
|
||||
static VOID LaunchDownloadDialog(BOOL);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#define IDI_CATEGORY 19
|
||||
#define IDI_UPDATE_DB 20
|
||||
#define IDI_CHECK_ALL 21
|
||||
#define IDI_SELECTEDFORINST 22
|
||||
|
||||
/* Icons for categories */
|
||||
#define IDI_CAT_AUDIO 50
|
||||
|
@ -100,7 +101,7 @@
|
|||
#define IDS_UNABLE_TO_REMOVE 118
|
||||
#define IDS_UNABLE_TO_DOWNLOAD 119
|
||||
#define IDS_UNABLE_TO_DOWNLOAD2 120
|
||||
#define IDS_CERT_DOES_NOT_MATCH 121
|
||||
#define IDS_UNABLE_TO_QUERY_CERT 121
|
||||
#define IDS_INTEG_CHECK_TITLE 122
|
||||
#define IDS_INTEG_CHECK_FAIL 123
|
||||
#define IDS_INTERRUPTED_DOWNLOAD 124
|
||||
|
@ -108,6 +109,8 @@
|
|||
#define IDS_SELECT_ALL 126
|
||||
#define IDS_INSTALL_SELECTED 127
|
||||
#define IDS_UNABLE_TO_INSTALL 128
|
||||
#define IDS_SELECTEDFORINST 129
|
||||
#define IDS_MISMATCH_CERT_INFO 130
|
||||
|
||||
/* Tooltips */
|
||||
#define IDS_TOOLTIP_INSTALL 200
|
||||
|
@ -171,7 +174,7 @@
|
|||
#define IDS_CAT_VIDEO 714
|
||||
|
||||
/* App installation status */
|
||||
#define IDS_STATUS_INSTALLED 800
|
||||
#define IDS_STATUS_INSTALLED 800
|
||||
#define IDS_STATUS_NOTINSTALLED 801
|
||||
#define IDS_STATUS_DOWNLOADED 802
|
||||
#define IDS_STATUS_UPDATE_AVAILABLE 803
|
||||
|
|
|
@ -31,5 +31,5 @@ extern SETTINGS_INFO SettingsInfo;
|
|||
VOID SaveSettings(HWND hwnd);
|
||||
VOID FillDefaultSettings(PSETTINGS_INFO pSettingsInfo);
|
||||
|
||||
// integrity.cpp
|
||||
// integrity.cpp
|
||||
BOOL VerifyInteg(LPCWSTR lpSHA1Hash, LPCWSTR lpFileName);
|
||||
|
|
|
@ -6,15 +6,11 @@
|
|||
* COPYRIGHT: Copyright Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
|
||||
* Copyright Mark Jansen
|
||||
*/
|
||||
|
||||
#include "rapps.h"
|
||||
|
||||
#include <sha1.h>
|
||||
|
||||
BOOL VerifyInteg(const ATL::CStringW &SHA1Hash, const ATL::CStringW &FileName)
|
||||
{
|
||||
return VerifyInteg(SHA1Hash.GetString(), FileName.GetString());
|
||||
}
|
||||
|
||||
BOOL VerifyInteg(LPCWSTR lpSHA1Hash, LPCWSTR lpFileName)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Подразбирано", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "Добре", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "Добре", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Отказ", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -87,16 +87,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Слагане на приложение"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "Слагане от оптичен носител", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Сваляне и слагане", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "Добре", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "Добре", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Отказ", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Сваляне %ls..."
|
||||
CAPTION "Сваляне %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -109,9 +109,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "За"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Управителят за приложожения на РеактОС\nВъзпроизводствени права (C) 2009\nДмитрий Чапъйшев (dmitry@reactos.org)", IDC_STATIC, 48, 7, 150, 39
|
||||
PUSHBUTTON "Затваряне", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Управителят за приложожения на РеактОС\nВъзпроизводствени права (C) 2009\nДмитрий Чапъйшев (dmitry@reactos.org)", IDC_STATIC, 48, 7, 150, 39
|
||||
DEFPUSHBUTTON "Затваряне", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -207,13 +207,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Премахването на данните за приложението от регистъра е невъзможно!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -248,5 +250,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -69,7 +69,7 @@ BEGIN
|
|||
GROUPBOX "Stahování", -1, 4, 65, 240, 51
|
||||
LTEXT "Složka se staženými soubory:", -1, 16, 75, 100, 9
|
||||
EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL
|
||||
PUSHBUTTON "&Procházet...", IDC_CHOOSE, 187, 85, 50, 14
|
||||
PUSHBUTTON "&Procházet…", IDC_CHOOSE, 187, 85, 50, 14
|
||||
AUTOCHECKBOX "&Smazat instalátor programu po dokončení instalace", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
GROUPBOX "Proxy", -1, 4, 116, 240, 76
|
||||
CONTROL "Systémové nastavení proxy", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10
|
||||
|
@ -79,7 +79,7 @@ BEGIN
|
|||
LTEXT "Nepoužívat pro", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Výchozí", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Storno", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -88,16 +88,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalace programu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Instalovat z média (CD nebo DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Stáhnout a instalovat", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Storno", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Stahování %ls..."
|
||||
CAPTION "Stahování %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -110,9 +110,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "O programu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Správce aplikací\nCopyright (C) 2009\nDmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Zavřít", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Správce aplikací\nCopyright (C) 2009\nDmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Zavřít", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -188,7 +188,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Správce aplikací"
|
||||
IDS_SEARCH_TEXT "Hledat..."
|
||||
IDS_SEARCH_TEXT "Hledat…"
|
||||
IDS_INSTALL "Instalovat"
|
||||
IDS_UNINSTALL "Odinstalovat"
|
||||
IDS_MODIFY "Změnit"
|
||||
|
@ -208,13 +208,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Nepodařilo se odstranit data programu z registru!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -249,5 +251,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "Kein Proxy", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Vorgabe", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Programminstallation"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Installation von einem Datenträger (CD oder DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "Herunterla&den und installieren", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Herunterladen %ls..."
|
||||
CAPTION "Download von %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ 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 (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Schließen", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS-Anwendungsmanager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Schließen", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -152,13 +152,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersion: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nVerfügbare Version: "
|
||||
IDS_AINFO_DESCRIPTION "\nBeschreibung: "
|
||||
IDS_AINFO_SIZE "\nGröße: "
|
||||
IDS_AINFO_URLSITE "\nHomepage: "
|
||||
IDS_AINFO_LICENSE "\nLizenz: "
|
||||
IDS_AINFO_URLDOWNLOAD "\nHerunterladen: "
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\nSprachen: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,11 +183,11 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS-Anwendungsmanager"
|
||||
IDS_SEARCH_TEXT "Suche..."
|
||||
IDS_SEARCH_TEXT "Suche…"
|
||||
IDS_INSTALL "Installieren"
|
||||
IDS_UNINSTALL "Deinstallieren"
|
||||
IDS_MODIFY "Ändern"
|
||||
IDS_APPS_COUNT "Anzahl der Anwendungen: %d; Selected: %d"
|
||||
IDS_APPS_COUNT "Anzahl der Anwendungen: %d, ausgewählt: %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"
|
||||
|
@ -202,26 +202,28 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD "Paket konnte nicht geladen werden! Addresse wurde nicht gefunden!"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "Paket konnte nicht geladen werden! Prüfen Sie Ihre Internetverbindung!"
|
||||
IDS_UNABLE_TO_REMOVE "Konnte die Daten nicht aus der Registry löschen!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Überprüfung des SSL-Zertifikats fehlgeschlagen."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_UNABLE_TO_INSTALL "Paket konnte nicht installiert werden!"
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Integritätsprüfung…"
|
||||
IDS_INTEG_CHECK_FAIL "Das Paket hat die Integritätsprüfung nicht bestanden. Mögliche Ursachen sind Übertragungsfehler, Datenbankfehler oder Manipulation durch einen Angreifer. Sie sollten die Software nicht ausführen."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Übertragung unterbrochen. Prüfen Sie Ihre Internetverbindung!"
|
||||
IDS_UNABLE_TO_WRITE "Schreibfehler. Prüfen Sie die Kapazität des Datenträgers!"
|
||||
IDS_SELECT_ALL "Alle/Keine"
|
||||
IDS_INSTALL_SELECTED "Ausgewählte Installieren"
|
||||
IDS_SELECTEDFORINST "Zur Installation ausgewählt"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STATUS_INSTALLED "Installed"
|
||||
IDS_STATUS_NOTINSTALLED "Not installed"
|
||||
IDS_STATUS_DOWNLOADED "Downloaded"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Update available"
|
||||
IDS_STATUS_DOWNLOADING "Downloading…"
|
||||
IDS_STATUS_INSTALLING "Installing…"
|
||||
IDS_STATUS_WAITING "Waiting to install…"
|
||||
IDS_STATUS_FINISHED "Finished"
|
||||
IDS_STATUS_INSTALLED "Installiert"
|
||||
IDS_STATUS_NOTINSTALLED "Nicht installiert"
|
||||
IDS_STATUS_DOWNLOADED "Heruntergeladen"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Aktualisierung verfügbar"
|
||||
IDS_STATUS_DOWNLOADING "Lädt herunter…"
|
||||
IDS_STATUS_INSTALLING "Installiert…"
|
||||
IDS_STATUS_WAITING "Installation anstehend…"
|
||||
IDS_STATUS_FINISHED "Abgeschlossen"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -233,16 +235,16 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supports your language"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Supports other languages"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supports English"
|
||||
IDS_LANGUAGE_SINGLE "Single language"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)"
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "deutsch"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "anderssprachig"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "englisch"
|
||||
IDS_LANGUAGE_SINGLE "einsprachig"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d mehr)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d verfügbar)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DISP "Anwendungsdatenbank"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Datenbank-Aktualisierung…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Default", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Program installation"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Install from a disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Download and install", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 220
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | WS_VISIBLE
|
||||
CAPTION "Downloading %ls..."
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | WS_VISIBLE
|
||||
CAPTION "Downloading %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ 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 (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,7 +183,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Applications Manager"
|
||||
IDS_SEARCH_TEXT "Search..."
|
||||
IDS_SEARCH_TEXT "Search…"
|
||||
IDS_INSTALL "Install"
|
||||
IDS_UNINSTALL "Uninstall"
|
||||
IDS_MODIFY "Modify"
|
||||
|
@ -203,13 +203,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -244,5 +246,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
LTEXT "Sin proxy para:", -1, 125, 154, 50, 8, SS_RIGHT
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 177, 153, 61, 14, ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Por defecto", IDC_DEFAULT_SETTINGS, 8, 180, 60, 14
|
||||
PUSHBUTTON "Aceptar", IDOK, 116, 180, 60, 14
|
||||
DEFPUSHBUTTON "Aceptar", IDOK, 116, 180, 60, 14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 181, 180, 60, 14
|
||||
END
|
||||
|
||||
|
@ -86,16 +86,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalar programas"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Instalar desde un disco (CD o DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Descargar e instalar", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "Aceptar", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "Aceptar", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Descargando %ls..."
|
||||
CAPTION "Descargando %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -108,9 +108,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Acerca de"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Administrador de aplicaciones de ReactOS\nCopyright (C) 2009\nCreado por Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Cerrar", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Administrador de aplicaciones de ReactOS\nCopyright (C) 2009\nCreado por Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Cerrar", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -186,7 +186,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Administrador de aplicaciones de ReactOS"
|
||||
IDS_SEARCH_TEXT "Buscar..."
|
||||
IDS_SEARCH_TEXT "Buscar…"
|
||||
IDS_INSTALL "Instalar"
|
||||
IDS_UNINSTALL "Desinstalar"
|
||||
IDS_MODIFY "Modificar"
|
||||
|
@ -206,13 +206,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "No se pudieron borrar del Registro los datos de instalación del programa."
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Ha fallado la comprobación del certificado SSL."
|
||||
IDS_INTEG_CHECK_TITLE "Verificando integridad del paquete..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verificando integridad del paquete…"
|
||||
IDS_INTEG_CHECK_FAIL "El paquete no ha pasado la comprobación de integridad, puede haber sido alterado o estar corrupto. No se recomienda ejecutarlo."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Se ha interrumpido la descarga por un error de red. Comprueba la conexión a Internet."
|
||||
IDS_UNABLE_TO_WRITE "No se ha podido escribir en el disco duro, es posible que no quede espacio libre."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -247,5 +249,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "Pas de proxy pour", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Par défaut", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "Accepter", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "Accepter", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Installation de programme"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Installer à partir d'un disque (CD ou DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Télécharger et installer", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "Accepter", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "Accepter", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Téléchargement %ls..."
|
||||
CAPTION "Téléchargement %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "À propos"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\npar Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Fermer", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\npar Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Fermer", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,7 +183,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Applications Manager"
|
||||
IDS_SEARCH_TEXT "Chercher..."
|
||||
IDS_SEARCH_TEXT "Chercher…"
|
||||
IDS_INSTALL "Installer"
|
||||
IDS_UNINSTALL "Désinstaller"
|
||||
IDS_MODIFY "Modifier"
|
||||
|
@ -203,13 +203,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Impossible de télécharger le paquet : vérifiez votre connexion à Internet !"
|
||||
IDS_UNABLE_TO_REMOVE "Impossible de supprimer du registre les données du programme !"
|
||||
IDS_UNABLE_TO_INSTALL "Impossible d'ouvrir l'installeur !"
|
||||
IDS_CERT_DOES_NOT_MATCH "La vérification du certificat SSL a échoué."
|
||||
IDS_INTEG_CHECK_TITLE "Vérification de l'intégrité du paquet..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Vérification de l'intégrité du paquet…"
|
||||
IDS_INTEG_CHECK_FAIL "Le contrôle d'intégrité du paquet a échoué, il se peut qu'il ait été corrompu ou altéré au cours du téléchargement. L'exécution du programme n'est pas recommandée."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Le téléchargement a été interrompu. Vérifiez votre connexion à Internet."
|
||||
IDS_UNABLE_TO_WRITE "Impossible d'écrire sur le disque. Votre disque pourrait être plein."
|
||||
IDS_SELECT_ALL "Sélectionner/Désélectionner tout"
|
||||
IDS_INSTALL_SELECTED "Installer les sélectionnés"
|
||||
IDS_INSTALL_SELECTED "Installer la sélection"
|
||||
IDS_SELECTEDFORINST "Sélectionnées pour installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -237,12 +239,12 @@ BEGIN
|
|||
IDS_LANGUAGE_NO_TRANSLATION "Supporte d'autres langues"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supporte l'Anglais"
|
||||
IDS_LANGUAGE_SINGLE "Langue unique"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+ %d de plus)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+ %d disponibles)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Base de données d'applications"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Mise à jour de la base de données..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Mise à jour de la base de données…"
|
||||
END
|
||||
|
|
|
@ -20,7 +20,7 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
MENUITEM "רענון\tF5", ID_REFRESH
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Update Da&tabase\tCtrl+F5", ID_RESETDB
|
||||
MENUITEM "עדכון מסד נתונים\tCtrl+F5", ID_RESETDB
|
||||
END
|
||||
POPUP "עזרה"
|
||||
BEGIN
|
||||
|
@ -50,12 +50,13 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
MENUITEM "רענן\tF5", ID_REFRESH
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Update Da&tabase\tCtrl+F5", ID_RESETDB
|
||||
MENUITEM "עדכון מסד נתונים\tCtrl+F5", ID_RESETDB
|
||||
END
|
||||
END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX 0, 0, 250, 215
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "הגדרות"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
|
@ -68,33 +69,35 @@ BEGIN
|
|||
EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL
|
||||
PUSHBUTTON "בחר", IDC_CHOOSE, 187, 85, 50, 14
|
||||
AUTOCHECKBOX "מחק את קובץ ההתקנה לאחר סיום ההתקנה", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
GROUPBOX "Proxy", -1, 4, 116, 240, 76
|
||||
CONTROL "System proxy settings", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10
|
||||
CONTROL "Direct (No proxy)", IDC_NO_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 145, 210, 10
|
||||
CONTROL "Proxy", IDC_USE_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 160, 74, 10
|
||||
GROUPBOX "שרת פרוקסי", -1, 4, 116, 240, 76
|
||||
CONTROL "הגדרות פרוקסי של המערכת", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10
|
||||
CONTROL "חיבור ישיר(ללא פרוקסי)", IDC_NO_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 145, 210, 10
|
||||
CONTROL "פרוקסי", IDC_USE_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 160, 74, 10
|
||||
EDITTEXT IDC_PROXY_SERVER, 90, 160, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
LTEXT "ללא פרוקסי עבור:", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "ברירת מחדל", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "אישור", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "אישור", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "ביטול", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX 0, 0, 216, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "התקנת תכנית"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "התקן מתוך דיסק (CD או DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "הורד והתקן", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "אישור", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "אישור", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "ביטול", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "הורדה %ls..."
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "הורדה %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -104,12 +107,13 @@ END
|
|||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "אודות"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "סגירה", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "סגירה", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -119,7 +123,7 @@ BEGIN
|
|||
IDS_TOOLTIP_MODIFY "שינוי"
|
||||
IDS_TOOLTIP_SETTINGS "הגדרות"
|
||||
IDS_TOOLTIP_REFRESH "רענון"
|
||||
IDS_TOOLTIP_UPDATE_DB "Update Database"
|
||||
IDS_TOOLTIP_UPDATE_DB "עדכון מסד נתונים"
|
||||
IDS_TOOLTIP_EXIT "יציאה"
|
||||
END
|
||||
|
||||
|
@ -154,13 +158,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nגרסה: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nגרסה זמינה: "
|
||||
IDS_AINFO_DESCRIPTION "\nתיאור: "
|
||||
IDS_AINFO_SIZE "\nגודל: "
|
||||
IDS_AINFO_URLSITE "\nדף בית: "
|
||||
IDS_AINFO_LICENSE "\nרישיון: "
|
||||
IDS_AINFO_URLDOWNLOAD "\nהורד: "
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\nשפות: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -185,7 +189,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "מנהל היישומים של ReactOS"
|
||||
IDS_SEARCH_TEXT "חפש..."
|
||||
IDS_SEARCH_TEXT "חפש…"
|
||||
IDS_INSTALL "התקנה"
|
||||
IDS_UNINSTALL "הסרה"
|
||||
IDS_MODIFY "שינוי"
|
||||
|
@ -205,30 +209,32 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STATUS_INSTALLED "Installed"
|
||||
IDS_STATUS_NOTINSTALLED "Not installed"
|
||||
IDS_STATUS_DOWNLOADED "Downloaded"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Update available"
|
||||
IDS_STATUS_DOWNLOADING "Downloading…"
|
||||
IDS_STATUS_INSTALLING "Installing…"
|
||||
IDS_STATUS_WAITING "Waiting to install…"
|
||||
IDS_STATUS_FINISHED "Finished"
|
||||
IDS_STATUS_INSTALLED "מותקן"
|
||||
IDS_STATUS_NOTINSTALLED "לא מותקן"
|
||||
IDS_STATUS_DOWNLOADED "הורד"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "עדכון זמין"
|
||||
IDS_STATUS_DOWNLOADING "מוריד..."
|
||||
IDS_STATUS_INSTALLING "מתקין..."
|
||||
IDS_STATUS_WAITING "מחכה להתקנה..."
|
||||
IDS_STATUS_FINISHED "הסתיים"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LICENSE_OPENSOURCE "Open Source"
|
||||
IDS_LICENSE_OPENSOURCE "קוד פתוח"
|
||||
IDS_LICENSE_FREEWARE "Freeware"
|
||||
IDS_LICENSE_TRIAL "Trial/Demo"
|
||||
END
|
||||
|
@ -246,5 +252,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "Ignora proxy per:", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Predefiniti", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Installazione"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Installa da un disco (CD o DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Scarica e installa", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Scaricamento in corso %ls..."
|
||||
CAPTION "Scaricamento in corso %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Informazioni"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Gestione applicazioni di ReactOS \nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Chiudi", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Gestione applicazioni di ReactOS \nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Chiudi", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -152,13 +152,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersione: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nVersione Disponibile: "
|
||||
IDS_AINFO_DESCRIPTION "\nDescrizione: "
|
||||
IDS_AINFO_SIZE "\nDimensione: "
|
||||
IDS_AINFO_URLSITE "\nHome Page: "
|
||||
IDS_AINFO_URLSITE "\nPagina Iniziale: "
|
||||
IDS_AINFO_LICENSE "\nLicenza: "
|
||||
IDS_AINFO_URLDOWNLOAD "\nScaricare: "
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\nLingue: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,11 +183,11 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Gestione applicazioni"
|
||||
IDS_SEARCH_TEXT "Cerca..."
|
||||
IDS_SEARCH_TEXT "Cerca…"
|
||||
IDS_INSTALL "Installa"
|
||||
IDS_UNINSTALL "Rimuovi"
|
||||
IDS_MODIFY "Modifica"
|
||||
IDS_APPS_COUNT "Numero applicazioni: %d; Selected: %d"
|
||||
IDS_APPS_COUNT "Numero applicazioni: %d; Selezionate: %d"
|
||||
IDS_WELCOME_TITLE "Benvenuto!\n\n"
|
||||
IDS_WELCOME_TEXT "Scegliere una categoria a sinistra, poi scegliere una applicazione da installare o disinstallare.\nReactOS Web Site: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
|
@ -200,28 +200,30 @@ BEGIN
|
|||
IDS_APP_REG_REMOVE "Sicuro di voler cancellare dal registro i dati sui programmi installati?"
|
||||
IDS_INFORMATION "Informazioni"
|
||||
IDS_UNABLE_TO_DOWNLOAD "Impossibile scaricare il pacchetto! Indirizzo non trovato!"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "Impossibile scaricare il pacchetto! Controlla la tua connessione internet!"
|
||||
IDS_UNABLE_TO_REMOVE "Impossibile cancellare i dati dal registro!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Verifica del certificato SSL fallita."
|
||||
IDS_INTEG_CHECK_TITLE "Verifica integrità pacchetto..."
|
||||
IDS_INTEG_CHECK_FAIL "Il pacchetto non ha superato il controllo di integrità, potrebbe essere stato danneggiato o manomesso durante lo scaricamento. L'esecuzione del software non è raccomandata."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Lo scaricamento è stato interrotto. Verificare la connessione a Internet."
|
||||
IDS_UNABLE_TO_INSTALL "Impossibile aprire l'installer!"
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifica integrità pacchetto…"
|
||||
IDS_INTEG_CHECK_FAIL "Il pacchetto non ha superato il controllo di integrità, potrebbe essere stato danneggiato o manomesso durante lo scaricamento. L'esecuzione del software non è raccomandata."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Lo scaricamento è stato interrotto. Verificare la connessione a Internet."
|
||||
IDS_UNABLE_TO_WRITE "Impossibile scrivere su disco: lo spazio libero potrebbe essere esaurito."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECT_ALL "Seleziona/Deseleziona Tutte"
|
||||
IDS_INSTALL_SELECTED "Installa le selezionate"
|
||||
IDS_SELECTEDFORINST "Selezionate per l'installazione"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STATUS_INSTALLED "Installed"
|
||||
IDS_STATUS_NOTINSTALLED "Not installed"
|
||||
IDS_STATUS_DOWNLOADED "Downloaded"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Update available"
|
||||
IDS_STATUS_DOWNLOADING "Downloading…"
|
||||
IDS_STATUS_INSTALLING "Installing…"
|
||||
IDS_STATUS_WAITING "Waiting to install…"
|
||||
IDS_STATUS_FINISHED "Finished"
|
||||
IDS_STATUS_INSTALLED "Installato"
|
||||
IDS_STATUS_NOTINSTALLED "Non installato"
|
||||
IDS_STATUS_DOWNLOADED "Scaricato"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Aggiornamento disponibile"
|
||||
IDS_STATUS_DOWNLOADING "Scaricamento…"
|
||||
IDS_STATUS_INSTALLING "Installazione…"
|
||||
IDS_STATUS_WAITING "In attesa di installare…"
|
||||
IDS_STATUS_FINISHED "Finito"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -233,16 +235,16 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supports your language"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Supports other languages"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supports English"
|
||||
IDS_LANGUAGE_SINGLE "Single language"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)"
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supporta la tua lingua"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Supporta le altre lingue"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supporta l'Inglese"
|
||||
IDS_LANGUAGE_SINGLE "Lingua singola"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d più)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d disponibile)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DISP "Applicazioni Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Aggiornamento Database…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "デフォルト", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "プログラムのインストール"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "ディスクからインストール (CD や DVD)(&I)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "ダウンロードしてインストール(&D)", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "ダウンロード %ls..."
|
||||
CAPTION "ダウンロード %ls…"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ 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 (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "閉じる", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS アプリケーション マネージャ\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "閉じる", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,7 +183,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS アプリケーション マネージャ"
|
||||
IDS_SEARCH_TEXT "検索..."
|
||||
IDS_SEARCH_TEXT "検索…"
|
||||
IDS_INSTALL "インストール"
|
||||
IDS_UNINSTALL "アンインストール"
|
||||
IDS_MODIFY "変更"
|
||||
|
@ -203,13 +203,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "レジストリからこのプログラムに関するデータを削除できません!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -244,5 +246,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Default", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Program installation"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Install from a disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Download and install", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Lastet ned %ls..."
|
||||
CAPTION "Lastet ned %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ 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 (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Lukk", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Programbehandler\nEnerett (C) 2009\nav Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Lukk", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -182,7 +182,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS programbehandler"
|
||||
IDS_SEARCH_TEXT "Søk..."
|
||||
IDS_SEARCH_TEXT "Søk…"
|
||||
IDS_INSTALL "Installere"
|
||||
IDS_UNINSTALL "Avinstallere"
|
||||
IDS_MODIFY "Endre"
|
||||
|
@ -202,13 +202,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -243,5 +245,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -82,7 +82,7 @@ BEGIN
|
|||
LTEXT "Bez proxy dla", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Domyślne", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -91,16 +91,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalacja programu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Zainstaluj z dysku (CD lub DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Pobierz i zainstaluj", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 220
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Pobierz %ls..."
|
||||
CAPTION "Pobierz %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -113,9 +113,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "O programie"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Menedżer aplikacji ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Zamknij", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Menedżer aplikacji ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Zamknij", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -160,13 +160,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nWersja: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nDostępna wersja: "
|
||||
IDS_AINFO_DESCRIPTION "\nOpis: "
|
||||
IDS_AINFO_SIZE "\nRozmiar: "
|
||||
IDS_AINFO_URLSITE "\nStrona: "
|
||||
IDS_AINFO_LICENSE "\nLicencja: "
|
||||
IDS_AINFO_URLDOWNLOAD "\nPobieranie: "
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\nJęzyki: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -191,7 +191,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Menedżer aplikacji ReactOS"
|
||||
IDS_SEARCH_TEXT "Szukaj..."
|
||||
IDS_SEARCH_TEXT "Szukaj…"
|
||||
IDS_INSTALL "Instaluj"
|
||||
IDS_UNINSTALL "Odinstaluj"
|
||||
IDS_MODIFY "Modyfikuj"
|
||||
|
@ -211,13 +211,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Nie można pobrać pakietu! Sprawdź połączenie z siecią!"
|
||||
IDS_UNABLE_TO_REMOVE "Nie można było usunąć wpisu z rejestru!"
|
||||
IDS_UNABLE_TO_INSTALL "Nie można uruchomić instalatora!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Weryfikacja certyfikatu SSL nieudana."
|
||||
IDS_INTEG_CHECK_TITLE "Weryfikowanie integralności pakietu..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Weryfikowanie integralności pakietu…"
|
||||
IDS_INTEG_CHECK_FAIL "Pakiet nie przeszedł kontroli integralności, mógł zostać uszkodzony lub naruszony podczas pobierania. Uruchamianie tego programu nie jest zalecane."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Pobieranie zostało przerwane. Sprawdź połączenie z siecią"
|
||||
IDS_UNABLE_TO_WRITE "Nie można zapisać na dysku. Dysk może być pełny."
|
||||
IDS_SELECT_ALL "Zaznacz/Odznacz Wszystko"
|
||||
IDS_INSTALL_SELECTED "Instaluj Zaznaczone"
|
||||
IDS_SELECTEDFORINST "Wybrane do instalacji"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -227,7 +229,7 @@ BEGIN
|
|||
IDS_STATUS_DOWNLOADED "Pobrane"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Dostępna aktualizacja"
|
||||
IDS_STATUS_DOWNLOADING "Pobieranie…"
|
||||
IDS_STATUS_INSTALLING "Instalowanie……"
|
||||
IDS_STATUS_INSTALLING "Instalowanie…"
|
||||
IDS_STATUS_WAITING "Oczekiwanie na instalację…"
|
||||
IDS_STATUS_FINISHED "Gotowe"
|
||||
END
|
||||
|
@ -251,6 +253,6 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Baza Programów"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Aktualizowanie bazy Programów..."
|
||||
IDS_DL_DIALOG_DB_DISP "Baza programów"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Aktualizowanie bazy programów…"
|
||||
END
|
||||
|
|
|
@ -76,7 +76,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Padrão", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -85,16 +85,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalação do programa"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Instalar com uma mídia (CD ou DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Baixar e instalar", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Download %ls..."
|
||||
CAPTION "Download %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -107,9 +107,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Sobre"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Central de Aplicativos ReactOS\nCopyright (C) 2009\npor Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Fechar", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Central de Aplicativos ReactOS\nCopyright (C) 2009\npor Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Fechar", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -185,7 +185,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Central de Aplicativos ReactOS"
|
||||
IDS_SEARCH_TEXT "Procurar..."
|
||||
IDS_SEARCH_TEXT "Procurar…"
|
||||
IDS_INSTALL "Instalar"
|
||||
IDS_UNINSTALL "Desinstalar"
|
||||
IDS_MODIFY "Modificar"
|
||||
|
@ -205,13 +205,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Não foi possível remover as informações do programa do registro!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -246,5 +248,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
/* Ștefan Fulea (stefan dot fulea at mail dot md) */
|
||||
/*
|
||||
* PROJECT: ReactOS Applications Manager (RAPPS)
|
||||
* FILE: base/applications/rapps/lang/ro-RO.rc
|
||||
* PURPOSE: Romanian Translation for RAPPS
|
||||
* TRANSLATORS:
|
||||
* Ștefan Fulea (stefan dot fulea at mail dot md)
|
||||
* Bișoc George (fraizeraust99@gmail.com)
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
|
@ -76,7 +83,7 @@ BEGIN
|
|||
LTEXT "excepție pentru", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "I&mplicite", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "Con&firmă", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "Con&firmă", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "A&nulează", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -85,16 +92,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalare aplicație"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "Instalea&ză de pe un disc (CD sau DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Descarcă și instalează", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "Con&firmă", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "Con&firmă", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "A&nulează", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "În curs de descărcare %ls..."
|
||||
CAPTION "În curs de descărcare %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -107,9 +114,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Despre gestionarul de programe"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Gestionar de programe ReactOS\nDrept de autor (C) 2009\nde către Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Î&nchide", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Gestionar de programe ReactOS\nDrept de autor (C) 2009\nde către Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Î&nchide", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -154,13 +161,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\nVersiune: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\nVersiune disponibilă: "
|
||||
IDS_AINFO_DESCRIPTION "\nDescriere: "
|
||||
IDS_AINFO_SIZE "\nDimensiune: "
|
||||
IDS_AINFO_URLSITE "\nAdresă web: "
|
||||
IDS_AINFO_LICENSE "\nLicență: "
|
||||
IDS_AINFO_URLDOWNLOAD "\nURL fișier: "
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\nLimbi: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -189,7 +196,7 @@ BEGIN
|
|||
IDS_INSTALL "Instalează"
|
||||
IDS_UNINSTALL "Dezinstalează"
|
||||
IDS_MODIFY "Modifică"
|
||||
IDS_APPS_COUNT "Numărul de programe: %d; Selected: %d"
|
||||
IDS_APPS_COUNT "Numărul de programe: %d; Selectate: %d"
|
||||
IDS_WELCOME_TITLE "Bun venit la gestionarul de programe ReactOS!\n\n"
|
||||
IDS_WELCOME_TEXT "Alegeți o categorie din stânga, apoi alegeți o aplicație pentru a o instala sau dezinstala.\nArdesa web ReactOS: "
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
|
@ -204,47 +211,49 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD "Pachetul nu poate fi descărcat! Adresa nu este găsită!"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "Pachetul nu poate fi descărcat! Verificați conexiunea de Internet!"
|
||||
IDS_UNABLE_TO_REMOVE "Datele de registru pentru acest program nu au putut fi eliminate!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Verificarea certificatului SSL a eșuat."
|
||||
IDS_UNABLE_TO_INSTALL "Programul de instalare nu poate fi executat!"
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Integritatea pachetului în verificare…"
|
||||
IDS_INTEG_CHECK_FAIL "Pachetul nu a trecut de verificarea de integritate. Utilizarea programului nu este recomandată."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Descărcarea a fost întreruptă. Verificați conexiunea la Internet."
|
||||
IDS_UNABLE_TO_WRITE "Eșec la scriea pe disc. Una din cauze poate fi atingerea limitei de capacitate."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_UNABLE_TO_WRITE "Eșec la scrierea pe disc. Una din cauze poate fi atingerea limitei de capacitate."
|
||||
IDS_SELECT_ALL "Selectează/Deselectează Toate"
|
||||
IDS_INSTALL_SELECTED "Instalează selecționate"
|
||||
IDS_SELECTEDFORINST "Selectate pentru instalare"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STATUS_INSTALLED "Installed"
|
||||
IDS_STATUS_NOTINSTALLED "Not installed"
|
||||
IDS_STATUS_DOWNLOADED "Downloaded"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Update available"
|
||||
IDS_STATUS_DOWNLOADING "Downloading…"
|
||||
IDS_STATUS_INSTALLING "Installing…"
|
||||
IDS_STATUS_WAITING "Waiting to install…"
|
||||
IDS_STATUS_FINISHED "Finished"
|
||||
IDS_STATUS_INSTALLED "Instalat"
|
||||
IDS_STATUS_NOTINSTALLED "Nu instalat"
|
||||
IDS_STATUS_DOWNLOADED "Descărcat"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Actualizare disponibilă"
|
||||
IDS_STATUS_DOWNLOADING "Descărcare…"
|
||||
IDS_STATUS_INSTALLING "Instalare…"
|
||||
IDS_STATUS_WAITING "În fază de instalare…"
|
||||
IDS_STATUS_FINISHED "Terminat"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LICENSE_OPENSOURCE "Open Source"
|
||||
IDS_LICENSE_OPENSOURCE "Sursă Deschisă"
|
||||
IDS_LICENSE_FREEWARE "Freeware"
|
||||
IDS_LICENSE_TRIAL "Trial/Demo"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supports your language"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Supports other languages"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supports English"
|
||||
IDS_LANGUAGE_SINGLE "Single language"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)"
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Suportă limba respectivă"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Suportă alte limbi"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Suportă limba Engleză"
|
||||
IDS_LANGUAGE_SINGLE "Singura Limbă"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d mult)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d disponibil)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DISP "Aplicații baza de date"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Actualizare baza de date…"
|
||||
END
|
||||
|
|
|
@ -74,7 +74,7 @@ BEGIN
|
|||
LTEXT "Исключения", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "По умолчанию", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -83,16 +83,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Установка программы"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Установить с диска", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Скачать и установить", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 220
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_POPUPWINDOW | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Загрузка %ls..."
|
||||
CAPTION "Загрузка %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -105,9 +105,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "О программе"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Менеджер приложений ReactOS\nАвторские права (C) 2009\nДмитрий Чапышев (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Закрыть", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Менеджер приложений ReactOS\nАвторские права (C) 2009\nДмитрий Чапышев (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Закрыть", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -183,7 +183,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Менеджер приложений ReactOS"
|
||||
IDS_SEARCH_TEXT "Поиск..."
|
||||
IDS_SEARCH_TEXT "Поиск…"
|
||||
IDS_INSTALL "Установить"
|
||||
IDS_UNINSTALL "Удалить"
|
||||
IDS_MODIFY "Изменить"
|
||||
|
@ -203,13 +203,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Не удалось скачать приложение! Проверьте подключение к сети Интернет!"
|
||||
IDS_UNABLE_TO_REMOVE "Не удалось удалить данные о программе из реестра!"
|
||||
IDS_UNABLE_TO_INSTALL "Не удалось завершить установку!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Ошибка проверки SSL сертификата."
|
||||
IDS_INTEG_CHECK_TITLE "Проверка целостности приложения..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Проверка целостности приложения…"
|
||||
IDS_INTEG_CHECK_FAIL "Приложение не прошло проверку целостности, возможно оно было повреждено или подменено. Запуск приложения не рекомендуется."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Загрузка была прервана. Проверьте подключение к сети Интернет."
|
||||
IDS_UNABLE_TO_WRITE "Не удалось записать данные на диск. Возможно, недостаточно свободного места на диске."
|
||||
IDS_SELECT_ALL "Выбрать все"
|
||||
IDS_INSTALL_SELECTED "Установить выбранное"
|
||||
IDS_SELECTEDFORINST "Выбрано для установки"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -219,7 +221,7 @@ BEGIN
|
|||
IDS_STATUS_DOWNLOADED "Загружено"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Есть обновления"
|
||||
IDS_STATUS_DOWNLOADING "Загружается…"
|
||||
IDS_STATUS_INSTALLING "Установка..."
|
||||
IDS_STATUS_INSTALLING "Установка…"
|
||||
IDS_STATUS_WAITING "Ожидание установки…"
|
||||
IDS_STATUS_FINISHED "Завершено"
|
||||
END
|
||||
|
@ -244,5 +246,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "База данных приложений"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Обновление базы данных..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Обновление базы данных…"
|
||||
END
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Predvolené", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Zrušiť", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -88,16 +88,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Inštalácia programu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Inštalovať z disku (CD alebo DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Stiahnuť a inštalovať", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Zrušiť", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Sťahujem %ls..." // Stiahnuť ???
|
||||
CAPTION "Sťahujem %ls…" // Stiahnuť ???
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -110,9 +110,9 @@ 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 (dmitry@reactos.org)\nPreklad: Mário Kačmár (kario@szm.sk)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Zavrieť", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Manažér aplikácií systému ReactOS\nAutorské práva (C) 2009\nod Dmitry Chapyshev (dmitry@reactos.org)\nPreklad: Mário Kačmár (kario@szm.sk)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Zavrieť", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -188,7 +188,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Manažér aplikácií systému ReactOS"
|
||||
IDS_SEARCH_TEXT "Hľadať..."
|
||||
IDS_SEARCH_TEXT "Hľadať…"
|
||||
IDS_INSTALL "Inštalovať"
|
||||
IDS_UNINSTALL "Odinštalovať"
|
||||
IDS_MODIFY "Zmeniť"
|
||||
|
@ -208,13 +208,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Nie je možné odstrániť z registrov údaje o programe!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -249,5 +251,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Parazgjedhur", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Anulo", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -87,16 +87,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Instalimi i Programeve"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Instalo nga nje disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "Shkarko dhe instalo", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Anulo", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Shkarko %ls..."
|
||||
CAPTION "Shkarko %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -109,9 +109,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Rreth"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nnga Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nnga Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Close", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -187,7 +187,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS Applications Manager"
|
||||
IDS_SEARCH_TEXT "Kerko..."
|
||||
IDS_SEARCH_TEXT "Kerko…"
|
||||
IDS_INSTALL "Instalo"
|
||||
IDS_UNINSTALL "Uninstall"
|
||||
IDS_MODIFY "Modifiko"
|
||||
|
@ -207,13 +207,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "E pamundur te fshihen informacionet e programit nga regjistri!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -248,5 +250,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -81,7 +81,7 @@ BEGIN
|
|||
LTEXT "No proxy for", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Standard", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -90,16 +90,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Programinstallation"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Installera från disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Ladda ner och installera", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Ladda ner %ls..."
|
||||
CAPTION "Ladda ner %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -112,9 +112,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Om"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Programhanterare\nCopyright (C) 2009\nav Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Stäng", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Programhanterare\nCopyright (C) 2009\nav Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Stäng", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -190,7 +190,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS programhanterare"
|
||||
IDS_SEARCH_TEXT "Sök..."
|
||||
IDS_SEARCH_TEXT "Sök…"
|
||||
IDS_INSTALL "Installera"
|
||||
IDS_UNINSTALL "Avinstallera"
|
||||
IDS_MODIFY "Ändra"
|
||||
|
@ -210,13 +210,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "Det gick ej att ta bort programmets data från registret!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -251,5 +253,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
|
||||
/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
|
||||
|
||||
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
|
@ -6,7 +6,7 @@ IDR_MAINMENU MENU
|
|||
BEGIN
|
||||
POPUP "&Kütük"
|
||||
BEGIN
|
||||
MENUITEM "&Ayarlar...", ID_SETTINGS
|
||||
MENUITEM "&Ayarlar…", ID_SETTINGS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Çıkış", ID_EXIT
|
||||
END
|
||||
|
@ -76,7 +76,7 @@ BEGIN
|
|||
LTEXT "Şunun İçin Vekil Sunucu Yok", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Ön Tanımlılar", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "Tamam", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "Tamam", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "İptal", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -85,16 +85,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "İzlence Kurulumu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Bir Diskten (CD'den veyâ DVD'den) Kur", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&İndir ve Kur", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "Tamam", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "Tamam", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "İptal", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "İndiriliyor %ls..."
|
||||
CAPTION "İndiriliyor %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -107,9 +107,9 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
|||
CAPTION "Üzerine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Uygulama Yöneticisi\nTelif Hakkı: 2009\nDmitry Chapyshev (dmitry@reactos.org) ile.", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Tamam", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS Uygulama Yöneticisi\nTelif Hakkı: 2009\nDmitry Chapyshev (dmitry@reactos.org) ile.", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Tamam", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -205,13 +205,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Paket indirilemez! Umûmî Ağ bağlantınızı yoklayınız!"
|
||||
IDS_UNABLE_TO_REMOVE "İzlencenin girişi değer defterinden silinemiyor."
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL onay belgesi doğrulaması başarısız."
|
||||
IDS_INTEG_CHECK_TITLE "Paket bütünlüğü doğrulanıyor..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Paket bütünlüğü doğrulanıyor…"
|
||||
IDS_INTEG_CHECK_FAIL "Paket bütünlük denetimini geçmedi, bozulmuş veyâ indirme esnâsında oynanmış olabilir. Yazılımı çalıştırmak önerilmez."
|
||||
IDS_INTERRUPTED_DOWNLOAD "İndirme kesildi. Umûmî Ağ bağlantınızı denetleyiniz."
|
||||
IDS_UNABLE_TO_WRITE "Diske yazılamıyor. Disk dolu olabilir."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -246,5 +248,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -82,7 +82,7 @@ BEGIN
|
|||
LTEXT "Виключення", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "Стандартно", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
|
@ -91,16 +91,16 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS
|
|||
CAPTION "Встановлення програми"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "&Встановити з диску", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Завантажити та встановити", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 220
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_POPUPWINDOW | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "Завантаження %ls..."
|
||||
CAPTION "Завантаження %ls…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
|
@ -110,12 +110,12 @@ END
|
|||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "Про програму..."
|
||||
CAPTION "Про програму…"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Менеджер додатків ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "Закрити", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "Менеджер додатків ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "Закрити", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -191,7 +191,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "Менеджер додатків ReactOS"
|
||||
IDS_SEARCH_TEXT "Пошук..."
|
||||
IDS_SEARCH_TEXT "Пошук…"
|
||||
IDS_INSTALL "Встановити"
|
||||
IDS_UNINSTALL "Видалити"
|
||||
IDS_MODIFY "Змінити"
|
||||
|
@ -211,13 +211,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Неможливо завантажити додаток! Перевірте підключення до мережі Інтернет!"
|
||||
IDS_UNABLE_TO_REMOVE "Не вдалося видалити дані про програму з реєстру!"
|
||||
IDS_UNABLE_TO_INSTALL "Не вдалося завершити інсталювання!"
|
||||
IDS_CERT_DOES_NOT_MATCH "Помилка перевіки сертифікату SSL."
|
||||
IDS_INTEG_CHECK_TITLE "Перевірка цілістності додатку..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "Перевірка цілістності додатку…"
|
||||
IDS_INTEG_CHECK_FAIL "Додаток не пройшов перевірку цілістності, його молги пошкодити чи замінити. Запуск додатку не рекомендується."
|
||||
IDS_INTERRUPTED_DOWNLOAD "Завантаження перервано. Перевірте підключення до мережі Інтернет."
|
||||
IDS_UNABLE_TO_WRITE "Записк на диск неможливий. Можливо, на диску недостатньо містця."
|
||||
IDS_SELECT_ALL "Вибрати все"
|
||||
IDS_INSTALL_SELECTED "Встановити обране"
|
||||
IDS_SELECTEDFORINST "Обрані для встановлення"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -228,7 +230,7 @@ BEGIN
|
|||
IDS_STATUS_UPDATE_AVAILABLE "Є оновлення"
|
||||
IDS_STATUS_DOWNLOADING "Завантажується…"
|
||||
IDS_STATUS_INSTALLING "Встановлюється…"
|
||||
IDS_STATUS_WAITING "Очікування завантаження..."
|
||||
IDS_STATUS_WAITING "Очікування завантаження…"
|
||||
IDS_STATUS_FINISHED "Завершено"
|
||||
END
|
||||
|
||||
|
@ -252,5 +254,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Список програм"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Оновлення списку програм..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Оновлення списку програм…"
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Translated by Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> */
|
||||
|
||||
/* Imporved by Li Keqing <auroracloud4096@gmail.com> */
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
|
||||
IDR_MAINMENU MENU
|
||||
|
@ -57,9 +57,9 @@ END
|
|||
IDD_SETTINGS_DIALOG DIALOGEX 0, 0, 250, 215
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "设置"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "宋体"
|
||||
BEGIN
|
||||
GROUPBOX "普通", -1, 4, 2, 240, 61
|
||||
GROUPBOX "常规", -1, 4, 2, 240, 61
|
||||
AUTOCHECKBOX "保存窗口位置(&S)", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12
|
||||
AUTOCHECKBOX "启动时更新可获得的程序列表(&U)", IDC_UPDATE_AVLIST, 15, 29, 222, 12
|
||||
AUTOCHECKBOX "将程序的安装和卸载记录到日志(&L)", IDC_LOG_ENABLED, 15, 46, 219, 12
|
||||
|
@ -76,26 +76,26 @@ BEGIN
|
|||
LTEXT "没有代理", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "缺省", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "确定", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "确定", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "取消", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX 0, 0, 216, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "安装程序"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
CAPTION "程序安装"
|
||||
FONT 9, "宋体"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "从存储设备安装 (CD 或 DVD)(&I)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "从磁盘安装 (CD 或 DVD)(&I)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "下载并安装(&D)", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "确定", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "确定", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "取消", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 220
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "正在下载 %ls..."
|
||||
FONT 9, "MS Shell Dlg"
|
||||
CAPTION "正在下载 %ls…"
|
||||
FONT 9, "宋体"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
EDITTEXT IDC_DOWNLOAD_STATUS, 10, 28, 200, 22, ES_CENTER | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_DISABLED | NOT WS_BORDER
|
||||
|
@ -105,11 +105,11 @@ END
|
|||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "关于"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "宋体"
|
||||
BEGIN
|
||||
LTEXT "ReactOS 程序管理器 版权所有 (C) 2009\n作者 Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "关闭", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS 程序管理器 版权所有 (C) 2009\n作者 Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "关闭", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -154,13 +154,13 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AINFO_VERSION "\n版本:"
|
||||
IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: "
|
||||
IDS_AINFO_AVAILABLEVERSION "\n可用版本: "
|
||||
IDS_AINFO_DESCRIPTION "\n描述:"
|
||||
IDS_AINFO_SIZE "\n大小:"
|
||||
IDS_AINFO_URLSITE "\n主页:"
|
||||
IDS_AINFO_LICENSE "\n协议:"
|
||||
IDS_AINFO_URLDOWNLOAD "\n下载:"
|
||||
IDS_AINFO_LANGUAGES "\nLanguages: "
|
||||
IDS_AINFO_LANGUAGES "\n语言: "
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -185,12 +185,12 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS 程序管理器"
|
||||
IDS_SEARCH_TEXT "搜索..."
|
||||
IDS_SEARCH_TEXT "搜索…"
|
||||
IDS_INSTALL "安装"
|
||||
IDS_UNINSTALL "卸载"
|
||||
IDS_MODIFY "修改"
|
||||
IDS_APPS_COUNT "程序个数:%d; Selected: %d"
|
||||
IDS_WELCOME_TITLE "欢迎来到 ReactOS 程序管理器!\n\n"
|
||||
IDS_APPS_COUNT "程序数量:%d;已选:%d"
|
||||
IDS_WELCOME_TITLE "欢迎使用 ReactOS 程序管理器!\n\n"
|
||||
IDS_WELCOME_TEXT "从左栏选择一个类别,然后选择要安装或卸载的程序。\nReactOS 网站:"
|
||||
IDS_WELCOME_URL "http://www.reactos.org"
|
||||
IDS_INSTALLED "已安装"
|
||||
|
@ -198,53 +198,55 @@ BEGIN
|
|||
IDS_UPDATES "更新"
|
||||
IDS_APPLICATIONS "应用程序"
|
||||
IDS_CHOOSE_FOLDER_TEXT "请选择用来保存下载文件的文件夹:"
|
||||
IDS_CHOOSE_FOLDER_ERROR "您选择的文件夹不存在。创建吗?"
|
||||
IDS_CHOOSE_FOLDER_ERROR "您选择的文件夹不存在。是否创建?"
|
||||
IDS_APP_REG_REMOVE "您确定要从注册表删除该程序的数据吗?"
|
||||
IDS_INFORMATION "信息"
|
||||
IDS_UNABLE_TO_DOWNLOAD "无法下载该软件包 !找不到网络的地址 !"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_DOWNLOAD "无法下载该软件包!找不到网络的地址!"
|
||||
IDS_UNABLE_TO_DOWNLOAD2 "无法下载该软件包!请检查网络连接!"
|
||||
IDS_UNABLE_TO_REMOVE "无法从注册表删除该程序的数据!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
|
||||
IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
|
||||
IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended."
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_UNABLE_TO_INSTALL "无法打开安装程序!"
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "正在验证包完整性…"
|
||||
IDS_INTEG_CHECK_FAIL "这个包没有通过完整性验证,它可能在下载过程中损坏或被人为篡改了。不推荐运行这个程序。"
|
||||
IDS_INTERRUPTED_DOWNLOAD "下载中断。请检查网络连接。"
|
||||
IDS_UNABLE_TO_WRITE "无法写入磁盘。磁盘可能已满。"
|
||||
IDS_SELECT_ALL "全选/全反选"
|
||||
IDS_INSTALL_SELECTED "安装已选中的"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STATUS_INSTALLED "Installed"
|
||||
IDS_STATUS_NOTINSTALLED "Not installed"
|
||||
IDS_STATUS_DOWNLOADED "Downloaded"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "Update available"
|
||||
IDS_STATUS_DOWNLOADING "Downloading…"
|
||||
IDS_STATUS_INSTALLING "Installing…"
|
||||
IDS_STATUS_WAITING "Waiting to install…"
|
||||
IDS_STATUS_FINISHED "Finished"
|
||||
IDS_STATUS_INSTALLED "已安装"
|
||||
IDS_STATUS_NOTINSTALLED "未安装"
|
||||
IDS_STATUS_DOWNLOADED "下载"
|
||||
IDS_STATUS_UPDATE_AVAILABLE "可用更新"
|
||||
IDS_STATUS_DOWNLOADING "正在下载…"
|
||||
IDS_STATUS_INSTALLING "正在安装…"
|
||||
IDS_STATUS_WAITING "正在等待安装…"
|
||||
IDS_STATUS_FINISHED "完成"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LICENSE_OPENSOURCE "Open Source"
|
||||
IDS_LICENSE_FREEWARE "Freeware"
|
||||
IDS_LICENSE_TRIAL "Trial/Demo"
|
||||
IDS_LICENSE_OPENSOURCE "开源软件"
|
||||
IDS_LICENSE_FREEWARE "免费软件"
|
||||
IDS_LICENSE_TRIAL "试用版/演示版"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supports your language"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "Supports other languages"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "Supports English"
|
||||
IDS_LANGUAGE_SINGLE "Single language"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)"
|
||||
IDS_LANGUAGE_AVAILABLE_TRANSLATION "支持您的语言"
|
||||
IDS_LANGUAGE_NO_TRANSLATION "支持其他语言"
|
||||
IDS_LANGUAGE_ENGLISH_TRANSLATION "支持英语"
|
||||
IDS_LANGUAGE_SINGLE "单语言"
|
||||
IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d 及更多)"
|
||||
IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d 可用)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DISP "应用程序数据库"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "正在更新数据库…"
|
||||
END
|
||||
|
|
|
@ -57,7 +57,7 @@ END
|
|||
IDD_SETTINGS_DIALOG DIALOGEX 0, 0, 250, 215
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "設定"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
GROUPBOX "普通", -1, 4, 2, 240, 61
|
||||
AUTOCHECKBOX "儲存視窗位置(&S)", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12
|
||||
|
@ -76,26 +76,26 @@ BEGIN
|
|||
LTEXT "沒有代理", -1, 27, 175, 64, 10
|
||||
EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "預設", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14
|
||||
PUSHBUTTON "確定", IDOK, 116, 195, 60, 14
|
||||
DEFPUSHBUTTON "確定", IDOK, 116, 195, 60, 14
|
||||
PUSHBUTTON "取消", IDCANCEL, 181, 195, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX 0, 0, 216, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "安裝程式"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
AUTORADIOBUTTON "從存儲裝置安裝 (CD 或 DVD)(&I)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "下載並安裝(&D)", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
PUSHBUTTON "確定", IDOK, 86, 78, 60, 14
|
||||
DEFPUSHBUTTON "確定", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "取消", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE
|
||||
CAPTION "正在下載 %ls..."
|
||||
FONT 9, "MS Shell Dlg"
|
||||
CAPTION "正在下載 %ls…"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12
|
||||
EDITTEXT IDC_DOWNLOAD_STATUS, 10, 28, 200, 22, ES_CENTER | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_DISABLED | NOT WS_BORDER
|
||||
|
@ -105,11 +105,11 @@ END
|
|||
IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
CAPTION "關於"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LTEXT "ReactOS 程式管理器 版權所有 (C) 2009\n作者 Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
PUSHBUTTON "關閉", IDOK, 133, 46, 50, 14
|
||||
ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30
|
||||
LTEXT "ReactOS 程式管理器 版權所有 (C) 2009\n作者 Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39
|
||||
DEFPUSHBUTTON "關閉", IDOK, 133, 46, 50, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -185,7 +185,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APPTITLE "ReactOS 程式管理器"
|
||||
IDS_SEARCH_TEXT "搜索..."
|
||||
IDS_SEARCH_TEXT "搜索…"
|
||||
IDS_INSTALL "安裝"
|
||||
IDS_UNINSTALL "解除安裝"
|
||||
IDS_MODIFY "修改"
|
||||
|
@ -205,13 +205,15 @@ BEGIN
|
|||
IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!"
|
||||
IDS_UNABLE_TO_REMOVE "無法從登錄檔刪除該程式的資料!"
|
||||
IDS_UNABLE_TO_INSTALL "Unable to open installer!"
|
||||
IDS_CERT_DOES_NOT_MATCH "SSL 憑證驗證失敗。"
|
||||
IDS_INTEG_CHECK_TITLE "驗證套裝軟體的完整性..."
|
||||
IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?"
|
||||
IDS_INTEG_CHECK_TITLE "驗證套裝軟體的完整性…"
|
||||
IDS_INTEG_CHECK_FAIL "包沒有通過完整性檢查,它可能已損壞,或者在下載過程中篡改。建議您不要運行該軟體。"
|
||||
IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet."
|
||||
IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
|
||||
IDS_SELECT_ALL "Select/Deselect All"
|
||||
IDS_INSTALL_SELECTED "Install Selected"
|
||||
IDS_SELECTEDFORINST "Selected for installation"
|
||||
IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -246,5 +248,5 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_DL_DIALOG_DB_DISP "Applications Database"
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
|
||||
IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
|
||||
END
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
#include "misc.h"
|
||||
|
||||
#ifdef USE_CERT_PINNING
|
||||
#define CERT_ISSUER_INFO "BE\r\nGlobalSign nv-sa\r\nGlobalSign Domain Validation CA - SHA256 - G2"
|
||||
#define CERT_SUBJECT_INFO "Domain Control Validated\r\n*.reactos.org"
|
||||
#define CERT_ISSUER_INFO "US\r\nLet's Encrypt\r\nLet's Encrypt Authority X3"
|
||||
#define CERT_SUBJECT_INFO "rapps.reactos.org"
|
||||
#endif
|
||||
|
||||
enum DownloadStatus
|
||||
|
@ -146,25 +146,44 @@ public:
|
|||
LONG r;
|
||||
|
||||
Item = GetDlgItem(m_hDialog, IDC_DOWNLOAD_PROGRESS);
|
||||
if (Item && ulProgressMax)
|
||||
if (Item)
|
||||
{
|
||||
WCHAR szProgress[100];
|
||||
WCHAR szProgressMax[100];
|
||||
UINT uiPercentage = ((ULONGLONG) ulProgress * 100) / ulProgressMax;
|
||||
|
||||
/* send the current progress to the progress bar */
|
||||
SendMessageW(Item, PBM_SETPOS, uiPercentage, 0);
|
||||
|
||||
/* format the bits and bytes into pretty and accessible units... */
|
||||
StrFormatByteSizeW(ulProgress, szProgress, _countof(szProgress));
|
||||
StrFormatByteSizeW(ulProgressMax, szProgressMax, _countof(szProgressMax));
|
||||
|
||||
/* ...and post all of it to our subclassed progress bar text subroutine */
|
||||
/* use our subclassed progress bar text subroutine */
|
||||
ATL::CStringW m_ProgressText;
|
||||
m_ProgressText.Format(L"%u%% \x2014 %ls / %ls",
|
||||
uiPercentage,
|
||||
szProgress,
|
||||
szProgressMax);
|
||||
|
||||
if (ulProgressMax)
|
||||
{
|
||||
/* total size is known */
|
||||
WCHAR szProgressMax[100];
|
||||
UINT uiPercentage = ((ULONGLONG) ulProgress * 100) / ulProgressMax;
|
||||
|
||||
/* send the current progress to the progress bar */
|
||||
SendMessageW(Item, PBM_SETPOS, uiPercentage, 0);
|
||||
|
||||
/* format total download size */
|
||||
StrFormatByteSizeW(ulProgressMax, szProgressMax, _countof(szProgressMax));
|
||||
|
||||
/* generate the text on progress bar */
|
||||
m_ProgressText.Format(L"%u%% \x2014 %ls / %ls",
|
||||
uiPercentage,
|
||||
szProgress,
|
||||
szProgressMax);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* send the current progress to the progress bar */
|
||||
SendMessageW(Item, PBM_SETPOS, 0, 0);
|
||||
|
||||
/* total size is not known, display only current size */
|
||||
m_ProgressText.Format(L"%ls...",
|
||||
szProgress);
|
||||
}
|
||||
/* and finally display it */
|
||||
SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) m_ProgressText.GetString());
|
||||
}
|
||||
|
||||
|
@ -312,61 +331,52 @@ HRESULT WINAPI CDownloadDialog_Constructor(HWND Dlg, BOOL *pbCancelled, REFIID r
|
|||
}
|
||||
|
||||
#ifdef USE_CERT_PINNING
|
||||
static BOOL CertIsValid(HINTERNET hInternet, LPWSTR lpszHostName)
|
||||
{
|
||||
HINTERNET hConnect;
|
||||
HINTERNET hRequest;
|
||||
DWORD certInfoLength;
|
||||
BOOL Ret = FALSE;
|
||||
INTERNET_CERTIFICATE_INFOW certInfo;
|
||||
typedef CHeapPtr<char, CLocalAllocator> CLocalPtr;
|
||||
|
||||
hConnect = InternetConnectW(hInternet, lpszHostName, INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, INTERNET_FLAG_SECURE, 0);
|
||||
if (hConnect)
|
||||
static BOOL CertGetSubjectAndIssuer(HINTERNET hFile, CLocalPtr& subjectInfo, CLocalPtr& issuerInfo)
|
||||
{
|
||||
DWORD certInfoLength;
|
||||
INTERNET_CERTIFICATE_INFOA certInfo;
|
||||
DWORD size, flags;
|
||||
|
||||
size = sizeof(flags);
|
||||
if (!InternetQueryOptionA(hFile, INTERNET_OPTION_SECURITY_FLAGS, &flags, &size))
|
||||
{
|
||||
hRequest = HttpOpenRequestW(hConnect, L"HEAD", NULL, NULL, NULL, NULL, INTERNET_FLAG_SECURE, 0);
|
||||
if (hRequest != NULL)
|
||||
{
|
||||
Ret = HttpSendRequestW(hRequest, L"", 0, NULL, 0);
|
||||
if (Ret)
|
||||
{
|
||||
certInfoLength = sizeof(certInfo);
|
||||
Ret = InternetQueryOptionW(hRequest,
|
||||
INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT,
|
||||
&certInfo,
|
||||
&certInfoLength);
|
||||
if (Ret)
|
||||
{
|
||||
if (certInfo.lpszEncryptionAlgName)
|
||||
LocalFree(certInfo.lpszEncryptionAlgName);
|
||||
if (certInfo.lpszIssuerInfo)
|
||||
{
|
||||
if (strcmp((LPSTR) certInfo.lpszIssuerInfo, CERT_ISSUER_INFO) != 0)
|
||||
Ret = FALSE;
|
||||
LocalFree(certInfo.lpszIssuerInfo);
|
||||
}
|
||||
if (certInfo.lpszProtocolName)
|
||||
LocalFree(certInfo.lpszProtocolName);
|
||||
if (certInfo.lpszSignatureAlgName)
|
||||
LocalFree(certInfo.lpszSignatureAlgName);
|
||||
if (certInfo.lpszSubjectInfo)
|
||||
{
|
||||
if (strcmp((LPSTR) certInfo.lpszSubjectInfo, CERT_SUBJECT_INFO) != 0)
|
||||
Ret = FALSE;
|
||||
LocalFree(certInfo.lpszSubjectInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
InternetCloseHandle(hRequest);
|
||||
}
|
||||
InternetCloseHandle(hConnect);
|
||||
return FALSE;
|
||||
}
|
||||
return Ret;
|
||||
|
||||
if (!flags & SECURITY_FLAG_SECURE)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Despite what the header indicates, the implementation of INTERNET_CERTIFICATE_INFO is not Unicode-aware. */
|
||||
certInfoLength = sizeof(certInfo);
|
||||
if (!InternetQueryOptionA(hFile,
|
||||
INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT,
|
||||
&certInfo,
|
||||
&certInfoLength))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
subjectInfo.Attach(certInfo.lpszSubjectInfo);
|
||||
issuerInfo.Attach(certInfo.lpszIssuerInfo);
|
||||
|
||||
if (certInfo.lpszProtocolName)
|
||||
LocalFree(certInfo.lpszProtocolName);
|
||||
if (certInfo.lpszSignatureAlgName)
|
||||
LocalFree(certInfo.lpszSignatureAlgName);
|
||||
if (certInfo.lpszEncryptionAlgName)
|
||||
LocalFree(certInfo.lpszEncryptionAlgName);
|
||||
|
||||
return certInfo.lpszSubjectInfo && certInfo.lpszIssuerInfo;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline VOID MessageBox_LoadString(HWND hMainWnd, INT StringID)
|
||||
{
|
||||
ATL::CString szMsgText;
|
||||
ATL::CStringW szMsgText;
|
||||
if (szMsgText.LoadStringW(StringID))
|
||||
{
|
||||
MessageBoxW(hMainWnd, szMsgText.GetString(), NULL, MB_OK | MB_ICONERROR);
|
||||
|
@ -393,6 +403,7 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM w
|
|||
case WM_INITDIALOG:
|
||||
{
|
||||
HICON hIconSm, hIconBg;
|
||||
ATL::CStringW szTempCaption;
|
||||
|
||||
hIconBg = (HICON) GetClassLongW(hMainWnd, GCLP_HICON);
|
||||
hIconSm = (HICON) GetClassLongW(hMainWnd, GCLP_HICONSM);
|
||||
|
@ -408,7 +419,7 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM w
|
|||
if (Item)
|
||||
{
|
||||
// initialize the default values for our nifty progress bar
|
||||
// and subclass it so that it learns to print a status text
|
||||
// and subclass it so that it learns to print a status text
|
||||
SendMessageW(Item, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
|
||||
SendMessageW(Item, PBM_SETPOS, 0, 0);
|
||||
|
||||
|
@ -423,10 +434,15 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND Dlg, UINT uMsg, WPARAM w
|
|||
}
|
||||
DownloadsListView.LoadList(AppsToInstallList);
|
||||
|
||||
ShowWindow(Dlg, SW_SHOW);
|
||||
|
||||
// Get a dlg string for later use
|
||||
GetWindowTextW(Dlg, szCaption, MAX_PATH);
|
||||
GetWindowTextW(Dlg, szCaption, _countof(szCaption));
|
||||
|
||||
// Hide a placeholder from displaying
|
||||
szTempCaption = szCaption;
|
||||
szTempCaption.Replace(L"%ls", L"");
|
||||
SetWindowText(Dlg, szTempCaption.GetString());
|
||||
|
||||
ShowWindow(Dlg, SW_SHOW);
|
||||
|
||||
// Start download process
|
||||
DownloadParam *param = new DownloadParam(Dlg, AppsToInstallList, szCaption);
|
||||
|
@ -541,6 +557,21 @@ LRESULT CALLBACK CDownloadManager::DownloadProgressProc(HWND hWnd,
|
|||
}
|
||||
}
|
||||
|
||||
VOID CDownloadManager::SetProgressMarquee(HWND Item, BOOL Enable)
|
||||
{
|
||||
if (!Item)
|
||||
return;
|
||||
|
||||
DWORD style = GetWindowLongPtr(Item, GWL_STYLE);
|
||||
if (!style)
|
||||
return;
|
||||
|
||||
if (!SetWindowLongPtr(Item, GWL_STYLE, (Enable ? style | PBS_MARQUEE : style & ~PBS_MARQUEE)))
|
||||
return;
|
||||
|
||||
SendMessageW(Item, PBM_SETMARQUEE, Enable, 0);
|
||||
}
|
||||
|
||||
DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
||||
{
|
||||
CComPtr<IBindStatusCallback> dl;
|
||||
|
@ -572,6 +603,8 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
LPCWSTR szCaption = static_cast<DownloadParam*>(param)->szCaption;
|
||||
ATL::CStringW szNewCaption;
|
||||
|
||||
const DWORD dwUrlConnectFlags = INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_KEEP_CONNECTION;
|
||||
|
||||
if (InfoArray.GetSize() <= 0)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
|
||||
|
@ -580,6 +613,40 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
|
||||
for (iAppId = 0; iAppId < InfoArray.GetSize(); ++iAppId)
|
||||
{
|
||||
// Reset progress bar
|
||||
Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS);
|
||||
if (Item)
|
||||
{
|
||||
SetProgressMarquee(Item, FALSE);
|
||||
SendMessageW(Item, WM_SETTEXT, 0, (LPARAM) L"");
|
||||
SendMessageW(Item, PBM_SETPOS, 0, 0);
|
||||
}
|
||||
|
||||
// is this URL an update package for RAPPS? if so store it in a different place
|
||||
if (InfoArray[iAppId].szUrl == APPLICATION_DATABASE_URL)
|
||||
{
|
||||
bCab = TRUE;
|
||||
if (!GetStorageDirectory(Path))
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
{
|
||||
bCab = FALSE;
|
||||
Path = SettingsInfo.szDownloadDir;
|
||||
}
|
||||
|
||||
// Change caption to show the currently downloaded app
|
||||
if (!bCab)
|
||||
{
|
||||
szNewCaption.Format(szCaption, InfoArray[iAppId].szName.GetString());
|
||||
}
|
||||
else
|
||||
{
|
||||
szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP);
|
||||
}
|
||||
|
||||
SetWindowTextW(hDlg, szNewCaption.GetString());
|
||||
|
||||
// build the path for the download
|
||||
p = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'/');
|
||||
q = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'?');
|
||||
|
@ -596,18 +663,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
if (q && q > p && (q - p) > 0)
|
||||
filenameLength -= wcslen(q - 1) * sizeof(WCHAR);
|
||||
|
||||
// is this URL an update package for RAPPS? if so store it in a different place
|
||||
if (InfoArray[iAppId].szUrl == APPLICATION_DATABASE_URL)
|
||||
{
|
||||
bCab = TRUE;
|
||||
if (!GetStorageDirectory(Path))
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
{
|
||||
Path = SettingsInfo.szDownloadDir;
|
||||
}
|
||||
|
||||
// is the path valid? can we access it?
|
||||
if (GetFileAttributesW(Path.GetString()) == INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
|
@ -626,25 +681,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
goto run;
|
||||
}
|
||||
|
||||
// Reset progress bar
|
||||
Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS);
|
||||
if (Item)
|
||||
{
|
||||
SendMessageW(Item, PBM_SETPOS, 0, 0);
|
||||
}
|
||||
|
||||
// Change caption to show the currently downloaded app
|
||||
if (!bCab)
|
||||
{
|
||||
szNewCaption.Format(szCaption, InfoArray[iAppId].szName.GetString());
|
||||
}
|
||||
else
|
||||
{
|
||||
szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP);
|
||||
}
|
||||
|
||||
SetWindowTextW(hDlg, szNewCaption.GetString());
|
||||
|
||||
// Add the download URL
|
||||
SetDlgItemTextW(hDlg, IDC_DOWNLOAD_STATUS, InfoArray[iAppId].szUrl.GetString());
|
||||
|
||||
|
@ -661,39 +697,20 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
switch (SettingsInfo.Proxy)
|
||||
{
|
||||
case 0: // preconfig
|
||||
default:
|
||||
hOpen = InternetOpenW(lpszAgent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
|
||||
break;
|
||||
case 1: // direct (no proxy)
|
||||
case 1: // direct (no proxy)
|
||||
hOpen = InternetOpenW(lpszAgent, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
|
||||
break;
|
||||
case 2: // use proxy
|
||||
hOpen = InternetOpenW(lpszAgent, INTERNET_OPEN_TYPE_PROXY, SettingsInfo.szProxyServer, SettingsInfo.szNoProxyFor, 0);
|
||||
break;
|
||||
default: // preconfig
|
||||
hOpen = InternetOpenW(lpszAgent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!hOpen)
|
||||
goto end;
|
||||
|
||||
hFile = InternetOpenUrlW(hOpen, InfoArray[iAppId].szUrl.GetString(), NULL, 0, INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_KEEP_CONNECTION, 0);
|
||||
|
||||
if (!hFile)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!HttpQueryInfoW(hFile, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &dwStatus, &dwStatusLen, NULL))
|
||||
goto end;
|
||||
|
||||
if (dwStatus != HTTP_STATUS_OK)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
|
||||
goto end;
|
||||
}
|
||||
|
||||
dwStatusLen = sizeof(dwStatus);
|
||||
|
||||
memset(&urlComponents, 0, sizeof(urlComponents));
|
||||
|
@ -708,26 +725,90 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
if (!InternetCrackUrlW(InfoArray[iAppId].szUrl, urlLength + 1, ICU_DECODE | ICU_ESCAPE, &urlComponents))
|
||||
goto end;
|
||||
|
||||
dwContentLen = 0;
|
||||
|
||||
if (urlComponents.nScheme == INTERNET_SCHEME_HTTP || urlComponents.nScheme == INTERNET_SCHEME_HTTPS)
|
||||
HttpQueryInfoW(hFile, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, &dwContentLen, &dwStatus, 0);
|
||||
{
|
||||
hFile = InternetOpenUrlW(hOpen, InfoArray[iAppId].szUrl.GetString(), NULL, 0,
|
||||
dwUrlConnectFlags,
|
||||
0);
|
||||
if (!hFile)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
|
||||
goto end;
|
||||
}
|
||||
|
||||
// query connection
|
||||
if (!HttpQueryInfoW(hFile, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &dwStatus, &dwStatusLen, NULL))
|
||||
goto end;
|
||||
|
||||
if (dwStatus != HTTP_STATUS_OK)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
|
||||
goto end;
|
||||
}
|
||||
|
||||
// query content length
|
||||
HttpQueryInfoW(hFile, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, &dwContentLen, &dwStatusLen, NULL);
|
||||
}
|
||||
|
||||
if (urlComponents.nScheme == INTERNET_SCHEME_FTP)
|
||||
{
|
||||
// force passive mode on FTP
|
||||
hFile = InternetOpenUrlW(hOpen, InfoArray[iAppId].szUrl.GetString(), NULL, 0,
|
||||
dwUrlConnectFlags | INTERNET_FLAG_PASSIVE,
|
||||
0);
|
||||
if (!hFile)
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
|
||||
goto end;
|
||||
}
|
||||
|
||||
dwContentLen = FtpGetFileSize(hFile, &dwStatus);
|
||||
}
|
||||
|
||||
if (!dwContentLen)
|
||||
{
|
||||
// content-length is not known, enable marquee mode
|
||||
SetProgressMarquee(Item, TRUE);
|
||||
}
|
||||
|
||||
free(urlComponents.lpszScheme);
|
||||
free(urlComponents.lpszHostName);
|
||||
|
||||
#ifdef USE_CERT_PINNING
|
||||
// are we using HTTPS to download the RAPPS update package? check if the certificate is original
|
||||
if ((urlComponents.nScheme == INTERNET_SCHEME_HTTPS) &&
|
||||
(wcscmp(InfoArray[iAppId].szUrl, APPLICATION_DATABASE_URL) == 0) &&
|
||||
(!CertIsValid(hOpen, urlComponents.lpszHostName)))
|
||||
(wcscmp(InfoArray[iAppId].szUrl, APPLICATION_DATABASE_URL) == 0))
|
||||
{
|
||||
MessageBox_LoadString(hMainWnd, IDS_CERT_DOES_NOT_MATCH);
|
||||
goto end;
|
||||
CLocalPtr subjectName, issuerName;
|
||||
CStringW szMsgText;
|
||||
bool bAskQuestion = false;
|
||||
if (!CertGetSubjectAndIssuer(hFile, subjectName, issuerName))
|
||||
{
|
||||
szMsgText.LoadStringW(IDS_UNABLE_TO_QUERY_CERT);
|
||||
bAskQuestion = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strcmp(subjectName, CERT_SUBJECT_INFO) ||
|
||||
strcmp(issuerName, CERT_ISSUER_INFO))
|
||||
{
|
||||
szMsgText.Format(IDS_MISMATCH_CERT_INFO, (char*)subjectName, (const char*)issuerName);
|
||||
bAskQuestion = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (bAskQuestion)
|
||||
{
|
||||
if (MessageBoxW(hMainWnd, szMsgText.GetString(), NULL, MB_YESNO | MB_ICONERROR) != IDYES)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
free(urlComponents.lpszScheme);
|
||||
free(urlComponents.lpszHostName);
|
||||
|
||||
hOut = CreateFileW(Path.GetString(), GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, 0, NULL);
|
||||
|
||||
if (hOut == INVALID_HANDLE_VALUE)
|
||||
|
@ -758,6 +839,15 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
|
|||
if (bCancelled)
|
||||
goto end;
|
||||
|
||||
if (!dwContentLen)
|
||||
{
|
||||
// set progress bar to 100%
|
||||
SetProgressMarquee(Item, FALSE);
|
||||
|
||||
dwContentLen = dwCurrentBytesRead;
|
||||
dl->OnProgress(dwCurrentBytesRead, dwContentLen, 0, InfoArray[iAppId].szUrl.GetString());
|
||||
}
|
||||
|
||||
/* if this thing isn't a RAPPS update and it has a SHA-1 checksum
|
||||
verify its integrity by using the native advapi32.A_SHA1 functions */
|
||||
if (!bCab && InfoArray[iAppId].szSHA1[0] != 0)
|
||||
|
@ -798,7 +888,13 @@ run:
|
|||
|
||||
if (ShellExecuteExW(&shExInfo))
|
||||
{
|
||||
//reflect installation progress in the titlebar
|
||||
//TODO: make a separate string with a placeholder to include app name?
|
||||
ATL::CStringW szMsgText = LoadStatusString(DLSTATUS_INSTALLING);
|
||||
SetWindowTextW(hDlg, szMsgText.GetString());
|
||||
|
||||
DownloadsListView.SetDownloadStatus(iAppId, DLSTATUS_INSTALLING);
|
||||
|
||||
//TODO: issue an install operation separately so that the apps could be downloaded in the background
|
||||
WaitForSingleObject(shExInfo.hProcess, INFINITE);
|
||||
CloseHandle(shExInfo.hProcess);
|
||||
|
@ -830,20 +926,15 @@ end:
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL CDownloadManager::DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo*>& AppsList, BOOL bIsModal)
|
||||
BOOL CDownloadManager::DownloadListOfApplications(const ATL::CSimpleArray<CAvailableApplicationInfo>& AppsList, BOOL bIsModal)
|
||||
{
|
||||
if (AppsList.GetSize() == 0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Initialize shared variables
|
||||
for (INT i = 0; i < AppsList.GetSize(); ++i)
|
||||
{
|
||||
if (AppsList[i])
|
||||
{
|
||||
AppsToInstallList.Add(*(AppsList[i]));
|
||||
}
|
||||
AppsToInstallList.Add(AppsList[i]); // implicit conversion to DownloadInfo
|
||||
}
|
||||
|
||||
// Create a dialog and issue a download process
|
||||
|
|
|
@ -215,7 +215,7 @@ BOOL ExtractFilesFromCab(LPCWSTR lpCabName, LPCWSTR lpOutputPath)
|
|||
SESSION Dest;
|
||||
HRESULT Result;
|
||||
fnExtract pfnExtract;
|
||||
|
||||
|
||||
hCabinetDll = LoadLibraryW(L"cabinet.dll");
|
||||
if (hCabinetDll)
|
||||
{
|
||||
|
@ -225,7 +225,7 @@ BOOL ExtractFilesFromCab(LPCWSTR lpCabName, LPCWSTR lpOutputPath)
|
|||
ZeroMemory(&Dest, sizeof(Dest));
|
||||
|
||||
WideCharToMultiByte(CP_ACP, 0, lpOutputPath, -1, Dest.Destination, MAX_PATH, NULL, NULL);
|
||||
WideCharToMultiByte(CP_ACP, 0, lpCabName, -1, szCabName, MAX_PATH, NULL, NULL);
|
||||
WideCharToMultiByte(CP_ACP, 0, lpCabName, -1, szCabName, _countof(szCabName), NULL, NULL);
|
||||
Dest.Operation = EXTRACT_FILLFILELIST;
|
||||
|
||||
Result = pfnExtract(&Dest, szCabName);
|
||||
|
|
|
@ -40,6 +40,7 @@ IDI_CAT_OTHER ICON "res/cats/other.ico"
|
|||
IDI_CAT_SCIENCE ICON "res/cats/science.ico"
|
||||
IDI_CAT_TOOLS ICON "res/cats/tools.ico"
|
||||
IDI_CAT_VIDEO ICON "res/cats/video.ico"
|
||||
IDI_SELECTEDFORINST ICON "res/select.ico"
|
||||
|
||||
/* Accelerators -- key bindings */
|
||||
HOTKEYS ACCELERATORS
|
||||
|
|
|
@ -147,7 +147,6 @@ CreateHSplitBar(HWND hwnd)
|
|||
hInst,
|
||||
NULL);
|
||||
|
||||
|
||||
if (hHSplitter == NULL)
|
||||
{
|
||||
/* TODO: Show error message */
|
||||
|
@ -288,7 +287,6 @@ CreateVSplitBar(HWND hwnd)
|
|||
hInst,
|
||||
NULL);
|
||||
|
||||
|
||||
if (!hVSplitter)
|
||||
{
|
||||
/* TODO: Show error message */
|
||||
|
|
|
@ -30,9 +30,9 @@ BOOL UseCmdParameters(LPWSTR lpCmdLine)
|
|||
for (INT i = 1; i < argc; ++i)
|
||||
{
|
||||
arrNames.Add(argv[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
}
|
||||
}
|
||||
else
|
||||
if (!StrCmpW(argv[0], CMD_KEY_SETUP))
|
||||
{
|
||||
HINF InfHandle = SetupOpenInfFileW(argv[1], NULL, INF_STYLE_WIN4, NULL);
|
||||
|
@ -47,7 +47,7 @@ BOOL UseCmdParameters(LPWSTR lpCmdLine)
|
|||
WCHAR szName[MAX_PATH];
|
||||
do
|
||||
{
|
||||
if (SetupGetStringFieldW(&Context, 1, szName, MAX_PATH, NULL))
|
||||
if (SetupGetStringFieldW(&Context, 1, szName, _countof(szName), NULL))
|
||||
{
|
||||
arrNames.Add(szName);
|
||||
}
|
||||
|
@ -64,12 +64,12 @@ BOOL UseCmdParameters(LPWSTR lpCmdLine)
|
|||
apps.UpdateAppsDB();
|
||||
apps.Enum(ENUM_ALL_AVAILABLE, NULL);
|
||||
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo*> arrAppInfo = apps.FindInfoList(arrNames);
|
||||
ATL::CSimpleArray<CAvailableApplicationInfo> arrAppInfo = apps.FindInfoList(arrNames);
|
||||
if (arrAppInfo.GetSize() > 0)
|
||||
{
|
||||
CDownloadManager::DownloadListOfApplications(arrAppInfo, TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -190,15 +190,18 @@ struct _ATL_REGMAP_ENTRY
|
|||
LPCOLESTR szData;
|
||||
};
|
||||
|
||||
HRESULT __stdcall AtlWinModuleInit(_ATL_WIN_MODULE *pWinModule);
|
||||
HRESULT __stdcall AtlWinModuleTerm(_ATL_WIN_MODULE *pWinModule, HINSTANCE hInst);
|
||||
HRESULT __stdcall AtlInternalQueryInterface(void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject);
|
||||
void __stdcall AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *pWinModule, _AtlCreateWndData *pData, void *pObject);
|
||||
void *__stdcall AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *pWinModule);
|
||||
HRESULT __stdcall AtlComModuleGetClassObject(_ATL_COM_MODULE *pComModule, REFCLSID rclsid, REFIID riid, LPVOID *ppv);
|
||||
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *pWinModule);
|
||||
HRESULT WINAPI AtlWinModuleTerm(_ATL_WIN_MODULE *pWinModule, HINSTANCE hInst);
|
||||
HRESULT WINAPI AtlInternalQueryInterface(void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject);
|
||||
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *pWinModule, _AtlCreateWndData *pData, void *pObject);
|
||||
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *pWinModule);
|
||||
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE *pComModule, REFCLSID rclsid, REFIID riid, LPVOID *ppv);
|
||||
|
||||
HRESULT __stdcall AtlComModuleRegisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid);
|
||||
HRESULT __stdcall AtlComModuleUnregisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid);
|
||||
HRESULT WINAPI AtlComModuleRegisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid);
|
||||
HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const CLSID *clsid);
|
||||
|
||||
HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *module, DWORD context, DWORD flags);
|
||||
HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *module);
|
||||
|
||||
|
||||
template<class TLock>
|
||||
|
@ -662,6 +665,127 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
template <class T>
|
||||
class CAtlExeModuleT : public CAtlModuleT<T>
|
||||
{
|
||||
public:
|
||||
DWORD m_dwMainThreadID;
|
||||
//DWORD m_dwTimeOut;
|
||||
//DWORD m_dwPause;
|
||||
//bool m_bDelayShutdown;
|
||||
|
||||
CAtlExeModuleT()
|
||||
:m_dwMainThreadID(::GetCurrentThreadId())
|
||||
{
|
||||
}
|
||||
|
||||
~CAtlExeModuleT()
|
||||
{
|
||||
}
|
||||
|
||||
int WinMain(int nShowCmd)
|
||||
{
|
||||
HRESULT hr = T::InitializeCom();
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
|
||||
T* pThis = static_cast<T*>(this);
|
||||
|
||||
LPCTSTR lpCommandLine = GetCommandLine();
|
||||
if (pThis->ParseCommandLine(lpCommandLine, &hr))
|
||||
{
|
||||
hr = pThis->Run(nShowCmd);
|
||||
}
|
||||
|
||||
T::UninitializeCom();
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
||||
HRESULT Run(int nShowCmd = SW_HIDE)
|
||||
{
|
||||
HRESULT hr = S_OK;
|
||||
|
||||
T* pThis = static_cast<T*>(this);
|
||||
hr = pThis->PreMessageLoop(nShowCmd);
|
||||
|
||||
if (hr == S_OK)
|
||||
{
|
||||
pThis->RunMessageLoop();
|
||||
hr = pThis->PostMessageLoop();
|
||||
}
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
LONG Lock()
|
||||
{
|
||||
return CoAddRefServerProcess();
|
||||
}
|
||||
|
||||
LONG Unlock()
|
||||
{
|
||||
LONG lRet = CoReleaseServerProcess();
|
||||
if (lRet == 0)
|
||||
{
|
||||
::PostThreadMessage(m_dwMainThreadID, WM_QUIT, 0, 0);
|
||||
}
|
||||
return lRet;
|
||||
}
|
||||
|
||||
bool ParseCommandLine(LPCTSTR lpCmdLine, HRESULT* pnRetCode)
|
||||
{
|
||||
// unimplemented!
|
||||
return true;
|
||||
}
|
||||
|
||||
HRESULT PreMessageLoop(int nShowCmd)
|
||||
{
|
||||
T* pThis = static_cast<T*>(this);
|
||||
return pThis->RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE);
|
||||
}
|
||||
|
||||
void RunMessageLoop()
|
||||
{
|
||||
MSG msg;
|
||||
while (GetMessage(&msg, 0, 0, 0) > 0)
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT PostMessageLoop()
|
||||
{
|
||||
T* pThis = static_cast<T*>(this);
|
||||
return pThis->RevokeClassObjects();
|
||||
}
|
||||
|
||||
HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags)
|
||||
{
|
||||
return AtlComModuleRegisterClassObjects(&_AtlComModule, dwClsContext, dwFlags);
|
||||
}
|
||||
|
||||
HRESULT RevokeClassObjects()
|
||||
{
|
||||
return AtlComModuleRevokeClassObjects(&_AtlComModule);
|
||||
}
|
||||
|
||||
static HRESULT InitializeCom()
|
||||
{
|
||||
return ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||
}
|
||||
|
||||
static void UninitializeCom()
|
||||
{
|
||||
::CoUninitialize();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
class CComModule : public CAtlModuleT<CComModule>
|
||||
{
|
||||
public:
|
||||
|
@ -1421,10 +1545,11 @@ inline HRESULT __stdcall AtlInternalQueryInterface(void *pThis, const _ATL_INTMA
|
|||
else
|
||||
{
|
||||
hResult = pEntries[i].pFunc(pThis, iid, ppvObject, 0);
|
||||
if (hResult == S_OK || (FAILED(hResult) && pEntries[i].piid != NULL))
|
||||
if (hResult == S_OK)
|
||||
return hResult;
|
||||
if (FAILED(hResult) && pEntries[i].piid != NULL)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
@ -1685,6 +1810,55 @@ inline HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE *mod, BOOL bU
|
|||
}
|
||||
|
||||
|
||||
// Adapted from dll/win32/atl/atl.c
|
||||
inline HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *module, DWORD context, DWORD flags)
|
||||
{
|
||||
_ATL_OBJMAP_ENTRY **iter;
|
||||
IUnknown* unk = NULL;
|
||||
HRESULT hr;
|
||||
|
||||
if (!module)
|
||||
return E_INVALIDARG;
|
||||
|
||||
for (iter = module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
|
||||
{
|
||||
if (!(*iter)->pfnGetClassObject)
|
||||
continue;
|
||||
|
||||
hr = (*iter)->pfnGetClassObject((void*)(*iter)->pfnCreateInstance, IID_IUnknown, (void**)&unk);
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
|
||||
hr = CoRegisterClassObject(*(*iter)->pclsid, unk, context, flags, &(*iter)->dwRegister);
|
||||
unk->Release();
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
// Adapted from dll/win32/atl/atl.c
|
||||
inline HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *module)
|
||||
{
|
||||
_ATL_OBJMAP_ENTRY **iter;
|
||||
HRESULT hr;
|
||||
|
||||
if (!module)
|
||||
return E_INVALIDARG;
|
||||
|
||||
for (iter = module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++)
|
||||
{
|
||||
hr = CoRevokeClassObject((*iter)->dwRegister);
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
}; // namespace ATL
|
||||
|
||||
#ifndef _ATL_NO_AUTOMATIC_NAMESPACE
|
||||
|
|
|
@ -301,6 +301,12 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
void Attach(BSTR bstr)
|
||||
{
|
||||
::SysFreeString(m_str);
|
||||
m_str = bstr;
|
||||
}
|
||||
|
||||
BSTR Detach()
|
||||
{
|
||||
BSTR str = m_str;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#define GCCU(x) x __attribute__((unused))
|
||||
#define Unused(x)
|
||||
#else
|
||||
|
@ -575,6 +575,17 @@ public:
|
|||
return ::GetDlgItemText(m_hWnd, nID, lpStr, nMaxCount);
|
||||
}
|
||||
|
||||
#ifdef __ATLSTR_H__
|
||||
UINT GetDlgItemText(int nID, CSimpleString& string)
|
||||
{
|
||||
HWND item = GetDlgItem(nID);
|
||||
int len = ::GetWindowTextLength(item);
|
||||
len = GetDlgItemText(nID, string.GetBuffer(len+1), len+1);
|
||||
string.ReleaseBuffer(len);
|
||||
return len;
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOL GetDlgItemText(int nID, BSTR& bstrText) const
|
||||
{
|
||||
ATLASSERT(::IsWindow(m_hWnd));
|
||||
|
@ -1800,6 +1811,15 @@ public:
|
|||
return TRUE; \
|
||||
}
|
||||
|
||||
#define COMMAND_CODE_HANDLER(code, func) \
|
||||
if (uMsg == WM_COMMAND && code == HIWORD(wParam)) \
|
||||
{ \
|
||||
bHandled = TRUE; \
|
||||
lResult = func(HIWORD(wParam), LOWORD(wParam), (HWND)lParam, bHandled); \
|
||||
if (bHandled) \
|
||||
return TRUE; \
|
||||
}
|
||||
|
||||
#define COMMAND_RANGE_HANDLER(idFirst, idLast, func) \
|
||||
if (uMsg == WM_COMMAND && LOWORD(wParam) >= idFirst && LOWORD(wParam) <= idLast) \
|
||||
{ \
|
||||
|
|
|
@ -143,6 +143,12 @@ public:
|
|||
return ::vswprintf(pszDest, pszFormat, args);
|
||||
}
|
||||
|
||||
static BSTR __cdecl AllocSysString(
|
||||
_In_z_ LPCWSTR pszSource,
|
||||
_In_ int nLength)
|
||||
{
|
||||
return ::SysAllocStringLen(pszSource, nLength);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -269,6 +275,19 @@ public:
|
|||
return ::vsprintf(pszDest, pszFormat, args);
|
||||
}
|
||||
|
||||
static BSTR __cdecl AllocSysString(
|
||||
_In_z_ LPCSTR pszSource,
|
||||
_In_ int nLength)
|
||||
{
|
||||
int nLen = ChTraitsCRT<wchar_t>::GetBaseTypeLength(pszSource, nLength);
|
||||
BSTR bstr = ::SysAllocStringLen(NULL, nLen);
|
||||
if (bstr)
|
||||
{
|
||||
ChTraitsCRT<wchar_t>::ConvertToBaseType(bstr, nLen, pszSource, nLength);
|
||||
}
|
||||
return bstr;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -797,8 +816,14 @@ public:
|
|||
}
|
||||
|
||||
|
||||
BSTR AllocSysString() const
|
||||
{
|
||||
return StringTraits::AllocSysString(CThisSimpleString::GetString(), CThisSimpleString::GetLength());
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace ATL
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue