aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/api/src/Data/Static/AppCookies.cs7
-rw-r--r--code/api/src/Program.cs6
2 files changed, 13 insertions, 0 deletions
diff --git a/code/api/src/Data/Static/AppCookies.cs b/code/api/src/Data/Static/AppCookies.cs
new file mode 100644
index 0000000..57204dd
--- /dev/null
+++ b/code/api/src/Data/Static/AppCookies.cs
@@ -0,0 +1,7 @@
+namespace IOL.GreatOffice.Api.Data.Static;
+
+public static class AppCookies
+{
+ public static readonly string Locale = "go_locale";
+ public static readonly string Session = "go_session";
+} \ No newline at end of file
diff --git a/code/api/src/Program.cs b/code/api/src/Program.cs
index 749c60a..4b04bf4 100644
--- a/code/api/src/Program.cs
+++ b/code/api/src/Program.cs
@@ -92,6 +92,12 @@ public static class Program
.AddSupportedUICultures(supportedCultures);
options.ApplyCurrentCultureToResponseHeaders = true;
});
+ builder.Services.Configure<RequestLocalizationOptions>(options => {
+ options.AddInitialRequestCultureProvider(new CustomRequestCultureProvider(async context =>
+ // Get culture from specific cookie
+ await Task.FromResult(new ProviderCultureResult(context.Request.Cookies[AppCookies.Locale] ?? "en")))
+ );
+ });
builder.Services
.AddDataProtection()