mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-10 23:47:21 +00:00
Added the informal address to the BeyondFacts Lab (#1176)
This commit is contained in:
1 parent
b6c3fbb5db
commit
e77645f44c
48 files changed
+1254
-160
No files matched your search
@@ -14,13 +14,13 @@
|
||||
|
||||
<InnerScrolling>
|
||||
<MudText Typo="Typo.body1" Class="mb-3 mr-3">
|
||||
@T("Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states.")
|
||||
@TA("Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states.")
|
||||
</MudText>
|
||||
|
||||
<MudText Typo="Typo.h5" Class="mb-1">@T("Your preparations")</MudText>
|
||||
<MudText Typo="Typo.h5" Class="mb-1">@TA("Your preparations")</MudText>
|
||||
@if (this.projects.Count == 0)
|
||||
{
|
||||
<MudText Typo="Typo.body2" Class="mb-3">@T("You have no preparations yet. Create one for the event you want to prepare for.")</MudText>
|
||||
<MudText Typo="Typo.body2" Class="mb-3">@TA("You have no preparations yet. Create one for the event you want to prepare for.")</MudText>
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
<MudText Typo="Typo.h5" Class="mt-2">@step.Title</MudText>
|
||||
<MudText Typo="Typo.body2" Class="mb-4">@step.Description</MudText>
|
||||
|
||||
<MudText Typo="Typo.h6" Class="mb-2">@T("Your details")</MudText>
|
||||
<MudText Typo="Typo.h6" Class="mb-2">@TA("Your details")</MudText>
|
||||
@if (this.forms.TryGetValue(step, out var form))
|
||||
{
|
||||
<BflStepForm Step="@step" Form="@form" FormChanged="@(() => this.SaveFormAsync(step))"/>
|
||||
@@ -108,7 +108,7 @@
|
||||
else
|
||||
{
|
||||
<MudAlert Severity="Severity.Error" Variant="Variant.Outlined">
|
||||
@T("AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged.")
|
||||
@TA("AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged.")
|
||||
</MudAlert>
|
||||
}
|
||||
</MudStep>
|
||||
@@ -119,7 +119,7 @@
|
||||
else
|
||||
{
|
||||
<MudPaper Outlined="true" Class="pa-6 mr-3">
|
||||
<MudText Typo="Typo.h5">@T("Create a preparation to begin.")</MudText>
|
||||
<MudText Typo="Typo.h5">@TA("Create a preparation to begin.")</MudText>
|
||||
</MudPaper>
|
||||
}
|
||||
</InnerScrolling>
|
||||
|
||||
+7
-7
@@ -77,7 +77,7 @@ public partial class BeyondFactsLabAssistant
|
||||
/// </summary>
|
||||
private async Task CreateProjectAsync()
|
||||
{
|
||||
var name = await this.AskForNameAsync(T("New preparation"), T("Name the event you want to prepare for, e.g., the title of a panel discussion."), string.Empty, T("Create"));
|
||||
var name = await this.AskForNameAsync(T("New preparation"), TA("Name the event you want to prepare for, e.g., the title of a panel discussion."), string.Empty, T("Create"));
|
||||
if (name is null)
|
||||
return;
|
||||
|
||||
@@ -97,7 +97,7 @@ public partial class BeyondFactsLabAssistant
|
||||
if (this.selectedProject?.Project is not { } project)
|
||||
return;
|
||||
|
||||
var name = await this.AskForNameAsync(T("Rename preparation"), T("Enter a new name for this preparation."), project.Name, T("Rename"));
|
||||
var name = await this.AskForNameAsync(T("Rename preparation"), TA("Enter a new name for this preparation."), project.Name, T("Rename"));
|
||||
if (name is null)
|
||||
return;
|
||||
|
||||
@@ -121,8 +121,8 @@ public partial class BeyondFactsLabAssistant
|
||||
{
|
||||
dialog => dialog.Message,
|
||||
project.IsAvailable
|
||||
? string.Format(T("Permanently delete the preparation '{0}' with all of its steps, chats, and work states?"), project.Name)
|
||||
: T("This preparation cannot be opened. Permanently delete it with all of its files?")
|
||||
? string.Format(TA("Permanently delete the preparation '{0}' with all of its steps, chats, and work states?"), project.Name)
|
||||
: TA("This preparation cannot be opened. Permanently delete it with all of its files?")
|
||||
},
|
||||
};
|
||||
|
||||
@@ -173,7 +173,7 @@ public partial class BeyondFactsLabAssistant
|
||||
{ dialog => dialog.ConfirmText, confirmText },
|
||||
{ dialog => dialog.ConfirmColor, Color.Primary },
|
||||
{ dialog => dialog.AllowEmptyInput, false },
|
||||
{ dialog => dialog.EmptyInputErrorMessage, T("Please enter a name.") },
|
||||
{ dialog => dialog.EmptyInputErrorMessage, TA("Please enter a name.") },
|
||||
};
|
||||
|
||||
var reference = await this.DialogService.ShowAsync<SingleInputDialog>(title, parameters, DialogOptions.FULLSCREEN);
|
||||
@@ -198,7 +198,7 @@ public partial class BeyondFactsLabAssistant
|
||||
catch (Exception exception) when (exception is IOException or UnauthorizedAccessException or InvalidDataException or ArgumentException)
|
||||
{
|
||||
this.Logger.LogError(exception, "A change of the preparations of the BeyondFacts Lab failed.");
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.RecordVoiceOver, T("AI Studio could not save the change of your preparations. Please try again.")));
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.RecordVoiceOver, TA("AI Studio could not save the change of your preparations. Please try again.")));
|
||||
await this.ReloadAfterFailureAsync();
|
||||
}
|
||||
finally
|
||||
@@ -265,7 +265,7 @@ public partial class BeyondFactsLabAssistant
|
||||
/// <param name="status">The status of the preparation.</param>
|
||||
private string ProjectRecoveryMessage(BflProjectLoadStatus status) => status switch
|
||||
{
|
||||
BflProjectLoadStatus.NEWER_VERSION => T("A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio."),
|
||||
BflProjectLoadStatus.NEWER_VERSION => TA("A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio."),
|
||||
_ => T("AI Studio cannot read this preparation. Its files may be damaged."),
|
||||
};
|
||||
}
|
||||
+1
-1
@@ -85,7 +85,7 @@ public partial class BeyondFactsLabAssistant
|
||||
catch (Exception exception) when (exception is IOException or UnauthorizedAccessException or InvalidDataException)
|
||||
{
|
||||
this.Logger.LogError(exception, "Could not save the details of a step in the BeyondFacts Lab.");
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.RecordVoiceOver, T("AI Studio could not save your details. Please try again.")));
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.RecordVoiceOver, TA("AI Studio could not save your details. Please try again.")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,11 +80,17 @@ public partial class BeyondFactsLabAssistant : MSGComponentBase
|
||||
/// <inheritdoc />
|
||||
protected override async Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
||||
{
|
||||
// An organization may hide the lab, or the person may switch its preview feature off, while the page is open:
|
||||
if (triggeredEvent is Event.CONFIGURATION_CHANGED && !BflAccess.CanOpen(this.SettingsManager))
|
||||
if (triggeredEvent is Event.CONFIGURATION_CHANGED)
|
||||
{
|
||||
this.NavigationManager.NavigateTo(Routes.ASSISTANTS);
|
||||
return;
|
||||
// An organization may hide the lab, or the person may switch its preview feature off, while the page is open:
|
||||
if (!BflAccess.CanOpen(this.SettingsManager))
|
||||
{
|
||||
this.NavigationManager.NavigateTo(Routes.ASSISTANTS);
|
||||
return;
|
||||
}
|
||||
|
||||
// A changed option, such as the form of address in the options of the lab, shows right away:
|
||||
this.StateHasChanged();
|
||||
}
|
||||
|
||||
await base.ProcessIncomingMessage(sendingComponent, triggeredEvent, data);
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
namespace AIStudio.Assistants.BeyondFactsLab;
|
||||
|
||||
/// <summary>
|
||||
/// How the BeyondFacts Lab addresses the person in languages which tell a formal address from an informal one, such as German.
|
||||
/// </summary>
|
||||
public enum BflAddressForm
|
||||
{
|
||||
/// <summary>
|
||||
/// The formal address, such as "Sie" in German. The texts of AI Studio use it as well.
|
||||
/// </summary>
|
||||
FORMAL,
|
||||
|
||||
/// <summary>
|
||||
/// The informal address, such as "du" in German.
|
||||
/// </summary>
|
||||
INFORMAL,
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace AIStudio.Assistants.BeyondFactsLab;
|
||||
|
||||
public static class BflAddressFormExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(BflAddressFormExtensions).Namespace, nameof(BflAddressFormExtensions));
|
||||
|
||||
/// <param name="addressForm">The form of address.</param>
|
||||
extension(BflAddressForm addressForm)
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the name of the form of address, as the settings show it.
|
||||
/// </summary>
|
||||
public string Name => addressForm switch
|
||||
{
|
||||
BflAddressForm.FORMAL => TB("Formal address (Sie in German)"),
|
||||
BflAddressForm.INFORMAL => TB("Informal address (du in German)"),
|
||||
|
||||
_ => TB("Formal address (Sie in German)"),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,8 @@ public static class BflFieldTexts
|
||||
{
|
||||
private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(BflFieldTexts).Namespace, nameof(BflFieldTexts));
|
||||
|
||||
private static string TA(string fallbackEN) => Tools.PluginSystem.I18N.I.TA(fallbackEN, typeof(BflFieldTexts).Namespace, nameof(BflFieldTexts));
|
||||
|
||||
/// <param name="definition">The field.</param>
|
||||
extension(BflFieldDefinition definition)
|
||||
{
|
||||
@@ -18,25 +20,25 @@ public static class BflFieldTexts
|
||||
BflFieldCatalog.FORMAT => TB("Format of the event"),
|
||||
BflFieldCatalog.EVENT_TOPIC => TB("Topic of the event"),
|
||||
BflFieldCatalog.AUDIENCE => TB("Audience"),
|
||||
BflFieldCatalog.CONTRIBUTION_TOPIC => TB("Topic of your contribution or your specific assignment"),
|
||||
BflFieldCatalog.CONTRIBUTION_TOPIC => TA("Topic of your contribution or your specific assignment"),
|
||||
BflFieldCatalog.EVENT_DATE => TB("Date and time"),
|
||||
BflFieldCatalog.EVENT_LOCATION => TB("Place"),
|
||||
BflFieldCatalog.EVENT_DURATION => TB("Total duration of the event"),
|
||||
BflFieldCatalog.CONTRIBUTION_DURATION => TB("Duration of your contribution"),
|
||||
BflFieldCatalog.CONTRIBUTION_DURATION => TA("Duration of your contribution"),
|
||||
BflFieldCatalog.OTHER_PARTICIPANTS => TB("Other participants"),
|
||||
BflFieldCatalog.EVENT_LINK => TB("Link to the event"),
|
||||
|
||||
BflFieldCatalog.CONTRIBUTION_SUMMARY => TB("Short description of your contribution"),
|
||||
BflFieldCatalog.CONTRIBUTION_SUMMARY => TA("Short description of your contribution"),
|
||||
BflFieldCatalog.CORE_THESES => TB("Core theses and arguments (if any)"),
|
||||
BflFieldCatalog.UNCERTAINTIES => TB("Uncertainties and controversies in content and science (if known)"),
|
||||
BflFieldCatalog.MATERIAL_NOTES => TB("Notes on how to use your materials"),
|
||||
BflFieldCatalog.MATERIAL_NOTES => TA("Notes on how to use your materials"),
|
||||
|
||||
BflFieldCatalog.GOALS => TB("What do you want to achieve with your contribution?"),
|
||||
BflFieldCatalog.GOALS => TA("What do you want to achieve with your contribution?"),
|
||||
BflFieldCatalog.GOAL_DIRECTIONS => TB("Suggestions"),
|
||||
|
||||
BflFieldCatalog.VALUES_AND_CONCERNS => TB("Values and concerns: What matters most to you about this topic?"),
|
||||
BflFieldCatalog.PERSONAL_CONCERN => TB("Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?"),
|
||||
BflFieldCatalog.OTHER_PERSPECTIVES => TB("Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?"),
|
||||
BflFieldCatalog.VALUES_AND_CONCERNS => TA("Values and concerns: What matters most to you about this topic?"),
|
||||
BflFieldCatalog.PERSONAL_CONCERN => TA("Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?"),
|
||||
BflFieldCatalog.OTHER_PERSPECTIVES => TA("Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?"),
|
||||
|
||||
BflFieldCatalog.COMMUNICATION_WORRIES => TB("Uncertainties and worries about communicating"),
|
||||
|
||||
@@ -44,7 +46,7 @@ public static class BflFieldTexts
|
||||
BflFieldCatalog.DIFFICULTY => TB("Difficulty at the start"),
|
||||
BflFieldCatalog.TEST_NOTES => TB("Special notes for the test"),
|
||||
|
||||
BflFieldCatalog.POSITION_CHANGES => TB("What have you changed, kept, or left open compared to your initial position, and why?"),
|
||||
BflFieldCatalog.POSITION_CHANGES => TA("What have you changed, kept, or left open compared to your initial position, and why?"),
|
||||
|
||||
_ => string.Empty,
|
||||
};
|
||||
@@ -57,24 +59,24 @@ public static class BflFieldTexts
|
||||
BflFieldCatalog.FORMAT => TB("E.g., panel, keynote, or interview; online, on site, or hybrid"),
|
||||
BflFieldCatalog.EVENT_TOPIC => TB("The central question or the title"),
|
||||
BflFieldCatalog.AUDIENCE => TB("E.g., students, experts, or the general public"),
|
||||
BflFieldCatalog.CONTRIBUTION_TOPIC => TB("Stays in your preparation and never goes into the research on the web"),
|
||||
BflFieldCatalog.CONTRIBUTION_TOPIC => TA("Stays in your preparation and never goes into the research on the web"),
|
||||
BflFieldCatalog.EVENT_DATE => TB("E.g., December 10, 2 pm"),
|
||||
BflFieldCatalog.EVENT_LOCATION => TB("E.g., the venue and the city, or online"),
|
||||
BflFieldCatalog.EVENT_DURATION => TB("E.g., 90 minutes"),
|
||||
BflFieldCatalog.CONTRIBUTION_DURATION => TB("E.g., 8 minutes"),
|
||||
BflFieldCatalog.OTHER_PARTICIPANTS => TB("Names and roles, as far as you know them"),
|
||||
BflFieldCatalog.OTHER_PARTICIPANTS => TA("Names and roles, as far as you know them"),
|
||||
BflFieldCatalog.EVENT_LINK => TB("The address of the event page, beginning with https://"),
|
||||
|
||||
BflFieldCatalog.CONTRIBUTION_SUMMARY => TB("A few sentences are enough"),
|
||||
BflFieldCatalog.MATERIAL_NOTES => TB("E.g., use only paper X as the basis for the content"),
|
||||
|
||||
BflFieldCatalog.GOALS => TB("In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you."),
|
||||
BflFieldCatalog.GOALS => TA("In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you."),
|
||||
|
||||
BflFieldCatalog.PERSONAL_CONCERN => TB("Personal detail: it goes into exports and shared sessions only when you explicitly choose so."),
|
||||
BflFieldCatalog.PERSONAL_CONCERN => TA("Personal detail: it goes into exports and shared sessions only when you explicitly choose so."),
|
||||
|
||||
BflFieldCatalog.COMMUNICATION_WORRIES => TB("E.g., aggressive moderation, time pressure, or a particular counterpart"),
|
||||
|
||||
BflFieldCatalog.DIFFICULTY => TB("You can raise the difficulty after each question."),
|
||||
BflFieldCatalog.DIFFICULTY => TA("You can raise the difficulty after each question."),
|
||||
BflFieldCatalog.TEST_NOTES => TB("E.g., take up a confirmed conflict of values or a perspective from the step about values and perspectives"),
|
||||
|
||||
_ => string.Empty,
|
||||
|
||||
@@ -9,16 +9,17 @@ namespace AIStudio.Assistants.BeyondFactsLab;
|
||||
/// <remarks>
|
||||
/// The notes are a text of the localization, so they come in every language of the app. The settings keep a hash of
|
||||
/// the notes as the app showed them when the person confirmed them. A new wording, in English or in a translation,
|
||||
/// therefore shows them again, and so does a switch to another language, whose notes the person has not read yet.
|
||||
/// therefore shows them again, and so does a switch to another language or to another form of address, whose notes
|
||||
/// the person has not read yet.
|
||||
/// </remarks>
|
||||
public static class BflNotice
|
||||
{
|
||||
private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(BflNotice).Namespace, nameof(BflNotice));
|
||||
private static string TA(string fallbackEN) => Tools.PluginSystem.I18N.I.TA(fallbackEN, typeof(BflNotice).Namespace, nameof(BflNotice));
|
||||
|
||||
/// <summary>
|
||||
/// Gets the notes in the language of the app, as Markdown.
|
||||
/// Gets the notes in the language of the app and in the form of address the person chose, as Markdown.
|
||||
/// </summary>
|
||||
public static string Text => TB("""
|
||||
public static string Text => TA("""
|
||||
## Welcome!
|
||||
|
||||
The BeyondFacts Lab guides you through an AI-supported process of reflection, which helps you take a position in challenging communication situations and stay able to communicate.
|
||||
|
||||
@@ -4,6 +4,8 @@ public static class BflStepExtensions
|
||||
{
|
||||
private static string TB(string fallbackEN) => Tools.PluginSystem.I18N.I.T(fallbackEN, typeof(BflStepExtensions).Namespace, nameof(BflStepExtensions));
|
||||
|
||||
private static string TA(string fallbackEN) => Tools.PluginSystem.I18N.I.TA(fallbackEN, typeof(BflStepExtensions).Namespace, nameof(BflStepExtensions));
|
||||
|
||||
/// <param name="step">The step.</param>
|
||||
extension(BflStep step)
|
||||
{
|
||||
@@ -28,13 +30,13 @@ public static class BflStepExtensions
|
||||
/// </summary>
|
||||
public string Description => step switch
|
||||
{
|
||||
BflStep.FRAMEWORK => TB("What the event is about, for whom, and what you were asked to contribute."),
|
||||
BflStep.KNOWLEDGE => TB("What you know for sure, what is uncertain, and where your expertise ends."),
|
||||
BflStep.GOALS_AND_ROLE => TB("What you want to achieve, and in which role you speak."),
|
||||
BflStep.VALUES_AND_PERSPECTIVES => TB("What matters to you, what touches you, and what moves others."),
|
||||
BflStep.STRATEGY => TB("How you convey evidence, trade-offs between values, and open questions."),
|
||||
BflStep.TEST_SITUATION => TB("Play through critical questions and opposing positions."),
|
||||
BflStep.RESULTS => TB("What you take away from your preparation."),
|
||||
BflStep.FRAMEWORK => TA("What the event is about, for whom, and what you were asked to contribute."),
|
||||
BflStep.KNOWLEDGE => TA("What you know for sure, what is uncertain, and where your expertise ends."),
|
||||
BflStep.GOALS_AND_ROLE => TA("What you want to achieve, and in which role you speak."),
|
||||
BflStep.VALUES_AND_PERSPECTIVES => TA("What matters to you, what touches you, and what moves others."),
|
||||
BflStep.STRATEGY => TA("How you convey evidence, trade-offs between values, and open questions."),
|
||||
BflStep.TEST_SITUATION => TA("Play through critical questions and opposing positions."),
|
||||
BflStep.RESULTS => TA("What you take away from your preparation."),
|
||||
|
||||
_ => string.Empty,
|
||||
};
|
||||
@@ -44,7 +46,7 @@ public static class BflStepExtensions
|
||||
/// </summary>
|
||||
public string FormHint => step switch
|
||||
{
|
||||
BflStep.VALUES_AND_PERSPECTIVES => TB("You can fill in single fields or start right away in the chat."),
|
||||
BflStep.VALUES_AND_PERSPECTIVES => TA("You can fill in single fields or start right away in the chat."),
|
||||
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@if (this.MissingFields.Count > 0)
|
||||
{
|
||||
<MudAlert Severity="Severity.Info" Variant="Variant.Outlined" Dense="true" Class="mb-3">
|
||||
@T("Some details are still missing. The chat will ask for them, and you can continue anyway.")
|
||||
@TA("Some details are still missing. The chat will ask for them, and you can continue anyway.")
|
||||
<br/>
|
||||
@string.Join(", ", this.MissingFields.Select(field => field.Label))
|
||||
</MudAlert>
|
||||
@@ -93,5 +93,5 @@
|
||||
|
||||
@if (this.HasKeyDetails)
|
||||
{
|
||||
<MudText Typo="Typo.caption" Class="mt-2">@T("* The chat works best when you fill in these details.")</MudText>
|
||||
<MudText Typo="Typo.caption" Class="mt-2">@TA("* The chat works best when you fill in these details.")</MudText>
|
||||
}
|
||||
@@ -70,6 +70,6 @@ public partial class BflStepForm : MSGComponentBase
|
||||
|
||||
return Uri.TryCreate(value.Trim(), UriKind.Absolute, out var uri) && (uri.Scheme == Uri.UriSchemeHttps || uri.Scheme == Uri.UriSchemeHttp)
|
||||
? null
|
||||
: T("Please enter an address that begins with https:// or http://.");
|
||||
: TA("Please enter an address that begins with https:// or http://.");
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,8 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
Some texts are longer notes in Markdown, with headings, paragraphs, or lists. Keep their
|
||||
Markdown and their line breaks exactly as they are, and translate only the words.
|
||||
|
||||
{I18NAddressPrompt.Section(this.SystemPromptLanguage(), this.translatesInformalVariant, this.formalTranslationOfText)}
|
||||
|
||||
# Target Audience
|
||||
The app is intended for everyone, not just IT specialists or scientists. When translating,
|
||||
make sure the texts are easy for everyone to understand.
|
||||
@@ -124,6 +126,16 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
private Dictionary<string, string> localizedContent = [];
|
||||
private StringBuilder finalLuaCode = new();
|
||||
private string? activeSystemPromptLanguage;
|
||||
|
||||
/// <summary>
|
||||
/// Whether the text translated now is the informal variant of a text; see I18NAddressPrompt.
|
||||
/// </summary>
|
||||
private bool translatesInformalVariant;
|
||||
|
||||
/// <summary>
|
||||
/// The formal translation of the text translated now, when it is an informal variant and has one.
|
||||
/// </summary>
|
||||
private string? formalTranslationOfText;
|
||||
private static readonly AssistantSessionStateKey<CommonLanguages> SELECTED_TARGET_LANGUAGE_STATE_KEY = new(nameof(selectedTargetLanguage));
|
||||
private static readonly AssistantSessionStateKey<string> CUSTOM_TARGET_LANGUAGE_STATE_KEY = new(nameof(customTargetLanguage));
|
||||
private static readonly AssistantSessionStateKey<bool> IS_LOADING_STATE_KEY = new(nameof(isLoading));
|
||||
@@ -362,7 +374,8 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
if (this.selectedTargetLanguage is not CommonLanguages.EN_US)
|
||||
{
|
||||
// Phase 1: Translate added content
|
||||
await this.Phase1TranslateAddedContent(addedContentSnapshot);
|
||||
var translatedBefore = selectedLanguageContentSnapshot.ToDictionary(keyValuePair => keyValuePair.Key, keyValuePair => keyValuePair.Value, StringComparer.Ordinal);
|
||||
await this.Phase1TranslateAddedContent(addedContentSnapshot, translatedBefore);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -407,6 +420,8 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
finally
|
||||
{
|
||||
this.activeSystemPromptLanguage = null;
|
||||
this.translatesInformalVariant = false;
|
||||
this.formalTranslationOfText = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -414,12 +429,15 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
/// Translates the added text content from a stable snapshot.
|
||||
/// </summary>
|
||||
/// <param name="addedContentSnapshot">The added text entries captured when the job started.</param>
|
||||
/// <param name="translatedBefore">The texts of the language plugin, whose formal translations the informal variants start from.</param>
|
||||
/// <returns>A task that completes when all added text entries were translated or cancellation was requested.</returns>
|
||||
private async Task Phase1TranslateAddedContent(KeyValuePair<string, string>[] addedContentSnapshot)
|
||||
private async Task Phase1TranslateAddedContent(KeyValuePair<string, string>[] addedContentSnapshot, IReadOnlyDictionary<string, string> translatedBefore)
|
||||
{
|
||||
var stopwatch = new Stopwatch();
|
||||
var minimumTime = TimeSpan.FromMilliseconds(500);
|
||||
foreach (var keyValuePair in addedContentSnapshot)
|
||||
|
||||
// The informal variants start from the formal translations, so those come first:
|
||||
foreach (var keyValuePair in I18NAddressPrompt.FormalFirst(addedContentSnapshot))
|
||||
{
|
||||
if(this.CancellationTokenSource!.IsCancellationRequested)
|
||||
break;
|
||||
@@ -433,8 +451,11 @@ public partial class AssistantI18N : AssistantBaseCore<SettingsDialogI18N>
|
||||
stopwatch.Start();
|
||||
|
||||
//
|
||||
// Translate one text at a time:
|
||||
// Translate one text at a time. Its own chat thread gets the system prompt
|
||||
// with the form of address of this text:
|
||||
//
|
||||
this.translatesInformalVariant = I18NAddressVariant.TryGetFormalKey(keyValuePair.Key, out _);
|
||||
this.formalTranslationOfText = this.translatesInformalVariant ? I18NAddressPrompt.FindFormalTranslation(keyValuePair.Key, this.localizedContent, translatedBefore) : null;
|
||||
this.CreateChatThread();
|
||||
var time = this.AddUserRequest(keyValuePair.Value);
|
||||
this.localizedContent.Add(keyValuePair.Key, await this.AddAIResponseAsync(time));
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
using SharedTools;
|
||||
|
||||
namespace AIStudio.Assistants.I18N;
|
||||
|
||||
/// <summary>
|
||||
/// Tells the localization assistant how a text addresses the reader; see I18NAddressVariant.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The usual key of a text gets the formal address, like every text of the app. Its informal variant starts from
|
||||
/// the formal translation and changes only the form of address, so that both variants read alike, and a formal
|
||||
/// translation which a person reviewed carries its wording over. The formal translations therefore come first.
|
||||
/// </remarks>
|
||||
public static class I18NAddressPrompt
|
||||
{
|
||||
/// <summary>
|
||||
/// Puts the informal variants after all other texts and keeps the order otherwise.
|
||||
/// </summary>
|
||||
/// <param name="content">The texts to translate, by their keys.</param>
|
||||
/// <returns>The texts in the order to translate them.</returns>
|
||||
public static IReadOnlyList<KeyValuePair<string, string>> FormalFirst(IEnumerable<KeyValuePair<string, string>> content) => [.. content.OrderBy(entry => I18NAddressVariant.TryGetFormalKey(entry.Key, out _))];
|
||||
|
||||
/// <summary>
|
||||
/// Finds the formal translation of a text whose informal variant comes next.
|
||||
/// </summary>
|
||||
/// <param name="informalKey">The key of the informal variant.</param>
|
||||
/// <param name="translatedNow">The texts translated in this run.</param>
|
||||
/// <param name="translatedBefore">The texts of the language plugin so far.</param>
|
||||
/// <returns>The formal translation, or null when there is none.</returns>
|
||||
public static string? FindFormalTranslation(string informalKey, IReadOnlyDictionary<string, string> translatedNow, IReadOnlyDictionary<string, string> translatedBefore)
|
||||
{
|
||||
if (!I18NAddressVariant.TryGetFormalKey(informalKey, out var formalKey))
|
||||
return null;
|
||||
|
||||
if (translatedNow.TryGetValue(formalKey, out var translation) && !string.IsNullOrWhiteSpace(translation))
|
||||
return translation;
|
||||
|
||||
if (translatedBefore.TryGetValue(formalKey, out translation) && !string.IsNullOrWhiteSpace(translation))
|
||||
return translation;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the section of the system prompt about the form of address.
|
||||
/// </summary>
|
||||
/// <param name="language">The target language.</param>
|
||||
/// <param name="isInformalVariant">Whether the text is the informal variant of a text.</param>
|
||||
/// <param name="formalTranslation">The formal translation of the text, when it is an informal variant and has one.</param>
|
||||
/// <returns>The section, as Markdown.</returns>
|
||||
public static string Section(string language, bool isInformalVariant, string? formalTranslation)
|
||||
{
|
||||
if (!isInformalVariant)
|
||||
return $"""
|
||||
# Form of Address
|
||||
When a text addresses the reader, use the formal address of {language}, such as "Sie" in
|
||||
German, "vous" in French, or "usted" in Spanish.
|
||||
""";
|
||||
|
||||
if (string.IsNullOrWhiteSpace(formalTranslation))
|
||||
return $"""
|
||||
# Form of Address
|
||||
Address the reader informally, with the informal address of {language}, such as "du" in
|
||||
German, "tu" in French, or "tú" in Spanish. When {language} has only one form of address,
|
||||
translate as usual.
|
||||
""";
|
||||
|
||||
return $"""
|
||||
# Form of Address
|
||||
Address the reader informally, with the informal address of {language}, such as "du" in
|
||||
German, "tu" in French, or "tú" in Spanish. The formal translation of this text exists already:
|
||||
|
||||
<formal_translation>
|
||||
{formalTranslation}
|
||||
</formal_translation>
|
||||
|
||||
Keep its wording, its Markdown, and its line breaks, and change only what the informal address
|
||||
requires, such as pronouns, possessives, and verb forms. When {language} has only one form of
|
||||
address, answer with the formal translation unchanged.
|
||||
""";
|
||||
}
|
||||
}
|
||||
@@ -736,6 +736,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BATCHPROCESSING::BATCHPROCESSINGPROMPTSOU
|
||||
-- Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1218290190"] = "Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states."
|
||||
|
||||
-- Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1218290190::INFORMAL"] = "Prepare a challenging appearance as a researcher step by step, e.g., a panel discussion, an interview, or a hearing. Each preparation belongs to one event and has its own steps, chats, and work states."
|
||||
|
||||
-- Changed on {0}
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1279137966"] = "Changed on {0}"
|
||||
|
||||
@@ -748,12 +751,21 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::
|
||||
-- AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1564342983"] = "AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged."
|
||||
|
||||
-- AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1564342983::INFORMAL"] = "AI Studio cannot open your details for this step. Their file may be damaged, or a newer version of AI Studio stored it. AI Studio leaves the file unchanged."
|
||||
|
||||
-- You have no preparations yet. Create one for the event you want to prepare for.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1599306665"] = "You have no preparations yet. Create one for the event you want to prepare for."
|
||||
|
||||
-- You have no preparations yet. Create one for the event you want to prepare for.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1599306665::INFORMAL"] = "You have no preparations yet. Create one for the event you want to prepare for."
|
||||
|
||||
-- Enter a new name for this preparation.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T193031277"] = "Enter a new name for this preparation."
|
||||
|
||||
-- Enter a new name for this preparation.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T193031277::INFORMAL"] = "Enter a new name for this preparation."
|
||||
|
||||
-- Cannot be opened
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T1981873292"] = "Cannot be opened"
|
||||
|
||||
@@ -763,6 +775,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::
|
||||
-- Your details
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T25208484"] = "Your details"
|
||||
|
||||
-- Your details
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T25208484::INFORMAL"] = "Your details"
|
||||
|
||||
-- Create
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T2567824509"] = "Create"
|
||||
|
||||
@@ -772,6 +787,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::
|
||||
-- Create a preparation to begin.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T2751865753"] = "Create a preparation to begin."
|
||||
|
||||
-- Create a preparation to begin.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T2751865753::INFORMAL"] = "Create a preparation to begin."
|
||||
|
||||
-- AI Studio has left the files of this preparation unchanged. A future update may make it accessible again.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T2824385338"] = "AI Studio has left the files of this preparation unchanged. A future update may make it accessible again."
|
||||
|
||||
@@ -796,27 +814,45 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::
|
||||
-- This preparation cannot be opened. Permanently delete it with all of its files?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3647862078"] = "This preparation cannot be opened. Permanently delete it with all of its files?"
|
||||
|
||||
-- This preparation cannot be opened. Permanently delete it with all of its files?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3647862078::INFORMAL"] = "This preparation cannot be opened. Permanently delete it with all of its files?"
|
||||
|
||||
-- Name the event you want to prepare for, e.g., the title of a panel discussion.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3679923414"] = "Name the event you want to prepare for, e.g., the title of a panel discussion."
|
||||
|
||||
-- Name the event you want to prepare for, e.g., the title of a panel discussion.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3679923414::INFORMAL"] = "Name the event you want to prepare for, e.g., the title of a panel discussion."
|
||||
|
||||
-- Name of the preparation
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3746973353"] = "Name of the preparation"
|
||||
|
||||
-- Please enter a name.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3818326829"] = "Please enter a name."
|
||||
|
||||
-- Please enter a name.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3818326829::INFORMAL"] = "Please enter a name."
|
||||
|
||||
-- AI Studio could not save your details. Please try again.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3921500806"] = "AI Studio could not save your details. Please try again."
|
||||
|
||||
-- AI Studio could not save your details. Please try again.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3921500806::INFORMAL"] = "AI Studio could not save your details. Please try again."
|
||||
|
||||
-- BeyondFacts Lab
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T3956097526"] = "BeyondFacts Lab"
|
||||
|
||||
-- A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T395932079"] = "A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio."
|
||||
|
||||
-- A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T395932079::INFORMAL"] = "A newer version of AI Studio stored this preparation. This version cannot open it. Please update AI Studio."
|
||||
|
||||
-- AI Studio could not save the change of your preparations. Please try again.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T4073131406"] = "AI Studio could not save the change of your preparations. Please try again."
|
||||
|
||||
-- AI Studio could not save the change of your preparations. Please try again.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T4073131406::INFORMAL"] = "AI Studio could not save the change of your preparations. Please try again."
|
||||
|
||||
-- Requires a newer AI Studio version
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T4087140083"] = "Requires a newer AI Studio version"
|
||||
|
||||
@@ -826,17 +862,17 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::
|
||||
-- Permanently delete the preparation '{0}' with all of its steps, chats, and work states?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T772787118"] = "Permanently delete the preparation '{0}' with all of its steps, chats, and work states?"
|
||||
|
||||
-- Permanently delete the preparation '{0}' with all of its steps, chats, and work states?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T772787118::INFORMAL"] = "Permanently delete the preparation '{0}' with all of its steps, chats, and work states?"
|
||||
|
||||
-- New preparation
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T851005164"] = "New preparation"
|
||||
|
||||
-- Your preparations
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T972511272"] = "Your preparations"
|
||||
|
||||
-- Informal address (du in German)
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLADDRESSFORMEXTENSIONS::T554958468"] = "Informal address (du in German)"
|
||||
|
||||
-- Formal address (Sie in German)
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLADDRESSFORMEXTENSIONS::T859201973"] = "Formal address (Sie in German)"
|
||||
-- Your preparations
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BEYONDFACTSLABASSISTANT::T972511272::INFORMAL"] = "Your preparations"
|
||||
|
||||
-- Moderate the discussion
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1131866893"] = "Moderate the discussion"
|
||||
@@ -847,6 +883,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T113401444
|
||||
-- What have you changed, kept, or left open compared to your initial position, and why?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1455147822"] = "What have you changed, kept, or left open compared to your initial position, and why?"
|
||||
|
||||
-- What have you changed, kept, or left open compared to your initial position, and why?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1455147822::INFORMAL"] = "What have you changed, kept, or left open compared to your initial position, and why?"
|
||||
|
||||
-- Show options for action
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1601690165"] = "Show options for action"
|
||||
|
||||
@@ -862,9 +901,15 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T177463328
|
||||
-- Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1885081930"] = "Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?"
|
||||
|
||||
-- Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1885081930::INFORMAL"] = "Other perspectives: Whose point of view would you like to understand better, or have you hardly considered so far?"
|
||||
|
||||
-- Stays in your preparation and never goes into the research on the web
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1949096445"] = "Stays in your preparation and never goes into the research on the web"
|
||||
|
||||
-- Stays in your preparation and never goes into the research on the web
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1949096445::INFORMAL"] = "Stays in your preparation and never goes into the research on the web"
|
||||
|
||||
-- Very demanding
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T1967151608"] = "Very demanding"
|
||||
|
||||
@@ -874,9 +919,15 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T205473120
|
||||
-- Notes on how to use your materials
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2123646094"] = "Notes on how to use your materials"
|
||||
|
||||
-- Notes on how to use your materials
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2123646094::INFORMAL"] = "Notes on how to use your materials"
|
||||
|
||||
-- Duration of your contribution
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T223853289"] = "Duration of your contribution"
|
||||
|
||||
-- Duration of your contribution
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T223853289::INFORMAL"] = "Duration of your contribution"
|
||||
|
||||
-- Special notes for the test
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2242825987"] = "Special notes for the test"
|
||||
|
||||
@@ -904,6 +955,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T277557865
|
||||
-- What do you want to achieve with your contribution?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2818219287"] = "What do you want to achieve with your contribution?"
|
||||
|
||||
-- What do you want to achieve with your contribution?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2818219287::INFORMAL"] = "What do you want to achieve with your contribution?"
|
||||
|
||||
-- Scientific criticism
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T2865565843"] = "Scientific criticism"
|
||||
|
||||
@@ -913,9 +967,15 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T290088321
|
||||
-- Names and roles, as far as you know them
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3020176946"] = "Names and roles, as far as you know them"
|
||||
|
||||
-- Names and roles, as far as you know them
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3020176946::INFORMAL"] = "Names and roles, as far as you know them"
|
||||
|
||||
-- Personal detail: it goes into exports and shared sessions only when you explicitly choose so.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3063635296"] = "Personal detail: it goes into exports and shared sessions only when you explicitly choose so."
|
||||
|
||||
-- Personal detail: it goes into exports and shared sessions only when you explicitly choose so.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3063635296::INFORMAL"] = "Personal detail: it goes into exports and shared sessions only when you explicitly choose so."
|
||||
|
||||
-- Political instrumentalization
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3078371152"] = "Political instrumentalization"
|
||||
|
||||
@@ -925,6 +985,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T311485634
|
||||
-- Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3199962614"] = "Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?"
|
||||
|
||||
-- Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3199962614::INFORMAL"] = "Personal involvement: Where does the topic touch you personally? Which question or criticism could trigger a strong reaction?"
|
||||
|
||||
-- Format of the event
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3217479436"] = "Format of the event"
|
||||
|
||||
@@ -934,6 +997,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T329702382
|
||||
-- Values and concerns: What matters most to you about this topic?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3444467007"] = "Values and concerns: What matters most to you about this topic?"
|
||||
|
||||
-- Values and concerns: What matters most to you about this topic?
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3444467007::INFORMAL"] = "Values and concerns: What matters most to you about this topic?"
|
||||
|
||||
-- Audience
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T3506118019"] = "Audience"
|
||||
|
||||
@@ -964,12 +1030,18 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T405255323
|
||||
-- You can raise the difficulty after each question.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T519332031"] = "You can raise the difficulty after each question."
|
||||
|
||||
-- You can raise the difficulty after each question.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T519332031::INFORMAL"] = "You can raise the difficulty after each question."
|
||||
|
||||
-- E.g., students, experts, or the general public
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T533097975"] = "E.g., students, experts, or the general public"
|
||||
|
||||
-- Short description of your contribution
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T667686615"] = "Short description of your contribution"
|
||||
|
||||
-- Short description of your contribution
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T667686615::INFORMAL"] = "Short description of your contribution"
|
||||
|
||||
-- Type of questions
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T805059831"] = "Type of questions"
|
||||
|
||||
@@ -991,9 +1063,15 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T916990010
|
||||
-- In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T917276711"] = "In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you."
|
||||
|
||||
-- In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T917276711::INFORMAL"] = "In your own words, with the suggestions below, or still open: the chat sharpens your goal and role with you."
|
||||
|
||||
-- Topic of your contribution or your specific assignment
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T932670647"] = "Topic of your contribution or your specific assignment"
|
||||
|
||||
-- Topic of your contribution or your specific assignment
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T932670647::INFORMAL"] = "Topic of your contribution or your specific assignment"
|
||||
|
||||
-- E.g., aggressive moderation, time pressure, or a particular counterpart
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T965551209"] = "E.g., aggressive moderation, time pressure, or a particular counterpart"
|
||||
|
||||
@@ -1006,6 +1084,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLFIELDTEXTS::T985014450
|
||||
-- ## Welcome! The BeyondFacts Lab guides you through an AI-supported process of reflection, which helps you take a position in challenging communication situations and stay able to communicate. Data protection depends on the AI provider you choose, its rules for processing and storing data, and your configuration. Enter only data that are suitable and approved for this. Please check all results critically. Depending on the AI model, the answers may differ. Hallucinations cannot be ruled out. This is a prototype, so we look forward to your feedback.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLNOTICE::T940905480"] = "## Welcome!\n\nThe BeyondFacts Lab guides you through an AI-supported process of reflection, which helps you take a position in challenging communication situations and stay able to communicate.\n\nData protection depends on the AI provider you choose, its rules for processing and storing data, and your configuration. Enter only data that are suitable and approved for this.\n\nPlease check all results critically. Depending on the AI model, the answers may differ. Hallucinations cannot be ruled out.\n\nThis is a prototype, so we look forward to your feedback."
|
||||
|
||||
-- ## Welcome! The BeyondFacts Lab guides you through an AI-supported process of reflection, which helps you take a position in challenging communication situations and stay able to communicate. Data protection depends on the AI provider you choose, its rules for processing and storing data, and your configuration. Enter only data that are suitable and approved for this. Please check all results critically. Depending on the AI model, the answers may differ. Hallucinations cannot be ruled out. This is a prototype, so we look forward to your feedback.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLNOTICE::T940905480::INFORMAL"] = "## Welcome!\n\nThe BeyondFacts Lab guides you through an AI-supported process of reflection, which helps you take a position in challenging communication situations and stay able to communicate.\n\nData protection depends on the AI provider you choose, its rules for processing and storing data, and your configuration. Enter only data that are suitable and approved for this.\n\nPlease check all results critically. Depending on the AI model, the answers may differ. Hallucinations cannot be ruled out.\n\nThis is a prototype, so we look forward to your feedback."
|
||||
|
||||
-- I have read the notes
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLNOTICEDIALOG::T4071737336"] = "I have read the notes"
|
||||
|
||||
@@ -1018,24 +1099,39 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T11478
|
||||
-- How you convey evidence, trade-offs between values, and open questions.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T1290723890"] = "How you convey evidence, trade-offs between values, and open questions."
|
||||
|
||||
-- How you convey evidence, trade-offs between values, and open questions.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T1290723890::INFORMAL"] = "How you convey evidence, trade-offs between values, and open questions."
|
||||
|
||||
-- Event details
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T135387869"] = "Event details"
|
||||
|
||||
-- What the event is about, for whom, and what you were asked to contribute.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T158292580"] = "What the event is about, for whom, and what you were asked to contribute."
|
||||
|
||||
-- What the event is about, for whom, and what you were asked to contribute.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T158292580::INFORMAL"] = "What the event is about, for whom, and what you were asked to contribute."
|
||||
|
||||
-- You can fill in single fields or start right away in the chat.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T2524378548"] = "You can fill in single fields or start right away in the chat."
|
||||
|
||||
-- You can fill in single fields or start right away in the chat.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T2524378548::INFORMAL"] = "You can fill in single fields or start right away in the chat."
|
||||
|
||||
-- Goals and role
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T2988481290"] = "Goals and role"
|
||||
|
||||
-- What matters to you, what touches you, and what moves others.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T3022557767"] = "What matters to you, what touches you, and what moves others."
|
||||
|
||||
-- What matters to you, what touches you, and what moves others.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T3022557767::INFORMAL"] = "What matters to you, what touches you, and what moves others."
|
||||
|
||||
-- What you want to achieve, and in which role you speak.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T3052319680"] = "What you want to achieve, and in which role you speak."
|
||||
|
||||
-- What you want to achieve, and in which role you speak.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T3052319680::INFORMAL"] = "What you want to achieve, and in which role you speak."
|
||||
|
||||
-- Strategy
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T3205650756"] = "Strategy"
|
||||
|
||||
@@ -1048,21 +1144,39 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T49457
|
||||
-- What you take away from your preparation.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T517692701"] = "What you take away from your preparation."
|
||||
|
||||
-- What you take away from your preparation.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T517692701::INFORMAL"] = "What you take away from your preparation."
|
||||
|
||||
-- Play through critical questions and opposing positions.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T573043138"] = "Play through critical questions and opposing positions."
|
||||
|
||||
-- Play through critical questions and opposing positions.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T573043138::INFORMAL"] = "Play through critical questions and opposing positions."
|
||||
|
||||
-- What you know for sure, what is uncertain, and where your expertise ends.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T762525208"] = "What you know for sure, what is uncertain, and where your expertise ends."
|
||||
|
||||
-- What you know for sure, what is uncertain, and where your expertise ends.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPEXTENSIONS::T762525208::INFORMAL"] = "What you know for sure, what is uncertain, and where your expertise ends."
|
||||
|
||||
-- Some details are still missing. The chat will ask for them, and you can continue anyway.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T1474406854"] = "Some details are still missing. The chat will ask for them, and you can continue anyway."
|
||||
|
||||
-- Some details are still missing. The chat will ask for them, and you can continue anyway.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T1474406854::INFORMAL"] = "Some details are still missing. The chat will ask for them, and you can continue anyway."
|
||||
|
||||
-- Please enter an address that begins with https:// or http://.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T2837809367"] = "Please enter an address that begins with https:// or http://."
|
||||
|
||||
-- Please enter an address that begins with https:// or http://.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T2837809367::INFORMAL"] = "Please enter an address that begins with https:// or http://."
|
||||
|
||||
-- * The chat works best when you fill in these details.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T3011046288"] = "* The chat works best when you fill in these details."
|
||||
|
||||
-- * The chat works best when you fill in these details.
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BEYONDFACTSLAB::BFLSTEPFORM::T3011046288::INFORMAL"] = "* The chat works best when you fill in these details."
|
||||
|
||||
-- Extended bias poster
|
||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::BIASDAY::BIASOFTHEDAYASSISTANT::T1241605514"] = "Extended bias poster"
|
||||
|
||||
@@ -9922,9 +10036,6 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBATCHPROCESSING::T82
|
||||
-- Restore default
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBATCHPROCESSING::T913168756"] = "Restore default"
|
||||
|
||||
-- How the lab addresses you in languages with a formal and an informal address, such as German.
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T1832497993"] = "How the lab addresses you in languages with a formal and an informal address, such as German."
|
||||
|
||||
-- Assistant: BeyondFacts Lab Options
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T19824556"] = "Assistant: BeyondFacts Lab Options"
|
||||
|
||||
@@ -9934,12 +10045,24 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T218
|
||||
-- Select a minimum confidence level
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T2579793544"] = "Select a minimum confidence level"
|
||||
|
||||
-- Select a minimum confidence level
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T2579793544::INFORMAL"] = "Select a minimum confidence level"
|
||||
|
||||
-- Close
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T3448155331"] = "Close"
|
||||
|
||||
-- Whether the lab addresses you formally or informally.
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T3883838251"] = "Whether the lab addresses you formally or informally."
|
||||
|
||||
-- Whether the lab addresses you formally or informally.
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T3883838251::INFORMAL"] = "Whether the lab addresses you formally or informally."
|
||||
|
||||
-- Your preparations usually contain unpublished research. Therefore, the lab accepts only providers with at least medium confidence. You can raise this minimum, e.g., to use only self-hosted models.
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T4002746484"] = "Your preparations usually contain unpublished research. Therefore, the lab accepts only providers with at least medium confidence. You can raise this minimum, e.g., to use only self-hosted models."
|
||||
|
||||
-- Your preparations usually contain unpublished research. Therefore, the lab accepts only providers with at least medium confidence. You can raise this minimum, e.g., to use only self-hosted models.
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGBEYONDFACTSLAB::T4002746484::INFORMAL"] = "Your preparations usually contain unpublished research. Therefore, the lab accepts only providers with at least medium confidence. You can raise this minimum, e.g., to use only self-hosted models."
|
||||
|
||||
-- Files are sent as they were first read
|
||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1320692831"] = "Files are sent as they were first read"
|
||||
|
||||
@@ -12643,6 +12766,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SETTINGS::T1258653480"] = "Settings"
|
||||
-- Data Backup & Restore
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SETTINGS::T3317700277"] = "Data Backup & Restore"
|
||||
|
||||
-- Ideas, Expertise, and Concepts
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1242911840"] = "Ideas, Expertise, and Concepts"
|
||||
|
||||
-- Thank you very much, Kerstin, for creating the Wiki, for advising us on ERI with real use cases, and for your work on version 2 of the ERI protocol.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1367356224"] = "Thank you very much, Kerstin, for creating the Wiki, for advising us on ERI with real use cases, and for your work on version 2 of the ERI protocol."
|
||||
|
||||
@@ -12703,6 +12829,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3608282312"] = "Thanks, Simon, fo
|
||||
-- Thank you, Richard, for being the first.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3660718138"] = "Thank you, Richard, for being the first."
|
||||
|
||||
-- Thank you, Drew, for the idea of learning about one cognitive bias every day, so that we become more aware of our own biases step by step. The Bias of the Day assistant is built on it.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T378717265"] = "Thank you, Drew, for the idea of learning about one cognitive bias every day, so that we become more aware of our own biases step by step. The Bias of the Day assistant is built on it."
|
||||
|
||||
-- Our Titans
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3805270964"] = "Our Titans"
|
||||
|
||||
@@ -12712,6 +12841,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3821668394"] = "Moderation, Desig
|
||||
-- Thanks, Thibault, for bringing Requesty to AI Studio as a new provider.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3856759487"] = "Thanks, Thibault, for bringing Requesty to AI Studio as a new provider."
|
||||
|
||||
-- Thank you, Lara, for the concept and the content of the BeyondFacts Lab and for the expertise you put into it, so that researchers can prepare for challenging appearances.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3992506100"] = "Thank you, Lara, for the concept and the content of the BeyondFacts Lab and for the expertise you put into it, so that researchers can prepare for challenging appearances."
|
||||
|
||||
-- Thanks, Nils, for taking the time to learn Rust, for building the foundation for local retrieval, and for assistant plugins and the Assistant Builder.
|
||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4042792376"] = "Thanks, Nils, for taking the time to learn Rust, for building the foundation for local retrieval, and for assistant plugins and the Assistant Builder."
|
||||
|
||||
@@ -13165,6 +13297,12 @@ UI_TEXT_CONTENT["AISTUDIO::SETTINGS::CONFIGURATIONSELECTDATAFACTORY::T870850829"
|
||||
-- Delete disappearing chats older than 30 days
|
||||
UI_TEXT_CONTENT["AISTUDIO::SETTINGS::CONFIGURATIONSELECTDATAFACTORY::T937754037"] = "Delete disappearing chats older than 30 days"
|
||||
|
||||
-- Informal address
|
||||
UI_TEXT_CONTENT["AISTUDIO::SETTINGS::DATAMODEL::ADDRESSFORMEXTENSIONS::T2888141085"] = "Informal address"
|
||||
|
||||
-- Formal address
|
||||
UI_TEXT_CONTENT["AISTUDIO::SETTINGS::DATAMODEL::ADDRESSFORMEXTENSIONS::T3439873254"] = "Formal address"
|
||||
|
||||
-- This data source can be used with any LLM provider. Your data may be sent to a cloud-based provider.
|
||||
UI_TEXT_CONTENT["AISTUDIO::SETTINGS::DATAMODEL::DATASOURCESECURITYEXTENSIONS::T1531417967"] = "This data source can be used with any LLM provider. Your data may be sent to a cloud-based provider."
|
||||
|
||||
|
||||
Reference in new issue
Block a user