Abp模块
abp
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.
 
 
 
 
 

53 lines
2.0 KiB

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