40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
|
using System;
|
|||
|
|
|||
|
namespace Bit.App.Models
|
|||
|
{
|
|||
|
public class PlatformCulture
|
|||
|
{
|
|||
|
public PlatformCulture(string platformCultureString)
|
|||
|
{
|
|||
|
if(string.IsNullOrWhiteSpace(platformCultureString))
|
|||
|
{
|
|||
|
throw new ArgumentException("Expected culture identifier.", nameof(platformCultureString));
|
|||
|
}
|
|||
|
|
|||
|
// .NET expects dash, not underscore
|
|||
|
PlatformString = platformCultureString.Replace("_", "-");
|
|||
|
var dashIndex = PlatformString.IndexOf("-", StringComparison.Ordinal);
|
|||
|
if(dashIndex > 0)
|
|||
|
{
|
|||
|
var parts = PlatformString.Split('-');
|
|||
|
LanguageCode = parts[0];
|
|||
|
LocaleCode = parts[1];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LanguageCode = PlatformString;
|
|||
|
LocaleCode = string.Empty;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public string PlatformString { get; private set; }
|
|||
|
public string LanguageCode { get; private set; }
|
|||
|
public string LocaleCode { get; private set; }
|
|||
|
|
|||
|
public override string ToString()
|
|||
|
{
|
|||
|
return PlatformString;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|