//TODO: make the actual check
return TRUE;
}
+BOOL
+HasEnglishLanguage(PAPPLICATION_INFO Info)
+{
+ if (!Info)
+ {
+ return FALSE;
+ }
+ //TODO: make the actual check
+ return TRUE;
+}
LICENSE_TYPE
ParserGetLicenseType(const ATL::CStringW& szFileName)
InsertTextAfterLoaded_RichEdit(IDS_AINFO_VERSION, szVersion, CFE_BOLD, 0);
}
else
+ {
InsertLoadedTextNewl_RichEdit(IDS_STATUS_INSTALLED, CFE_ITALIC);
-
+ }
}
else
+ {
InsertLoadedTextNewl_RichEdit(IDS_STATUS_NOTINSTALLED, CFE_ITALIC);
-
+ }
+
InsertTextAfterLoaded_RichEdit(IDS_AINFO_AVAILABLEVERSION, Info->szVersion, CFE_BOLD, 0);
}
}
+VOID
+InsertLanguageInfo_RichEdit(PAPPLICATION_INFO Info)
+{
+ const INT nTranslations = Info->Languages.GetSize();
+ ATL::CStringW szLangInfo;
+ ATL::CStringW szLoadedTextAvailability;
+ ATL::CStringW szLoadedAInfoText;
+ szLoadedAInfoText.LoadStringW(IDS_AINFO_LANGUAGES);
+
+ if(HasNativeLanguage(Info))
+ {
+ szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_AVAILABLE_TRANSLATION);
+ }
+ else if (HasEnglishLanguage(Info))
+ {
+ szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_ENGLISH_TRANSLATION);
+ }
+ else
+ {
+ szLoadedTextAvailability.LoadStringW(IDS_LANGUAGE_NO_TRANSLATION);
+ }
+
+ if (nTranslations > 1)
+ {
+ szLangInfo.Format(L" (+%d more)", nTranslations - 1);
+ }
+
+ InsertRichEditText(szLoadedAInfoText, CFE_BOLD);
+ InsertRichEditText(szLoadedTextAvailability, NULL);
+ InsertRichEditText(szLangInfo, CFE_ITALIC);
+}
+
BOOL
ShowAvailableAppInfo(INT Index)
{
NewRichEditText(Info->szName, CFE_BOLD);
InsertVersionInfo_RichEdit(Info);
InsertLicenseInfo_RichEdit(Info);
+ InsertLanguageInfo_RichEdit(Info);
InsertTextAfterLoaded_RichEdit(IDS_AINFO_SIZE, Info->szSize, CFE_BOLD, 0);
InsertTextAfterLoaded_RichEdit(IDS_AINFO_URLSITE, Info->szUrlSite, CFE_BOLD, CFE_LINK);
SETTEXTEX SetText;
LONG Len = GetTextLen();
- /* Insert new text */
- SetText.flags = ST_SELECTION;
- SetText.codepage = 1200;
+ if (InsertedTextLen)
+ {
+ /* Insert new text */
+ SetText.flags = ST_SELECTION;
+ SetText.codepage = 1200;
- SendMessageW(EM_SETTEXTEX, (WPARAM) &SetText, (LPARAM) lpszText);
+ SendMessageW(EM_SETTEXTEX, (WPARAM) &SetText, (LPARAM) lpszText);
- SetRangeFormatting(Len, Len + InsertedTextLen,
- (dwEffects == CFM_LINK) ? (PathIsURLW(lpszText) ? dwEffects : 0) : dwEffects);
+ SetRangeFormatting(Len, Len + InsertedTextLen,
+ (dwEffects == CFM_LINK) ? (PathIsURLW(lpszText) ? dwEffects : 0) : dwEffects);
+ }
}
public:
IDS_AINFO_URLSITE "\nHome Page: "
IDS_AINFO_LICENSE "\nLicense: "
IDS_AINFO_URLDOWNLOAD "\nDownload: "
+ IDS_AINFO_LANGUAGES "\nLanguages: "
END
STRINGTABLE
IDS_LICENSE_FREEWARE "Freeware"
IDS_LICENSE_TRIAL "Trial/Demo"
END
+
+STRINGTABLE
+BEGIN
+ IDS_LANGUAGE_AVAILABLE_TRANSLATION "In your language"
+ IDS_LANGUAGE_NO_TRANSLATION "In your language"
+ IDS_LANGUAGE_NOT_AVAILABLE "No translations"
+ IDS_LANGUAGE_ENGLISH_TRANSLATION "In English"
+END
MENUITEM SEPARATOR
MENUITEM "&Оновити\tF5", ID_REFRESH
MENUITEM SEPARATOR
- MENUITEM "Update Da&tabase\tCtrl+F5", ID_RESETDB
+ MENUITEM "Оновити список &програм\tCtrl+F5", ID_RESETDB
END
POPUP "&Довідка"
BEGIN
MENUITEM SEPARATOR
MENUITEM "&Оновити\tF5", ID_REFRESH
MENUITEM SEPARATOR
- MENUITEM "Update Da&tabase\tCtrl+F5", ID_RESETDB
+ MENUITEM "Оновити список &програм\tCtrl+F5", ID_RESETDB
END
END
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
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 "OK", IDOK, 116, 195, 60, 14
IDS_TOOLTIP_MODIFY "Змінити"
IDS_TOOLTIP_SETTINGS "Налаштування"
IDS_TOOLTIP_REFRESH "Оновити"
- IDS_TOOLTIP_UPDATE_DB "Update Database"
+ IDS_TOOLTIP_UPDATE_DB "Оновити список програм"
IDS_TOOLTIP_EXIT "Вихід"
END
IDS_CHOOSE_FOLDER_ERROR "Ви вказали неіснуючу теку!"
IDS_APP_REG_REMOVE "Ви дійсно хочете видалити дані про встановлену програму з реєстру?"
IDS_INFORMATION "Інформація"
- IDS_UNABLE_TO_DOWNLOAD "Unable to download the package! Address not found!"
- 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_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_CERT_DOES_NOT_MATCH "Помилка перевіки сертифікату SSL."
+ IDS_INTEG_CHECK_TITLE "Перевірка цілістності додатку..."
+ IDS_INTEG_CHECK_FAIL "Додаток не пройшов перевірку цілістності, його молги пошкодити чи замінити. Запуск додатку не рекомендується."
+ IDS_INTERRUPTED_DOWNLOAD "Завантаження перервано. Перевірте підключення до мережі Інтернет."
+ IDS_UNABLE_TO_WRITE "Записк на диск неможливий. Можливо, на диску недостатньо містця."
END
STRINGTABLE
#define IDS_AINFO_LICENSE 354
#define IDS_AINFO_URLDOWNLOAD 355
#define IDS_AINFO_AVAILABLEVERSION 356
+#define IDS_AINFO_LANGUAGES 357
/* Names of categories */
#define IDS_LICENSE_FREEWARE 901
#define IDS_LICENSE_TRIAL 902
+/* Language related strings */
+#define IDS_LANGUAGE_AVAILABLE_TRANSLATION 910
+#define IDS_LANGUAGE_NO_TRANSLATION 911
+#define IDS_LANGUAGE_NOT_AVAILABLE 912
+#define IDS_LANGUAGE_ENGLISH_TRANSLATION 913
+
/* Accelerators */
#define HOTKEYS 715