|
2 | 2 | using System.Globalization;
|
3 | 3 | using System.Threading;
|
4 | 4 | using Microsoft.AspNetCore.Http;
|
| 5 | +using Simplify.System.Diagnostics; |
5 | 6 | using Simplify.Web.Settings;
|
6 | 7 |
|
7 | 8 | namespace Simplify.Web.Modules;
|
@@ -37,7 +38,7 @@ public LanguageManager(ISimplifyWebSettings settings, HttpContext context)
|
37 | 38 |
|
38 | 39 | if (!settings.AcceptHeaderLanguage || (settings.AcceptHeaderLanguage && !TrySetLanguageFromRequestHeader(context)))
|
39 | 40 | if (!SetCurrentLanguage(settings.DefaultLanguage))
|
40 |
| - SetCurrentLanguage("iv"); |
| 41 | + SetInvariantCulture(); |
41 | 42 | }
|
42 | 43 |
|
43 | 44 | /// <summary>
|
@@ -70,17 +71,27 @@ public bool SetCurrentLanguage(string language)
|
70 | 71 | {
|
71 | 72 | try
|
72 | 73 | {
|
73 |
| - Thread.CurrentThread.CurrentUICulture = new CultureInfo(language); |
74 |
| - Thread.CurrentThread.CurrentCulture = new CultureInfo(language); |
75 |
| - |
76 |
| - Language = Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName; |
77 |
| - |
78 |
| - return true; |
| 74 | + CultureInfo.GetCultureInfo(language, true); |
79 | 75 | }
|
80 | 76 | catch
|
81 | 77 | {
|
82 | 78 | return false;
|
83 | 79 | }
|
| 80 | + |
| 81 | + Thread.CurrentThread.CurrentUICulture = new CultureInfo(language); |
| 82 | + Thread.CurrentThread.CurrentCulture = new CultureInfo(language); |
| 83 | + |
| 84 | + Language = Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName; |
| 85 | + |
| 86 | + return true; |
| 87 | + } |
| 88 | + |
| 89 | + private void SetInvariantCulture() |
| 90 | + { |
| 91 | + Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; |
| 92 | + Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; |
| 93 | + |
| 94 | + Language = Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName; |
84 | 95 | }
|
85 | 96 |
|
86 | 97 | private bool TrySetLanguageFromCookie(HttpContext context)
|
|
0 commit comments