diff --git a/ArchiSteamFarm.sln.DotSettings b/ArchiSteamFarm.sln.DotSettings
index 26efa745c..6a7ef2aa4 100644
--- a/ArchiSteamFarm.sln.DotSettings
+++ b/ArchiSteamFarm.sln.DotSettings
@@ -712,7 +712,7 @@
/ ___ \ | | | (__ | | | || | ___) || |_| __/| (_| || | | | | || _|| (_| || | | | | | | |
/_/ \_\|_| \___||_| |_||_||____/ \__|\___| \__,_||_| |_| |_||_| \__,_||_| |_| |_| |_|
|
-Copyright 2015-$CURRENT_YEAR$ Łukasz "JustArchi" Domeradzki
+Copyright 2015-${CurrentDate.Year} Łukasz "JustArchi" Domeradzki
Contact: JustArchi@JustArchi.net
|
Licensed under the Apache License, Version 2.0 (the "License");
@@ -787,6 +787,7 @@ limitations under the License.
True
NOTIFY
+ True
True
True
True
diff --git a/ArchiSteamFarm/Steam/Bot.cs b/ArchiSteamFarm/Steam/Bot.cs
index 3fe4b8113..a7ba09575 100644
--- a/ArchiSteamFarm/Steam/Bot.cs
+++ b/ArchiSteamFarm/Steam/Bot.cs
@@ -2705,6 +2705,7 @@ public sealed class Bot : IAsyncDisposable, IDisposable {
SteamUser.LogOnDetails logOnDetails = new() {
AccessToken = RefreshToken,
CellID = ASF.GlobalDatabase?.CellID,
+ ClientLanguage = CultureInfo.CurrentCulture.ToSteamClientLanguage(),
LoginID = LoginID,
ShouldRememberPassword = BotConfig.UseLoginKeys,
Username = username
diff --git a/ArchiSteamFarm/Steam/Integration/SteamUtilities.cs b/ArchiSteamFarm/Steam/Integration/SteamUtilities.cs
index f3a01090d..453d4c93f 100644
--- a/ArchiSteamFarm/Steam/Integration/SteamUtilities.cs
+++ b/ArchiSteamFarm/Steam/Integration/SteamUtilities.cs
@@ -67,4 +67,40 @@ internal static class SteamUtilities {
return result;
}
+
+ internal static string ToSteamClientLanguage(this CultureInfo cultureInfo) {
+ ArgumentNullException.ThrowIfNull(cultureInfo);
+
+ // We're doing our best here to map provided CultureInfo to language supported by Steam
+ return cultureInfo.TwoLetterISOLanguageName switch {
+ "bg" => "bulgarian",
+ "cs" => "czech",
+ "da" => "danish",
+ "de" => "german",
+ "es" when cultureInfo.Name is "es-419" or "es-AR" or "es-BO" or "es-BR" or "es-BZ" or "es-CL" or "es-CO" or "es-CR" or "es-CU" or "es-DO" or "es-EC" or "es-GQ" or "es-GT" or "es-HN" or "es-MX" or "es-NI" or "es-PA" or "es-PE" or "es-PH" or "es-PR" or "es-PY" or "es-SV" or "es-US" or "es-UY" or "es-VE" => "latam",
+ "es" => "spanish",
+ "el" => "greek",
+ "fr" => "french",
+ "fi" => "finnish",
+ "hu" => "hungarian",
+ "id" => "indonesian",
+ "it" => "italian",
+ "ko" => "koreana",
+ "nl" => "dutch",
+ "no" => "norwegian",
+ "pl" => "polish",
+ "pt" when cultureInfo.Name == "pt-BR" => "brazilian",
+ "pt" => "portuguese",
+ "ro" => "romanian",
+ "ru" => "russian",
+ "sv" => "swedish",
+ "th" => "thai",
+ "tr" => "turkish",
+ "uk" => "ukrainian",
+ "vi" => "vietnamese",
+ "zh" when cultureInfo.Name is "zh-Hant" or "zh-HK" or "zh-MO" or "zh-TW" => "tchinese",
+ "zh" => "schinese",
+ _ => "english"
+ };
+ }
}