< Summary

Information
Class: TeleFlow.Telegram.I18n.Fluent.TelegramUpdateContextI18nExtensions
Assembly: TeleFlow.Framework.I18n.Fluent
File(s): /_/src/TeleFlow.Framework.I18n.Fluent/TelegramUpdateContextI18nExtensions.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 46
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
I18n(...)100%11100%
I18nHtml(...)100%11100%
I18nMarkdownV2(...)100%11100%

File(s)

/_/src/TeleFlow.Framework.I18n.Fluent/TelegramUpdateContextI18nExtensions.cs

#LineLine coverage
 1using Microsoft.Extensions.DependencyInjection;
 2using TeleFlow.Telegram.Formatting;
 3
 4namespace TeleFlow.Telegram.I18n.Fluent;
 5
 6/// <summary>
 7/// Provides concise presentation-layer Fluent formatting from Telegram handler contexts without performing I/O.
 8/// </summary>
 9public static class TelegramUpdateContextI18nExtensions
 10{
 11    /// <summary>
 12    /// Formats a plain-text Fluent message for the current update locale.
 13    /// </summary>
 14    public static string I18n(
 15        this TelegramUpdateContext context,
 16        string messageId,
 17        params ReadOnlySpan<I18nArgument> arguments)
 18    {
 219        ArgumentNullException.ThrowIfNull(context);
 220        return context.Services.GetRequiredService<IFluentLocalizer>().Format(messageId, arguments);
 21    }
 22
 23    /// <summary>
 24    /// Formats a Telegram HTML Fluent message for the current update locale.
 25    /// </summary>
 26    public static TelegramFormattedText I18nHtml(
 27        this TelegramUpdateContext context,
 28        string messageId,
 29        params ReadOnlySpan<I18nArgument> arguments)
 30    {
 131        ArgumentNullException.ThrowIfNull(context);
 132        return context.Services.GetRequiredService<IFluentLocalizer>().FormatHtml(messageId, arguments);
 33    }
 34
 35    /// <summary>
 36    /// Formats a Telegram MarkdownV2 Fluent message for the current update locale.
 37    /// </summary>
 38    public static TelegramFormattedText I18nMarkdownV2(
 39        this TelegramUpdateContext context,
 40        string messageId,
 41        params ReadOnlySpan<I18nArgument> arguments)
 42    {
 143        ArgumentNullException.ThrowIfNull(context);
 144        return context.Services.GetRequiredService<IFluentLocalizer>().FormatMarkdownV2(messageId, arguments);
 45    }
 46}