mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-05 03:08:13 +00:00
Moved all extension methods into extension blocks (#1155)
This commit is contained in:
1 parent
acc7d09fa2
commit
c0a75f39ac
138 files changed
+5884
-4954
No files matched your search
+61
-58
@@ -4,63 +4,66 @@ public static class AssistantComponentTypeExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(AssistantComponentTypeExtensions).Namespace, nameof(AssistantComponentTypeExtensions));
|
||||
|
||||
public static string GetDisplayName(this AssistantComponentType type) => type switch
|
||||
extension(AssistantComponentType type)
|
||||
{
|
||||
AssistantComponentType.FORM => TB("Root"),
|
||||
AssistantComponentType.TEXT_AREA => TB("Text Area"),
|
||||
AssistantComponentType.BUTTON => TB("Button"),
|
||||
AssistantComponentType.BUTTON_GROUP => TB("Button group"),
|
||||
AssistantComponentType.DROPDOWN => TB("Dropdown"),
|
||||
AssistantComponentType.PROVIDER_SELECTION => TB("Provider Selection"),
|
||||
AssistantComponentType.PROFILE_SELECTION => TB("Profile Selection"),
|
||||
AssistantComponentType.SWITCH => TB("Switch"),
|
||||
AssistantComponentType.HEADING => TB("Heading"),
|
||||
AssistantComponentType.TEXT => TB("Text"),
|
||||
AssistantComponentType.LIST => TB("List"),
|
||||
AssistantComponentType.WEB_CONTENT_READER => TB("Web Content Reader"),
|
||||
AssistantComponentType.FILE_CONTENT_READER => TB("File Content Reader"),
|
||||
AssistantComponentType.FILE_ATTACHMENTS => TB("File Attachments"),
|
||||
AssistantComponentType.IMAGE => TB("Image"),
|
||||
AssistantComponentType.COLOR_PICKER => TB("Color Selection"),
|
||||
AssistantComponentType.DATE_PICKER => TB("Date Selection"),
|
||||
AssistantComponentType.DATE_RANGE_PICKER => TB("Date Range Selection"),
|
||||
AssistantComponentType.TIME_PICKER => TB("Time Selection"),
|
||||
AssistantComponentType.LAYOUT_ITEM => TB("Grid Item"),
|
||||
AssistantComponentType.LAYOUT_GRID => TB("Grid"),
|
||||
AssistantComponentType.LAYOUT_PAPER => TB("Container"),
|
||||
AssistantComponentType.LAYOUT_STACK => TB("Stack"),
|
||||
AssistantComponentType.LAYOUT_ACCORDION => TB("Accordion"),
|
||||
AssistantComponentType.LAYOUT_ACCORDION_SECTION => TB("Accordion Section"),
|
||||
_ => TB("Unknown Element")
|
||||
};
|
||||
|
||||
public static string GetIcon(this AssistantComponentType type) => type switch
|
||||
{
|
||||
AssistantComponentType.BUTTON => MudBlazor.Icons.Material.Filled.AdsClick,
|
||||
AssistantComponentType.BUTTON_GROUP => MudBlazor.Icons.Material.Filled.LinearScale,
|
||||
AssistantComponentType.DROPDOWN => MudBlazor.Icons.Material.Filled.Rule,
|
||||
AssistantComponentType.PROVIDER_SELECTION => MudBlazor.Icons.Material.Filled.Memory,
|
||||
AssistantComponentType.PROFILE_SELECTION => MudBlazor.Icons.Material.Filled.Badge,
|
||||
AssistantComponentType.SWITCH => MudBlazor.Icons.Material.Filled.ToggleOn,
|
||||
AssistantComponentType.HEADING => MudBlazor.Icons.Material.Filled.Title,
|
||||
AssistantComponentType.TEXT => MudBlazor.Icons.Material.Filled.TextFields,
|
||||
AssistantComponentType.TEXT_AREA => MudBlazor.Icons.Material.Filled.Wysiwyg,
|
||||
AssistantComponentType.LIST => MudBlazor.Icons.Material.Filled.List,
|
||||
AssistantComponentType.WEB_CONTENT_READER => MudBlazor.Icons.Material.Filled.Public,
|
||||
AssistantComponentType.FILE_CONTENT_READER => MudBlazor.Icons.Material.Filled.AttachFile,
|
||||
AssistantComponentType.FILE_ATTACHMENTS => MudBlazor.Icons.Material.Filled.AttachFile,
|
||||
AssistantComponentType.IMAGE => MudBlazor.Icons.Material.Filled.Image,
|
||||
AssistantComponentType.COLOR_PICKER => MudBlazor.Icons.Material.Filled.Palette,
|
||||
AssistantComponentType.DATE_PICKER => MudBlazor.Icons.Material.Filled.CalendarMonth,
|
||||
AssistantComponentType.DATE_RANGE_PICKER => MudBlazor.Icons.Material.Filled.DateRange,
|
||||
AssistantComponentType.TIME_PICKER => MudBlazor.Icons.Material.Filled.Schedule,
|
||||
AssistantComponentType.LAYOUT_ITEM => MudBlazor.Icons.Material.Filled.DashboardCustomize,
|
||||
AssistantComponentType.LAYOUT_GRID => MudBlazor.Icons.Material.Filled.GridView,
|
||||
AssistantComponentType.LAYOUT_PAPER => MudBlazor.Icons.Material.Filled.Inbox,
|
||||
AssistantComponentType.LAYOUT_STACK => MudBlazor.Icons.Material.Filled.Layers,
|
||||
AssistantComponentType.LAYOUT_ACCORDION => MudBlazor.Icons.Material.Filled.CalendarViewDay,
|
||||
AssistantComponentType.LAYOUT_ACCORDION_SECTION => MudBlazor.Icons.Material.Filled.HorizontalSplit,
|
||||
AssistantComponentType.FORM => MudBlazor.Icons.Material.Filled.AccountTree,
|
||||
_ => MudBlazor.Icons.Material.Filled.AccountTree,
|
||||
};
|
||||
public string GetDisplayName() => type switch
|
||||
{
|
||||
AssistantComponentType.FORM => TB("Root"),
|
||||
AssistantComponentType.TEXT_AREA => TB("Text Area"),
|
||||
AssistantComponentType.BUTTON => TB("Button"),
|
||||
AssistantComponentType.BUTTON_GROUP => TB("Button group"),
|
||||
AssistantComponentType.DROPDOWN => TB("Dropdown"),
|
||||
AssistantComponentType.PROVIDER_SELECTION => TB("Provider Selection"),
|
||||
AssistantComponentType.PROFILE_SELECTION => TB("Profile Selection"),
|
||||
AssistantComponentType.SWITCH => TB("Switch"),
|
||||
AssistantComponentType.HEADING => TB("Heading"),
|
||||
AssistantComponentType.TEXT => TB("Text"),
|
||||
AssistantComponentType.LIST => TB("List"),
|
||||
AssistantComponentType.WEB_CONTENT_READER => TB("Web Content Reader"),
|
||||
AssistantComponentType.FILE_CONTENT_READER => TB("File Content Reader"),
|
||||
AssistantComponentType.FILE_ATTACHMENTS => TB("File Attachments"),
|
||||
AssistantComponentType.IMAGE => TB("Image"),
|
||||
AssistantComponentType.COLOR_PICKER => TB("Color Selection"),
|
||||
AssistantComponentType.DATE_PICKER => TB("Date Selection"),
|
||||
AssistantComponentType.DATE_RANGE_PICKER => TB("Date Range Selection"),
|
||||
AssistantComponentType.TIME_PICKER => TB("Time Selection"),
|
||||
AssistantComponentType.LAYOUT_ITEM => TB("Grid Item"),
|
||||
AssistantComponentType.LAYOUT_GRID => TB("Grid"),
|
||||
AssistantComponentType.LAYOUT_PAPER => TB("Container"),
|
||||
AssistantComponentType.LAYOUT_STACK => TB("Stack"),
|
||||
AssistantComponentType.LAYOUT_ACCORDION => TB("Accordion"),
|
||||
AssistantComponentType.LAYOUT_ACCORDION_SECTION => TB("Accordion Section"),
|
||||
_ => TB("Unknown Element")
|
||||
};
|
||||
|
||||
public string GetIcon() => type switch
|
||||
{
|
||||
AssistantComponentType.BUTTON => MudBlazor.Icons.Material.Filled.AdsClick,
|
||||
AssistantComponentType.BUTTON_GROUP => MudBlazor.Icons.Material.Filled.LinearScale,
|
||||
AssistantComponentType.DROPDOWN => MudBlazor.Icons.Material.Filled.Rule,
|
||||
AssistantComponentType.PROVIDER_SELECTION => MudBlazor.Icons.Material.Filled.Memory,
|
||||
AssistantComponentType.PROFILE_SELECTION => MudBlazor.Icons.Material.Filled.Badge,
|
||||
AssistantComponentType.SWITCH => MudBlazor.Icons.Material.Filled.ToggleOn,
|
||||
AssistantComponentType.HEADING => MudBlazor.Icons.Material.Filled.Title,
|
||||
AssistantComponentType.TEXT => MudBlazor.Icons.Material.Filled.TextFields,
|
||||
AssistantComponentType.TEXT_AREA => MudBlazor.Icons.Material.Filled.Wysiwyg,
|
||||
AssistantComponentType.LIST => MudBlazor.Icons.Material.Filled.List,
|
||||
AssistantComponentType.WEB_CONTENT_READER => MudBlazor.Icons.Material.Filled.Public,
|
||||
AssistantComponentType.FILE_CONTENT_READER => MudBlazor.Icons.Material.Filled.AttachFile,
|
||||
AssistantComponentType.FILE_ATTACHMENTS => MudBlazor.Icons.Material.Filled.AttachFile,
|
||||
AssistantComponentType.IMAGE => MudBlazor.Icons.Material.Filled.Image,
|
||||
AssistantComponentType.COLOR_PICKER => MudBlazor.Icons.Material.Filled.Palette,
|
||||
AssistantComponentType.DATE_PICKER => MudBlazor.Icons.Material.Filled.CalendarMonth,
|
||||
AssistantComponentType.DATE_RANGE_PICKER => MudBlazor.Icons.Material.Filled.DateRange,
|
||||
AssistantComponentType.TIME_PICKER => MudBlazor.Icons.Material.Filled.Schedule,
|
||||
AssistantComponentType.LAYOUT_ITEM => MudBlazor.Icons.Material.Filled.DashboardCustomize,
|
||||
AssistantComponentType.LAYOUT_GRID => MudBlazor.Icons.Material.Filled.GridView,
|
||||
AssistantComponentType.LAYOUT_PAPER => MudBlazor.Icons.Material.Filled.Inbox,
|
||||
AssistantComponentType.LAYOUT_STACK => MudBlazor.Icons.Material.Filled.Layers,
|
||||
AssistantComponentType.LAYOUT_ACCORDION => MudBlazor.Icons.Material.Filled.CalendarViewDay,
|
||||
AssistantComponentType.LAYOUT_ACCORDION_SECTION => MudBlazor.Icons.Material.Filled.HorizontalSplit,
|
||||
AssistantComponentType.FORM => MudBlazor.Icons.Material.Filled.AccountTree,
|
||||
_ => MudBlazor.Icons.Material.Filled.AccountTree,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -6,31 +6,34 @@ public static class ILangExtensions
|
||||
{
|
||||
private static readonly ILogger<ILang> LOGGER = Program.LOGGER_FACTORY.CreateLogger<ILang>();
|
||||
|
||||
public static string GetText(this ILang lang, ILanguagePlugin plugin, string fallbackEN, string? typeNamespace = null, string? typeName = null)
|
||||
extension(ILang lang)
|
||||
{
|
||||
var type = lang.GetType();
|
||||
typeName ??= type.Name;
|
||||
typeNamespace ??= type.Namespace!;
|
||||
|
||||
// When the type's name ends with `1 or `2, etc. (i.e., generic classes), remove it:
|
||||
if(typeName.Contains('`'))
|
||||
typeName = typeName[..typeName.IndexOf('`')];
|
||||
|
||||
var ns = $"{typeNamespace}::{typeName}".ToUpperInvariant().Replace(".", "::");
|
||||
var key = $"root::{ns}::T{fallbackEN.ToFNV32()}";
|
||||
|
||||
if(plugin is NoPluginLanguage)
|
||||
return fallbackEN;
|
||||
|
||||
if(plugin.TryGetText(key, out var text, logWarning: false))
|
||||
public string GetText(ILanguagePlugin plugin, string fallbackEN, string? typeNamespace = null, string? typeName = null)
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(text))
|
||||
var type = lang.GetType();
|
||||
typeName ??= type.Name;
|
||||
typeNamespace ??= type.Namespace!;
|
||||
|
||||
// When the type's name ends with `1 or `2, etc. (i.e., generic classes), remove it:
|
||||
if(typeName.Contains('`'))
|
||||
typeName = typeName[..typeName.IndexOf('`')];
|
||||
|
||||
var ns = $"{typeNamespace}::{typeName}".ToUpperInvariant().Replace(".", "::");
|
||||
var key = $"root::{ns}::T{fallbackEN.ToFNV32()}";
|
||||
|
||||
if(plugin is NoPluginLanguage)
|
||||
return fallbackEN;
|
||||
|
||||
if(plugin.TryGetText(key, out var text, logWarning: false))
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(text))
|
||||
return fallbackEN;
|
||||
|
||||
return text;
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
LOGGER.LogDebug($"Missing translation key '{key}' for content '{fallbackEN}'.");
|
||||
return fallbackEN;
|
||||
LOGGER.LogDebug($"Missing translation key '{key}' for content '{fallbackEN}'.");
|
||||
return fallbackEN;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,14 @@ namespace AIStudio.Tools.PluginSystem;
|
||||
|
||||
public static class InternalPluginExtensions
|
||||
{
|
||||
public static InternalPluginData MetaData(this InternalPlugin plugin) => plugin switch
|
||||
extension(InternalPlugin plugin)
|
||||
{
|
||||
InternalPlugin.LANGUAGE_EN_US => new (PluginType.LANGUAGE, new("97dfb1ba-50c4-4440-8dfa-6575daf543c8"), "en-us"),
|
||||
InternalPlugin.LANGUAGE_DE_DE => new(PluginType.LANGUAGE, new("43065dbc-78d0-45b7-92be-f14c2926e2dc"), "de-de"),
|
||||
public InternalPluginData MetaData() => plugin switch
|
||||
{
|
||||
InternalPlugin.LANGUAGE_EN_US => new (PluginType.LANGUAGE, new("97dfb1ba-50c4-4440-8dfa-6575daf543c8"), "en-us"),
|
||||
InternalPlugin.LANGUAGE_DE_DE => new(PluginType.LANGUAGE, new("43065dbc-78d0-45b7-92be-f14c2926e2dc"), "de-de"),
|
||||
|
||||
_ => new InternalPluginData(PluginType.NONE, Guid.Empty, "unknown")
|
||||
};
|
||||
_ => new InternalPluginData(PluginType.NONE, Guid.Empty, "unknown")
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -4,37 +4,40 @@ public static class PluginCategoryExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(PluginCategoryExtensions).Namespace, nameof(PluginCategoryExtensions));
|
||||
|
||||
public static string GetName(this PluginCategory type) => type switch
|
||||
extension(PluginCategory type)
|
||||
{
|
||||
PluginCategory.NONE => TB("None"),
|
||||
PluginCategory.CORE => TB("AI Studio Core"),
|
||||
public string GetName() => type switch
|
||||
{
|
||||
PluginCategory.NONE => TB("None"),
|
||||
PluginCategory.CORE => TB("AI Studio Core"),
|
||||
|
||||
PluginCategory.BUSINESS => TB("Business"),
|
||||
PluginCategory.INDUSTRY => TB("Industry"),
|
||||
PluginCategory.UTILITY => TB("Utility"),
|
||||
PluginCategory.SOFTWARE_DEVELOPMENT => TB("Software Development"),
|
||||
PluginCategory.GAMING => TB("Gaming"),
|
||||
PluginCategory.EDUCATION => TB("Education"),
|
||||
PluginCategory.ENTERTAINMENT => TB("Entertainment"),
|
||||
PluginCategory.SOCIAL => TB("Social"),
|
||||
PluginCategory.SHOPPING => TB("Shopping"),
|
||||
PluginCategory.TRAVEL => TB("Travel"),
|
||||
PluginCategory.HEALTH => TB("Health"),
|
||||
PluginCategory.FITNESS => TB("Fitness"),
|
||||
PluginCategory.FOOD => TB("Food"),
|
||||
PluginCategory.PARTY => TB("Party"),
|
||||
PluginCategory.SPORTS => TB("Sports"),
|
||||
PluginCategory.NEWS => TB("News"),
|
||||
PluginCategory.WEATHER => TB("Weather"),
|
||||
PluginCategory.MUSIC => TB("Music"),
|
||||
PluginCategory.POLITICAL => TB("Political"),
|
||||
PluginCategory.SCIENCE => TB("Science"),
|
||||
PluginCategory.TECHNOLOGY => TB("Technology"),
|
||||
PluginCategory.ART => TB("Art"),
|
||||
PluginCategory.FICTION => TB("Fiction"),
|
||||
PluginCategory.WRITING => TB("Writing"),
|
||||
PluginCategory.CONTENT_CREATION => TB("Content Creation"),
|
||||
PluginCategory.BUSINESS => TB("Business"),
|
||||
PluginCategory.INDUSTRY => TB("Industry"),
|
||||
PluginCategory.UTILITY => TB("Utility"),
|
||||
PluginCategory.SOFTWARE_DEVELOPMENT => TB("Software Development"),
|
||||
PluginCategory.GAMING => TB("Gaming"),
|
||||
PluginCategory.EDUCATION => TB("Education"),
|
||||
PluginCategory.ENTERTAINMENT => TB("Entertainment"),
|
||||
PluginCategory.SOCIAL => TB("Social"),
|
||||
PluginCategory.SHOPPING => TB("Shopping"),
|
||||
PluginCategory.TRAVEL => TB("Travel"),
|
||||
PluginCategory.HEALTH => TB("Health"),
|
||||
PluginCategory.FITNESS => TB("Fitness"),
|
||||
PluginCategory.FOOD => TB("Food"),
|
||||
PluginCategory.PARTY => TB("Party"),
|
||||
PluginCategory.SPORTS => TB("Sports"),
|
||||
PluginCategory.NEWS => TB("News"),
|
||||
PluginCategory.WEATHER => TB("Weather"),
|
||||
PluginCategory.MUSIC => TB("Music"),
|
||||
PluginCategory.POLITICAL => TB("Political"),
|
||||
PluginCategory.SCIENCE => TB("Science"),
|
||||
PluginCategory.TECHNOLOGY => TB("Technology"),
|
||||
PluginCategory.ART => TB("Art"),
|
||||
PluginCategory.FICTION => TB("Fiction"),
|
||||
PluginCategory.WRITING => TB("Writing"),
|
||||
PluginCategory.CONTENT_CREATION => TB("Content Creation"),
|
||||
|
||||
_ => TB("Unknown plugin category"),
|
||||
};
|
||||
_ => TB("Unknown plugin category"),
|
||||
};
|
||||
}
|
||||
}
|
||||
+16
-13
@@ -4,19 +4,22 @@ public static class PluginConfigurationObjectTypeExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(PluginConfigurationObjectTypeExtensions).Namespace, nameof(PluginConfigurationObjectTypeExtensions));
|
||||
|
||||
/// <summary>
|
||||
/// The name of a type of configuration object, as users read it, e.g., in a message.
|
||||
/// </summary>
|
||||
public static string GetName(this PluginConfigurationObjectType type) => type switch
|
||||
extension(PluginConfigurationObjectType type)
|
||||
{
|
||||
PluginConfigurationObjectType.LLM_PROVIDER => TB("LLM Provider"),
|
||||
PluginConfigurationObjectType.EMBEDDING_PROVIDER => TB("Embedding Provider"),
|
||||
PluginConfigurationObjectType.TRANSCRIPTION_PROVIDER => TB("Transcription Provider"),
|
||||
PluginConfigurationObjectType.PROFILE => TB("Profile"),
|
||||
PluginConfigurationObjectType.CHAT_TEMPLATE => TB("Chat Template"),
|
||||
PluginConfigurationObjectType.DATA_SOURCE => TB("Data Source"),
|
||||
PluginConfigurationObjectType.DOCUMENT_ANALYSIS_POLICY => TB("Document Analysis Policy"),
|
||||
/// <summary>
|
||||
/// The name of a type of configuration object, as users read it, e.g., in a message.
|
||||
/// </summary>
|
||||
public string GetName() => type switch
|
||||
{
|
||||
PluginConfigurationObjectType.LLM_PROVIDER => TB("LLM Provider"),
|
||||
PluginConfigurationObjectType.EMBEDDING_PROVIDER => TB("Embedding Provider"),
|
||||
PluginConfigurationObjectType.TRANSCRIPTION_PROVIDER => TB("Transcription Provider"),
|
||||
PluginConfigurationObjectType.PROFILE => TB("Profile"),
|
||||
PluginConfigurationObjectType.CHAT_TEMPLATE => TB("Chat Template"),
|
||||
PluginConfigurationObjectType.DATA_SOURCE => TB("Data Source"),
|
||||
PluginConfigurationObjectType.DOCUMENT_ANALYSIS_POLICY => TB("Document Analysis Policy"),
|
||||
|
||||
_ => TB("Unknown configuration"),
|
||||
};
|
||||
_ => TB("Unknown configuration"),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -4,24 +4,27 @@ public static class PluginTargetGroupExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(PluginTargetGroupExtensions).Namespace, nameof(PluginTargetGroupExtensions));
|
||||
|
||||
public static string Name(this PluginTargetGroup group) => group switch
|
||||
extension(PluginTargetGroup group)
|
||||
{
|
||||
PluginTargetGroup.NONE => TB("No target group"),
|
||||
public string Name() => group switch
|
||||
{
|
||||
PluginTargetGroup.NONE => TB("No target group"),
|
||||
|
||||
PluginTargetGroup.EVERYONE => TB("Everyone"),
|
||||
PluginTargetGroup.CHILDREN => TB("Children"),
|
||||
PluginTargetGroup.TEENAGERS => TB("Teenagers"),
|
||||
PluginTargetGroup.STUDENTS => TB("Students"),
|
||||
PluginTargetGroup.ADULTS => TB("Adults"),
|
||||
PluginTargetGroup.EVERYONE => TB("Everyone"),
|
||||
PluginTargetGroup.CHILDREN => TB("Children"),
|
||||
PluginTargetGroup.TEENAGERS => TB("Teenagers"),
|
||||
PluginTargetGroup.STUDENTS => TB("Students"),
|
||||
PluginTargetGroup.ADULTS => TB("Adults"),
|
||||
|
||||
PluginTargetGroup.INDUSTRIAL_WORKERS => TB("Industrial workers"),
|
||||
PluginTargetGroup.OFFICE_WORKERS => TB("Office workers"),
|
||||
PluginTargetGroup.BUSINESS_PROFESSIONALS => TB("Business professionals"),
|
||||
PluginTargetGroup.SOFTWARE_DEVELOPERS => TB("Software developers"),
|
||||
PluginTargetGroup.SCIENTISTS => TB("Scientists"),
|
||||
PluginTargetGroup.TEACHERS => TB("Teachers"),
|
||||
PluginTargetGroup.ARTISTS => TB("Artists"),
|
||||
PluginTargetGroup.INDUSTRIAL_WORKERS => TB("Industrial workers"),
|
||||
PluginTargetGroup.OFFICE_WORKERS => TB("Office workers"),
|
||||
PluginTargetGroup.BUSINESS_PROFESSIONALS => TB("Business professionals"),
|
||||
PluginTargetGroup.SOFTWARE_DEVELOPERS => TB("Software developers"),
|
||||
PluginTargetGroup.SCIENTISTS => TB("Scientists"),
|
||||
PluginTargetGroup.TEACHERS => TB("Teachers"),
|
||||
PluginTargetGroup.ARTISTS => TB("Artists"),
|
||||
|
||||
_ => TB("Unknown target group"),
|
||||
};
|
||||
_ => TB("Unknown target group"),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -4,25 +4,28 @@ public static class PluginTypeExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(PluginTypeExtensions).Namespace, nameof(PluginTypeExtensions));
|
||||
|
||||
public static string GetName(this PluginType type) => type switch
|
||||
extension(PluginType type)
|
||||
{
|
||||
PluginType.LANGUAGE => TB("Language plugin"),
|
||||
PluginType.ASSISTANT => TB("Assistant plugin"),
|
||||
PluginType.CONFIGURATION => TB("Configuration plugin"),
|
||||
PluginType.THEME => TB("Theme plugin"),
|
||||
PluginType.MODEL => TB("Model plugin"),
|
||||
public string GetName() => type switch
|
||||
{
|
||||
PluginType.LANGUAGE => TB("Language plugin"),
|
||||
PluginType.ASSISTANT => TB("Assistant plugin"),
|
||||
PluginType.CONFIGURATION => TB("Configuration plugin"),
|
||||
PluginType.THEME => TB("Theme plugin"),
|
||||
PluginType.MODEL => TB("Model plugin"),
|
||||
|
||||
_ => TB("Unknown plugin type"),
|
||||
};
|
||||
|
||||
public static string GetDirectory(this PluginType type) => type switch
|
||||
{
|
||||
PluginType.LANGUAGE => "languages",
|
||||
PluginType.ASSISTANT => "assistants",
|
||||
PluginType.CONFIGURATION => "configurations",
|
||||
PluginType.THEME => "themes",
|
||||
PluginType.MODEL => "models",
|
||||
_ => TB("Unknown plugin type"),
|
||||
};
|
||||
|
||||
_ => "unknown",
|
||||
};
|
||||
public string GetDirectory() => type switch
|
||||
{
|
||||
PluginType.LANGUAGE => "languages",
|
||||
PluginType.ASSISTANT => "assistants",
|
||||
PluginType.CONFIGURATION => "configurations",
|
||||
PluginType.THEME => "themes",
|
||||
PluginType.MODEL => "models",
|
||||
|
||||
_ => "unknown",
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user