A Data/NosSmooth.Data.Abstractions/Language/LanguageEncoding.cs => Data/NosSmooth.Data.Abstractions/Language/LanguageEncoding.cs +39 -0
@@ 0,0 1,39 @@
+//
+// LanguageEncoding.cs
+//
+// Copyright (c) František Boháček. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System.Text;
+
+namespace NosSmooth.Data.Abstractions.Language;
+
+/// <summary>
+/// Mapping of language encoding.
+/// </summary>
+public class LanguageEncoding
+{
+ /// <summary>
+ /// Get encoding for the given language.
+ /// </summary>
+ /// <param name="lang">The language.</param>
+ /// <returns>An encoding.</returns>
+ public static Encoding GetEncoding(Language lang)
+ {
+ switch (lang)
+ {
+ case Language.Tr:
+ return CodePagesEncodingProvider.Instance.GetEncoding(1254) ?? Encoding.ASCII;
+ case Language.En:
+ case Language.Es:
+ return CodePagesEncodingProvider.Instance.GetEncoding(1252) ?? Encoding.ASCII;
+ case Language.Cz:
+ case Language.De:
+ case Language.Pl:
+ case Language.It:
+ return CodePagesEncodingProvider.Instance.GetEncoding(1250) ?? Encoding.ASCII;
+ }
+
+ return Encoding.ASCII;
+ }
+}<
\ No newline at end of file
M Data/NosSmooth.Data.Abstractions/NosSmooth.Data.Abstractions.csproj => Data/NosSmooth.Data.Abstractions/NosSmooth.Data.Abstractions.csproj +1 -0
@@ 8,6 8,7 @@
<ItemGroup>
<PackageReference Include="Remora.Results" Version="7.1.0" />
+ <PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
</ItemGroup>
</Project>