using System.Collections.Generic; namespace InstaSoftOfficeTool.Models { public class InstallConfig { public OfficeVersion Version { get; set; } public OfficeEdition Edition { get; set; } public string Architecture { get; set; } = "64"; public string Language { get; set; } = "hu-hu"; public string ProductKey { get; set; } public List ExcludedApps { get; set; } = new List(); public string GetVersionDisplayName() { switch (Version) { case OfficeVersion.Office2024: return "Office 2024"; case OfficeVersion.Office2021: return "Office 2021"; case OfficeVersion.Office2019: return "Office 2019"; default: return ""; } } public string GetLanguageDisplayName() { return LanguageList.GetDisplayName(Language); } } public static class LanguageList { public static readonly (string Code, string Name)[] Languages = new[] { ("hu-hu", "Magyar"), ("en-us", "English (US)"), ("de-de", "Deutsch"), ("fr-fr", "Fran\u00e7ais"), ("it-it", "Italiano"), ("es-es", "Espa\u00f1ol"), ("pt-pt", "Portugu\u00eas"), ("nl-nl", "Nederlands"), ("pl-pl", "Polski"), ("cs-cz", "\u010ce\u0161tina"), ("sk-sk", "Sloven\u010dina"), ("ro-ro", "Rom\u00e2n\u0103"), ("hr-hr", "Hrvatski"), ("sl-si", "Sloven\u0161\u010dina"), ("sr-latn-rs", "Srpski"), ("bg-bg", "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438"), ("uk-ua", "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430"), ("ru-ru", "\u0420\u0443\u0441\u0441\u043a\u0438\u0439"), ("tr-tr", "T\u00fcrk\u00e7e"), ("ja-jp", "\u65e5\u672c\u8a9e"), ("zh-cn", "\u4e2d\u6587 (\u7b80\u4f53)"), ("ko-kr", "\ud55c\uad6d\uc5b4"), }; public static string GetDisplayName(string code) { foreach (var lang in Languages) { if (lang.Code == code) return lang.Name; } return code; } } public static class ExcludableApps { // Id, DisplayName, DefaultChecked (true = telep\u00edt, false = kiz\u00e1r) public static readonly (string Id, string DisplayName, bool DefaultChecked)[] Apps = new[] { ("Access", "Access", true), ("Teams", "Teams", true), ("OneNote", "OneNote", true), ("Publisher", "Publisher", true), ("Outlook", "Outlook", true), ("Lync", "Skype for Business", false), }; } }