Enhance internationalization support by integrating language selection for school names, updating UI components for localization, and revising documentation. Implement locale-aware formatting for dates and strings, ensuring a seamless user experience in both Russian and English. Update tests to cover new language features.
This commit is contained in:
@@ -29,9 +29,9 @@ internal static class SchoolEndpoints
|
||||
})
|
||||
.WithName("GetSchools");
|
||||
|
||||
schools.MapGet("/random-name", async (GameCommandQueue commands, CancellationToken cancellationToken) =>
|
||||
schools.MapGet("/random-name", async (string? lang, GameCommandQueue commands, CancellationToken cancellationToken) =>
|
||||
{
|
||||
var command = new GameCommand.SuggestName(NewCompletion<string>());
|
||||
var command = new GameCommand.SuggestName(ParseNameLanguage(lang), NewCompletion<string>());
|
||||
commands.Enqueue(command);
|
||||
|
||||
var name = await command.Result.Task.WaitAsync(CommandTimeout, cancellationToken);
|
||||
@@ -85,6 +85,11 @@ internal static class SchoolEndpoints
|
||||
private static TaskCompletionSource<T> NewCompletion<T>() =>
|
||||
new(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||
|
||||
private static SchoolNameLanguage ParseNameLanguage(string? lang) =>
|
||||
string.Equals(lang, "en", StringComparison.OrdinalIgnoreCase)
|
||||
? SchoolNameLanguage.English
|
||||
: SchoolNameLanguage.Russian;
|
||||
|
||||
private static IResult Problem(int statusCode, string code, string detail) =>
|
||||
Results.Problem(detail: detail, statusCode: statusCode, title: code, extensions: new Dictionary<string, object?>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user