diff --git a/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua b/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua
index 634c8e74..a3a35172 100644
--- a/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua
+++ b/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua
@@ -44,6 +44,9 @@ DEPRECATION_MESSAGE = ""
-- code followed by the ISO 3166-1 country code:
IETF_TAG = "de-DE"
+-- The language name in the user's language:
+LANG_NAME = "Deutsch (Deutschland)"
+
UI_TEXT_CONTENT = {
HOME = CONTENT_HOME,
}
diff --git a/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua b/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua
index 78f66474..d234853c 100644
--- a/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua
+++ b/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua
@@ -44,6 +44,9 @@ DEPRECATION_MESSAGE = ""
-- code followed by the ISO 3166-1 country code:
IETF_TAG = "en-US"
+-- The language name in the user's language:
+LANG_NAME = "English (United States)"
+
UI_TEXT_CONTENT = {
HOME = CONTENT_HOME,
}
diff --git a/app/MindWork AI Studio/Tools/PluginSystem/ILanguagePlugin.cs b/app/MindWork AI Studio/Tools/PluginSystem/ILanguagePlugin.cs
index 5d6191e9..5b9fd895 100644
--- a/app/MindWork AI Studio/Tools/PluginSystem/ILanguagePlugin.cs
+++ b/app/MindWork AI Studio/Tools/PluginSystem/ILanguagePlugin.cs
@@ -23,4 +23,9 @@ public interface ILanguagePlugin
/// Gets the IETF tag of the language plugin.
///
public string IETFTag { get; }
+
+ ///
+ /// Gets the name of the language.
+ ///
+ public string LangName { get; }
}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Tools/PluginSystem/PluginLanguage.cs b/app/MindWork AI Studio/Tools/PluginSystem/PluginLanguage.cs
index 39a60759..c5865ffa 100644
--- a/app/MindWork AI Studio/Tools/PluginSystem/PluginLanguage.cs
+++ b/app/MindWork AI Studio/Tools/PluginSystem/PluginLanguage.cs
@@ -7,6 +7,7 @@ public sealed class PluginLanguage : PluginBase, ILanguagePlugin
private readonly Dictionary content = [];
private readonly List otherLanguagePlugins = [];
private readonly string langCultureTag;
+ private readonly string langName;
private ILanguagePlugin? baseLanguage;
@@ -15,6 +16,9 @@ public sealed class PluginLanguage : PluginBase, ILanguagePlugin
if(!this.TryInitIETFTag(out var issue, out this.langCultureTag))
this.pluginIssues.Add(issue);
+ if(!this.TryInitLangName(out issue, out this.langName))
+ this.pluginIssues.Add(issue);
+
if (this.TryInitUITextContent(out issue, out var readContent))
this.content = readContent;
else
@@ -127,7 +131,32 @@ public sealed class PluginLanguage : PluginBase, ILanguagePlugin
message = string.Empty;
return true;
}
+
+ private bool TryInitLangName(out string message, out string readLangName)
+ {
+ if (!this.state.Environment["LANG_NAME"].TryRead(out readLangName))
+ {
+ message = "The field LANG_NAME does not exist or is not a valid string.";
+ readLangName = string.Empty;
+ return false;
+ }
+
+ if (string.IsNullOrWhiteSpace(readLangName))
+ {
+ message = "The field LANG_NAME is empty. Use a valid language name.";
+ readLangName = string.Empty;
+ return false;
+ }
+
+ message = string.Empty;
+ return true;
+ }
///
public string IETFTag => this.langCultureTag;
+
+ ///
+ public string LangName => this.langName;
+
+ #endregion
}
\ No newline at end of file