Merge branch 'master' into development

This commit is contained in:
Florian Zevedei
2024-03-10 15:50:42 +01:00
committed by GitHub
16 changed files with 676 additions and 111 deletions
+17 -5
View File
@@ -398,30 +398,42 @@ public class BotBaseBuilder : IAPIKeySelectionStage, IMessageLoopSelectionStage,
#region "Step 7 (Language)"
public IThreadingStage DefaultLanguage()
/// <inheritdoc cref="ILanguageSelectionStage.DefaultLanguage"/>
public IBuildingStage DefaultLanguage()
{
return this;
}
public IThreadingStage UseEnglish()
/// <inheritdoc cref="ILanguageSelectionStage.UseEnglish"/>
public IBuildingStage UseEnglish()
{
Default.Language = new English();
return this;
}
public IThreadingStage UseGerman()
/// <inheritdoc cref="ILanguageSelectionStage.UseGerman"/>
public IBuildingStage UseGerman()
{
Default.Language = new German();
return this;
}
public IThreadingStage UsePersian()
/// <inheritdoc cref="ILanguageSelectionStage.UsePersian"/>
public IBuildingStage UsePersian()
{
Default.Language = new Persian();
return this;
}
public IThreadingStage Custom(Localization language)
/// <inheritdoc cref="ILanguageSelectionStage.UseRussian"/>
public IBuildingStage UseRussian()
{
Default.Language = new Russian();
return this;
}
/// <inheritdoc cref="ILanguageSelectionStage.Custom"/>
public IBuildingStage Custom(Localization language)
{
Default.Language = language;
return this;
@@ -2,35 +2,44 @@
namespace TelegramBotBase.Builder.Interfaces;
/// <summary>
/// Represents the language selection stage in the localization process.
/// </summary>
public interface ILanguageSelectionStage
{
/// <summary>
/// Selects the default language for control usage. (English)
/// </summary>
/// <returns></returns>
IThreadingStage DefaultLanguage();
/// <returns>The next stage in the building process.</returns>
IBuildingStage DefaultLanguage();
/// <summary>
/// Selects english as the default language for control labels.
/// </summary>
/// <returns></returns>
IThreadingStage UseEnglish();
/// <returns>The next stage in the building process.</returns>
IBuildingStage UseEnglish();
/// <summary>
/// Selects german as the default language for control labels.
/// </summary>
/// <returns></returns>
IThreadingStage UseGerman();
/// <returns>The next stage in the building process.</returns>
IBuildingStage UseGerman();
/// <summary>
/// Selects persian as the default language for control labels.
/// </summary>
/// <returns></returns>
IThreadingStage UsePersian();
/// <returns>The next stage in the building process.</returns>
IBuildingStage UsePersian();
/// <summary>
/// Selects russian as the default language for control labels.
/// </summary>
/// <returns>The next stage in the building process.</returns>
IBuildingStage UseRussian();
/// <summary>
/// Selects a custom language as the default language for control labels.
/// </summary>
/// <returns></returns>
IThreadingStage Custom(Localization language);
/// <returns>The next stage in the building process.</returns>
IBuildingStage Custom(Localization language);
}