@@ -24,14 +24,6 @@ public static class CultureManager
24
24
25
25
public static event EventHandler < UiCultureEventArgs > ? UiCultureChanged ;
26
26
27
- public static void Set (
28
- CultureInfo cultureInfo ,
29
- bool synchronizeThreadCultures )
30
- {
31
- SynchronizeThreadCulture = synchronizeThreadCultures ;
32
- UiCulture = cultureInfo ;
33
- }
34
-
35
27
/// <summary>
36
28
/// Gets or sets the UI culture.
37
29
/// </summary>
@@ -54,7 +46,7 @@ public static CultureInfo UiCulture
54
46
Thread . CurrentThread . CurrentUICulture = value ;
55
47
if ( SynchronizeThreadCulture )
56
48
{
57
- SetThreadCulture ( value ) ;
49
+ SetBackendCulture ( value ) ;
58
50
}
59
51
60
52
UiCultureExtension . UpdateAllTargets ( ) ;
@@ -83,21 +75,66 @@ public static bool SynchronizeThreadCulture
83
75
synchronizeThreadCulture = value ;
84
76
if ( value )
85
77
{
86
- SetThreadCulture ( UiCulture ) ;
78
+ SetBackendCulture ( UiCulture ) ;
87
79
}
88
80
}
89
81
}
90
82
91
83
/// <summary>
92
- /// Set the thread culture to the given culture.
84
+ /// Set the UI culture to the given culture and the backend culture to 'en-US'.
85
+ /// </summary>
86
+ /// <param name="uiCultureInfo">The UI culture to set.</param>
87
+ /// <param name="synchronizeThreadCultures">The synchronizeThreadCultures to set.</param>
88
+ public static void SetCultures (
89
+ CultureInfo uiCultureInfo ,
90
+ bool synchronizeThreadCultures )
91
+ => SetCultures (
92
+ uiCultureInfo ,
93
+ GlobalizationConstants . EnglishCultureInfo ,
94
+ synchronizeThreadCultures ) ;
95
+
96
+ /// <summary>
97
+ /// Set the cultures to the given cultures.
93
98
/// </summary>
94
- /// <param name="value">The culture to set.</param>
99
+ /// <param name="backendCultureInfo">The backend culture to set.</param>
100
+ /// <param name="uiCultureInfo">The UI culture to set.</param>
101
+ /// <param name="synchronizeThreadCultures">The synchronizeThreadCultures to set.</param>
102
+ public static void SetCultures (
103
+ CultureInfo backendCultureInfo ,
104
+ CultureInfo uiCultureInfo ,
105
+ bool synchronizeThreadCultures = false )
106
+ {
107
+ ArgumentNullException . ThrowIfNull ( backendCultureInfo ) ;
108
+
109
+ SynchronizeThreadCulture = synchronizeThreadCultures ;
110
+ SetBackendCulture ( backendCultureInfo ) ;
111
+ UiCulture = uiCultureInfo ;
112
+ }
113
+
114
+ /// <summary>
115
+ /// Set the UI culture to the given culture.
116
+ /// </summary>
117
+ /// <param name="uiCultureInfo">The UI culture to set.</param>
118
+ public static void SetUiCulture (
119
+ CultureInfo uiCultureInfo )
120
+ {
121
+ ArgumentNullException . ThrowIfNull ( uiCultureInfo ) ;
122
+
123
+ UiCulture = uiCultureInfo ;
124
+ }
125
+
126
+ /// <summary>
127
+ /// Set the backend culture to the given culture.
128
+ /// </summary>
129
+ /// <param name="backendCultureInfo">The backend culture to set.</param>
95
130
/// <remarks>If the culture is neutral then creates a specific culture.</remarks>
96
- private static void SetThreadCulture (
97
- CultureInfo value )
131
+ public static void SetBackendCulture (
132
+ CultureInfo backendCultureInfo )
98
133
{
99
- Thread . CurrentThread . CurrentCulture = value . IsNeutralCulture
100
- ? CultureInfo . CreateSpecificCulture ( value . Name )
101
- : value ;
134
+ ArgumentNullException . ThrowIfNull ( backendCultureInfo ) ;
135
+
136
+ Thread . CurrentThread . CurrentCulture = backendCultureInfo . IsNeutralCulture
137
+ ? CultureInfo . CreateSpecificCulture ( backendCultureInfo . Name )
138
+ : backendCultureInfo ;
102
139
}
103
140
}
0 commit comments