@@ -19,12 +19,12 @@ internal static class TranslationHelper
1919 /// Translate all settings of the given list with <see cref="WindowsSetting"/>.
2020 /// </summary>
2121 /// <param name="settingsList">The list that contains <see cref="WindowsSetting"/> to translate.</param>
22- internal static void TranslateAllSettings ( in IEnumerable < WindowsSetting > ? settingsList )
22+ internal static IEnumerable < WindowsSetting > TranslateAllSettings ( in IEnumerable < WindowsSetting > ? settingsList )
2323 {
24+ var translatedSettings = new List < WindowsSetting > ( ) ;
25+
2426 if ( settingsList is null )
25- {
26- return ;
27- }
27+ return new List < WindowsSetting > ( ) ;
2828
2929 foreach ( var settings in settingsList )
3030 {
@@ -47,9 +47,7 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
4747 Log . Warn ( $ "Resource string for [{ settings . Name } ] not found", typeof ( Main ) ) ;
4848 }
4949
50- settings . Area = area ?? settings . Area ?? string . Empty ;
51- settings . Name = name ?? settings . Name ?? string . Empty ;
52- settings . Type = type ?? settings . Type ?? string . Empty ;
50+
5351
5452 if ( ! string . IsNullOrEmpty ( settings . Note ) )
5553 {
@@ -61,11 +59,10 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
6159
6260 settings . Note = note ?? settings . Note ?? string . Empty ;
6361 }
64-
65- if ( ! ( settings . AltNames is null ) && settings . AltNames . Any ( ) )
62+ List < string > ? translatedAltNames = null ;
63+ if ( settings . AltNames is not null && settings . AltNames . Any ( ) )
6664 {
67- var translatedAltNames = new Collection < string > ( ) ;
68-
65+ translatedAltNames = new List < string > ( ) ;
6966 foreach ( var altName in settings . AltNames )
7067 {
7168 if ( string . IsNullOrWhiteSpace ( altName ) )
@@ -82,9 +79,18 @@ internal static void TranslateAllSettings(in IEnumerable<WindowsSetting>? settin
8279 translatedAltNames . Add ( translatedAltName ?? altName ) ;
8380 }
8481
85- settings . AltNames = translatedAltNames ;
8682 }
83+ var translatedSetting = new WindowsSetting
84+ {
85+ Area = area ?? settings . Area ,
86+ Name = name ?? settings . Name ,
87+ Type = type ?? settings . Type ,
88+ AltNames = translatedAltNames
89+ } ;
90+
91+ translatedSettings . Add ( translatedSetting ) ;
8792 }
93+ return translatedSettings ;
8894 }
8995 }
9096}
0 commit comments