From 63c60011ddaacf06f1eab307dd607476e87fcb5b Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 16:18:16 +0800 Subject: [PATCH 01/12] Remove `IInventoryActorProvider` and `IInventoryGrainProvider` --- .../DaprActorsProductInventoryProvider.cs | 12 +- .../IInventoryActorProvider.cs | 10 -- .../InventoryActorProvider.cs | 17 --- .../TestActorProxyFactory.cs | 50 +++++++ .../TestInventoryActorProvider.cs | 26 ---- .../IInventoryGrainProvider.cs | 9 -- .../InventoryGrainProvider.cs | 21 --- .../OrleansGrainsProductInventoryProvider.cs | 11 +- .../TestGrainFactory.cs | 136 ++++++++++++++++++ .../TestInventoryGrainProvider.cs | 25 ---- 10 files changed, 199 insertions(+), 118 deletions(-) delete mode 100644 plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/IInventoryActorProvider.cs delete mode 100644 plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/InventoryActorProvider.cs create mode 100644 plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestActorProxyFactory.cs delete mode 100644 plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestInventoryActorProvider.cs delete mode 100644 plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/IInventoryGrainProvider.cs delete mode 100644 plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/InventoryGrainProvider.cs create mode 100644 plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestGrainFactory.cs delete mode 100644 plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestInventoryGrainProvider.cs diff --git a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/DaprActorsProductInventoryProvider.cs b/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/DaprActorsProductInventoryProvider.cs index 14d4faa5..86ebb124 100644 --- a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/DaprActorsProductInventoryProvider.cs +++ b/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/DaprActorsProductInventoryProvider.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Dapr.Actors; +using Dapr.Actors.Client; using EasyAbp.EShop.Plugins.Inventories.DaprActors; using EasyAbp.EShop.Products.ProductInventories; using Microsoft.Extensions.Logging; @@ -11,6 +12,7 @@ namespace EasyAbp.EShop.Products.DaprActorsInventory; public class DaprActorsProductInventoryProvider : IProductInventoryProvider, ITransientDependency { + public static string ActorType { get; set; } = "InventoryActor"; public static string DaprActorsProductInventoryProviderName { get; set; } = "DaprActors"; public static string DaprActorsProductInventoryProviderDisplayName { get; set; } = "DaprActors"; public static string DaprActorsProductInventoryProviderDescription { get; set; } = "DaprActors"; @@ -18,13 +20,13 @@ public class DaprActorsProductInventoryProvider : IProductInventoryProvider, ITr public string InventoryProviderName { get; } = DaprActorsProductInventoryProviderName; private readonly ILogger _logger; - protected IInventoryActorProvider InventoryActorProvider { get; } + protected IActorProxyFactory ActorProxyFactory { get; } public DaprActorsProductInventoryProvider( - IInventoryActorProvider inventoryActorProvider, + IActorProxyFactory actorProxyFactory, ILogger logger) { - InventoryActorProvider = inventoryActorProvider; + ActorProxyFactory = actorProxyFactory; _logger = logger; } @@ -98,9 +100,9 @@ public class DaprActorsProductInventoryProvider : IProductInventoryProvider, ITr return true; } - protected virtual async Task GetActorAsync(InventoryQueryModel model) + protected virtual Task GetActorAsync(InventoryQueryModel model) { - return await InventoryActorProvider.GetAsync(GetActorId(model)); + return Task.FromResult(ActorProxyFactory.CreateActorProxy(GetActorId(model), ActorType)); } protected virtual ActorId GetActorId(InventoryQueryModel model) diff --git a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/IInventoryActorProvider.cs b/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/IInventoryActorProvider.cs deleted file mode 100644 index fc1dc827..00000000 --- a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/IInventoryActorProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Threading.Tasks; -using Dapr.Actors; -using EasyAbp.EShop.Plugins.Inventories.DaprActors; - -namespace EasyAbp.EShop.Products.DaprActorsInventory; - -public interface IInventoryActorProvider -{ - Task GetAsync(ActorId actorId); -} \ No newline at end of file diff --git a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/InventoryActorProvider.cs b/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/InventoryActorProvider.cs deleted file mode 100644 index 16dd18f1..00000000 --- a/plugins/Inventories/DaprActors/src/EasyAbp.EShop.Products.DaprActorsInventory.Domain/EasyAbp/EShop/Products/DaprActorsInventory/InventoryActorProvider.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Threading.Tasks; -using Dapr.Actors; -using Dapr.Actors.Client; -using EasyAbp.EShop.Plugins.Inventories.DaprActors; -using Volo.Abp.DependencyInjection; - -namespace EasyAbp.EShop.Products.DaprActorsInventory; - -public class InventoryActorProvider : IInventoryActorProvider, ITransientDependency -{ - public static string ActorType { get; set; } = "InventoryActor"; - - public virtual Task GetAsync(ActorId actorId) - { - return Task.FromResult(ActorProxy.Create(actorId, ActorType)); - } -} \ No newline at end of file diff --git a/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestActorProxyFactory.cs b/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestActorProxyFactory.cs new file mode 100644 index 00000000..a2f540e5 --- /dev/null +++ b/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestActorProxyFactory.cs @@ -0,0 +1,50 @@ +using System; +using Dapr.Actors; +using Dapr.Actors.Client; +using EasyAbp.EShop.Plugins.Inventories.DaprActors; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.DependencyInjection; + +namespace EasyAbp.EShop.Products.DaprActorsInventory.Domain; + +[Dependency(ReplaceServices = true)] +public class TestActorProxyFactory : IActorProxyFactory, ITransientDependency +{ + private IInventoryActor Actor { get; set; } + + private readonly IServiceProvider _serviceProvider; + + public TestActorProxyFactory(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public TActorInterface CreateActorProxy(ActorId actorId, string actorType, + ActorProxyOptions options = null) where TActorInterface : IActor + { + if (typeof(TActorInterface) != typeof(IInventoryActor)) + { + throw new ApplicationException(); + } + + if (Actor is not null) + { + return (TActorInterface)Actor; + } + + Actor = _serviceProvider.GetRequiredService(); + + return (TActorInterface)Actor; + } + + public object CreateActorProxy(ActorId actorId, Type actorInterfaceType, string actorType, + ActorProxyOptions options = null) + { + throw new NotSupportedException(); + } + + public ActorProxy Create(ActorId actorId, string actorType, ActorProxyOptions options = null) + { + throw new NotSupportedException(); + } +} \ No newline at end of file diff --git a/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestInventoryActorProvider.cs b/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestInventoryActorProvider.cs deleted file mode 100644 index 1b889758..00000000 --- a/plugins/Inventories/DaprActors/test/EasyAbp.EShop.Products.DaprActorsInventory.Domain.Tests/TestInventoryActorProvider.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Threading.Tasks; -using Dapr.Actors; -using EasyAbp.EShop.Plugins.Inventories.DaprActors; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.DependencyInjection; - -namespace EasyAbp.EShop.Products.DaprActorsInventory.Domain; - -[Dependency(ReplaceServices = true)] -public class TestInventoryActorProvider : IInventoryActorProvider, ITransientDependency -{ - private IInventoryActor Actor { get; set; } - - private readonly IServiceProvider _serviceProvider; - - public TestInventoryActorProvider(IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } - - public Task GetAsync(ActorId actorId) - { - return Task.FromResult(Actor ??= _serviceProvider.GetRequiredService()); - } -} \ No newline at end of file diff --git a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/IInventoryGrainProvider.cs b/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/IInventoryGrainProvider.cs deleted file mode 100644 index 5f5d1966..00000000 --- a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/IInventoryGrainProvider.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Threading.Tasks; -using EasyAbp.EShop.Plugins.Inventories.OrleansGrains; - -namespace EasyAbp.EShop.Products.OrleansGrainsInventory; - -public interface IInventoryGrainProvider -{ - Task GetAsync(string grainKey); -} \ No newline at end of file diff --git a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/InventoryGrainProvider.cs b/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/InventoryGrainProvider.cs deleted file mode 100644 index 0ef6d00f..00000000 --- a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/InventoryGrainProvider.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Threading.Tasks; -using EasyAbp.EShop.Plugins.Inventories.OrleansGrains; -using Orleans; -using Volo.Abp.DependencyInjection; - -namespace EasyAbp.EShop.Products.OrleansGrainsInventory; - -public class InventoryGrainProvider : IInventoryGrainProvider, ITransientDependency -{ - private readonly IGrainFactory _grainFactory; - - public InventoryGrainProvider(IGrainFactory grainFactory) - { - _grainFactory = grainFactory; - } - - public virtual Task GetAsync(string grainKey) - { - return Task.FromResult(_grainFactory.GetGrain(grainKey)); - } -} \ No newline at end of file diff --git a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/OrleansGrainsProductInventoryProvider.cs b/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/OrleansGrainsProductInventoryProvider.cs index 54a95b54..19a7edb2 100644 --- a/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/OrleansGrainsProductInventoryProvider.cs +++ b/plugins/Inventories/OrleansGrains/src/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain/EasyAbp/EShop/Products/OrleansGrainsInventory/OrleansGrainsProductInventoryProvider.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using EasyAbp.EShop.Plugins.Inventories.OrleansGrains; using EasyAbp.EShop.Products.ProductInventories; using Microsoft.Extensions.Logging; +using Orleans; using Volo.Abp.DependencyInjection; namespace EasyAbp.EShop.Products.OrleansGrainsInventory; @@ -17,13 +18,13 @@ public class OrleansGrainsProductInventoryProvider : IProductInventoryProvider, public string InventoryProviderName { get; } = OrleansGrainsProductInventoryProviderName; private readonly ILogger _logger; - protected IInventoryGrainProvider InventoryGrainProvider { get; } + protected IGrainFactory GrainFactory { get; } public OrleansGrainsProductInventoryProvider( - IInventoryGrainProvider inventoryGrainProvider, + IGrainFactory grainFactory, ILogger logger) { - InventoryGrainProvider = inventoryGrainProvider; + GrainFactory = grainFactory; _logger = logger; } @@ -97,9 +98,9 @@ public class OrleansGrainsProductInventoryProvider : IProductInventoryProvider, return true; } - protected virtual async Task GetGrainAsync(InventoryQueryModel model) + protected virtual Task GetGrainAsync(InventoryQueryModel model) { - return await InventoryGrainProvider.GetAsync(GetGrainId(model)); + return Task.FromResult(GrainFactory.GetGrain(GetGrainId(model))); } protected virtual string GetGrainId(InventoryQueryModel model) diff --git a/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestGrainFactory.cs b/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestGrainFactory.cs new file mode 100644 index 00000000..19973fc4 --- /dev/null +++ b/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestGrainFactory.cs @@ -0,0 +1,136 @@ +using System; +using System.Threading.Tasks; +using EasyAbp.EShop.Plugins.Inventories.OrleansGrains; +using Microsoft.Extensions.DependencyInjection; +using Orleans; +using Orleans.Runtime; +using Volo.Abp.DependencyInjection; + +namespace EasyAbp.EShop.Products.OrleansGrainsInventory.Domain; + +[Dependency(ReplaceServices = true)] +public class TestGrainFactory : IGrainFactory, ITransientDependency +{ + private IInventoryGrain Grain { get; set; } + + private readonly IServiceProvider _serviceProvider; + + public TestGrainFactory(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public TGrainInterface GetGrain(Guid primaryKey, string grainClassNamePrefix = null) + where TGrainInterface : IGrainWithGuidKey + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(long primaryKey, string grainClassNamePrefix = null) + where TGrainInterface : IGrainWithIntegerKey + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(string primaryKey, string grainClassNamePrefix = null) + where TGrainInterface : IGrainWithStringKey + { + if (typeof(TGrainInterface) != typeof(IInventoryGrain)) + { + throw new ApplicationException(); + } + + if (Grain is not null) + { + return (TGrainInterface)Grain; + } + + Grain = _serviceProvider.GetRequiredService(); + + return (TGrainInterface)Grain; + } + + public TGrainInterface GetGrain(Guid primaryKey, string keyExtension, + string grainClassNamePrefix = null) where TGrainInterface : IGrainWithGuidCompoundKey + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(long primaryKey, string keyExtension, + string grainClassNamePrefix = null) where TGrainInterface : IGrainWithIntegerCompoundKey + { + throw new NotSupportedException(); + } + + public async Task CreateObjectReference(IGrainObserver obj) + where TGrainObserverInterface : IGrainObserver + { + throw new NotSupportedException(); + } + + public async Task DeleteObjectReference(IGrainObserver obj) + where TGrainObserverInterface : IGrainObserver + { + throw new NotSupportedException(); + } + + public void BindGrainReference(IAddressable grain) + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(Type grainInterfaceType, Guid grainPrimaryKey) + where TGrainInterface : IGrain + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(Type grainInterfaceType, long grainPrimaryKey) + where TGrainInterface : IGrain + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(Type grainInterfaceType, string grainPrimaryKey) + where TGrainInterface : IGrain + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(Type grainInterfaceType, Guid grainPrimaryKey, string keyExtension) + where TGrainInterface : IGrain + { + throw new NotSupportedException(); + } + + public TGrainInterface GetGrain(Type grainInterfaceType, long grainPrimaryKey, string keyExtension) + where TGrainInterface : IGrain + { + throw new NotSupportedException(); + } + + public IGrain GetGrain(Type grainInterfaceType, Guid grainPrimaryKey) + { + throw new NotSupportedException(); + } + + public IGrain GetGrain(Type grainInterfaceType, long grainPrimaryKey) + { + throw new NotSupportedException(); + } + + public IGrain GetGrain(Type grainInterfaceType, string grainPrimaryKey) + { + throw new NotSupportedException(); + } + + public IGrain GetGrain(Type grainInterfaceType, Guid grainPrimaryKey, string keyExtension) + { + throw new NotSupportedException(); + } + + public IGrain GetGrain(Type grainInterfaceType, long grainPrimaryKey, string keyExtension) + { + throw new NotSupportedException(); + } +} \ No newline at end of file diff --git a/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestInventoryGrainProvider.cs b/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestInventoryGrainProvider.cs deleted file mode 100644 index 42c9990e..00000000 --- a/plugins/Inventories/OrleansGrains/test/EasyAbp.EShop.Products.OrleansGrainsInventory.Domain.Tests/TestInventoryGrainProvider.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Threading.Tasks; -using EasyAbp.EShop.Plugins.Inventories.OrleansGrains; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.DependencyInjection; - -namespace EasyAbp.EShop.Products.OrleansGrainsInventory.Domain; - -[Dependency(ReplaceServices = true)] -public class TestInventoryGrainProvider : IInventoryGrainProvider, ITransientDependency -{ - private IInventoryGrain Grain { get; set; } - - private readonly IServiceProvider _serviceProvider; - - public TestInventoryGrainProvider(IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } - - public Task GetAsync(string grainKey) - { - return Task.FromResult(Grain ??= _serviceProvider.GetRequiredService()); - } -} \ No newline at end of file From 1eda0f87eb3265e82b4c566643567f2c35e11c4c Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 17:15:18 +0800 Subject: [PATCH 02/12] Introduce `FlashSales` inventory strategy --- .../EShop/Orders/Orders/OrderAppService.cs | 12 +++- .../EShop/Orders/Localization/Orders/cs.json | 3 +- .../EShop/Orders/Localization/Orders/en.json | 3 +- .../EShop/Orders/Localization/Orders/pl.json | 3 +- .../Orders/Localization/Orders/pt-BR.json | 3 +- .../EShop/Orders/Localization/Orders/sl.json | 3 +- .../EShop/Orders/Localization/Orders/tr.json | 3 +- .../EShop/Orders/Localization/Orders/vi.json | 3 +- .../Orders/Localization/Orders/zh-Hans.json | 3 +- .../Orders/Localization/Orders/zh-Hant.json | 3 +- .../EasyAbp/EShop/Orders/OrdersErrorCodes.cs | 1 + .../Orders/OrderAppServiceTests.cs | 65 ++++++++++++++----- .../Products/Products/InventoryStrategy.cs | 3 +- 13 files changed, 82 insertions(+), 26 deletions(-) diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs index 2e432276..f8759d9a 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs @@ -90,6 +90,8 @@ namespace EasyAbp.EShop.Orders.Orders var productDict = await GetProductDictionaryAsync(input.OrderLines.Select(dto => dto.ProductId).ToList()); + ThrowIfExistFlashSalesProduct(productDict); + await AuthorizationService.CheckAsync( new OrderCreationResource { @@ -118,7 +120,15 @@ namespace EasyAbp.EShop.Orders.Orders return await MapToGetOutputDtoAsync(order); } - + + protected virtual void ThrowIfExistFlashSalesProduct(Dictionary productDict) + { + if (productDict.Any(x => x.Value.InventoryStrategy is InventoryStrategy.FlashSales)) + { + throw new BusinessException(OrdersErrorCodes.ExistFlashSalesProduct); + } + } + protected virtual async Task DiscountOrderAsync(Order order, Dictionary productDict) { foreach (var provider in LazyServiceProvider.LazyGetService>()) diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json index 9b750849..6439cee2 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json @@ -48,6 +48,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json index 201bb4a9..e38c1204 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json @@ -49,6 +49,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json index 7294c67d..ca55263b 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json @@ -48,6 +48,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json index 95619934..4bc83e2a 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json @@ -48,6 +48,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json index 8bcfdbba..0f17c8e7 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json @@ -49,6 +49,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json index 5d4c6d9a..459c51e1 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json @@ -49,6 +49,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json index 4fc7ff3e..265b82f8 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json @@ -48,6 +48,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage.", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "Exist unexpected flash-sales product" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json index e5834c7b..d57a1822 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json @@ -49,6 +49,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "付款{paymentId}有无效的订单配置{orderId}", "EasyAbp.EShop.Orders:InvalidRefundAmount": "退款金额({amount})无效", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "退款数量({quantity})无效", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "订单{orderId}处于错误的阶段" + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "订单{orderId}处于错误的阶段", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "清单中不允许存在闪购产品" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json index 72c277f7..24703c1d 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json @@ -49,6 +49,7 @@ "EasyAbp.EShop.Orders:InvalidPayment": "付款{paymentId}有無效的訂單配置{orderId}", "EasyAbp.EShop.Orders:InvalidRefundAmount": "退款金額({amount})無效", "EasyAbp.EShop.Orders:InvalidRefundQuantity": "退款數量({quantity})無效", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "訂單{orderId}處於錯誤的階段" + "EasyAbp.EShop.Orders:OrderIsInWrongStage": "訂單{orderId}處於錯誤的階段", + "EasyAbp.EShop.Orders:ExistFlashSalesProduct": "清單中不允許存在閃購產品" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/OrdersErrorCodes.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/OrdersErrorCodes.cs index 8a1af850..d87dd982 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/OrdersErrorCodes.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/OrdersErrorCodes.cs @@ -11,5 +11,6 @@ public const string InvalidRefundAmount = "EasyAbp.EShop.Orders:InvalidRefundAmount"; public const string InvalidRefundQuantity = "EasyAbp.EShop.Orders:InvalidRefundQuantity"; public const string OrderIsInWrongStage = "EasyAbp.EShop.Orders:OrderIsInWrongStage"; + public const string ExistFlashSalesProduct = "EasyAbp.EShop.Orders:ExistFlashSalesProduct"; } } diff --git a/modules/EasyAbp.EShop.Orders/test/EasyAbp.EShop.Orders.Application.Tests/Orders/OrderAppServiceTests.cs b/modules/EasyAbp.EShop.Orders/test/EasyAbp.EShop.Orders.Application.Tests/Orders/OrderAppServiceTests.cs index 18e5b70b..b7f2eebd 100644 --- a/modules/EasyAbp.EShop.Orders/test/EasyAbp.EShop.Orders.Application.Tests/Orders/OrderAppServiceTests.cs +++ b/modules/EasyAbp.EShop.Orders/test/EasyAbp.EShop.Orders.Application.Tests/Orders/OrderAppServiceTests.cs @@ -11,6 +11,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using NSubstitute; using Shouldly; +using Volo.Abp; using Volo.Abp.Timing; using Xunit; @@ -21,6 +22,8 @@ namespace EasyAbp.EShop.Orders.Orders private readonly IClock _clock; private readonly IOrderAppService _orderAppService; + private ProductDto Product1 { get; set; } + public OrderAppServiceTests() { _clock = GetRequiredService(); @@ -29,8 +32,7 @@ namespace EasyAbp.EShop.Orders.Orders protected override void AfterAddApplication(IServiceCollection services) { - var productAppService = Substitute.For(); - productAppService.GetAsync(OrderTestData.Product1Id).Returns(Task.FromResult(new ProductDto + Product1 = new ProductDto { CreationTime = DateTime.Now, IsPublished = true, @@ -79,10 +81,13 @@ namespace EasyAbp.EShop.Orders.Orders }, InventoryStrategy = InventoryStrategy.NoNeed, LastModificationTime = OrderTestData.ProductLastModificationTime - })); + }; + + var productAppService = Substitute.For(); + productAppService.GetAsync(OrderTestData.Product1Id).Returns(Task.FromResult(Product1)); services.AddTransient(_ => productAppService); - + var productDetailAppService = Substitute.For(); productDetailAppService.GetAsync(OrderTestData.ProductDetail1Id).Returns(Task.FromResult( @@ -186,7 +191,7 @@ namespace EasyAbp.EShop.Orders.Orders orderLine1.ProductDetailModificationTime.ShouldBe(OrderTestData.ProductDetailLastModificationTime); orderLine1.RefundAmount.ShouldBe(0m); orderLine1.RefundedQuantity.ShouldBe(0); - + var orderLine2 = response.OrderLines.Single(x => x.ProductSkuId == OrderTestData.ProductSku2Id); orderLine2.ProductDetailId.ShouldBe(OrderTestData.ProductDetail2Id); }); @@ -245,7 +250,7 @@ namespace EasyAbp.EShop.Orders.Orders response.OrderStatus.ShouldBe(OrderStatus.Canceled); response.CanceledTime.ShouldNotBeNull(); response.CancellationReason.ShouldBe("Repeat orders."); - + UsingDbContext(db => { var order = db.Orders.FirstOrDefault(o => o.Id == orderId); @@ -280,7 +285,7 @@ namespace EasyAbp.EShop.Orders.Orders order.SetPaymentId(null); await orderRepository.UpdateAsync(order, true); }); - + var response = await _orderAppService.GetAsync(orderId); // Assert @@ -290,7 +295,7 @@ namespace EasyAbp.EShop.Orders.Orders response.OrderStatus.ShouldBe(OrderStatus.Canceled); response.CanceledTime.ShouldNotBeNull(); response.CancellationReason.ShouldBe(OrdersConsts.UnpaidAutoCancellationReason); - + UsingDbContext(db => { var order = db.Orders.FirstOrDefault(o => o.Id == orderId); @@ -349,7 +354,7 @@ namespace EasyAbp.EShop.Orders.Orders response.OrderStatus.ShouldBe(OrderStatus.Processing); response.CanceledTime.ShouldBeNull(); response.CancellationReason.ShouldBeNull(); - + UsingDbContext(db => { var order = db.Orders.FirstOrDefault(o => o.Id == orderId); @@ -361,7 +366,7 @@ namespace EasyAbp.EShop.Orders.Orders order.CancellationReason.ShouldBeNull(); }); } - + [Fact] public async Task Unpaid_Order_Should_Be_Auto_Canceled_When_Payment_Overtime() { @@ -404,7 +409,7 @@ namespace EasyAbp.EShop.Orders.Orders response.OrderStatus.ShouldBe(OrderStatus.Canceled); response.CanceledTime.ShouldNotBeNull(); response.CancellationReason.ShouldBe(OrdersConsts.UnpaidAutoCancellationReason); - + UsingDbContext(db => { var order = db.Orders.FirstOrDefault(o => o.Id == orderId); @@ -416,7 +421,7 @@ namespace EasyAbp.EShop.Orders.Orders order.CancellationReason.ShouldBe(OrdersConsts.UnpaidAutoCancellationReason); }); } - + [Fact] public async Task Payment_Pending_Order_Should_Be_Auto_Canceled_When_Payment_Overtime() { @@ -461,7 +466,7 @@ namespace EasyAbp.EShop.Orders.Orders response.OrderStatus.ShouldBe(OrderStatus.Canceled); response.CanceledTime.ShouldNotBeNull(); response.CancellationReason.ShouldBe(OrdersConsts.UnpaidAutoCancellationReason); - + UsingDbContext(db => { var order = db.Orders.FirstOrDefault(o => o.Id == orderId); @@ -497,17 +502,47 @@ namespace EasyAbp.EShop.Orders.Orders } } }; - + await WithUnitOfWorkAsync(async () => { var order = await _orderAppService.CreateAsync(createOrderDto); var orderLine = order.OrderLines.Find(x => x.ProductSkuId == OrderTestData.ProductSku3Id); - + order.ProductTotalPrice.ShouldBe(10 * 1m + 2 * TestOrderLinePriceOverrider.Sku3UnitPrice); orderLine.ShouldNotBeNull(); orderLine.UnitPrice.ShouldBe(TestOrderLinePriceOverrider.Sku3UnitPrice); orderLine.TotalPrice.ShouldBe(orderLine.Quantity * orderLine.UnitPrice); }); } + + [Fact] + public async Task Should_Not_Create_Order_With_Flash_Sales_Products() + { + var createOrderDto = new CreateOrderDto + { + StoreId = OrderTestData.Store1Id, + OrderLines = new List + { + new() + { + ProductId = OrderTestData.Product1Id, + ProductSkuId = OrderTestData.ProductSku1Id, + Quantity = 1 + } + } + }; + + Product1.InventoryStrategy = InventoryStrategy.FlashSales; + + await WithUnitOfWorkAsync(async () => + { + var exception = + await Should.ThrowAsync(() => _orderAppService.CreateAsync(createOrderDto)); + + exception.Code.ShouldBe(OrdersErrorCodes.ExistFlashSalesProduct); + }); + + Product1.InventoryStrategy = InventoryStrategy.NoNeed; + } } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/InventoryStrategy.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/InventoryStrategy.cs index 301d6684..257d0b13 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/InventoryStrategy.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/InventoryStrategy.cs @@ -7,6 +7,7 @@ namespace EasyAbp.EShop.Products.Products { NoNeed = 1, ReduceAfterPlacing = 2, - ReduceAfterPayment = 4 + ReduceAfterPayment = 4, + FlashSales = 8 } } \ No newline at end of file From 0512bacdaaee35357ad2e36f480ae2ccb1c57039 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 17:26:54 +0800 Subject: [PATCH 03/12] Remove unused localizations --- .../EasyAbp/EShop/Localization/EShop/cs.json | 7 -- .../EasyAbp/EShop/Localization/EShop/en.json | 3 +- .../EShop/Localization/EShop/pl-PL.json | 7 -- .../EShop/Localization/EShop/pt-BR.json | 7 -- .../EasyAbp/EShop/Localization/EShop/sl.json | 7 -- .../EasyAbp/EShop/Localization/EShop/tr.json | 7 -- .../EasyAbp/EShop/Localization/EShop/vi.json | 7 -- .../EShop/Localization/EShop/zh-Hans.json | 3 +- .../EShop/Localization/EShop/zh-Hant.json | 3 +- .../EShop/Orders/Localization/Orders/cs.json | 53 --------- .../EShop/Orders/Localization/Orders/en.json | 1 - .../EShop/Orders/Localization/Orders/pl.json | 53 --------- .../Orders/Localization/Orders/pt-BR.json | 53 --------- .../EShop/Orders/Localization/Orders/sl.json | 54 ---------- .../EShop/Orders/Localization/Orders/tr.json | 54 ---------- .../EShop/Orders/Localization/Orders/vi.json | 53 --------- .../Orders/Localization/Orders/zh-Hans.json | 1 - .../Orders/Localization/Orders/zh-Hant.json | 1 - .../Payments/Localization/Payments/cs.json | 20 ---- .../Payments/Localization/Payments/en.json | 1 - .../Payments/Localization/Payments/pl.json | 20 ---- .../Payments/Localization/Payments/pt-BR.json | 20 ---- .../Payments/Localization/Payments/sl.json | 21 ---- .../Payments/Localization/Payments/tr.json | 21 ---- .../Payments/Localization/Payments/vi.json | 20 ---- .../Localization/Payments/zh-Hans.json | 1 - .../Localization/Payments/zh-Hant.json | 1 - ...EasyAbp.EShop.Plugins.Domain.Shared.csproj | 13 +-- .../Plugins/Localization/Plugins/cs.json | 7 -- .../Plugins/Localization/Plugins/en.json | 3 +- .../Plugins/Localization/Plugins/pl.json | 7 -- .../Plugins/Localization/Plugins/pt-BR.json | 7 -- .../Plugins/Localization/Plugins/sl.json | 7 -- .../Plugins/Localization/Plugins/tr.json | 7 -- .../Plugins/Localization/Plugins/vi.json | 7 -- .../Plugins/Localization/Plugins/zh-Hans.json | 3 +- .../Plugins/Localization/Plugins/zh-Hant.json | 3 +- .../Products/Localization/Products/cs.json | 101 ----------------- .../Products/Localization/Products/en.json | 1 - .../Products/Localization/Products/pl.json | 101 ----------------- .../Products/Localization/Products/pt-BR.json | 101 ----------------- .../Products/Localization/Products/sl.json | 102 ------------------ .../Products/Localization/Products/tr.json | 102 ------------------ .../Products/Localization/Products/vi.json | 101 ----------------- .../Localization/Products/zh-Hans.json | 1 - .../Localization/Products/zh-Hant.json | 1 - .../EShop/Stores/Localization/Stores/cs.json | 39 ------- .../EShop/Stores/Localization/Stores/en.json | 1 - .../EShop/Stores/Localization/Stores/pl.json | 39 ------- .../Stores/Localization/Stores/pt-BR.json | 39 ------- .../EShop/Stores/Localization/Stores/sl.json | 40 ------- .../EShop/Stores/Localization/Stores/tr.json | 40 ------- .../EShop/Stores/Localization/Stores/vi.json | 39 ------- .../Stores/Localization/Stores/zh-Hans.json | 1 - .../Stores/Localization/Stores/zh-Hant.json | 1 - .../Plugins/Baskets/Localization/cs.json | 33 ------ .../Plugins/Baskets/Localization/en.json | 1 - .../Plugins/Baskets/Localization/pl-PL.json | 32 ------ .../Plugins/Baskets/Localization/pt-BR.json | 32 ------ .../Plugins/Baskets/Localization/sl.json | 33 ------ .../Plugins/Baskets/Localization/tr.json | 34 ------ .../Plugins/Baskets/Localization/vi.json | 32 ------ .../Plugins/Baskets/Localization/zh-Hans.json | 1 - .../Plugins/Baskets/Localization/zh-Hant.json | 1 - .../Plugins/Coupons/Localization/cs.json | 59 ---------- .../Plugins/Coupons/Localization/en.json | 2 - .../Plugins/Coupons/Localization/pl-PL.json | 56 ---------- .../Plugins/Coupons/Localization/pt-BR.json | 56 ---------- .../Plugins/Coupons/Localization/sl.json | 58 ---------- .../Plugins/Coupons/Localization/tr.json | 59 ---------- .../Plugins/Coupons/Localization/vi.json | 56 ---------- .../Plugins/Coupons/Localization/zh-Hans.json | 1 - .../Plugins/Coupons/Localization/zh-Hant.json | 1 - .../Localization/EShopSample/cs.json | 9 -- .../Localization/EShopSample/pl.json | 9 -- .../Localization/EShopSample/pt-BR.json | 9 -- .../Localization/EShopSample/sl.json | 9 -- .../Localization/EShopSample/tr.json | 9 -- .../Localization/EShopSample/vi.json | 9 -- 79 files changed, 8 insertions(+), 2006 deletions(-) delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/cs.json delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pl-PL.json delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pt-BR.json delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/sl.json delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/tr.json delete mode 100644 integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/vi.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json delete mode 100644 modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json delete mode 100644 modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/cs.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pl.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pt-BR.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/sl.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/tr.json delete mode 100644 modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/vi.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/cs.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pl.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pt-BR.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/sl.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/tr.json delete mode 100644 modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/vi.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/cs.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pl-PL.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pt-BR.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/sl.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/tr.json delete mode 100644 plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/vi.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/cs.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pl-PL.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pt-BR.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/sl.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/tr.json delete mode 100644 plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/vi.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/cs.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pl.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pt-BR.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/sl.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/tr.json delete mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/vi.json diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/cs.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/cs.json deleted file mode 100644 index e84bbd26..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/cs.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/en.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/en.json index f14075c0..91866139 100644 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/en.json +++ b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/en.json @@ -1,7 +1,6 @@ { "culture": "en", "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Manage your profile" + "Menu:EasyAbpEShop": "EShop" } } \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pl-PL.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pl-PL.json deleted file mode 100644 index 7f76e0d6..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pl-PL.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pt-BR.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pt-BR.json deleted file mode 100644 index cf245359..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/pt-BR.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/sl.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/sl.json deleted file mode 100644 index 5d85627a..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/sl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Upravljajte svojim profilom" - } -} \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/tr.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/tr.json deleted file mode 100644 index 1dbfdf6d..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/tr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Profil y�netimi" - } -} \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/vi.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/vi.json deleted file mode 100644 index 9807bfd6..00000000 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/vi.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hans.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hans.json index 3bd256c1..77990588 100644 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hans.json +++ b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hans.json @@ -1,7 +1,6 @@ { "culture": "zh-Hans", "texts": { - "Menu:EasyAbpEShop": "EShop 商城", - "ManageYourProfile": "管理个人资料" + "Menu:EasyAbpEShop": "EShop 商城" } } \ No newline at end of file diff --git a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hant.json b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hant.json index 4b545d34..d0d29f96 100644 --- a/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hant.json +++ b/integration/EasyAbp.EShop/src/EasyAbp.EShop.Domain.Shared/EasyAbp/EShop/Localization/EShop/zh-Hant.json @@ -1,7 +1,6 @@ { "culture": "zh-Hant", "texts": { - "Menu:EasyAbpEShop": "EShop 商城", - "ManageYourProfile": "管理個人資料" + "Menu:EasyAbpEShop": "EShop 商城" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json deleted file mode 100644 index 9b750849..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/cs.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json index 201bb4a9..817ec042 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/en.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop", "Menu:OrderManagement": "Orders", - "ManageYourProfile": "Manage your profile", "Menu:Order": "Order", "Order": "Order", "OrderStoreId": "Store ID", diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json deleted file mode 100644 index 7294c67d..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pl.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json deleted file mode 100644 index 95619934..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/pt-BR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json deleted file mode 100644 index 8bcfdbba..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/sl.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "ManageYourProfile": "Upravljajte svojim profilom", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json deleted file mode 100644 index 5d4c6d9a..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/tr.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "ManageYourProfile": "Profil y�netimi", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json deleted file mode 100644 index 4fc7ff3e..00000000 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/vi.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:OrderManagement": "Orders", - "Menu:Order": "Order", - "Order": "Order", - "OrderStoreId": "Store ID", - "OrderOrderNumber": "Order number", - "OrderCustomerUserId": "Customer user ID", - "OrderOrderStatus": "Status", - "OrderCurrency": "Currency", - "OrderProductTotalPrice": "Product total price", - "OrderTotalDiscount": "Total discount", - "OrderTotalPrice": "Total price", - "OrderActualTotalPrice": "Actual total price", - "OrderRefundAmount": "Refund amount", - "OrderCustomerRemark": "Customer remark", - "OrderStaffRemark": "Staff remark", - "OrderPaidTime": "Paid time", - "OrderCompletionTime": "Completion time", - "OrderCanceledTime": "Canceled time", - "OrderReducedInventoryAfterPlacingTime": "Time of inventory reduced after placing", - "OrderReducedInventoryAfterPaymentTime": "Time of inventory reduced after payment", - "OrderLine": "Order line", - "OrderLineProductId": "Product ID", - "OrderLineProductSkuId": "Product SKU ID", - "OrderLineProductModificationTime": "Product modification time", - "OrderLineProductDetailModificationTime": "Product detail modification time", - "OrderLineProductGroupName": "Product group name", - "OrderLineProductGroupDisplayName": "Product group", - "OrderLineProductUniqueName": "Product unique name", - "OrderLineProductDisplayName": "Product display name", - "OrderLineSkuName": "SKU name", - "OrderLineSkuDescription": "SKU description", - "OrderLineMediaResources": "Media resources", - "OrderLineCurrency": "Currency", - "OrderLineUnitPrice": "Unit price", - "OrderLineTotalPrice": "Total price", - "OrderLineTotalDiscount": "Total discount", - "OrderLineActualTotalPrice": "Actual total price", - "OrderLineQuantity": "Quantity", - "EasyAbp.EShop.Orders:UnexpectedCurrency": "Only the specified currency {expectedCurrency} is allowed.", - "EasyAbp.EShop.Orders:OrderLineInvalidQuantity": "Invalid quantity {quantity} for product {productId} (SKU: {productSkuId}).", - "EasyAbp.EShop.Orders:DiscountAmountOverflow": "The discount amount overflow.", - "EasyAbp.EShop.Orders:DuplicateOrderExtraFee": "The extra fee {extraFeeName} (key: {extraFeeKey}) is existed.", - "EasyAbp.EShop.Orders:InvalidOrderExtraFee": "The extra fee {extraFee} is invalid.", - "EasyAbp.EShop.Orders:InvalidPayment": "The payment {paymentId} has invalid configurations for the order {orderId}.", - "EasyAbp.EShop.Orders:InvalidRefundAmount": "The refund amount ({amount}) is invalid.", - "EasyAbp.EShop.Orders:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Orders:OrderIsInWrongStage": "The order {orderId} is in the wrong stage." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json index e5834c7b..75080471 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hans.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:OrderManagement": "订单", - "ManageYourProfile": "管理个人资料", "Menu:Order": "订单", "Order": "订单", "OrderStoreId": "店铺 ID", diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json index 72c277f7..f06deea8 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain.Shared/EasyAbp/EShop/Orders/Localization/Orders/zh-Hant.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:OrderManagement": "訂單", - "ManageYourProfile": "管理個人資料", "Menu:Order": "訂單", "Order": "訂單", "OrderStoreId": "店鋪 ID", diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json deleted file mode 100644 index 1c16f196..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/cs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json index 7adde7bf..18625c2d 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/en.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop", "Menu:PaymentManagement": "Payments", - "ManageYourProfile": "Manage your profile", "Permission:Payments": "Payment", "PaymentItemStoreId": "Store ID", "Permission:Refunds": "Refund", diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json deleted file mode 100644 index d35cb742..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json deleted file mode 100644 index 2509c01a..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/pt-BR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json deleted file mode 100644 index 8a0b5718..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/sl.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "ManageYourProfile": "Upravljajte svojim profilom", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json deleted file mode 100644 index 7ac014c8..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/tr.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "ManageYourProfile": "Profil y�netimi", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json deleted file mode 100644 index f379bfca..00000000 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/vi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:PaymentManagement": "Payments", - "Permission:Payments": "Payment", - "PaymentItemStoreId": "Store ID", - "Permission:Refunds": "Refund", - "RefundItemStoreId": "Store ID", - "EasyAbp.EShop.Payments:MultiStorePaymentNotSupported": "Should create payments for each store.", - "EasyAbp.EShop.Payments:InvalidRefundQuantity": "The refund quantity ({quantity}) is invalid.", - "EasyAbp.EShop.Payments:OrderIsNotInSpecifiedPayment": "The order ({orderId}) is not in the specified payment ({paymentId}).", - "EasyAbp.EShop.Payments:AnotherRefundTaskIsOnGoing": "Payment ({id}) has another ongoing refund task.", - "EasyAbp.EShop.Payments:InvalidRefundAmount": "Refund amount ({refundAmount}) is invalid for the payment (id: {paymentId}, item id: {paymentItemId}).", - "EasyAbp.EShop.Payments:OrderIdNotFound": "Cannot get valid OrderId from ExtraProperties.", - "EasyAbp.EShop.Payments:StoreIdNotFound": "Cannot get valid StoreId from ExtraProperties.", - "EasyAbp.EShop.Payments:OrderLineNotFound": "There is no such an order line. (order ID: {orderId}, order line ID: {orderLineId})", - "EasyAbp.EShop.Payments:OrderExtraFeeNotFound": "There is no such an order extra fee. (order ID: {orderId}, name: {name}, key: {key})" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json index 37e4ff4d..75b30c4e 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hans.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:PaymentManagement": "支付", - "ManageYourProfile": "管理个人资料", "Permission:Payments": "支付", "PaymentItemStoreId": "店铺 ID", "Permission:Refunds": "退款", diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json index 50656adf..214f935e 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain.Shared/EasyAbp/EShop/Payments/Localization/Payments/zh-Hant.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:PaymentManagement": "支付", - "ManageYourProfile": "管理個人資料", "Permission:Payments": "支付", "PaymentItemStoreId": "店鋪 ID", "Permission:Refunds": "退款", diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp.EShop.Plugins.Domain.Shared.csproj b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp.EShop.Plugins.Domain.Shared.csproj index f69b25ca..5a122bca 100644 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp.EShop.Plugins.Domain.Shared.csproj +++ b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp.EShop.Plugins.Domain.Shared.csproj @@ -13,17 +13,8 @@ - - - - - - - - - - - + + diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/cs.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/cs.json deleted file mode 100644 index e84bbd26..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/cs.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/en.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/en.json index f14075c0..91866139 100644 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/en.json +++ b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/en.json @@ -1,7 +1,6 @@ { "culture": "en", "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Manage your profile" + "Menu:EasyAbpEShop": "EShop" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pl.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pl.json deleted file mode 100644 index 6e526d05..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pt-BR.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pt-BR.json deleted file mode 100644 index cf245359..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/pt-BR.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/sl.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/sl.json deleted file mode 100644 index 5d85627a..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/sl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Upravljajte svojim profilom" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/tr.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/tr.json deleted file mode 100644 index 1dbfdf6d..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/tr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "ManageYourProfile": "Profil y�netimi" - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/vi.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/vi.json deleted file mode 100644 index 9807bfd6..00000000 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/vi.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - - } -} diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hans.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hans.json index 3bd256c1..77990588 100644 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hans.json +++ b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hans.json @@ -1,7 +1,6 @@ { "culture": "zh-Hans", "texts": { - "Menu:EasyAbpEShop": "EShop 商城", - "ManageYourProfile": "管理个人资料" + "Menu:EasyAbpEShop": "EShop 商城" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hant.json b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hant.json index 4b545d34..d0d29f96 100644 --- a/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hant.json +++ b/modules/EasyAbp.EShop.Plugins/src/EasyAbp.EShop.Plugins.Domain.Shared/EasyAbp/EShop/Plugins/Localization/Plugins/zh-Hant.json @@ -1,7 +1,6 @@ { "culture": "zh-Hant", "texts": { - "Menu:EasyAbpEShop": "EShop 商城", - "ManageYourProfile": "管理個人資料" + "Menu:EasyAbpEShop": "EShop 商城" } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json deleted file mode 100644 index 5e2bde28..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json index 62c0f8e0..bb5b900c 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop", "Menu:ProductManagement": "Products", - "ManageYourProfile": "Manage your profile", "Menu:Product": "Product", "Product": "Product", "ProductStoreId": "Store ID", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json deleted file mode 100644 index b9d29fbc..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json deleted file mode 100644 index 8bbec7b8..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json deleted file mode 100644 index 21e82951..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "ManageYourProfile": "Upravljajte svojim profilom", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json deleted file mode 100644 index 193036ab..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "ManageYourProfile": "Profil y�netimi", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json deleted file mode 100644 index a652814e..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:ProductManagement": "Products", - "Menu:Product": "Product", - "Product": "Product", - "ProductStoreId": "Store ID", - "ProductCategoryId": "Category ID", - "ProductProductGroupName": "Product group name", - "ProductProductGroupDisplayName": "Product group", - "ProductDetailId": "Product detail ID", - "ProductUniqueName": "Unique name", - "ProductDisplayName": "Display name", - "ProductDisplayOrder": "Display order", - "ProductSold": "Sold", - "ProductDetailDescription": "Description", - "ProductCategory": "Categories", - "ProductAttribute": "Attribute", - "ProductAttributeNames": "Attribute names", - "ProductAttributeNamesPlaceholder": "e.g. Color,Size", - "ProductAttributeOption": "Attribute option", - "ProductAttributeOptionNames": "Attribute option names", - "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", - "ProductSku": "Product SKU", - "ProductSkuAttributeOptionIds": "Attribute option IDs", - "ProductSkuName": "SKU name", - "ProductSkuCurrency": "Currency", - "ProductSkuOriginalPrice": "Original price", - "ProductSkuPrice": "Price", - "ProductSkuInventory": "Inventory", - "ProductSkuSold": "Sold", - "ProductSkuOrderMinQuantity": "Minimum quantity per purchase", - "ProductSkuOrderMaxQuantity": "Maximum quantity per purchase", - "ProductSkuPaymentExpireIn": "Payment expire in", - "ProductSkuMediaResources": "Media resources", - "ProductSkuContentDescription": "SKU content", - "ProductSkuProductDetailDescriptionPlaceholder": "Fallback to details of the product if you keep null here.", - "CreateProductSku": "New", - "EditProductSku": "Edit", - "ProductSkuDeletionConfirmationMessage": "Are you sure to delete the product SKU {0}?", - "ProductInventoryStrategy": "Inventory strategy", - "ProductInventoryProviderName": "Inventory provider", - "ProductInventoryProviderNamePlaceholder": "Keep it empty if you don't understand", - "InventoryStrategy.NoNeed": "No need", - "InventoryStrategy.ReduceAfterPlacing": "Reduce inventory after placing", - "InventoryStrategy.ReduceAfterPayment": "Reduce inventory after payment", - "ProductIsPublished": "Published", - "ProductIsStatic": "Static", - "ProductIsHidden": "Hidden", - "ProductPaymentExpireIn": "Payment expire in", - "ProductMediaResources": "Media resources", - "ProductAttributeDisplayName": "Display name", - "ProductAttributeDescription": "Description", - "ProductAttributeDisplayOrder": "Display order", - "ProductAttributeOptionDisplayName": "Display name", - "ProductAttributeOptionDescription": "Description", - "ProductAttributeOptionDisplayOrder": "Display order", - "CreateProduct": "New", - "EditProduct": "Edit", - "ProductDeletionConfirmationMessage": "Are you sure to delete the product {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Menu:Category": "Category", - "Category": "Category", - "Subcategory": "Subcategory", - "CategoryParentId": "Parent ID", - "CategoryUniqueName": "Unique name", - "CategoryDisplayName": "Display name", - "CategoryDescription": "Description", - "CategoryMediaResources": "Media resources", - "CategoryIsHidden": "Hidden", - "CreateCategory": "New", - "EditCategory": "Edit", - "CategoryDeletionConfirmationMessage": "Are you sure to delete the category {0}?", - "Permission:ProductInventory": "Product inventory", - "ProductInventory": "Product inventory", - "ProductInventoryChangedInventory": "Changed inventory", - "ProductInventoryChangeType": "Change type", - "IncreaseInventory": "Increase", - "DecreaseInventory": "Decrease", - "ProductInventoryInventory": "Inventory", - "ChangeProductInventory": "Change inventory", - "EasyAbp.EShop.Products:DuplicateCategoryUniqueName": "The category unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:DuplicatedProductUniqueName": "The product unique name '{uniqueName}' is duplicated.", - "EasyAbp.EShop.Products:InventoryChangeFailed": "Inventory of product {productId} (SKU: {productSkuId}) cannot be changed by {changedInventory} from {originalInventory}", - "EasyAbp.EShop.Products:NonexistentProductGroup": "The specified product group ({productGroupName}) is nonexistent.", - "EasyAbp.EShop.Products:NonexistentInventoryProvider": "The specified inventory provider ({inventoryProviderName}) is nonexistent.", - "EasyAbp.EShop.Products:ProductSkuCodeDuplicated": "Sku code {code} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuDuplicated": "Sku {serializedAttributeOptionIds} is duplicate for the product {productId}", - "EasyAbp.EShop.Products:ProductSkuIncorrectAttributeOptions": "Sku {serializedAttributeOptionIds} is incorrect for the product {productId}", - "EasyAbp.EShop.Products:NotAllowedToGetCategoryListWithShowHidden": "You have no permission to get category list with hidden categories.", - "EasyAbp.EShop.Products:ProductAttributeOptionsDeletionFailed": "Should ensure there are no SKUs using the attribute option which you want to delete.", - "EasyAbp.EShop.Products:ProductAttributesModificationFailed": "Should ensure SKUs are empty if you want to modify attributes of a product.", - "EasyAbp.EShop.Products:StaticProductCannotBeModified": "Cannot modify the static product: {productId}", - "EasyAbp.EShop.Products:StoreIsNotProductOwner": "Store {storeId} is not a owner of the product {productId}", - "EasyAbp.EShop.Products:InventoryInsufficient": "The inventory of the product {productId} (SKU: {productSkuId}) is insufficient, {quantity} are needed, but only {inventory}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json index b6eb22b0..40c661f6 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:ProductManagement": "商品", - "ManageYourProfile": "管理个人资料", "Menu:Product": "商品", "Product": "商品", "ProductStoreId": "店铺 ID", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json index 395a71e0..87809c53 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:ProductManagement": "商品", - "ManageYourProfile": "管理個人資料", "Menu:Product": "商品", "Product": "商品", "ProductStoreId": "店鋪 ID", diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/cs.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/cs.json deleted file mode 100644 index e642917f..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/cs.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/en.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/en.json index 3657b4ec..cd2338f5 100644 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/en.json +++ b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/en.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop", "Menu:StoreManagement": "Stores", - "ManageYourProfile": "Manage your profile", "Menu:Store": "Store", "Store": "Store", "StoreName": "Name", diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pl.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pl.json deleted file mode 100644 index 9d994cb9..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pl.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pt-BR.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pt-BR.json deleted file mode 100644 index d693f391..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/pt-BR.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/sl.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/sl.json deleted file mode 100644 index 6baa416e..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/sl.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "ManageYourProfile": "Upravljajte svojim profilom", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/tr.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/tr.json deleted file mode 100644 index 35c0b87b..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/tr.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "ManageYourProfile": "Profil y�netimi", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/vi.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/vi.json deleted file mode 100644 index c546a397..00000000 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/vi.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:StoreManagement": "Stores", - "Menu:Store": "Store", - "Store": "Store", - "StoreName": "Name", - "CreateStore": "New", - "EditStore": "Edit", - "StoreDeletionConfirmationMessage": "Are you sure to delete the store {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "StoreOwner": "Store owner", - "Menu:StoreOwner": "Store owner", - "StoreOwnerUserName": "Username", - "CreateStoreOwner": "New", - "EditStoreOwner": "Edit", - "StoreOwnerDeletionConfirmationMessage": "Are you sure to delete the store owner {0}?", - "Permission:Transaction": "Transaction", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:Transaction": "Transaction", - "Transaction": "Transaction", - "TransactionStoreId": "Store ID", - "TransactionOrderId": "Order ID", - "TransactionTransactionType": "Transaction type", - "TransactionActionName": "Action name", - "TransactionCurrency": "Currency", - "TransactionAmount": "Amount", - "CreateTransaction": "New", - "EditTransaction": "Edit", - "TransactionDeletionConfirmationMessage": "Are you sure to delete the transaction {0}?", - "EasyAbp.EShop.Stores:StoreOwnerDuplicated": "Owner {ownerUserId} is duplicate for the store {storeId}." - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hans.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hans.json index 1954d4ac..976abe36 100644 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hans.json +++ b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hans.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:StoreManagement": "店铺", - "ManageYourProfile": "管理个人资料", "Menu:Store": "店铺", "Store": "店铺", "StoreName": "店铺名称", diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hant.json b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hant.json index 75b9a190..4b3b58f0 100644 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hant.json +++ b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain.Shared/EasyAbp/EShop/Stores/Localization/Stores/zh-Hant.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:StoreManagement": "店鋪", - "ManageYourProfile": "管理個人資料", "Menu:Store": "店鋪", "Store": "店鋪", "StoreName": "店鋪名稱", diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/cs.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/cs.json deleted file mode 100644 index 329af5d4..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/cs.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "ManageYourProfile": "Spravovat profil", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/en.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/en.json index 7bdc4712..dd7ff74c 100644 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/en.json +++ b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/en.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop", "Menu:BasketManagement": "Baskets", - "ManageYourProfile": "Manage your profile", "Permission:BasketItem": "Basket item", "Menu:BasketItem": "Basket item", "BasketItem": "Basket item", diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pl-PL.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pl-PL.json deleted file mode 100644 index 56b1e7db..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pl-PL.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pt-BR.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pt-BR.json deleted file mode 100644 index 580aa88f..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/pt-BR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/sl.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/sl.json deleted file mode 100644 index f09cb13f..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/sl.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "ManageYourProfile": "Upravljajte svojim profilom", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/tr.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/tr.json deleted file mode 100644 index 71209c87..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/tr.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "ManageYourProfile": "Profil yönetimi", - "SamplePageMessage": "Baskets modulünden örnek bir sayfa", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/vi.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/vi.json deleted file mode 100644 index 3f46938f..00000000 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/vi.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:BasketManagement": "Baskets", - "Permission:BasketItem": "Basket item", - "Menu:BasketItem": "Basket item", - "BasketItem": "Basket item", - "BasketItemBasketName": "Basket name", - "BasketItemUserId": "User ID", - "BasketItemStoreId": "Store ID", - "BasketItemProductId": "Product ID", - "BasketItemProductSkuId": "Product SKU ID", - "BasketItemQuantity": "Quantity", - "BasketItemMediaResources": "Media resources", - "BasketItemProductUniqueName": "Product unique name", - "BasketItemProductDisplayName": "Product display name", - "BasketItemSkuName": "SKU name", - "BasketItemSkuDescription": "SKU description", - "BasketItemCurrency": "Currency", - "BasketItemUnitPrice": "Unit price", - "BasketItemTotalPrice": "Total price", - "BasketItemTotalDiscount": "Total discount", - "BasketItemInventory": "Inventory", - "BasketItemIsInvalid": "Invalid", - "CreateBasketItem": "New", - "EditBasketItem": "Edit", - "BasketItemDeletionConfirmationMessage": "Are you sure to delete the basket item {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "EasyAbp.EShop.Plugins.Baskets:ProductSkuNotFound": "Product {productId} (SKU: {productSkuId}) not found." - } -} \ No newline at end of file diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hans.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hans.json index c592b7e8..31ebc3d7 100644 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hans.json +++ b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hans.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:BasketManagement": "购物车", - "ManageYourProfile": "管理个人资料", "Permission:BasketItem": "购物车项", "Menu:BasketItem": "购物车项", "BasketItem": "购物车项", diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hant.json b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hant.json index 573079a8..a88995bb 100644 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hant.json +++ b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Domain.Shared/EasyAbp/EShop/Plugins/Baskets/Localization/zh-Hant.json @@ -3,7 +3,6 @@ "texts": { "Menu:EasyAbpEShop": "EShop 商城", "Menu:BasketManagement": "購物車", - "ManageYourProfile": "管理個人資料", "Permission:BasketItem": "購物車項", "Menu:BasketItem": "購物車項", "BasketItem": "購物車項", diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/cs.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/cs.json deleted file mode 100644 index 8f2f0c1b..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/cs.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "culture": "cs", - "texts": { - "ManageYourProfile": "Spravovat profil", - "SamplePageMessage": "Ukázková stránka pro modul Coupons", - "Menu:CouponManagement": "Coupons", - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/en.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/en.json index 1e2b5ae4..f919fc2b 100644 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/en.json +++ b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/en.json @@ -1,8 +1,6 @@ { "culture": "en", "texts": { - "ManageYourProfile": "Manage your profile", - "SamplePageMessage": "A sample page for the Coupons module", "Menu:CouponManagement": "Coupons", "Permission:CouponTemplate": "Coupon template", "Permission:Create": "Create", diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pl-PL.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pl-PL.json deleted file mode 100644 index 4fe97fee..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pl-PL.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pt-BR.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pt-BR.json deleted file mode 100644 index dc507aa3..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/pt-BR.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/sl.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/sl.json deleted file mode 100644 index 810c227a..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/sl.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "culture": "sl", - "texts": { - "ManageYourProfile": "Upravljajte svojim profilom", - "Menu:CouponManagement": "Coupons", - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/tr.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/tr.json deleted file mode 100644 index 27d7537f..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/tr.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "culture": "tr", - "texts": { - "ManageYourProfile": "Profil yönetimi", - "SamplePageMessage": "Coupons modulünden örnek bir sayfa", - "Menu:CouponManagement": "Coupons", - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/vi.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/vi.json deleted file mode 100644 index 9c5f9dc7..00000000 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/vi.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Permission:CouponTemplate": "Coupon template", - "Permission:Create": "Create", - "Permission:Update": "Update", - "Permission:Delete": "Delete", - "Menu:CouponTemplate": "Coupon template", - "CouponTemplate": "Coupon template", - "CouponTemplateStoreId": "Store ID", - "CouponTemplateCouponType": "Coupon type", - "CouponTemplateUniqueName": "Unique name", - "CouponTemplateDisplayName": "Display name", - "CouponTemplateDescription": "Description", - "CouponTemplateUsableDuration": "Usable duration", - "CouponTemplateUsableBeginTime": "Usable begin time", - "CouponTemplateUsableEndTime": "Usable end time", - "CouponTemplateConditionAmount": "Condition amount", - "CouponTemplateDiscountAmount": "Discount amount", - "CouponTemplateCurrency": "Currency", - "CouponTemplateIsUnscoped": "Unscoped", - "CreateCouponTemplate": "New", - "EditCouponTemplate": "Edit", - "CouponTemplateDeletionConfirmationMessage": "Are you sure to delete the coupon template {0}?", - "CouponTemplateScope": "Coupon template scope", - "CouponTemplateScopeStoreId": "Store ID", - "CouponTemplateScopeProductGroupName": "Product group name", - "CouponTemplateScopeProductId": "Product ID", - "CouponTemplateScopeProductSkuId": "Product SKU ID", - "CreateCouponTemplateScope": "New", - "EditCouponTemplateScope": "Edit", - "CouponTemplateScopeDeletionConfirmationMessage": "Are you sure to delete the coupon template scope {0}?", - "SuccessfullyDeleted": "Successfully deleted", - "CouponType.Normal": "Normal (X discount)", - "CouponType.PerMeet": "PerMeet (X discount for every Y)", - "CouponType.Custom": "Custom", - "Permission:Coupon": "Coupon", - "Menu:Coupon": "Coupon", - "Coupon": "Coupon", - "CouponCouponTemplateId": "Coupon template ID", - "CouponUserId": "User ID", - "CouponOrderId": "Order ID", - "CouponExpirationTime": "Expiration time", - "CouponUsedTime": "Used time", - "CouponDiscountedAmount": "Discounted amount", - "CreateCoupon": "New", - "EditCoupon": "Edit", - "CouponDeletionConfirmationMessage": "Are you sure to delete the coupon {0}?", - "EasyAbp.EShop.Plugins.Coupons:CouponNotFoundOrHasExpired": "Coupon not found or has expired.", - "EasyAbp.EShop.Plugins.Coupons:CouponTemplateNotFoundOrUnavailable": "Coupon template not found or unavailable.", - "EasyAbp.EShop.Plugins.Coupons:OrderDoesNotMeetCouponUsageCondition": "Order does not meet the coupon usage condition.", - "EasyAbp.EShop.Plugins.Coupons:CouponHasBeenOccupied": "Coupon has been occupied.", - "EasyAbp.EShop.Plugins.Coupons:InvalidCouponOrderId": "The expected order ID is {expectedOrderId}, but the actual order ID is {actualOrderId}.", - "EasyAbp.EShop.Plugins.Coupons:UserCouponQuantityExceedsLimit": "User's coupon quantity exceeds the limit: {maxQuantity}." - } -} \ No newline at end of file diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hans.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hans.json index 628e77df..2a9a4011 100644 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hans.json +++ b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hans.json @@ -1,7 +1,6 @@ { "culture": "zh-Hans", "texts": { - "ManageYourProfile": "管理个人资料", "Menu:CouponManagement": "优惠券", "Permission:CouponTemplate": "优惠券模板", "Permission:Create": "新建", diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hant.json b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hant.json index 0b638ea5..9c6295aa 100644 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hant.json +++ b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Domain.Shared/EasyAbp/EShop/Plugins/Coupons/Localization/zh-Hant.json @@ -1,7 +1,6 @@ { "culture": "zh-Hant", "texts": { - "ManageYourProfile": "管理個人資料", "Menu:CouponManagement": "優惠券", "Permission:CouponTemplate": "優惠券模板", "Permission:Create": "新建", diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/cs.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/cs.json deleted file mode 100644 index 44106717..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/cs.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Úvod", - "Welcome": "Vítejte", - "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." - } -} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pl.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pl.json deleted file mode 100644 index 0521319e..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pl.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "pl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Home", - "Welcome": "Witaj", - "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." - } -} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pt-BR.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pt-BR.json deleted file mode 100644 index 135dd6fa..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/pt-BR.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Principal", - "Welcome": "Seja bem-vindo!", - "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." - } -} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/sl.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/sl.json deleted file mode 100644 index 2f3e17fa..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/sl.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Domov", - "Welcome": "Dobrodošli", - "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." - } -} diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/tr.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/tr.json deleted file mode 100644 index b877e7b7..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/tr.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Ana sayfa", - "Welcome": "Hoşgeldiniz", - "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." - } -} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/vi.json b/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/vi.json deleted file mode 100644 index 0552a6ae..00000000 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Domain.Shared/Localization/EShopSample/vi.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:EasyAbpEShop": "EShop", - "Menu:Home": "Trang chủ", - "Welcome": "Chào mừng bạn", - "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." - } -} From ce25d2ebab22f69bab258fd4b3c88f0cbdf69791 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 18:55:05 +0800 Subject: [PATCH 04/12] Use the LeptonX Lite theme in the sample app. --- .../Menus/OrdersMenuContributor.cs | 2 +- .../Menus/PaymentsMenuContributor.cs | 2 +- .../Menus/ProductsMenuContributor.cs | 2 +- .../Menus/StoresMenuContributor.cs | 2 +- .../Menus/BasketsMenuContributor.cs | 2 +- .../Menus/CouponsMenuContributor.cs | 2 +- .../EShopSample.Web/EShopSample.Web.csproj | 2 +- .../EShopSample.Web/EShopSampleWebModule.cs | 33 +++++++------------ .../EShopSample.Web/wwwroot/global-styles.css | 1 + .../wwwroot/libs/abp/jquery/abp.jquery.js | 10 +++--- .../bootstrap.enable.popovers.everywhere.js | 5 +++ 11 files changed, 31 insertions(+), 32 deletions(-) create mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/global-styles.css create mode 100644 samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/bootstrap/js/bootstrap.enable.popovers.everywhere.js diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Web/Menus/OrdersMenuContributor.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Web/Menus/OrdersMenuContributor.cs index f1660326..a31277c7 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Web/Menus/OrdersMenuContributor.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Web/Menus/OrdersMenuContributor.cs @@ -38,7 +38,7 @@ namespace EasyAbp.EShop.Orders.Web.Menus if (!orderManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == OrdersMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(OrdersMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(OrdersMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(orderManagementMenuItem); } diff --git a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Menus/PaymentsMenuContributor.cs b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Menus/PaymentsMenuContributor.cs index 604c97e0..0896b069 100644 --- a/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Menus/PaymentsMenuContributor.cs +++ b/modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Web/Menus/PaymentsMenuContributor.cs @@ -44,7 +44,7 @@ namespace EasyAbp.EShop.Payments.Web.Menus if (!paymentManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == PaymentsMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(PaymentsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(PaymentsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(paymentManagementMenuItem); } diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Menus/ProductsMenuContributor.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Menus/ProductsMenuContributor.cs index a202f774..591364de 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Menus/ProductsMenuContributor.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Menus/ProductsMenuContributor.cs @@ -41,7 +41,7 @@ namespace EasyAbp.EShop.Products.Web.Menus if (!productManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == ProductsMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(ProductsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(ProductsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(productManagementMenuItem); } diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Web/Menus/StoresMenuContributor.cs b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Web/Menus/StoresMenuContributor.cs index d320bae3..4d4b4b92 100644 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Web/Menus/StoresMenuContributor.cs +++ b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Web/Menus/StoresMenuContributor.cs @@ -51,7 +51,7 @@ namespace EasyAbp.EShop.Stores.Web.Menus if (!storeManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == StoresMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(StoresMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(StoresMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(storeManagementMenuItem); } diff --git a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Web/Menus/BasketsMenuContributor.cs b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Web/Menus/BasketsMenuContributor.cs index 9badbcb4..ad964b3e 100644 --- a/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Web/Menus/BasketsMenuContributor.cs +++ b/plugins/Baskets/src/EasyAbp.EShop.Plugins.Baskets.Web/Menus/BasketsMenuContributor.cs @@ -28,7 +28,7 @@ namespace EasyAbp.EShop.Plugins.Baskets.Web.Menus if (!basketManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == BasketsMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(BasketsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(BasketsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(basketManagementMenuItem); } diff --git a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Web/Menus/CouponsMenuContributor.cs b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Web/Menus/CouponsMenuContributor.cs index bd324755..b80d3aea 100644 --- a/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Web/Menus/CouponsMenuContributor.cs +++ b/plugins/Coupons/src/EasyAbp.EShop.Plugins.Coupons.Web/Menus/CouponsMenuContributor.cs @@ -39,7 +39,7 @@ namespace EasyAbp.EShop.Plugins.Coupons.Web.Menus if (!couponManagementMenuItem.Items.IsNullOrEmpty()) { var eShopMenuItem = context.Menu.Items.GetOrAdd(i => i.Name == CouponsMenus.ModuleGroupPrefix, - () => new ApplicationMenuItem(CouponsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"])); + () => new ApplicationMenuItem(CouponsMenus.ModuleGroupPrefix, l["Menu:EasyAbpEShop"], icon: "fa fa-shopping-bag")); eShopMenuItem.Items.Add(couponManagementMenuItem); } diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSample.Web.csproj b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSample.Web.csproj index 2d95a425..c602502d 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSample.Web.csproj +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSample.Web.csproj @@ -47,7 +47,7 @@ - + diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs index bca6f97e..650ebf3f 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs @@ -1,5 +1,4 @@ -using System; -using System.IO; +using System.IO; using EasyAbp.EShop; using EasyAbp.EShop.Plugins; using EasyAbp.EShop.Plugins.Web; @@ -30,13 +29,14 @@ using EShopSample.Localization; using EShopSample.MultiTenancy; using EShopSample.Web.Menus; using Microsoft.OpenApi.Models; -using NUglify.JavaScript.Syntax; using Volo.Abp; using Volo.Abp.Account.Web; using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.Localization; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; @@ -61,7 +61,7 @@ namespace EShopSample.Web typeof(AbpAutofacModule), typeof(AbpIdentityWebModule), typeof(AbpAccountWebIdentityServerModule), - typeof(AbpAspNetCoreMvcUiBasicThemeModule), + typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AbpTenantManagementWebModule), typeof(AbpFeatureManagementWebModule), @@ -98,21 +98,23 @@ namespace EShopSample.Web var configuration = context.Services.GetConfiguration(); ConfigureUrls(configuration); - ConfigureAuthentication(context, configuration); + ConfigureBundles(); ConfigureAutoMapper(); ConfigureVirtualFileSystem(hostingEnvironment); ConfigureLocalizationServices(); ConfigureNavigationServices(); ConfigureAutoApiControllers(); ConfigureSwaggerServices(context.Services); - ConfigureConventionalControllers(); } - private void ConfigureConventionalControllers() + private void ConfigureBundles() { - Configure(options => + Configure(options => { - options.ConventionalControllers.Create(typeof(EShopSampleApplicationModule).Assembly); + options.StyleBundles.Configure( + LeptonXLiteThemeBundles.Styles.Global, + bundle => { bundle.AddFiles("/global-styles.css"); } + ); }); } @@ -124,17 +126,6 @@ namespace EShopSample.Web }); } - private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddAuthentication() - .AddJwtBearer(options => - { - options.Authority = configuration["AuthServer:Authority"]; - options.RequireHttpsMetadata = false; - options.Audience = "EShopSample"; - }); - } - private void ConfigureAutoMapper() { Configure(options => diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/global-styles.css b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/global-styles.css new file mode 100644 index 00000000..056b01e3 --- /dev/null +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/global-styles.css @@ -0,0 +1 @@ +/* Your Global Styles */ \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/abp/jquery/abp.jquery.js b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/abp/jquery/abp.jquery.js index 81ebf1e2..76dfd389 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/abp/jquery/abp.jquery.js +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/abp/jquery/abp.jquery.js @@ -205,14 +205,16 @@ var abp = abp || {}; handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { var messagePromise = null; + var responseJSON = jqXHR.responseJSON ? jqXHR.responseJSON : JSON.parse(jqXHR.responseText); + if (userOptions.abpHandleError !== false) { - messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); + messagePromise = abp.ajax.showError(responseJSON.error); } - abp.ajax.logError(jqXHR.responseJSON.error); + abp.ajax.logError(responseJSON.error); - $dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); - userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); + $dfd && $dfd.reject(responseJSON.error, jqXHR); + userOptions.error && userOptions.error(responseJSON.error, jqXHR); if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { abp.ajax.handleUnAuthorizedRequest(messagePromise); diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/bootstrap/js/bootstrap.enable.popovers.everywhere.js b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/bootstrap/js/bootstrap.enable.popovers.everywhere.js new file mode 100644 index 00000000..a02a2a7a --- /dev/null +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/wwwroot/libs/bootstrap/js/bootstrap.enable.popovers.everywhere.js @@ -0,0 +1,5 @@ +(function () { + [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map(function (popoverTriggerEl) { + return new bootstrap.Popover(popoverTriggerEl) + }) +})(); From a2669a1521c934b520f0dd790d4d6ed2673f3e2c Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 20:51:25 +0800 Subject: [PATCH 05/12] Remove unused languages in AbpLocalizationOptions --- .../aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs index bca6f97e..673cafee 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs @@ -217,10 +217,7 @@ namespace EShopSample.Web typeof(AbpUiResource) ); - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); }); From faff1273b83bb88bddf055a01d637d95381fddfd Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 20:58:51 +0800 Subject: [PATCH 06/12] Add `ConfigureAuthentication` --- .../src/EShopSample.Web/EShopSampleWebModule.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs index 650ebf3f..723563d9 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSampleWebModule.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using EasyAbp.EShop; using EasyAbp.EShop.Plugins; using EasyAbp.EShop.Plugins.Web; @@ -99,6 +100,7 @@ namespace EShopSample.Web ConfigureUrls(configuration); ConfigureBundles(); + ConfigureAuthentication(context, configuration); ConfigureAutoMapper(); ConfigureVirtualFileSystem(hostingEnvironment); ConfigureLocalizationServices(); @@ -118,6 +120,17 @@ namespace EShopSample.Web }); } + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddAuthentication() + .AddJwtBearer(options => + { + options.Authority = configuration["AuthServer:Authority"]; + options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); + options.Audience = "EShopSample"; + }); + } + private void ConfigureUrls(IConfiguration configuration) { Configure(options => @@ -266,7 +279,6 @@ namespace EShopSample.Web app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); - app.UseJwtTokenMiddleware(); if (MultiTenancyConsts.IsEnabled) { From 8c89217e36a91ee7d1f477b9b7a8f961f2f90f35 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 21:30:00 +0800 Subject: [PATCH 07/12] Upgrade to PaymentService version 2.0.12 --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 7f008f29..98938073 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -3,7 +3,7 @@ 5.1.3 2.5.3 - 2.0.11 + 2.0.12 0.8.2 1.7.0 3.6.2 From cc062006fa9daa30a61330e4c1c69c9bdfc15ae7 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Sun, 12 Jun 2022 23:20:45 +0800 Subject: [PATCH 08/12] Make DisplayOrder effective and items sorted by ASC --- .../ProductCategories/ProductCategoryAppService.cs | 2 ++ .../EasyAbp/EShop/Products/Products/ProductAppService.cs | 7 ++++--- .../EShop/Products/Products/ProductViewAppService.cs | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs index 9b8dd950..a16be254 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs @@ -34,6 +34,8 @@ namespace EasyAbp.EShop.Products.ProductCategories queryable = queryable.Where(x => x.ProductId == input.ProductId); } + queryable = queryable.OrderBy(x => x.DisplayOrder); + return queryable; } diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs index 0f1f3bc6..e6bd3796 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs @@ -61,7 +61,8 @@ namespace EasyAbp.EShop.Products.Products return query .Where(x => x.StoreId == input.StoreId) .WhereIf(!input.ShowHidden, x => !x.IsHidden) - .WhereIf(!input.ShowUnpublished, x => x.IsPublished); + .WhereIf(!input.ShowUnpublished, x => x.IsPublished) + .OrderBy(x => x.DisplayOrder); } protected override Product MapToEntity(CreateUpdateProductDto createInput) @@ -481,12 +482,12 @@ namespace EasyAbp.EShop.Products.Products protected virtual ProductDto SortAttributesAndOptions(ProductDto productDto) { - productDto.ProductAttributes = productDto.ProductAttributes.OrderByDescending(x => x.DisplayOrder).ToList(); + productDto.ProductAttributes = productDto.ProductAttributes.OrderBy(x => x.DisplayOrder).ToList(); foreach (var productAttributeDto in productDto.ProductAttributes) { productAttributeDto.ProductAttributeOptions = productAttributeDto.ProductAttributeOptions - .OrderByDescending(x => x.DisplayOrder).ToList(); + .OrderBy(x => x.DisplayOrder).ToList(); } return productDto; diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs index efd24881..7eb6fde2 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs @@ -51,7 +51,8 @@ namespace EasyAbp.EShop.Products.Products return query .Where(x => x.StoreId == input.StoreId) .WhereIf(!input.ShowHidden, x => !x.IsHidden) - .WhereIf(!input.ShowUnpublished, x => x.IsPublished); + .WhereIf(!input.ShowUnpublished, x => x.IsPublished) + .OrderBy(x => x.DisplayOrder); } public override async Task> GetListAsync(GetProductListInput input) From 6ba7d4dbf0afa5684bb1b0be5fa187e7a15d91db Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 13 Jun 2022 00:22:53 +0800 Subject: [PATCH 09/12] Update the DbMigrator project of the sample app --- .../DbMigratorHostedService.cs | 62 +++++++++-------- .../EShopSample.DbMigrator.csproj | 69 +++++++++++-------- .../src/EShopSample.DbMigrator/Program.cs | 49 ++++++------- 3 files changed, 98 insertions(+), 82 deletions(-) diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs index 3249eda3..3fc10cbf 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/DbMigratorHostedService.cs @@ -1,43 +1,49 @@ using System.Threading; using System.Threading.Tasks; +using EShopSample.Data; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using EShopSample.Data; using Serilog; using Volo.Abp; -namespace EShopSample.DbMigrator +namespace EShopSample.DbMigrator; + +public class DbMigratorHostedService : IHostedService { - public class DbMigratorHostedService : IHostedService + private readonly IHostApplicationLifetime _hostApplicationLifetime; + private readonly IConfiguration _configuration; + + public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration) { - private readonly IHostApplicationLifetime _hostApplicationLifetime; + _hostApplicationLifetime = hostApplicationLifetime; + _configuration = configuration; + } - public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime) + public async Task StartAsync(CancellationToken cancellationToken) + { + using (var application = await AbpApplicationFactory.CreateAsync(options => + { + options.Services.ReplaceConfiguration(_configuration); + options.UseAutofac(); + options.Services.AddLogging(c => c.AddSerilog()); + })) { - _hostApplicationLifetime = hostApplicationLifetime; - } + await application.InitializeAsync(); - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = await AbpApplicationFactory.CreateAsync(options => - { - options.UseAutofac(); - options.Services.AddLogging(c => c.AddSerilog()); - })) - { - await application.InitializeAsync(); - - await application - .ServiceProvider - .GetRequiredService() - .MigrateAsync(); - - await application.ShutdownAsync(); - - _hostApplicationLifetime.StopApplication(); - } + await application + .ServiceProvider + .GetRequiredService() + .MigrateAsync(); + + await application.ShutdownAsync(); + + _hostApplicationLifetime.StopApplication(); } + } - public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; + public Task StopAsync(CancellationToken cancellationToken) + { + return Task.CompletedTask; } -} +} \ No newline at end of file diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj index 6d7ea54f..d7d19cc5 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/EShopSample.DbMigrator.csproj @@ -1,34 +1,43 @@ - - - - Exe - net6.0 - - - - - - - - - PreserveNewest - Always - - - - - - - - - - - - - - - + + + + Exe + net6.0 + + + + + + + + + + PreserveNewest + Always + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs index dd877906..b99ff760 100644 --- a/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs +++ b/samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/Program.cs @@ -1,38 +1,39 @@ -using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using Serilog; using Serilog.Events; -namespace EShopSample.DbMigrator +namespace EShopSample.DbMigrator; + +class Program { - class Program + static async Task Main(string[] args) { - static async Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) - .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Information() + .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) + .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) #if DEBUG - .MinimumLevel.Override("EShopSample", LogEventLevel.Debug) + .MinimumLevel.Override("EShopSample", LogEventLevel.Debug) #else .MinimumLevel.Override("EShopSample", LogEventLevel.Information) #endif - .Enrich.FromLogContext() - .WriteTo.File(Path.Combine(Directory.GetCurrentDirectory(), "Logs/logs.txt")) - .WriteTo.Console() - .CreateLogger(); - - await CreateHostBuilder(args).RunConsoleAsync(); - } + .Enrich.FromLogContext() + .WriteTo.Async(c => c.File("Logs/logs.txt")) + .WriteTo.Async(c => c.Console()) + .CreateLogger(); - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); + await CreateHostBuilder(args).RunConsoleAsync(); } -} + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .AddAppSettingsSecretsJson() + .ConfigureLogging((context, logging) => logging.ClearProviders()) + .ConfigureServices((hostContext, services) => + { + services.AddHostedService(); + }); +} \ No newline at end of file From 688dadf14149aa7aa201b55271fa88b1737d0cf4 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 13 Jun 2022 00:29:56 +0800 Subject: [PATCH 10/12] Fix UOW in StoresDataSeedContributor --- .../EasyAbp/EShop/Stores/StoresDataSeedContributor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain/EasyAbp/EShop/Stores/StoresDataSeedContributor.cs b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain/EasyAbp/EShop/Stores/StoresDataSeedContributor.cs index 0f02cfc7..e7c9bbe5 100644 --- a/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain/EasyAbp/EShop/Stores/StoresDataSeedContributor.cs +++ b/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain/EasyAbp/EShop/Stores/StoresDataSeedContributor.cs @@ -15,8 +15,8 @@ namespace EasyAbp.EShop.Stores _storeDataSeeder = storeDataSeeder; } - [UnitOfWork(true)] - public async Task SeedAsync(DataSeedContext context) + [UnitOfWork] + public virtual async Task SeedAsync(DataSeedContext context) { await _storeDataSeeder.SeedAsync(context); } From ffb017973f0332c81ea9cc53791782ce2339082c Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 13 Jun 2022 12:33:49 +0800 Subject: [PATCH 11/12] Overriding `ApplySorting` methods --- .../ProductCategoryAppService.cs | 19 ++++++++---- .../Products/Products/ProductAppService.cs | 7 ++++- .../Products/ProductViewAppService.cs | 29 ++++++++++++------- 3 files changed, 37 insertions(+), 18 deletions(-) diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs index a16be254..96431de5 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs @@ -8,11 +8,12 @@ using Volo.Abp.Application.Services; namespace EasyAbp.EShop.Products.ProductCategories { - public class ProductCategoryAppService : ReadOnlyAppService, + public class ProductCategoryAppService : + ReadOnlyAppService, IProductCategoryAppService { protected override string GetListPolicyName { get; set; } = ProductsPermissions.Products.Manage; - + private readonly IProductCategoryRepository _repository; public ProductCategoryAppService(IProductCategoryRepository repository) : base(repository) @@ -20,10 +21,11 @@ namespace EasyAbp.EShop.Products.ProductCategories _repository = repository; } - protected override async Task> CreateFilteredQueryAsync(GetProductCategoryListDto input) + protected override async Task> CreateFilteredQueryAsync( + GetProductCategoryListDto input) { var queryable = await Repository.GetQueryableAsync(); - + if (input.CategoryId.HasValue) { queryable = queryable.Where(x => x.CategoryId == input.CategoryId); @@ -34,11 +36,16 @@ namespace EasyAbp.EShop.Products.ProductCategories queryable = queryable.Where(x => x.ProductId == input.ProductId); } - queryable = queryable.OrderBy(x => x.DisplayOrder); - return queryable; } + protected override IQueryable ApplySorting(IQueryable query, + GetProductCategoryListDto input) + { + return base.ApplySorting(query, input) + .OrderBy(x => x.DisplayOrder); + } + [RemoteService(false)] public override Task GetAsync(Guid id) { diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs index e6bd3796..f5c46c35 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs @@ -61,7 +61,12 @@ namespace EasyAbp.EShop.Products.Products return query .Where(x => x.StoreId == input.StoreId) .WhereIf(!input.ShowHidden, x => !x.IsHidden) - .WhereIf(!input.ShowUnpublished, x => x.IsPublished) + .WhereIf(!input.ShowUnpublished, x => x.IsPublished); + } + + protected override IQueryable ApplySorting(IQueryable query, GetProductListInput input) + { + return base.ApplySorting(query, input) .OrderBy(x => x.DisplayOrder); } diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs index 7eb6fde2..6405d78a 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs @@ -15,7 +15,8 @@ using Volo.Abp.Uow; namespace EasyAbp.EShop.Products.Products { - public class ProductViewAppService : MultiStoreReadOnlyAppService, + public class ProductViewAppService : + MultiStoreReadOnlyAppService, IProductViewAppService { protected override string GetPolicyName { get; set; } = null; @@ -27,7 +28,7 @@ namespace EasyAbp.EShop.Products.Products private readonly IProductManager _productManager; private readonly IProductRepository _productRepository; private readonly IProductViewRepository _repository; - + public ProductViewAppService( IProductViewCacheKeyProvider productViewCacheKeyProvider, IDistributedCache cache, @@ -41,7 +42,7 @@ namespace EasyAbp.EShop.Products.Products _productRepository = productRepository; _repository = repository; } - + protected override async Task> CreateFilteredQueryAsync(GetProductListInput input) { var query = input.CategoryId.HasValue @@ -51,14 +52,20 @@ namespace EasyAbp.EShop.Products.Products return query .Where(x => x.StoreId == input.StoreId) .WhereIf(!input.ShowHidden, x => !x.IsHidden) - .WhereIf(!input.ShowUnpublished, x => x.IsPublished) + .WhereIf(!input.ShowUnpublished, x => x.IsPublished); + } + + protected override IQueryable ApplySorting(IQueryable query, + GetProductListInput input) + { + return base.ApplySorting(query, input) .OrderBy(x => x.DisplayOrder); } public override async Task> GetListAsync(GetProductListInput input) { await CheckGetListPolicyAsync(); - + if (input.ShowHidden || input.ShowUnpublished) { await CheckMultiStorePolicyAsync(input.StoreId, ProductsPermissions.Products.Manage); @@ -68,7 +75,7 @@ namespace EasyAbp.EShop.Products.Products { await BuildStoreProductViewsAsync(input.StoreId); } - + var query = await CreateFilteredQueryAsync(input); var totalCount = await AsyncExecuter.CountAsync(query); @@ -104,7 +111,7 @@ namespace EasyAbp.EShop.Products.Products await BuildStoreProductViewsAsync(productView.StoreId); productView = await GetEntityByIdAsync(id); - + return await MapToGetOutputDtoAsync(productView); } @@ -121,7 +128,7 @@ namespace EasyAbp.EShop.Products.Products var productView = ObjectMapper.Map(product); await FillPriceInfoWithRealPriceAsync(product, productView); - + await _repository.InsertAsync(productView); } @@ -135,7 +142,7 @@ namespace EasyAbp.EShop.Products.Products await SettingProvider.GetOrNullAsync(ProductsSettings.ProductView.CacheDurationSeconds))) }); } - + protected virtual async Task FillPriceInfoWithRealPriceAsync(Product product, ProductView productView) { if (product.ProductSkus.IsNullOrEmpty()) @@ -144,7 +151,7 @@ namespace EasyAbp.EShop.Products.Products } decimal? min = null, max = null; - + foreach (var productSku in product.ProductSkus) { var priceDataModel = await _productManager.GetRealPriceAsync(product, productSku); @@ -163,4 +170,4 @@ namespace EasyAbp.EShop.Products.Products productView.SetPrices(min, max); } } -} +} \ No newline at end of file From 4b927cf68c3466b501bdf6112c04fbca82561c0b Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 13 Jun 2022 13:48:09 +0800 Subject: [PATCH 12/12] Override `ApplyDefaultSorting` instead of `ApplySorting` --- .../ProductCategories/ProductCategoryAppService.cs | 7 +++---- .../EasyAbp/EShop/Products/Products/ProductAppService.cs | 6 +++--- .../EShop/Products/Products/ProductViewAppService.cs | 7 +++---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs index 96431de5..991d7fd3 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductCategories/ProductCategoryAppService.cs @@ -39,11 +39,10 @@ namespace EasyAbp.EShop.Products.ProductCategories return queryable; } - protected override IQueryable ApplySorting(IQueryable query, - GetProductCategoryListDto input) + protected override IQueryable ApplyDefaultSorting(IQueryable query) { - return base.ApplySorting(query, input) - .OrderBy(x => x.DisplayOrder); + return query.OrderBy(x => x.DisplayOrder) + .ThenBy(x => x.Id); } [RemoteService(false)] diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs index f5c46c35..9cc63dd6 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs @@ -64,10 +64,10 @@ namespace EasyAbp.EShop.Products.Products .WhereIf(!input.ShowUnpublished, x => x.IsPublished); } - protected override IQueryable ApplySorting(IQueryable query, GetProductListInput input) + protected override IQueryable ApplyDefaultSorting(IQueryable query) { - return base.ApplySorting(query, input) - .OrderBy(x => x.DisplayOrder); + return query.OrderBy(x => x.DisplayOrder) + .ThenBy(x => x.Id); } protected override Product MapToEntity(CreateUpdateProductDto createInput) diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs index 6405d78a..69a83754 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductViewAppService.cs @@ -55,11 +55,10 @@ namespace EasyAbp.EShop.Products.Products .WhereIf(!input.ShowUnpublished, x => x.IsPublished); } - protected override IQueryable ApplySorting(IQueryable query, - GetProductListInput input) + protected override IQueryable ApplyDefaultSorting(IQueryable query) { - return base.ApplySorting(query, input) - .OrderBy(x => x.DisplayOrder); + return query.OrderBy(x => x.DisplayOrder) + .ThenBy(x => x.Id); } public override async Task> GetListAsync(GetProductListInput input)