diff options
| author | Cody Robibero <cody@robibe.ro> | 2026-05-14 18:57:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-14 18:57:11 -0400 |
| commit | 0a5a1f135f3fbf473a626c3935ef13c465cf158e (patch) | |
| tree | ad343024dd54de1afe0222ade9d411d9d09a6fd5 /Emby.Server.Implementations/HttpServer/WebSocketConnection.cs | |
| parent | e6e19e3ce01f63d177453e0ba30851b8f75838d2 (diff) | |
| parent | 7a5181c3fd3aea8a9913fe07086970c39c9bc1c4 (diff) | |
Add Accept-Language header support and cleanup translations (#16488)
* Add Accept-Language header support for per-request localization
* Use native middleware
* Cleanup
* Add Fallback
* Build BCP47 map reflexively
* Address review comments
Diffstat (limited to 'Emby.Server.Implementations/HttpServer/WebSocketConnection.cs')
| -rw-r--r-- | Emby.Server.Implementations/HttpServer/WebSocketConnection.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs index 373b0994a6..e9bf3b93a7 100644 --- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs +++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs @@ -1,5 +1,6 @@ using System; using System.Buffers; +using System.Globalization; using System.IO.Pipelines; using System.Net; using System.Net.WebSockets; @@ -69,6 +70,11 @@ namespace Emby.Server.Implementations.HttpServer /// <inheritdoc /> public IPAddress? RemoteEndPoint { get; } + /// <summary> + /// Gets or initializes the UI culture captured from the upgrade request. + /// </summary> + public CultureInfo? RequestUICulture { get; init; } + /// <inheritdoc /> public Func<WebSocketMessageInfo, Task>? OnReceive { get; set; } @@ -82,6 +88,17 @@ namespace Emby.Server.Implementations.HttpServer public WebSocketState State => _socket.State; /// <inheritdoc /> + public void ApplyRequestCulture() + { + if (RequestUICulture is null) + { + return; + } + + CultureInfo.CurrentUICulture = RequestUICulture; + } + + /// <inheritdoc /> public async Task SendAsync(OutboundWebSocketMessage message, CancellationToken cancellationToken) { var json = JsonSerializer.SerializeToUtf8Bytes(message, _jsonOptions); |
