diff --git a/app/MindWork AI Studio/Assistants/ERI/AllowedLLMProvidersExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/AllowedLLMProvidersExtensions.cs index c9c6462c..c9cfb3f2 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AllowedLLMProvidersExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/AllowedLLMProvidersExtensions.cs @@ -2,12 +2,14 @@ namespace AIStudio.Assistants.ERI; public static class AllowedLLMProvidersExtensions { + private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(AllowedLLMProvidersExtensions).Namespace, nameof(AllowedLLMProvidersExtensions)); + public static string Description(this AllowedLLMProviders provider) => provider switch { - AllowedLLMProviders.NONE => "Please select what kind of LLM provider are allowed for this data source", - AllowedLLMProviders.ANY => "Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider", - AllowedLLMProviders.SELF_HOSTED => "Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider", + AllowedLLMProviders.NONE => TB("Please select what kind of LLM provider are allowed for this data source"), + AllowedLLMProviders.ANY => TB("Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider"), + AllowedLLMProviders.SELF_HOSTED => TB("Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider"), - _ => "Unknown option was selected" + _ => TB("Unknown option was selected") }; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor index 86dfd241..cd52da4d 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor +++ b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor @@ -4,36 +4,38 @@ @inherits AssistantBaseCore - You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize - all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the - vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to - significantly reduce the hallucination of the LLM in knowledge questions. + @T("You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions.") - Related links: + + @T("Related links:") + - ERI repository with example implementation in .NET and C# - Interactive documentation aka Swagger UI + + @T("ERI repository with example implementation in .NET and C#") + + + @T("Interactive documentation aka Swagger UI") +
- ERI server presets + @T("ERI server presets") - Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if - you are responsible for multiple ERI servers. + @T("Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers.") @if(this.SettingsManager.ConfigurationData.ERI.ERIServers.Count is 0) { - You have not yet added any ERI server presets. + @T("You have not yet added any ERI server presets.") } else @@ -50,112 +52,116 @@ else - Add ERI server preset + @T("Add ERI server preset") - Delete this server preset + @T("Delete this server preset") @if(this.AreServerPresetsBlocked) { - Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings. + @T("Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings.") } - Auto save + @T("Auto save") - The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to - regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be - automatically saved. Would you like this? + @T("The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this?") @if(this.AreServerPresetsBlocked) { - Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings. + @T("Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings.") } - +
- Common ERI server settings + @T("Common ERI server settings") - - + + - + @foreach (var language in Enum.GetValues()) { - @language.Name() + + @language.Name() + } @if (this.selectedProgrammingLanguage is ProgrammingLanguages.OTHER) { - + } - + @foreach (var version in Enum.GetValues()) { - @version + + @version + } - Download specification + @T("Download specification") - Data source settings + @T("Data source settings") - + @foreach (var dataSource in Enum.GetValues()) { - @dataSource.Name() + + @dataSource.Name() + } @if (this.selectedDataSource is DataSources.CUSTOM) { - + } @if(this.selectedDataSource > DataSources.FILE_SYSTEM) { - + } @if (this.NeedHostnamePort()) {
- - + + @if (this.dataSourcePort < 1024) { - Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user). + @((MarkupString)T("Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user).")) }
} - Authentication settings + @T("Authentication settings") @@ -168,12 +174,14 @@ else SelectedValues="@this.selectedAuthenticationMethods" Validation="@this.ValidateAuthenticationMethods" SelectedValuesChanged="@this.AuthenticationMethodWasChanged" - Label="Authentication method(s)" + Label="@T("Authentication method(s)")" Variant="Variant.Outlined" Margin="Margin.Dense"> @foreach (var authMethod in Enum.GetValues()) { - @authMethod.Name() + + @authMethod.Name() + } @@ -181,40 +189,39 @@ else @if (this.selectedAuthenticationMethods.Contains(Auth.KERBEROS)) { - + @foreach (var os in Enum.GetValues()) { - @os.Name() + + @os.Name() + } } - Data protection settings + @T("Data protection settings") - + @foreach (var option in Enum.GetValues()) { - @option.Description() + + @option.Description() + } - Embedding settings + @T("Embedding settings") - You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector - space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't - have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You - store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't - need embeddings. + @T("You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings.") - You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries - or data types. For example, one embedding for texts, another for images, and a third for videos, etc. + @T("You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc.") @if (!this.IsNoneERIServerSelected) @@ -226,9 +233,9 @@ else - Name - Type - Actions + @T("Name") + @T("Type") + @T("Actions") @context.EmbeddingName @@ -236,10 +243,10 @@ else - Edit + @T("Edit") - Delete + @T("Delete") @@ -248,23 +255,22 @@ else @if (this.embeddings.Count == 0) { - No embedding methods configured yet. + + @T("No embedding methods configured yet.") + } } - Add Embedding Method + @T("Add Embedding Method") - Data retrieval settings + @T("Data retrieval settings") - For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. - You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows - you to test with beta users which process works better. Or you might generally want to give users the choice so they can select - the process that best suits their circumstances. + @T("For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances.") @if (!this.IsNoneERIServerSelected) @@ -275,18 +281,18 @@ else - Name - Actions + @T("Name") + @T("Actions") @context.Name - Edit + @T("Edit") - Delete + @T("Delete") @@ -295,59 +301,47 @@ else @if (this.retrievalProcesses.Count == 0) { - No retrieval process configured yet. + + @T("No retrieval process configured yet.") + } } - Add Retrieval Process + @T("Add Retrieval Process") - You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text - mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. - It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these - libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe - the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected. + @T("You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected.") - + - Provider selection for generation + @T("Provider selection for generation") - The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. - Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model. + @T("The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model.") - Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number - of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. - However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations - and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing. + @((MarkupString)T("Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing.")) - Write code to file system + @T("Write code to file system") - AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created - outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the - AI has made in which files. + @T("AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files.") - When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All - other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a - file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, - you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, - you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose. + @((MarkupString)T("When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose.")) - - + + diff --git a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs index c752f4cb..32e45306 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs +++ b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs @@ -22,16 +22,9 @@ public partial class AssistantERI : AssistantBaseCore public override Tools.Components Component => Tools.Components.ERI_ASSISTANT; - protected override string Title => "ERI Server"; + protected override string Title => T("ERI Server"); - protected override string Description => - """ - The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract - between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, - allowing them to be integrated into AI Studio later. This means that the data sources assume the server - role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to - realize a Retrieval-Augmented Generation (RAG) process with external data. - """; + protected override string Description => T("The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data."); protected override string SystemPrompt { @@ -44,7 +37,7 @@ public partial class AssistantERI : AssistantBaseCore // Introduction // --------------------------------- // - var programmingLanguage = this.selectedProgrammingLanguage is ProgrammingLanguages.OTHER ? this.otherProgrammingLanguage : this.selectedProgrammingLanguage.Name(); + var programmingLanguage = this.selectedProgrammingLanguage is ProgrammingLanguages.OTHER ? this.otherProgrammingLanguage : this.selectedProgrammingLanguage.ToPrompt(); sb.Append($""" # Introduction You are an experienced {programmingLanguage} developer. Your task is to implement an API server in @@ -159,7 +152,7 @@ public partial class AssistantERI : AssistantBaseCore { sb.Append($""" - The server will run on {this.selectedOperatingSystem.Name()} operating systems. Keep + The server will run on {this.selectedOperatingSystem.ToPrompt()} operating systems. Keep this in mind when implementing the SSO with Kerberos. """); } @@ -304,7 +297,7 @@ public partial class AssistantERI : AssistantBaseCore protected override bool ShowSendTo => false; - protected override string SubmitText => "Create the ERI server"; + protected override string SubmitText => T("Create the ERI server"); protected override Func SubmitAction => this.GenerateServer; @@ -469,7 +462,7 @@ public partial class AssistantERI : AssistantBaseCore { this.SettingsManager.ConfigurationData.ERI.ERIServers.Add(new () { - ServerName = $"ERI Server {DateTimeOffset.UtcNow}", + ServerName = string.Format(T("ERI Server {0}"), DateTimeOffset.UtcNow), }); await this.SettingsManager.StoreSettings(); @@ -482,10 +475,10 @@ public partial class AssistantERI : AssistantBaseCore var dialogParameters = new DialogParameters { - { "Message", $"Are you sure you want to delete the ERI server preset '{this.selectedERIServer.ServerName}'?" }, + { "Message", string.Format(T("Are you sure you want to delete the ERI server preset '{0}'?"), this.selectedERIServer.ServerName) }, }; - var dialogReference = await this.DialogService.ShowAsync("Delete ERI server preset", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Delete ERI server preset"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -518,13 +511,13 @@ public partial class AssistantERI : AssistantBaseCore private string? ValidateServerName(string name) { if(string.IsNullOrWhiteSpace(name)) - return "Please provide a name for your ERI server. This name will be used to identify the server in AI Studio."; + return T("Please provide a name for your ERI server. This name will be used to identify the server in AI Studio."); if(name.Length is > 60 or < 6) - return "The name of your ERI server must be between 6 and 60 characters long."; + return T("The name of your ERI server must be between 6 and 60 characters long."); if(this.SettingsManager.ConfigurationData.ERI.ERIServers.Where(n => n != this.selectedERIServer).Any(n => n.ServerName == name)) - return "An ERI server preset with this name already exists. Please choose a different name."; + return T("An ERI server preset with this name already exists. Please choose a different name."); return null; } @@ -532,10 +525,10 @@ public partial class AssistantERI : AssistantBaseCore private string? ValidateServerDescription(string description) { if(string.IsNullOrWhiteSpace(description)) - return "Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server."; + return T("Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server."); if(description.Length is < 32 or > 512) - return "The description of your ERI server must be between 32 and 512 characters long."; + return T("The description of your ERI server must be between 32 and 512 characters long."); return null; } @@ -543,7 +536,7 @@ public partial class AssistantERI : AssistantBaseCore private string? ValidateERIVersion(ERIVersion version) { if (version == ERIVersion.NONE) - return "Please select an ERI specification version for the ERI server."; + return T("Please select an ERI specification version for the ERI server."); return null; } @@ -554,7 +547,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if (language == ProgrammingLanguages.NONE) - return "Please select a programming language for the ERI server."; + return T("Please select a programming language for the ERI server."); return null; } @@ -565,7 +558,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if(string.IsNullOrWhiteSpace(language)) - return "Please specify the custom programming language for the ERI server."; + return T("Please specify the custom programming language for the ERI server."); return null; } @@ -576,7 +569,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if (dataSource == DataSources.NONE) - return "Please select a data source for the ERI server."; + return T("Please select a data source for the ERI server."); return null; } @@ -587,7 +580,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if(string.IsNullOrWhiteSpace(productName)) - return "Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc."; + return T("Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc."); return null; } @@ -598,7 +591,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if(string.IsNullOrWhiteSpace(dataSource)) - return "Please describe the data source of your ERI server."; + return T("Please describe the data source of your ERI server."); return null; } @@ -613,10 +606,10 @@ public partial class AssistantERI : AssistantBaseCore return null; if(string.IsNullOrWhiteSpace(hostname)) - return "Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server."; + return T("Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server."); if(hostname.Length > 255) - return "The hostname of the data source must not exceed 255 characters."; + return T("The hostname of the data source must not exceed 255 characters."); return null; } @@ -631,10 +624,10 @@ public partial class AssistantERI : AssistantBaseCore return null; if(port is null) - return "Please provide the port of the data source."; + return T("Please provide the port of the data source."); if(port is < 1 or > 65535) - return "The port of the data source must be between 1 and 65535."; + return T("The port of the data source must be between 1 and 65535."); return null; } @@ -679,7 +672,7 @@ public partial class AssistantERI : AssistantBaseCore { var authenticationMethods = (this.selectedAuthenticationMethods as HashSet)!; if(authenticationMethods.Count == 0) - return "Please select at least one authentication method for the ERI server."; + return T("Please select at least one authentication method for the ERI server."); return null; } @@ -709,7 +702,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if(os is OperatingSystem.NONE) - return "Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos."; + return T("Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos."); return null; } @@ -717,16 +710,12 @@ public partial class AssistantERI : AssistantBaseCore private string? ValidateAllowedLLMProviders(AllowedLLMProviders provider) { if(provider == AllowedLLMProviders.NONE) - return "Please select which types of LLMs users are allowed to use with the data from this ERI server."; + return T("Please select which types of LLMs users are allowed to use with the data from this ERI server."); return null; } - private string AuthDescriptionTitle() - { - const string TITLE = "Describe how you planned the authentication process"; - return this.IsAuthDescriptionOptional() ? $"(Optional) {TITLE}" : TITLE; - } + private string AuthDescriptionTitle() => this.IsAuthDescriptionOptional() ? T("(Optional) Describe how you planned the authentication process") : T("Describe how you planned the authentication process"); private bool IsAuthDescriptionOptional() { @@ -746,10 +735,10 @@ public partial class AssistantERI : AssistantBaseCore { var authenticationMethods = (this.selectedAuthenticationMethods as HashSet)!; if(authenticationMethods.Any(n => n == Auth.NONE) && authenticationMethods.Count > 1 && string.IsNullOrWhiteSpace(this.authDescription)) - return "Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used."; + return T("Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used."); if(authenticationMethods.Count > 1 && string.IsNullOrWhiteSpace(this.authDescription)) - return "Please describe how the selected authentication methods should be used."; + return T("Please describe how the selected authentication methods should be used."); return null; } @@ -760,7 +749,7 @@ public partial class AssistantERI : AssistantBaseCore return null; if(string.IsNullOrWhiteSpace(path)) - return "Please provide a base directory for the ERI server to write files to."; + return T("Please provide a base directory for the ERI server to write files to."); return null; } @@ -768,12 +757,12 @@ public partial class AssistantERI : AssistantBaseCore private string GetMultiSelectionAuthText(List selectedValues) { if(selectedValues.Count == 0) - return "Please select at least one authentication method"; + return T("Please select at least one authentication method"); if(selectedValues.Count == 1) - return $"You have selected 1 authentication method"; + return T("You have selected 1 authentication method"); - return $"You have selected {selectedValues.Count} authentication methods"; + return string.Format(T("You have selected {0} authentication methods"), selectedValues.Count); } private bool NeedHostnamePort() @@ -797,7 +786,7 @@ public partial class AssistantERI : AssistantBaseCore { x => x.UsedEmbeddingMethodNames, this.embeddings.Select(n => n.EmbeddingName).ToList() }, }; - var dialogReference = await this.DialogService.ShowAsync("Add Embedding Method", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Add Embedding Method"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -821,7 +810,7 @@ public partial class AssistantERI : AssistantBaseCore { x => x.IsEditing, true }, }; - var dialogReference = await this.DialogService.ShowAsync("Edit Embedding Method", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Edit Embedding Method"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -835,15 +824,15 @@ public partial class AssistantERI : AssistantBaseCore private async Task DeleteEmbedding(EmbeddingInfo embeddingInfo) { var message = this.retrievalProcesses.Any(n => n.Embeddings?.Contains(embeddingInfo) is true) - ? $"The embedding '{embeddingInfo.EmbeddingName}' is used in one or more retrieval processes. Are you sure you want to delete it?" - : $"Are you sure you want to delete the embedding '{embeddingInfo.EmbeddingName}'?"; + ? string.Format(T("The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it?"), embeddingInfo.EmbeddingName) + : string.Format(T("Are you sure you want to delete the embedding '{0}'?"), embeddingInfo.EmbeddingName); var dialogParameters = new DialogParameters { { "Message", message }, }; - var dialogReference = await this.DialogService.ShowAsync("Delete Embedding", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Delete Embedding"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -863,7 +852,7 @@ public partial class AssistantERI : AssistantBaseCore { x => x.UsedRetrievalProcessNames, this.retrievalProcesses.Select(n => n.Name).ToList() }, }; - var dialogReference = await this.DialogService.ShowAsync("Add Retrieval Process", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Add Retrieval Process"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -888,7 +877,7 @@ public partial class AssistantERI : AssistantBaseCore { x => x.UsedRetrievalProcessNames, this.retrievalProcesses.Where(n => n != retrievalInfo).Select(n => n.Name).ToList() }, }; - var dialogReference = await this.DialogService.ShowAsync("Edit Retrieval Process", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Edit Retrieval Process"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -903,10 +892,10 @@ public partial class AssistantERI : AssistantBaseCore { var dialogParameters = new DialogParameters { - { "Message", $"Are you sure you want to delete the retrieval process '{retrievalInfo.Name}'?" }, + { "Message", string.Format(T("Are you sure you want to delete the retrieval process '{0}'?"), retrievalInfo.Name) }, }; - var dialogReference = await this.DialogService.ShowAsync("Delete Retrieval Process", dialogParameters, DialogOptions.FULLSCREEN); + var dialogReference = await this.DialogService.ShowAsync(T("Delete Retrieval Process"), dialogParameters, DialogOptions.FULLSCREEN); var dialogResult = await dialogReference.Result; if (dialogResult is null || dialogResult.Canceled) return; @@ -957,14 +946,14 @@ public partial class AssistantERI : AssistantBaseCore if(this.retrievalProcesses.Count == 0) { - this.AddInputIssue("Please describe at least one retrieval process."); + this.AddInputIssue(T("Please describe at least one retrieval process.")); return; } this.eriSpecification = await this.selectedERIVersion.ReadSpecification(this.HttpClient); if (string.IsNullOrWhiteSpace(this.eriSpecification)) { - this.AddInputIssue("The ERI specification could not be loaded. Please try again later."); + this.AddInputIssue(T("The ERI specification could not be loaded. Please try again later.")); return; } diff --git a/app/MindWork AI Studio/Assistants/ERI/AuthExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/AuthExtensions.cs index b8a8bdf9..32be6d70 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AuthExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/AuthExtensions.cs @@ -2,15 +2,17 @@ namespace AIStudio.Assistants.ERI; public static class AuthExtensions { + private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(AuthExtensions).Namespace, nameof(AuthExtensions)); + public static string Name(this Auth auth) => auth switch { - Auth.NONE => "No login necessary: useful for public data sources", + Auth.NONE => TB("No login necessary: useful for public data sources"), - Auth.KERBEROS => "Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users", - Auth.USERNAME_PASSWORD => "Login by username and password: simple to implement and to operate, useful for few users; easy to use for users", - Auth.TOKEN => "Login by token: simple to implement and to operate, useful for few users; unusual for many users", + Auth.KERBEROS => TB("Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users"), + Auth.USERNAME_PASSWORD => TB("Login by username and password: simple to implement and to operate, useful for few users; easy to use for users"), + Auth.TOKEN => TB("Login by token: simple to implement and to operate, useful for few users; unusual for many users"), - _ => "Unknown login method" + _ => TB("Unknown login method") }; public static string ToPrompt(this Auth auth) => auth switch diff --git a/app/MindWork AI Studio/Assistants/ERI/DataSourcesExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/DataSourcesExtensions.cs index 83c5c1d7..deeecc1e 100644 --- a/app/MindWork AI Studio/Assistants/ERI/DataSourcesExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/DataSourcesExtensions.cs @@ -2,18 +2,20 @@ namespace AIStudio.Assistants.ERI; public static class DataSourcesExtensions { + private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(DataSourcesExtensions).Namespace, nameof(DataSourcesExtensions)); + public static string Name(this DataSources dataSource) => dataSource switch { - DataSources.NONE => "No data source selected", - DataSources.CUSTOM => "Custom description", + DataSources.NONE => TB("No data source selected"), + DataSources.CUSTOM => TB("Custom description"), - DataSources.FILE_SYSTEM => "File system (local or network share)", - DataSources.OBJECT_STORAGE => "Object storage, like Amazon S3, MinIO, etc.", - DataSources.KEY_VALUE_STORE => "Key-Value store, like Redis, etc.", - DataSources.DOCUMENT_STORE => "Document store, like MongoDB, etc.", - DataSources.RELATIONAL_DATABASE => "Relational database, like MySQL, PostgreSQL, etc.", - DataSources.GRAPH_DATABASE => "Graph database, like Neo4j, ArangoDB, etc.", + DataSources.FILE_SYSTEM => TB("File system (local or network share)"), + DataSources.OBJECT_STORAGE => TB("Object storage, like Amazon S3, MinIO, etc."), + DataSources.KEY_VALUE_STORE => TB("Key-Value store, like Redis, etc."), + DataSources.DOCUMENT_STORE => TB("Document store, like MongoDB, etc."), + DataSources.RELATIONAL_DATABASE => TB("Relational database, like MySQL, PostgreSQL, etc."), + DataSources.GRAPH_DATABASE => TB("Graph database, like Neo4j, ArangoDB, etc."), - _ => "Unknown data source" + _ => TB("Unknown data source") }; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/ERI/OperatingSystemExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/OperatingSystemExtensions.cs index eac46147..cfb02a5c 100644 --- a/app/MindWork AI Studio/Assistants/ERI/OperatingSystemExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/OperatingSystemExtensions.cs @@ -2,7 +2,19 @@ namespace AIStudio.Assistants.ERI; public static class OperatingSystemExtensions { + private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(OperatingSystemExtensions).Namespace, nameof(OperatingSystemExtensions)); + public static string Name(this OperatingSystem os) => os switch + { + OperatingSystem.NONE => TB("No operating system specified"), + + OperatingSystem.WINDOWS => TB("Windows"), + OperatingSystem.LINUX => TB("Linux"), + + _ => TB("Unknown operating system") + }; + + public static string ToPrompt(this OperatingSystem os) => os switch { OperatingSystem.NONE => "No operating system specified", diff --git a/app/MindWork AI Studio/Assistants/ERI/ProgrammingLanguagesExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/ProgrammingLanguagesExtensions.cs index f4b8be61..6bd59d71 100644 --- a/app/MindWork AI Studio/Assistants/ERI/ProgrammingLanguagesExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/ProgrammingLanguagesExtensions.cs @@ -2,7 +2,29 @@ namespace AIStudio.Assistants.ERI; public static class ProgrammingLanguagesExtensions { + private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(ProgrammingLanguagesExtensions).Namespace, nameof(ProgrammingLanguagesExtensions)); + public static string Name(this ProgrammingLanguages language) => language switch + { + ProgrammingLanguages.NONE => TB("No programming language selected"), + + ProgrammingLanguages.C => "C", + ProgrammingLanguages.CPP => "C++", + ProgrammingLanguages.CSHARP => "C#", + ProgrammingLanguages.GO => "Go", + ProgrammingLanguages.JAVA => "Java", + ProgrammingLanguages.JAVASCRIPT => "JavaScript", + ProgrammingLanguages.JULIA => "Julia", + ProgrammingLanguages.MATLAB => "MATLAB", + ProgrammingLanguages.PHP => "PHP", + ProgrammingLanguages.PYTHON => "Python", + ProgrammingLanguages.RUST => "Rust", + + ProgrammingLanguages.OTHER => TB("Other"), + _ => TB("Unknown") + }; + + public static string ToPrompt(this ProgrammingLanguages language) => language switch { ProgrammingLanguages.NONE => "No programming language selected", diff --git a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua index d183dc91..5481bd2e 100644 --- a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua +++ b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua @@ -469,6 +469,399 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T47755021 -- Not specified UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T641241064"] = "Not specified" +-- Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1196461290"] = "Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider" + +-- Please select what kind of LLM provider are allowed for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1641796568"] = "Please select what kind of LLM provider are allowed for this data source" + +-- Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T3264558650"] = "Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider" + +-- Unknown option was selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T4096790096"] = "Unknown option was selected" + +-- Please describe at least one retrieval process. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1035068989"] = "Please describe at least one retrieval process." + +-- Please select which types of LLMs users are allowed to use with the data from this ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1047631678"] = "Please select which types of LLMs users are allowed to use with the data from this ERI server." + +-- No, I will enter everything again or configure it manually in the settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1051078592"] = "No, I will enter everything again or configure it manually in the settings" + +-- ERI server name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1104420863"] = "ERI server name" + +-- The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1125425983"] = "The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it?" + +-- The port of the data source must be between 1 and 65535. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1201129536"] = "The port of the data source must be between 1 and 65535." + +-- AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T121294173"] = "AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files." + +-- Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1244355152"] = "Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers." + +-- Please provide a name for your ERI server. This name will be used to identify the server in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1261836894"] = "Please provide a name for your ERI server. This name will be used to identify the server in AI Studio." + +-- You have not yet added any ERI server presets. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1267931972"] = "You have not yet added any ERI server presets." + +-- Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user). +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1287629674"] = "Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user)." + +-- The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1302705248"] = "The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model." + +-- Please give your ERI server a name that provides information about the data source and/or its intended purpose. The name will be displayed to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1312468048"] = "Please give your ERI server a name that provides information about the data source and/or its intended purpose. The name will be displayed to users in AI Studio." + +-- Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1365243213"] = "Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used." + +-- No embedding methods configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1391635161"] = "No embedding methods configured yet." + +-- Edit Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1423501360"] = "Edit Retrieval Process" + +-- Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1456749976"] = "Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos." + +-- Delete +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1469573738"] = "Delete" + +-- Related links: +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1565111217"] = "Related links:" + +-- Please select an ERI specification version for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1612890554"] = "Please select an ERI specification version for the ERI server." + +-- Write code to file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1717303021"] = "Write code to file system" + +-- Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1729922656"] = "Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings." + +-- You have selected {0} authentication methods +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1755088321"] = "You have selected {0} authentication methods" + +-- Select the target directory for the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T175742733"] = "Select the target directory for the ERI server" + +-- Data source: port +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T179799739"] = "Data source: port" + +-- Delete Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T180938091"] = "Delete Retrieval Process" + +-- Provider selection for generation +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1840198821"] = "Provider selection for generation" + +-- Should we automatically save any input made? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1980659256"] = "Should we automatically save any input made?" + +-- Auto save +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1997164591"] = "Auto save" + +-- An ERI server preset with this name already exists. Please choose a different name. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2031461801"] = "An ERI server preset with this name already exists. Please choose a different name." + +-- Data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2034620186"] = "Data source" + +-- Interactive documentation aka Swagger UI +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2064957876"] = "Interactive documentation aka Swagger UI" + +-- When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2155983785"] = "When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose." + +-- Add Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2176833082"] = "Add Embedding Method" + +-- For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T218617347"] = "For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances." + +-- You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2202387805"] = "You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc." + +-- Operating system on which your ERI will run +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2205711729"] = "Operating system on which your ERI will run" + +-- You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2241311898"] = "You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected." + +-- The ERI specification could not be loaded. Please try again later. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2265640084"] = "The ERI specification could not be loaded. Please try again later." + +-- You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2299793803"] = "You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions." + +-- Are you sure you want to delete the ERI server preset '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2417944396"] = "Are you sure you want to delete the ERI server preset '{0}'?" + +-- Data source settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2440619931"] = "Data source settings" + +-- Yes, please write or update all generated code to the file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T252707279"] = "Yes, please write or update all generated code to the file system" + +-- Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2531113337"] = "Describe how you planned the authentication process" + +-- Please specify the custom programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T257210674"] = "Please specify the custom programming language for the ERI server." + +-- Edit Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T260789321"] = "Edit Embedding Method" + +-- Base directory where to write the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2610795494"] = "Base directory where to write the code" + +-- Delete ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2627399122"] = "Delete ERI server preset" + +-- Name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T266367750"] = "Name" + +-- Create the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2903289059"] = "Create the ERI server" + +-- Data retrieval settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T295114338"] = "Data retrieval settings" + +-- Please provide a base directory for the ERI server to write files to. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2989655350"] = "Please provide a base directory for the ERI server to write files to." + +-- You have selected 1 authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2997584553"] = "You have selected 1 authentication method" + +-- ERI server presets +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3021250792"] = "ERI server presets" + +-- Authentication method(s) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3044928058"] = "Authentication method(s)" + +-- (Optional) Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3052867096"] = "(Optional) Describe how you planned the authentication process" + +-- Do you want to include additional libraries? Then name them and briefly describe what you want to achieve with them. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3088814795"] = "Do you want to include additional libraries? Then name them and briefly describe what you want to achieve with them." + +-- Add ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3090449320"] = "Add ERI server preset" + +-- Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3105554044"] = "Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc." + +-- Embedding settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T315946275"] = "Embedding settings" + +-- Please select at least one authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3178184134"] = "Please select at least one authentication method" + +-- The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3203532492"] = "The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this?" + +-- Edit +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3267849393"] = "Edit" + +-- Programming language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3295594136"] = "Programming language" + +-- Data source: product name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3315518334"] = "Data source: product name" + +-- No, just show me the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3316699247"] = "No, just show me the code" + +-- Other language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3374524465"] = "Other language" + +-- ERI Server {0} +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3443687246"] = "ERI Server {0}" + +-- You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3446047228"] = "You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings." + +-- Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3485079498"] = "Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing." + +-- Type +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3512062061"] = "Type" + +-- Please describe how the selected authentication methods should be used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T356079033"] = "Please describe how the selected authentication methods should be used." + +-- Authentication settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3565127422"] = "Authentication settings" + +-- Add Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3617128581"] = "Add Retrieval Process" + +-- Please provide a brief description of your ERI server. Describe or explain what your ERI server does and what data it uses for this purpose. This description will be shown to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3637826231"] = "Please provide a brief description of your ERI server. Describe or explain what your ERI server does and what data it uses for this purpose. This description will be shown to users in AI Studio." + +-- Please provide the port of the data source. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3641304143"] = "Please provide the port of the data source." + +-- Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3668870799"] = "Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server." + +-- Delete Embedding +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3691399003"] = "Delete Embedding" + +-- Yes, please save my inputs +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3709185824"] = "Yes, please save my inputs" + +-- Common ERI server settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T371718034"] = "Common ERI server settings" + +-- Download specification +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3770339156"] = "Download specification" + +-- Are you sure you want to delete the embedding '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3792084967"] = "Are you sure you want to delete the embedding '{0}'?" + +-- Actions +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3865031940"] = "Actions" + +-- ERI specification version +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3897494556"] = "ERI specification version" + +-- Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3973182416"] = "Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server." + +-- Please select a data source for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4010020894"] = "Please select a data source for the ERI server." + +-- Please select at least one authentication method for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4027569219"] = "Please select at least one authentication method for the ERI server." + +-- Data protection settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4078115997"] = "Data protection settings" + +-- Please describe the data source of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4156384463"] = "Please describe the data source of your ERI server." + +-- ERI Server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4204533420"] = "ERI Server" + +-- The name of your ERI server must be between 6 and 60 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4215418115"] = "The name of your ERI server must be between 6 and 60 characters long." + +-- Describe your data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4272497758"] = "Describe your data source" + +-- The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T458158948"] = "The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data." + +-- Allowed LLM providers for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T476513814"] = "Allowed LLM providers for this data source" + +-- The description of your ERI server must be between 32 and 512 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T528250165"] = "The description of your ERI server must be between 32 and 512 characters long." + +-- (Optional) Additional libraries +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T605643256"] = "(Optional) Additional libraries" + +-- Delete this server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T662220520"] = "Delete this server preset" + +-- No retrieval process configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T701892387"] = "No retrieval process configured yet." + +-- Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T726548639"] = "Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings." + +-- Should we write the generated code to the file system? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T732123150"] = "Should we write the generated code to the file system?" + +-- ERI server description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T746826190"] = "ERI server description" + +-- Are you sure you want to delete the retrieval process '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T748762927"] = "Are you sure you want to delete the retrieval process '{0}'?" + +-- Data source: hostname +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T761552889"] = "Data source: hostname" + +-- Please select a programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T884206922"] = "Please select a programming language for the ERI server." + +-- The hostname of the data source must not exceed 255 characters. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T891356210"] = "The hostname of the data source must not exceed 255 characters." + +-- ERI repository with example implementation in .NET and C# +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T907948048"] = "ERI repository with example implementation in .NET and C#" + +-- Login by token: simple to implement and to operate, useful for few users; unusual for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1080772923"] = "Login by token: simple to implement and to operate, useful for few users; unusual for many users" + +-- Unknown login method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1650512217"] = "Unknown login method" + +-- Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2755085876"] = "Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users" + +-- Login by username and password: simple to implement and to operate, useful for few users; easy to use for users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2776614042"] = "Login by username and password: simple to implement and to operate, useful for few users; easy to use for users" + +-- No login necessary: useful for public data sources +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T80942322"] = "No login necessary: useful for public data sources" + +-- Custom description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1927732460"] = "Custom description" + +-- Object storage, like Amazon S3, MinIO, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1950971562"] = "Object storage, like Amazon S3, MinIO, etc." + +-- Key-Value store, like Redis, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T206122953"] = "Key-Value store, like Redis, etc." + +-- No data source selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2241819332"] = "No data source selected" + +-- Graph database, like Neo4j, ArangoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2327735815"] = "Graph database, like Neo4j, ArangoDB, etc." + +-- File system (local or network share) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2883797032"] = "File system (local or network share)" + +-- Document store, like MongoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3377619148"] = "Document store, like MongoDB, etc." + +-- Relational database, like MySQL, PostgreSQL, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3394837922"] = "Relational database, like MySQL, PostgreSQL, etc." + +-- Unknown data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T752426884"] = "Unknown data source" + +-- Windows +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T104858250"] = "Windows" + +-- No operating system specified +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T1453731272"] = "No operating system specified" + +-- Linux +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2498953917"] = "Linux" + +-- Unknown operating system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2961688575"] = "Unknown operating system" + +-- Other +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T1849229205"] = "Other" + +-- No programming language selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T2044057328"] = "No programming language selected" + +-- Unknown +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T3424652889"] = "Unknown" + -- Please provide a text as input. You might copy the desired text from a document or a website. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::GRAMMARSPELLING::ASSISTANTGRAMMARSPELLING::T137304886"] = "Please provide a text as input. You might copy the desired text from a document or a website." 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 6960e002..bcecc43b 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 @@ -351,7 +351,7 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T412437274"] = " -- Please provide the compiler messages. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T4225294332"] = "Bitte geben Sie die Kompilermeldungen an." --- This coding assistant supports you in writing code. Provide some coding context by copying and pasting your code into the input fields. You might assign an ID to your code snippet to easily reference it later. When you have compiler messages, you can paste them into the input fields to get help with debugging as well. +-- This coding assistant supports you in writing code. Provide some coding context by pasting your code into the input fields. You might assign an ID to your code snippet to easily reference it later. When you have compiler messages, you can paste them into the input fields to get help with debugging as well. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T566604388"] = "Dieser Assistent zum Programmieren unterstützt Sie beim Schreiben von Code. Geben Sie den Programmierkontext an, indem Sie Ihren Code in die Eingabefelder einfügen. Sie können Ihrem Code eine ID zuweisen, um später leichter auf diesen verweisen zu können. Wenn Sie Kompilermeldungen erhalten haben, können Sie diese ebenfalls einfügen, um Unterstützung beim Debuggen zu erhalten." -- Add context @@ -471,6 +471,399 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T47755021 -- Not specified UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T641241064"] = "Nicht angegeben" +-- Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1196461290"] = "Selbst gehostete LLM-Anbieter sind erlaubt: Nutzer können keinen Cloud-basierten Anbieter auswählen" + +-- Please select what kind of LLM provider are allowed for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1641796568"] = "Bitte wählen Sie aus, welche Art von LLM-Anbieter für diese Datenquelle zulässig ist." + +-- Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T3264558650"] = "Jeder LLM-Anbieter ist erlaubt: Nutzer können einen Cloud-basierten oder einen selbst gehosteten Anbieter wählen." + +-- Unknown option was selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T4096790096"] = "Eine unbekannte Option wurde ausgewählt" + +-- Please describe at least one retrieval process. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1035068989"] = "Bitte beschreiben Sie mindestens einen Abrufprozess." + +-- Please select which types of LLMs users are allowed to use with the data from this ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1047631678"] = "Bitte wählen Sie aus, welche Typen von LLMs mit den Daten dieses ERI-Servers verwendet werden dürfen." + +-- No, I will enter everything again or configure it manually in the settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1051078592"] = "Nein, ich werde alles erneut eingeben oder es manuell in den Einstellungen konfigurieren" + +-- ERI server name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1104420863"] = "ERI-Servername" + +-- The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1125425983"] = "Die Einbettung „{0}“ wird in einem oder mehreren Abrufprozessen verwendet. Sind Sie sicher, dass Sie sie löschen möchten?" + +-- The port of the data source must be between 1 and 65535. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1201129536"] = "Der Port der Datenquelle muss zwischen 1 und 65535 liegen." + +-- AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T121294173"] = "AI Studio kann den generierten Code im Dateisystem speichern. Sie können dafür einen Basisordner auswählen. AI Studio stellt sicher, dass keine Dateien außerhalb dieses Basisordners erstellt werden. Außerdem empfehlen wir, in diesem Ordner ein Git-Repository anzulegen. So können Sie nachvollziehen, welche Änderungen die KI in welchen Dateien vorgenommen hat." + +-- Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1244355152"] = "Hier haben Sie die Möglichkeit, verschiedene Konfigurationen für unterschiedliche ERI-Server zu speichern und zwischen ihnen zu wechseln. Das ist nützlich, wenn Sie für mehrere ERI-Server verantwortlich sind." + +-- Please provide a name for your ERI server. This name will be used to identify the server in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1261836894"] = "Bitte geben Sie einen Namen für Ihren ERI-Server an. Dieser Name wird verwendet, um den Server in AI Studio zu identifizieren." + +-- You have not yet added any ERI server presets. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1267931972"] = "Sie haben bislang keine ERI-Server-Voreinstellung hinzugefügt." + +-- Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user). +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1287629674"] = "Warnung: Ports unter 1024 sind für Systemdienste reserviert. Ihr ERI-Server muss mit erhöhten Rechten (als Root-Benutzer) ausgeführt werden." + +-- The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1302705248"] = "Die Aufgabe, den ERI-Server für Sie zu schreiben, ist sehr komplex. Daher wird ein sehr leistungsfähiges LLM benötigt, um diese Aufgabe erfolgreich zu bewältigen. Kleine lokale Modelle werden dafür wahrscheinlich nicht ausreichen. Versuchen Sie stattdessen, ein großes Cloud-basiertes oder ein großes selbst gehostetes Modell zu verwenden." + +-- Please give your ERI server a name that provides information about the data source and/or its intended purpose. The name will be displayed to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1312468048"] = "Bitte geben Sie Ihrem ERI-Server einen Namen, der Aufschluss über die Datenquelle und/oder den vorgesehenen Zweck gibt. Der Name wird den Nutzern in AI Studio angezeigt." + +-- Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1365243213"] = "Bitte beschreiben Sie, wie die ausgewählten Authentifizierungsmethoden verwendet werden sollen. Erklären Sie dabei insbesondere, für welche Daten die Methode KEINE (öffentlicher Zugriff) genutzt wird." + +-- No embedding methods configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1391635161"] = "Noch keine Einbettungsmethoden konfiguriert." + +-- Edit Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1423501360"] = "Abrufprozess bearbeiten" + +-- Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1456749976"] = "Bitte wählen Sie das Betriebssystem aus, auf dem der ERI-Server laufen wird. Dies ist erforderlich, wenn SSO mit Kerberos verwendet wird." + +-- Delete +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1469573738"] = "Löschen" + +-- Related links: +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1565111217"] = "Relevante Links:" + +-- Please select an ERI specification version for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1612890554"] = "Bitte wählen Sie eine Version der ERI-Spezifikation für den ERI-Server aus." + +-- Write code to file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1717303021"] = "Code in das Dateisystem schreiben" + +-- Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1729922656"] = "Hinweis: Damit dieser Assistent Ihre Änderungen automatisch speichern kann, müssen Sie in den Einstellungen die Vorauswahl von Optionen aktivieren." + +-- You have selected {0} authentication methods +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1755088321"] = "Sie haben {0} Authentifizierungsmethoden ausgewählt" + +-- Select the target directory for the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T175742733"] = "Wählen Sie das Zielverzeichnis für den ERI-Server aus" + +-- Data source: port +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T179799739"] = "Datenquelle: Port" + +-- Delete Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T180938091"] = "Abrufprozess löschen" + +-- Provider selection for generation +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1840198821"] = "Anbieterauswahl für die Generierung" + +-- Should we automatically save any input made? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1980659256"] = "Sollen wir sämtliche Eingaben automatisch speichern?" + +-- Auto save +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1997164591"] = "Automatisches Speichern" + +-- An ERI server preset with this name already exists. Please choose a different name. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2031461801"] = "Ein ERI-Server-Voreinstellung mit diesem Namen existiert bereits. Bitte wählen Sie einen anderen Namen." + +-- Data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2034620186"] = "Datenquelle" + +-- Interactive documentation aka Swagger UI +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2064957876"] = "Interaktive Dokumentation (auch bekannt als Swagger UI)" + +-- When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2155983785"] = "Wenn Sie den ERI-Server-Code neu erstellen oder generieren, geht AI Studio wie folgt vor: Alle beim letzten Mal generierten Dateien werden gelöscht. Alle anderen von ihnen erstellten Dateien bleiben erhalten. Anschließend generiert die KI die neuen Dateien. Aber Vorsicht: Es kann passieren, dass die KI diesmal eine Datei generiert, die Sie beim letzten Mal manuell erstellt haben. In diesem Fall wird ihre manuell erstellte Datei überschrieben. Sie sollten daher immer ein Git-Repository anlegen und alle Änderungen vor der Nutzung dieses Assistenten committen oder gegebenenfalls zurücksetzen. Mit einer Diff-Ansicht können Sie sofort erkennen, wo die KI Änderungen vorgenommen hat. Am besten nutzen Sie dafür eine IDE, die für die von ihnen gewählte Programmiersprache geeignet ist." + +-- Add Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2176833082"] = "Einbettungsmethode hinzufügen" + +-- For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T218617347"] = "Für ihren ERI-Server müssen Sie Daten abrufen, die in irgendeiner Weise zu einem Chat oder einem Prompt passen. Diesen Vorgang nennen wir „Retrieval-Prozess“ (Abrufprozess). Sie müssen mindestens einen solchen Prozess beschreiben. Sie können auch mehrere Abrufprozesse anbieten, aus denen die Nutzer wählen können. So können Sie mit Beta-Nutzern testen, welcher Prozess besser funktioniert. Oder Sie möchten den Nutzern grundsätzlich die Wahl lassen, damit sie den Prozess auswählen können, der am besten zu ihren Bedürfnissen passt." + +-- You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2202387805"] = "Sie können mehr als eine Einbettungsmethode angeben. Das ist nützlich, wenn Sie unterschiedliche Einbettungen für verschiedene Abfragen oder Datentypen verwenden möchten. Zum Beispiel eine Einbettung für Texte, eine andere für Bilder und eine dritte für Videos usw." + +-- Operating system on which your ERI will run +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2205711729"] = "Betriebssystem, auf dem ihr ERI-Server ausgeführt wird" + +-- You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2241311898"] = "Sie können zusätzliche Bibliotheken integrieren. Vielleicht möchten Sie die Prompts im Voraus mit einer Machine-Learning-Methode auswerten oder sie mithilfe eines Text-Mining-Ansatzes analysieren? Oder möchten Sie vielleicht Bilder in den Prompts vorverarbeiten? Für solche erweiterten Szenarien können Sie hier angeben, welche Bibliotheken Sie verwenden möchten. Beschreiben Sie am besten, welche Bibliothek Sie für welchen Zweck einbinden möchten. So kann das LLM, das den ERI-Server für Sie erstellt, versuchen, diese Bibliotheken effektiv zu nutzen. Dadurch sollte weniger Nacharbeit nötig sein. Falls Sie die benötigten Bibliotheken nicht kennen, können Sie stattdessen versuchen, den geplanten Einsatzzweck zu beschreiben. Das LLM kann dann versuchen, passende Bibliotheken auszuwählen. Allerdings können dabei Halluzinationen auftreten und fiktive Bibliotheken gewählt werden." + +-- The ERI specification could not be loaded. Please try again later. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2265640084"] = "Die ERI-Spezifikation konnte nicht geladen werden. Bitte versuchen Sie es später erneut." + +-- You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2299793803"] = "Sie können es sich so vorstellen: Hypothetisch gesehen würde die Wikipedia beim Einsatz von ERI alle Seiten mithilfe einer Einbettungsmethode „vektorisieren“. Alle Daten von Wikipedia, einschließlich der Vektordatenbank, würden bei der Wikipedia bleiben (dezentraler Ansatz). Danach könnte jeder Nutzer von MindWork AI Studio Wikipedia als Datenquelle hinzufügen, um Halluzinationen des LLM bei Wissensfragen deutlich zu reduzieren." + +-- Are you sure you want to delete the ERI server preset '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2417944396"] = "Sind Sie sicher, dass Sie die ERI-Server-Voreinstellung '{0}' löschen möchten?" + +-- Data source settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2440619931"] = "Datenquellen-Einstellungen" + +-- Yes, please write or update all generated code to the file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T252707279"] = "Ja, bitte schreibe oder aktualisiere allen erzeugten Code im Dateisystem." + +-- Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2531113337"] = "Beschreiben Sie, wie Sie den Authentifizierungsprozess geplant haben" + +-- Please specify the custom programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T257210674"] = "Bitte geben Sie die benutzerdefinierte Programmiersprache für den ERI-Server an." + +-- Edit Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T260789321"] = "Einbettungsmethode bearbeiten" + +-- Base directory where to write the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2610795494"] = "Basisverzeichnis, in dem der Code gespeichert wird" + +-- Delete ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2627399122"] = "ERI-Server-Voreinstellung löschen" + +-- Name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T266367750"] = "Name" + +-- Create the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2903289059"] = "ERI-Server erstellen" + +-- Data retrieval settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T295114338"] = "Datenabruf-Einstellungen" + +-- Please provide a base directory for the ERI server to write files to. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2989655350"] = "Bitte geben Sie ein Basisverzeichnis an, in das der ERI-Server Dateien schreiben kann." + +-- You have selected 1 authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2997584553"] = "Sie haben eine Authentifizierungsmethode ausgewählt" + +-- ERI server presets +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3021250792"] = "ERI-Server-Voreinstellungen" + +-- Authentication method(s) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3044928058"] = "Authentifizierungsmethode(n)" + +-- (Optional) Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3052867096"] = "(Optional) Beschreiben Sie, wie Sie den Authentifizierungsprozess geplant haben" + +-- Do you want to include additional libraries? Then name them and briefly describe what you want to achieve with them. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3088814795"] = "Möchten Sie zusätzliche Bibliotheken einbinden? Nennen Sie diese bitte und beschreiben Sie kurz, was Sie damit erreichen möchten." + +-- Add ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3090449320"] = "ERI-Server-Voreinstellung hinzufügen" + +-- Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3105554044"] = "Bitte geben Sie den Produktnamen der Datenquelle an, z. B. „MongoDB“, „Redis“, „PostgreSQL“, „Neo4j“ oder „MinIO“ usw." + +-- Embedding settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T315946275"] = "Einbettungs-Einstellungen" + +-- Please select at least one authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3178184134"] = "Bitte wählen Sie mindestens eine Authentifizierungsmethode aus." + +-- The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3203532492"] = "Die ERI-Spezifikation wird sich im Laufe der Zeit ändern. Sie möchten wahrscheinlich, dass ihr ERI-Server immer auf dem neuesten Stand ist. Das bedeutet, dass Sie den Code für ihren ERI-Server eventuell erneut generieren müssen. Damit Sie nicht jedes Mal alle Eingaben erneut machen müssen, können alle ihre Eingaben und Entscheidungen automatisch gespeichert werden. Möchten Sie das?" + +-- Edit +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3267849393"] = "Bearbeiten" + +-- Programming language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3295594136"] = "Programmiersprache" + +-- Data source: product name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3315518334"] = "Datenquelle" + +-- No, just show me the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3316699247"] = "Nein, zeig mir einfach den Code." + +-- Other language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3374524465"] = "Andere Sprache" + +-- ERI Server {0} +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3443687246"] = "ERI-Server {0}" + +-- You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3446047228"] = "Sie werden wahrscheinlich eine oder mehrere Einbettungs-Methoden verwenden, um die Bedeutung Ihrer Daten in einen typischerweise hochdimensionalen Vektorraum zu kodieren. In diesem Fall nutzen Sie eine Vektordatenbank, um diese Vektoren (sogenannte Einbettungen) zu speichern und zu durchsuchen. Es ist jedoch nicht zwingend erforderlich, Einbettungs-Methoden zu verwenden. Wenn ihre Suchmethode ohne Einbettungen funktioniert, können Sie diesen Abschnitt ignorieren. Ein Beispiel: Sie speichern Dateien auf einem Dateiserver, und ihre Suchmethode arbeitet ausschließlich mit Dateinamen im Dateisystem – dann benötigen Sie keine Einbettungen." + +-- Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3485079498"] = "Wichtig: Das LLM muss möglicherweise viele Dateien generieren. Dadurch wird das Anfrage-Limit der meisten LLM-Anbieter erreicht. In der Regel kann nur eine bestimmte Anzahl von Anfragen pro Minute gestellt werden, und es dürfen nur eine maximale Anzahl von Tokens pro Minute erzeugt werden. AI Studio berücksichtigt dies automatisch. Das Erzeugen aller Dateien benötigt jedoch eine gewisse Zeit. Lokale oder selbst gehostete Modelle funktionieren möglicherweise ohne diese Einschränkungen und können schneller antworten. AI Studio passt sein Verhalten dynamisch an und versucht immer, die Daten so schnell wie möglich zu verarbeiten." + +-- Type +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3512062061"] = "Typ" + +-- Please describe how the selected authentication methods should be used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T356079033"] = "Bitte beschreiben Sie, wie die ausgewählten Authentifizierungsmethoden verwendet werden sollen." + +-- Authentication settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3565127422"] = "Authentifizierungs-Einstellungen" + +-- Add Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3617128581"] = "Abrufprozess hinzufügen" + +-- Please provide a brief description of your ERI server. Describe or explain what your ERI server does and what data it uses for this purpose. This description will be shown to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3637826231"] = "Bitte geben Sie eine kurze Beschreibung ihres ERI-Servers an. Beschreiben oder erklären Sie, was Ihr ERI-Server macht und welche Daten dafür verwendet werden. Diese Beschreibung wird den Nutzern in AI Studio angezeigt." + +-- Please provide the port of the data source. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3641304143"] = "Bitte geben Sie den Port der Datenquelle an." + +-- Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3668870799"] = "Bitte geben Sie den Hostnamen der Datenquelle an. Verwenden Sie „localhost“, wenn sich die Datenquelle auf demselben Rechner wie der ERI-Server befindet." + +-- Delete Embedding +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3691399003"] = "Einbettung löschen" + +-- Yes, please save my inputs +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3709185824"] = "Ja, bitte speichere meine Eingaben." + +-- Common ERI server settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T371718034"] = "Allgemeine ERI-Server-Einstellungen" + +-- Download specification +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3770339156"] = "Spezifikation herunterladen" + +-- Are you sure you want to delete the embedding '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3792084967"] = "Möchten Sie die Einbettung „{0}“ wirklich löschen?" + +-- Actions +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3865031940"] = "Aktionen" + +-- ERI specification version +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3897494556"] = "ERI-Spezifikations-Version" + +-- Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3973182416"] = "Bitte geben Sie eine Beschreibung für Ihren ERI-Server an. Welche Daten wird der Server abrufen? Diese Beschreibung wird dazu verwendet, die Nutzer über den Zweck ihres ERI-Servers zu informieren." + +-- Please select a data source for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4010020894"] = "Bitte wählen Sie eine Datenquelle für den ERI-Server aus." + +-- Please select at least one authentication method for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4027569219"] = "Bitte wählen Sie mindestens eine Authentifizierungsmethode für den ERI-Server aus." + +-- Data protection settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4078115997"] = "Datenschutzeinstellungen" + +-- Please describe the data source of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4156384463"] = "Bitte beschreiben Sie die Datenquelle ihres ERI-Servers." + +-- ERI Server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4204533420"] = "ERI-Server" + +-- The name of your ERI server must be between 6 and 60 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4215418115"] = "Der Name ihres ERI-Servers muss zwischen 6 und 60 Zeichen lang sein." + +-- Describe your data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4272497758"] = "Beschreiben Sie ihre Datenquelle" + +-- The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T458158948"] = "Das ERI ist die externe Abrufschnittstelle (External Retrieval Interface) für AI Studio und andere Werkzeuge. Das ERI fungiert als Vertrag zwischen dezentralen Datenquellen und beispielsweise AI Studio. Die Implementierung des ERI erfolgt durch die Datenquellen, wodurch diese später in AI Studio integriert werden können. Das bedeutet, dass die Datenquellen die Serverrolle übernehmen und AI Studio (oder ein anderes LLM-Werkzeug) die Rolle des API-Clients einnimmt. Dieser Ansatz dient dazu, einen Retrieval-Augmented Generation (RAG)-Prozess mit externen Daten zu ermöglichen." + +-- Allowed LLM providers for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T476513814"] = "Zulässige LLM-Anbieter für diese Datenquelle" + +-- The description of your ERI server must be between 32 and 512 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T528250165"] = "Die Beschreibung ihres ERI-Servers muss zwischen 32 und 512 Zeichen lang sein." + +-- (Optional) Additional libraries +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T605643256"] = "(Optional) Zusätzliche Bibliotheken" + +-- Delete this server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T662220520"] = "Diese Server-Voreinstellung löschen" + +-- No retrieval process configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T701892387"] = "Noch kein Abrufprozess konfiguriert." + +-- Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T726548639"] = "Hinweis: Damit dieser Assistent mehrere Voreinstellungen verwalten kann, müssen Sie in den Einstellungen die Vorauswahl von Optionen aktivieren." + +-- Should we write the generated code to the file system? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T732123150"] = "Sollen wir den erzeugten Code im Dateisystem speichern?" + +-- ERI server description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T746826190"] = "ERI-Serverbeschreibung" + +-- Are you sure you want to delete the retrieval process '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T748762927"] = "Sind Sie sicher, dass Sie den Abrufvorgang '{0}' löschen möchten?" + +-- Data source: hostname +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T761552889"] = "Datenquelle: Hostname" + +-- Please select a programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T884206922"] = "Bitte wählen Sie eine Programmiersprache für den ERI-Server aus." + +-- The hostname of the data source must not exceed 255 characters. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T891356210"] = "Der Hostname der Datenquelle darf nicht länger als 255 Zeichen sein." + +-- ERI repository with example implementation in .NET and C# +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T907948048"] = "ERI-Repository mit einer Beispiel-Implementierung in .NET und C#" + +-- Login by token: simple to implement and to operate, useful for few users; unusual for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1080772923"] = "Anmeldung per Token: Einfach zu implementieren und zu bedienen, sinnvoll für wenige Nutzer; unüblich bei vielen Nutzern" + +-- Unknown login method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1650512217"] = "Unbekannte Anmeldemethode" + +-- Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2755085876"] = "Anmeldung per Single Sign-On (SSO) mit Kerberos: sehr komplex in der Umsetzung und im Betrieb, aber für viele Nutzer hilfreich" + +-- Login by username and password: simple to implement and to operate, useful for few users; easy to use for users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2776614042"] = "Login per Benutzername und Passwort: einfach zu implementieren und zu bedienen, sinnvoll bei wenigen Nutzern; benutzerfreundlich" + +-- No login necessary: useful for public data sources +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T80942322"] = "Kein Login erforderlich: nützlich für öffentliche Datenquellen" + +-- Custom description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1927732460"] = "Benutzerdefinierte Beschreibung" + +-- Object storage, like Amazon S3, MinIO, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1950971562"] = "Objektspeicher wie Amazon S3, MinIO usw." + +-- Key-Value store, like Redis, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T206122953"] = "Schlüssel-Werte-Speicher, wie Redis usw." + +-- No data source selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2241819332"] = "Keine Datenquelle ausgewählt" + +-- Graph database, like Neo4j, ArangoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2327735815"] = "Graphdatenbank, wie Neo4j, ArangoDB usw." + +-- File system (local or network share) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2883797032"] = "Dateisystem (lokal oder Netzwerkfreigabe)" + +-- Document store, like MongoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3377619148"] = "Dokumentenspeicher, wie MongoDB usw." + +-- Relational database, like MySQL, PostgreSQL, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3394837922"] = "Relationale Datenbank, wie MySQL, PostgreSQL usw." + +-- Unknown data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T752426884"] = "Unbekannte Datenquelle" + +-- Windows +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T104858250"] = "Windows" + +-- No operating system specified +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T1453731272"] = "Kein Betriebssystem angegeben" + +-- Linux +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2498953917"] = "Linux" + +-- Unknown operating system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2961688575"] = "Unbekanntes Betriebssystem" + +-- Other +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T1849229205"] = "Sonstiges" + +-- No programming language selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T2044057328"] = "Keine Programmiersprache ausgewählt" + +-- Unknown +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T3424652889"] = "Unbekannt" + -- Please provide a text as input. You might copy the desired text from a document or a website. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::GRAMMARSPELLING::ASSISTANTGRAMMARSPELLING::T137304886"] = "Bitte geben Sie einen Text ein. Sie können den gewünschten Text aus einem Dokument oder einer Website kopieren." 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 8e751b70..d5f8d370 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 @@ -351,7 +351,7 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T412437274"] = " -- Please provide the compiler messages. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T4225294332"] = "Please provide the compiler messages." --- This coding assistant supports you in writing code. Provide some coding context by copying and pasting your code into the input fields. You might assign an ID to your code snippet to easily reference it later. When you have compiler messages, you can paste them into the input fields to get help with debugging as well. +-- This coding assistant supports you in writing code. Provide some coding context by pasting your code into the input fields. You might assign an ID to your code snippet to easily reference it later. When you have compiler messages, you can paste them into the input fields to get help with debugging as well. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::CODING::ASSISTANTCODING::T566604388"] = "This coding assistant supports you in writing code. Provide some coding context by pasting your code into the input fields. You might assign an ID to your code snippet to easily reference it later. When you have compiler messages, you can paste them into the input fields to get help with debugging as well." -- Add context @@ -471,6 +471,399 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T47755021 -- Not specified UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::EMAIL::WRITINGSTYLESEXTENSIONS::T641241064"] = "Not specified" +-- Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1196461290"] = "Self-hosted LLM providers are allowed: users cannot choose any cloud-based provider" + +-- Please select what kind of LLM provider are allowed for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T1641796568"] = "Please select what kind of LLM provider are allowed for this data source" + +-- Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T3264558650"] = "Any LLM provider is allowed: users might choose a cloud-based or a self-hosted provider" + +-- Unknown option was selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ALLOWEDLLMPROVIDERSEXTENSIONS::T4096790096"] = "Unknown option was selected" + +-- Please describe at least one retrieval process. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1035068989"] = "Please describe at least one retrieval process." + +-- Please select which types of LLMs users are allowed to use with the data from this ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1047631678"] = "Please select which types of LLMs users are allowed to use with the data from this ERI server." + +-- No, I will enter everything again or configure it manually in the settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1051078592"] = "No, I will enter everything again or configure it manually in the settings" + +-- ERI server name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1104420863"] = "ERI server name" + +-- The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1125425983"] = "The embedding '{0}' is used in one or more retrieval processes. Are you sure you want to delete it?" + +-- The port of the data source must be between 1 and 65535. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1201129536"] = "The port of the data source must be between 1 and 65535." + +-- AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T121294173"] = "AI Studio can save the generated code to the file system. You can select a base folder for this. AI Studio ensures that no files are created outside of this base folder. Furthermore, we recommend that you create a Git repository in this folder. This way, you can see what changes the AI has made in which files." + +-- Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1244355152"] = "Here you have the option to save different configurations for various ERI servers and switch between them. This is useful if you are responsible for multiple ERI servers." + +-- Please provide a name for your ERI server. This name will be used to identify the server in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1261836894"] = "Please provide a name for your ERI server. This name will be used to identify the server in AI Studio." + +-- You have not yet added any ERI server presets. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1267931972"] = "You have not yet added any ERI server presets." + +-- Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user). +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1287629674"] = "Warning: Ports below 1024 are reserved for system services. Your ERI server need to run with elevated permissions (root user)." + +-- The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1302705248"] = "The task of writing the ERI server for you is very complex. Therefore, a very powerful LLM is needed to successfully accomplish this task. Small local models will probably not be sufficient. Instead, try using a large cloud-based or a large self-hosted model." + +-- Please give your ERI server a name that provides information about the data source and/or its intended purpose. The name will be displayed to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1312468048"] = "Please give your ERI server a name that provides information about the data source and/or its intended purpose. The name will be displayed to users in AI Studio." + +-- Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1365243213"] = "Please describe how the selected authentication methods should be used. Especially, explain for what data the NONE method (public access) is used." + +-- No embedding methods configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1391635161"] = "No embedding methods configured yet." + +-- Edit Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1423501360"] = "Edit Retrieval Process" + +-- Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1456749976"] = "Please select the operating system on which the ERI server will run. This is necessary when using SSO with Kerberos." + +-- Delete +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1469573738"] = "Delete" + +-- Related links: +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1565111217"] = "Related links:" + +-- Please select an ERI specification version for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1612890554"] = "Please select an ERI specification version for the ERI server." + +-- Write code to file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1717303021"] = "Write code to file system" + +-- Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1729922656"] = "Hint: to allow this assistant to automatically save your changes, you must enable the preselection of values in the settings." + +-- You have selected {0} authentication methods +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1755088321"] = "You have selected {0} authentication methods" + +-- Select the target directory for the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T175742733"] = "Select the target directory for the ERI server" + +-- Data source: port +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T179799739"] = "Data source: port" + +-- Delete Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T180938091"] = "Delete Retrieval Process" + +-- Provider selection for generation +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1840198821"] = "Provider selection for generation" + +-- Should we automatically save any input made? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1980659256"] = "Should we automatically save any input made?" + +-- Auto save +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T1997164591"] = "Auto save" + +-- An ERI server preset with this name already exists. Please choose a different name. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2031461801"] = "An ERI server preset with this name already exists. Please choose a different name." + +-- Data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2034620186"] = "Data source" + +-- Interactive documentation aka Swagger UI +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2064957876"] = "Interactive documentation aka Swagger UI" + +-- When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2155983785"] = "When you rebuild / re-generate the ERI server code, AI Studio proceeds as follows: All files generated last time will be deleted. All other files you have created remain. Then, the AI generates the new files. But beware: It may happen that the AI generates a file this time that you manually created last time. In this case, your manually created file will then be overwritten. Therefore, you should always create a Git repository and commit or revert all changes before using this assistant. With a diff visualization, you can immediately see where the AI has made changes. It is best to use an IDE suitable for your selected language for this purpose." + +-- Add Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2176833082"] = "Add Embedding Method" + +-- For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T218617347"] = "For your ERI server, you need to retrieve data that matches a chat or prompt in some way. We call this the retrieval process. You must describe at least one such process. You may offer several retrieval processes from which users can choose. This allows you to test with beta users which process works better. Or you might generally want to give users the choice so they can select the process that best suits their circumstances." + +-- You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2202387805"] = "You can specify more than one embedding method. This can be useful when you want to use different embeddings for different queries or data types. For example, one embedding for texts, another for images, and a third for videos, etc." + +-- Operating system on which your ERI will run +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2205711729"] = "Operating system on which your ERI server will run" + +-- You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2241311898"] = "You can integrate additional libraries. Perhaps you want to evaluate the prompts in advance using a machine learning method or analyze them with a text mining approach? Or maybe you want to preprocess images in the prompts? For such advanced scenarios, you can specify which libraries you want to use here. It's best to describe which library you want to integrate for which purpose. This way, the LLM that writes the ERI server for you can try to use these libraries effectively. This should result in less rework being necessary. If you don't know the necessary libraries, you can instead attempt to describe the intended use. The LLM can then attempt to choose suitable libraries. However, hallucinations can occur, and fictional libraries might be selected." + +-- The ERI specification could not be loaded. Please try again later. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2265640084"] = "The ERI specification could not be loaded. Please try again later." + +-- You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2299793803"] = "You can imagine it like this: Hypothetically, when Wikipedia implemented the ERI, it would vectorize all pages using an embedding method. All of Wikipedia’s data would remain with Wikipedia, including the vector database (decentralized approach). Then, any AI Studio user could add Wikipedia as a data source to significantly reduce the hallucination of the LLM in knowledge questions." + +-- Are you sure you want to delete the ERI server preset '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2417944396"] = "Are you sure you want to delete the ERI server preset '{0}'?" + +-- Data source settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2440619931"] = "Data source settings" + +-- Yes, please write or update all generated code to the file system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T252707279"] = "Yes, please write or update all generated code to the file system" + +-- Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2531113337"] = "Describe how you planned the authentication process" + +-- Please specify the custom programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T257210674"] = "Please specify the custom programming language for the ERI server." + +-- Edit Embedding Method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T260789321"] = "Edit Embedding Method" + +-- Base directory where to write the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2610795494"] = "Base directory where to write the code" + +-- Delete ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2627399122"] = "Delete ERI server preset" + +-- Name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T266367750"] = "Name" + +-- Create the ERI server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2903289059"] = "Create the ERI server" + +-- Data retrieval settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T295114338"] = "Data retrieval settings" + +-- Please provide a base directory for the ERI server to write files to. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2989655350"] = "Please provide a base directory for the ERI server to write files to." + +-- You have selected 1 authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T2997584553"] = "You have selected 1 authentication method" + +-- ERI server presets +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3021250792"] = "ERI server presets" + +-- Authentication method(s) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3044928058"] = "Authentication method(s)" + +-- (Optional) Describe how you planned the authentication process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3052867096"] = "(Optional) Describe how you planned the authentication process" + +-- Do you want to include additional libraries? Then name them and briefly describe what you want to achieve with them. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3088814795"] = "Do you want to include additional libraries? Then name them and briefly describe what you want to achieve with them." + +-- Add ERI server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3090449320"] = "Add ERI server preset" + +-- Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3105554044"] = "Please specify the product name of the data source, e.g., 'MongoDB', 'Redis', 'PostgreSQL', 'Neo4j', or 'MinIO', etc." + +-- Embedding settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T315946275"] = "Embedding settings" + +-- Please select at least one authentication method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3178184134"] = "Please select at least one authentication method" + +-- The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3203532492"] = "The ERI specification will change over time. You probably want to keep your ERI server up to date. This means you might want to regenerate the code for your ERI server. To avoid having to make all inputs each time, all your inputs and decisions can be automatically saved. Would you like this?" + +-- Edit +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3267849393"] = "Edit" + +-- Programming language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3295594136"] = "Programming language" + +-- Data source: product name +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3315518334"] = "Data source: product name" + +-- No, just show me the code +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3316699247"] = "No, just show me the code" + +-- Other language +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3374524465"] = "Other language" + +-- ERI Server {0} +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3443687246"] = "ERI Server {0}" + +-- You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3446047228"] = "You will likely use one or more embedding methods to encode the meaning of your data into a typically high-dimensional vector space. In this case, you will use a vector database to store and search these vectors (called embeddings). However, you don't have to use embedding methods. When your retrieval method works without any embedding, you can ignore this section. An example: You store files on a file server, and your retrieval method works exclusively with file names in the file system, so you don't need embeddings." + +-- Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3485079498"] = "Important: The LLM may need to generate many files. This reaches the request limit of most providers. Typically, only a certain number of requests can be made per minute, and only a maximum number of tokens can be generated per minute. AI Studio automatically considers this. However, generating all the files takes a certain amount of time. Local or self-hosted models may work without these limitations and can generate responses faster. AI Studio dynamically adapts its behavior and always tries to achieve the fastest possible data processing." + +-- Type +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3512062061"] = "Type" + +-- Please describe how the selected authentication methods should be used. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T356079033"] = "Please describe how the selected authentication methods should be used." + +-- Authentication settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3565127422"] = "Authentication settings" + +-- Add Retrieval Process +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3617128581"] = "Add Retrieval Process" + +-- Please provide a brief description of your ERI server. Describe or explain what your ERI server does and what data it uses for this purpose. This description will be shown to users in AI Studio. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3637826231"] = "Please provide a brief description of your ERI server. Describe or explain what your ERI server does and what data it uses for this purpose. This description will be shown to users in AI Studio." + +-- Please provide the port of the data source. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3641304143"] = "Please provide the port of the data source." + +-- Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3668870799"] = "Please provide the hostname of the data source. Use 'localhost' if the data source is on the same machine as the ERI server." + +-- Delete Embedding +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3691399003"] = "Delete Embedding" + +-- Yes, please save my inputs +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3709185824"] = "Yes, please save my inputs" + +-- Common ERI server settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T371718034"] = "Common ERI server settings" + +-- Download specification +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3770339156"] = "Download specification" + +-- Are you sure you want to delete the embedding '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3792084967"] = "Are you sure you want to delete the embedding '{0}'?" + +-- Actions +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3865031940"] = "Actions" + +-- ERI specification version +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3897494556"] = "ERI specification version" + +-- Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T3973182416"] = "Please provide a description for your ERI server. What data will the server retrieve? This description will be used to inform users about the purpose of your ERI server." + +-- Please select a data source for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4010020894"] = "Please select a data source for the ERI server." + +-- Please select at least one authentication method for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4027569219"] = "Please select at least one authentication method for the ERI server." + +-- Data protection settings +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4078115997"] = "Data protection settings" + +-- Please describe the data source of your ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4156384463"] = "Please describe the data source of your ERI server." + +-- ERI Server +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4204533420"] = "ERI Server" + +-- The name of your ERI server must be between 6 and 60 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4215418115"] = "The name of your ERI server must be between 6 and 60 characters long." + +-- Describe your data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T4272497758"] = "Describe your data source" + +-- The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T458158948"] = "The ERI is the External Retrieval Interface for AI Studio and other tools. The ERI acts as a contract between decentralized data sources and, e.g., AI Studio. The ERI is implemented by the data sources, allowing them to be integrated into AI Studio later. This means that the data sources assume the server role and AI Studio (or any other LLM tool) assumes the client role of the API. This approach serves to realize a Retrieval-Augmented Generation (RAG) process with external data." + +-- Allowed LLM providers for this data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T476513814"] = "Allowed LLM providers for this data source" + +-- The description of your ERI server must be between 32 and 512 characters long. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T528250165"] = "The description of your ERI server must be between 32 and 512 characters long." + +-- (Optional) Additional libraries +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T605643256"] = "(Optional) Additional libraries" + +-- Delete this server preset +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T662220520"] = "Delete this server preset" + +-- No retrieval process configured yet. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T701892387"] = "No retrieval process configured yet." + +-- Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T726548639"] = "Hint: to allow this assistant to manage multiple presets, you must enable the preselection of values in the settings." + +-- Should we write the generated code to the file system? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T732123150"] = "Should we write the generated code to the file system?" + +-- ERI server description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T746826190"] = "ERI server description" + +-- Are you sure you want to delete the retrieval process '{0}'? +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T748762927"] = "Are you sure you want to delete the retrieval process '{0}'?" + +-- Data source: hostname +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T761552889"] = "Data source: hostname" + +-- Please select a programming language for the ERI server. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T884206922"] = "Please select a programming language for the ERI server." + +-- The hostname of the data source must not exceed 255 characters. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T891356210"] = "The hostname of the data source must not exceed 255 characters." + +-- ERI repository with example implementation in .NET and C# +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::ASSISTANTERI::T907948048"] = "ERI repository with example implementation in .NET and C#" + +-- Login by token: simple to implement and to operate, useful for few users; unusual for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1080772923"] = "Login by token: simple to implement and to operate, useful for few users; unusual for many users" + +-- Unknown login method +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T1650512217"] = "Unknown login method" + +-- Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2755085876"] = "Login by single-sign-on (SSO) using Kerberos: very complex to implement and to operate, useful for many users" + +-- Login by username and password: simple to implement and to operate, useful for few users; easy to use for users +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T2776614042"] = "Login by username and password: simple to implement and to operate, useful for few users; easy to use for users" + +-- No login necessary: useful for public data sources +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::AUTHEXTENSIONS::T80942322"] = "No login necessary: useful for public data sources" + +-- Custom description +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1927732460"] = "Custom description" + +-- Object storage, like Amazon S3, MinIO, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T1950971562"] = "Object storage, like Amazon S3, MinIO, etc." + +-- Key-Value store, like Redis, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T206122953"] = "Key-Value store, like Redis, etc." + +-- No data source selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2241819332"] = "No data source selected" + +-- Graph database, like Neo4j, ArangoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2327735815"] = "Graph database, like Neo4j, ArangoDB, etc." + +-- File system (local or network share) +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T2883797032"] = "File system (local or network share)" + +-- Document store, like MongoDB, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3377619148"] = "Document store, like MongoDB, etc." + +-- Relational database, like MySQL, PostgreSQL, etc. +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T3394837922"] = "Relational database, like MySQL, PostgreSQL, etc." + +-- Unknown data source +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::DATASOURCESEXTENSIONS::T752426884"] = "Unknown data source" + +-- Windows +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T104858250"] = "Windows" + +-- No operating system specified +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T1453731272"] = "No operating system specified" + +-- Linux +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2498953917"] = "Linux" + +-- Unknown operating system +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::OPERATINGSYSTEMEXTENSIONS::T2961688575"] = "Unknown operating system" + +-- Other +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T1849229205"] = "Other" + +-- No programming language selected +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T2044057328"] = "No programming language selected" + +-- Unknown +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ERI::PROGRAMMINGLANGUAGESEXTENSIONS::T3424652889"] = "Unknown" + -- Please provide a text as input. You might copy the desired text from a document or a website. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::GRAMMARSPELLING::ASSISTANTGRAMMARSPELLING::T137304886"] = "Please provide a text as input. You might copy the desired text from a document or a website."