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;
|
|
}
|
|
}
|
|
}
|