You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.0 KiB
54 lines
2.0 KiB
3 years ago
|
using JetBrains.Annotations;
|
||
|
using System;
|
||
|
using Volo.Abp;
|
||
|
using Volo.Abp.Domain.Entities.Auditing;
|
||
|
using Volo.Abp.Localization;
|
||
|
|
||
|
namespace Sanhe.Abp.LocalizationManagement;
|
||
|
|
||
|
public class Language : AuditedEntity<Guid>, ILanguageInfo
|
||
|
{
|
||
|
public virtual bool Enable { get; set; }
|
||
|
public virtual string CultureName { get; protected set; }
|
||
|
public virtual string UiCultureName { get; protected set; }
|
||
|
public virtual string DisplayName { get; protected set; }
|
||
|
public virtual string FlagIcon { get; set; }
|
||
|
|
||
|
protected Language() { }
|
||
|
|
||
|
public Language(
|
||
|
[NotNull] string cultureName,
|
||
|
[NotNull] string uiCultureName,
|
||
|
[NotNull] string displayName,
|
||
|
string flagIcon = null)
|
||
|
{
|
||
|
CultureName = Check.NotNullOrWhiteSpace(cultureName, nameof(cultureName), LanguageConsts.MaxCultureNameLength);
|
||
|
UiCultureName = Check.NotNullOrWhiteSpace(uiCultureName, nameof(uiCultureName), LanguageConsts.MaxUiCultureNameLength);
|
||
|
DisplayName = Check.NotNullOrWhiteSpace(displayName, nameof(displayName), LanguageConsts.MaxDisplayNameLength);
|
||
|
|
||
|
FlagIcon = !flagIcon.IsNullOrWhiteSpace()
|
||
|
? Check.Length(flagIcon, nameof(flagIcon), LanguageConsts.MaxFlagIconLength)
|
||
|
: null;
|
||
|
|
||
|
Enable = true;
|
||
|
}
|
||
|
|
||
|
public virtual void ChangeCulture(string cultureName, string uiCultureName = null, string displayName = null)
|
||
|
{
|
||
|
ChangeCultureInternal(cultureName, uiCultureName, displayName);
|
||
|
}
|
||
|
|
||
|
private void ChangeCultureInternal(string cultureName, string uiCultureName, string displayName)
|
||
|
{
|
||
|
CultureName = Check.NotNullOrWhiteSpace(cultureName, nameof(cultureName), LanguageConsts.MaxCultureNameLength);
|
||
|
|
||
|
UiCultureName = !uiCultureName.IsNullOrWhiteSpace()
|
||
|
? Check.Length(uiCultureName, nameof(uiCultureName), LanguageConsts.MaxUiCultureNameLength)
|
||
|
: cultureName;
|
||
|
|
||
|
DisplayName = !displayName.IsNullOrWhiteSpace()
|
||
|
? Check.Length(displayName, nameof(displayName), LanguageConsts.MaxDisplayNameLength)
|
||
|
: cultureName;
|
||
|
}
|
||
|
}
|