From 0085554e841272edade346a7670a05e816ac6ff6 Mon Sep 17 00:00:00 2001 From: Rachel Breeze Date: Sat, 5 Dec 2020 02:24:18 +0000 Subject: [PATCH] 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 --- src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml | 1 + src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml | 1 + src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml | 1 + src/Umbraco.Web/Editors/UsersController.cs | 12 +++++++++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index 2e9c3942f1..ef1cf435ce 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -1420,6 +1420,7 @@ To manage your website, simply open the Umbraco back office and start adding con Validation errors must be fixed before the item can be saved Failed Saved + Saved. To view the changes please reload your browser Insufficient user permissions, could not complete the operation Cancelled Operation was cancelled by a 3rd party add-in diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml index 74285cf83f..f3d981ddfb 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml @@ -1370,6 +1370,7 @@ Pour gérer votre site, ouvrez simplement le backoffice Umbraco et commencez à Les erreurs de validation doivent être corrigées avant de pouvoir sauvegarder l'élément Echec Sauvegardé + Sauvegardé. Veuillez rafraîchir votre navigateur pour voir les changements Permissions utilisateur insuffisantes, l'opération n'a pas pu être complétée Annulation L'opération a été annulée par une extension tierce diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml index c5ea345e4a..e81874d4c1 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml @@ -1247,6 +1247,7 @@ Echter, Runway biedt een gemakkelijke basis om je snel op weg te helpen. Als je Validatiefouten moeten worden opgelost voor dit item kan worden opgeslagen Mislukt Opgeslagen + Opgeslagen. Gelieve uw browser te herladen om de aanpassingen te zien Wegens onvoldoende rechten kon deze handeling kon niet worden uitgevoerd Geannuleerd Uitvoering is geannuleerd door de plugin van een 3e partij diff --git a/src/Umbraco.Web/Editors/UsersController.cs b/src/Umbraco.Web/Editors/UsersController.cs index a4b3e73fd1..b022e6f27a 100644 --- a/src/Umbraco.Web/Editors/UsersController.cs +++ b/src/Umbraco.Web/Editors/UsersController.cs @@ -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(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; }