When a user switches their own language the menu doesn't update to reflect the language change (#9203)

* Now prompts the user to reload their browser if they change their own language and also displays the response prompt in their language
This commit is contained in:
Rachel Breeze
2020-12-05 02:24:18 +00:00
committed by GitHub
parent 90d1e8546a
commit 0085554e84
4 changed files with 14 additions and 1 deletions

View File

@@ -1,11 +1,13 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Security.Cryptography;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
@@ -632,7 +634,15 @@ namespace Umbraco.Web.Editors
var display = Mapper.Map<UserDisplay>(user);
display.AddSuccessNotification(Services.TextService.Localize("speechBubbles/operationSavedHeader"), Services.TextService.Localize("speechBubbles/editUserSaved"));
// determine if the user has changed their own language;
var userHasChangedOwnLanguage =
user.Id == Security.CurrentUser.Id && Security.CurrentUser.Language != user.Language;
var textToLocalise = userHasChangedOwnLanguage ? "speechBubbles/operationSavedHeaderReloadUser" : "speechBubbles/operationSavedHeader";
var culture = userHasChangedOwnLanguage
? CultureInfo.GetCultureInfo(user.Language)
: Thread.CurrentThread.CurrentUICulture;
display.AddSuccessNotification(Services.TextService.Localize(textToLocalise, culture), Services.TextService.Localize("speechBubbles/editUserSaved", culture));
return display;
}