feat: Cookie-basierte Lokalisierung implementiert, ToLocal Erweiterungsmethoden hinzugefügt und Translation-Service entfernt. Stattdessen wird IStringLocalizer<T> verwendet, abhängig von der Situation wie Cookie-basierter Kultur oder Kultur basierend auf der Route.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
using DigitalData.Core.Contracts.Application;
|
||||
using DigitalData.Core.Contracts.Infrastructure;
|
||||
using DigitalData.Core.Contracts.CultureServices;
|
||||
using AutoMapper;
|
||||
using System.Reflection;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Microsoft.Extensions.Localization;
|
||||
|
||||
namespace DigitalData.Core.Application
|
||||
{
|
||||
@@ -28,7 +28,7 @@ namespace DigitalData.Core.Application
|
||||
/// <param name="repository">The CRUD repository for accessing the database.</param>
|
||||
/// <param name="translationService">The service for translating messages based on culture.</param>
|
||||
/// <param name="mapper">The AutoMapper instance for mapping between DTOs and entity objects.</param>
|
||||
public CRUDService(TCRUDRepository repository, IKeyTranslationService translationService, IMapper mapper) : base(translationService)
|
||||
public CRUDService(TCRUDRepository repository, IStringLocalizer defaultLocalizer, IMapper mapper) : base(defaultLocalizer)
|
||||
{
|
||||
_repository = repository;
|
||||
_mapper = mapper;
|
||||
@@ -62,7 +62,7 @@ namespace DigitalData.Core.Application
|
||||
var entity = await _repository.ReadByIdAsync(id);
|
||||
if (entity is null)
|
||||
{
|
||||
var translatedMessage = _translationService.Translate(MessageKey.EntityDoesNotExist);
|
||||
var translatedMessage = MessageKey.EntityDoesNotExist.LocalizedBy(_localizer);
|
||||
return Failed<TReadDto>();
|
||||
}
|
||||
else
|
||||
@@ -93,7 +93,7 @@ namespace DigitalData.Core.Application
|
||||
return Successful();
|
||||
else
|
||||
{
|
||||
var translatedMessage = _translationService.Translate(MessageKey.UpdateFailed);
|
||||
var translatedMessage = MessageKey.UpdateFailed.LocalizedBy(_localizer);
|
||||
return Failed();
|
||||
}
|
||||
}
|
||||
@@ -109,8 +109,8 @@ namespace DigitalData.Core.Application
|
||||
|
||||
if (entity is null)
|
||||
{
|
||||
var deletionFailedMessage = _translationService.Translate(MessageKey.DeletionFailed);
|
||||
var entityDoesNotExistMessage = _translationService.Translate(MessageKey.EntityDoesNotExist);
|
||||
var deletionFailedMessage = MessageKey.DeletionFailed.LocalizedBy(_localizer);
|
||||
var entityDoesNotExistMessage = MessageKey.EntityDoesNotExist.LocalizedBy(_localizer);
|
||||
return new ServiceMessage(isSuccess: false, deletionFailedMessage, entityDoesNotExistMessage);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace DigitalData.Core.Application
|
||||
return Successful();
|
||||
else
|
||||
{
|
||||
var deletionFailedMessage = _translationService.Translate(MessageKey.DeletionFailed);
|
||||
var deletionFailedMessage = MessageKey.DeletionFailed.LocalizedBy(_localizer);
|
||||
return Failed(deletionFailedMessage);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user