~ruther/NosSmooth

97512a47ed137ffcd5f19d0a0760fa868f4f75af — František Boháček 3 years ago 346f6b8
feat(data): add support for retrieving language encodings
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>

Do not follow this link