Adds localization across the launcher and includes English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Portuguese, Ukranian, and Chinese. These localizations were generated by Claude 3.5 and need to be reviewed by a human for accuracy.
78 lines
No EOL
2.5 KiB
Text
78 lines
No EOL
2.5 KiB
Text
@implements IDisposable
|
|
@inject KeepAliveService KeepAliveService
|
|
@inject IMessageService MessageService
|
|
@inject LocalizationService LocalizationService
|
|
|
|
@code {
|
|
string ConnectionMessageKey = Guid.NewGuid().ToString();
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
KeepAliveService.ConnectionSevered += OnConnectionSevered;
|
|
KeepAliveService.ConnectionRetryNext += OnConnectionRetryNext;
|
|
KeepAliveService.ConnectionLostPermanently += OnConnectionLostPermanently;
|
|
KeepAliveService.ConnectionEstablished += OnConnectionEstablished;
|
|
}
|
|
|
|
void OnConnectionSevered(object? sender, EventArgs e)
|
|
{
|
|
var messageConfig = new MessageConfig
|
|
{
|
|
Key = ConnectionMessageKey,
|
|
Type = MessageType.Loading,
|
|
Content = LocalizationService.GetString("LostConnectionRetrying"),
|
|
Duration = 0,
|
|
};
|
|
|
|
MessageService.Open(messageConfig);
|
|
}
|
|
|
|
void OnConnectionRetryNext(object? sender, EventArgs e)
|
|
{
|
|
// show same lost-connection-message by replacing the message by its key
|
|
var retry = KeepAliveService.GetRetryCount();
|
|
var messageConfig = new MessageConfig
|
|
{
|
|
Key = ConnectionMessageKey,
|
|
Type = MessageType.Loading,
|
|
Content = LocalizationService.GetString("LostConnectionRetryingWithCount", retry.current, retry.total),
|
|
Duration = 0,
|
|
};
|
|
|
|
MessageService.Open(messageConfig);
|
|
}
|
|
|
|
void OnConnectionLostPermanently(object? sender, EventArgs e)
|
|
{
|
|
var messageConfig = new MessageConfig
|
|
{
|
|
Key = ConnectionMessageKey,
|
|
Type = MessageType.Error,
|
|
Content = LocalizationService.GetString("ServerUnavailableEnablingOfflineMode"),
|
|
Duration = 2.5,
|
|
};
|
|
|
|
MessageService.Open(messageConfig);
|
|
}
|
|
|
|
void OnConnectionEstablished(object? sender, EventArgs e)
|
|
{
|
|
var messageConfig = new MessageConfig
|
|
{
|
|
Key = ConnectionMessageKey,
|
|
Type = MessageType.Success,
|
|
Content = LocalizationService.GetString("ConnectionEstablished"),
|
|
Duration = 2.5,
|
|
};
|
|
|
|
MessageService.Open(messageConfig);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
KeepAliveService.ConnectionSevered -= OnConnectionSevered;
|
|
KeepAliveService.ConnectionRetryNext -= OnConnectionRetryNext;
|
|
KeepAliveService.ConnectionLostPermanently -= OnConnectionLostPermanently;
|
|
KeepAliveService.ConnectionEstablished -= OnConnectionEstablished;
|
|
}
|
|
} |