protected virtual async Task <ApplicationLocalizationConfigurationDto> GetLocalizationConfigAsync() { var localizationConfig = new ApplicationLocalizationConfigurationDto(); localizationConfig.Languages.AddRange(await _languageProvider.GetLanguagesAsync()); foreach (var resource in _localizationOptions.Resources.Values) { var dictionary = new Dictionary <string, string>(); var localizer = _serviceProvider.GetRequiredService( typeof(IStringLocalizer <>).MakeGenericType(resource.ResourceType) ) as IStringLocalizer; foreach (var localizedString in localizer.GetAllStrings()) { dictionary[localizedString.Name] = localizedString.Value; } localizationConfig.Values[resource.ResourceName] = dictionary; } localizationConfig.CurrentCulture = GetCurrentCultureInfo(); if (_localizationOptions.DefaultResourceType != null) { localizationConfig.DefaultResourceName = LocalizationResourceNameAttribute.GetName( _localizationOptions.DefaultResourceType ); } return(localizationConfig); }
protected virtual LocalizableStringDto CreateDisplayNameDto(ExtensionPropertyConfiguration propertyConfig) { if (propertyConfig.DisplayName == null) { return(null); } if (propertyConfig.DisplayName is LocalizableString localizableStringInstance) { return(new LocalizableStringDto( localizableStringInstance.Name, localizableStringInstance.ResourceType != null ? LocalizationResourceNameAttribute.GetName(localizableStringInstance.ResourceType) : null )); } if (propertyConfig.DisplayName is FixedLocalizableString fixedLocalizableString) { // "_" means don't use the default resource, but directly use the name. return(new LocalizableStringDto(fixedLocalizableString.Value, "_")); } return(null); }
public static string GetLocalizationResourceNameOrNull( this ExtensionPropertyConfiguration property) { var resourceType = property.GetLocalizationResourceTypeOrNull(); if (resourceType == null) { return(null); } return(LocalizationResourceNameAttribute.GetName(resourceType)); }
protected virtual ApplicationLocalizationConfigurationDto GetLocalizationConfig() { var localizationConfig = new ApplicationLocalizationConfigurationDto(); foreach (var resource in _localizationOptions.Resources.Values) { var dictionary = new Dictionary <string, string>(); var localizer = _serviceProvider.GetRequiredService(typeof(IStringLocalizer <>).MakeGenericType(resource.ResourceType)) as IStringLocalizer; foreach (var localizedString in localizer.GetAllStrings()) { dictionary[localizedString.Name] = localizedString.Value; } var resourceName = LocalizationResourceNameAttribute.GetName(resource.ResourceType); localizationConfig.Values[resourceName] = dictionary; } return(localizationConfig); }
protected virtual async Task SendFriendValidationNotifierAsync(UserChatFriend userChatFriend) { // 发送好友验证通知 var userIdentifer = new UserIdentifier(userChatFriend.FrientId, userChatFriend.RemarkName); var friendValidationNotifictionData = new NotificationData(); friendValidationNotifictionData .WriteLocalizedData( new LocalizableStringInfo( LocalizationResourceNameAttribute.GetName(typeof(MessageServiceResource)), "Notifications:FriendValidation"), new LocalizableStringInfo( LocalizationResourceNameAttribute.GetName(typeof(MessageServiceResource)), "Notifications:RequestAddNewFriend", new Dictionary <object, object> { { "name", _currentUser.UserName } }), DateTime.Now, _currentUser.UserName, new LocalizableStringInfo( LocalizationResourceNameAttribute.GetName(typeof(MessageServiceResource)), "Notifications:RequestAddNewFriendDetail", new Dictionary <object, object> { { "description", userChatFriend.Description } })); friendValidationNotifictionData.TrySetData("userId", userChatFriend.UserId); friendValidationNotifictionData.TrySetData("frientId", userChatFriend.FrientId); await _notificationSender .SendNofiterAsync( MessageServiceNotificationNames.IM.FriendValidation, friendValidationNotifictionData, userIdentifer, userChatFriend.TenantId); }
public async Task HandleEventAsync(EntityCreatedEventData <UserEto> eventData) { var userIdentifer = new UserIdentifier(eventData.Entity.Id, eventData.Entity.UserName); // 订阅用户欢迎消息 await _notificationSubscriptionManager .SubscribeAsync( eventData.Entity.TenantId, userIdentifer, UserNotificationNames.WelcomeToApplication); var userWelcomeNotifictionData = new NotificationData(); //userWelcomeNotifictionData.WriteStandardData( // L("WelcomeToApplicationFormUser", eventData.Entity.Name ?? eventData.Entity.UserName), // L("WelcomeToApplicationFormUser", eventData.Entity.Name ?? eventData.Entity.UserName), // DateTime.Now, eventData.Entity.UserName); userWelcomeNotifictionData .WriteLocalizedData( new LocalizableStringInfo( LocalizationResourceNameAttribute.GetName(typeof(MessageServiceResource)), "WelcomeToApplicationFormUser"), new LocalizableStringInfo( LocalizationResourceNameAttribute.GetName(typeof(MessageServiceResource)), "WelcomeToApplicationFormUser"), DateTime.Now, eventData.Entity.UserName); await _notificationSender .SendNofiterAsync( UserNotificationNames.WelcomeToApplication, userWelcomeNotifictionData, userIdentifer, eventData.Entity.TenantId, NotificationSeverity.Info ); }
private static LocalizableStringInfo GetTwoFactorBehaviourLocalizableStringInfo(string key) { return(new LocalizableStringInfo(LocalizationResourceNameAttribute.GetName(typeof(IdentityResource)), key)); }