Changed to UI culture by default for web output

This commit is contained in:
Kenneth Skovhede
2025-03-05 16:31:13 +01:00
parent e74ae5555c
commit 5177399bc2
3 changed files with 17 additions and 2 deletions
@@ -98,6 +98,20 @@ namespace Duplicati.Library.Localization
}
}
/// <summary>
/// Gets a localization provider with the current UI language
/// </summary>
public static ILocalizationService CurrentUI
{
get
{
var lc = LocalizationContext.Current;
if (!string.IsNullOrWhiteSpace(lc))
return Get(new CultureInfo(lc));
return Get(CultureInfo.CurrentUICulture);
}
}
/// <summary>
/// Gets a localization provider with the OS install language
/// </summary>
@@ -18,6 +18,7 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using System.Globalization;
using Duplicati.Library.Localization;
namespace Duplicati.WebserverCore.Middlewares;
@@ -30,7 +31,7 @@ public class LanguageFilter : IEndpointFilter
? LocalizationService.ParseCulture(locale)
: null;
using (ci == null ? null : LocalizationService.TemporaryContext(ci))
using (LocalizationService.TemporaryContext(ci ?? CultureInfo.CurrentUICulture))
return await next(context);
}
@@ -273,7 +273,7 @@ public class SystemInfoProvider : ISystemInfoProvider
public SystemInfoDto GetSystemInfo(CultureInfo? browserlanguage)
{
browserlanguage ??= CultureInfo.InvariantCulture;
var currentLanguage = LocalizationService.Current?.Culture.Name;
var currentLanguage = LocalizationService.CurrentUI?.Culture.Name;
if (string.IsNullOrWhiteSpace(currentLanguage))
currentLanguage = CultureInfo.CurrentUICulture.Name;