Browse Source

Merge branch 'dev' into studio-dev

pull/10363/head
Yunus Emre Kalkan 4 years ago
parent
commit
b7d855cbb4
  1. 3
      .github/workflows/build-and-test.yml
  2. 10
      Directory.Build.props
  3. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
  4. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  5. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
  6. 2
      build/test-all.ps1
  7. 6
      codecov.yml
  8. 7
      docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/POST.md
  9. 53
      docs/en/Distributed-Event-Bus.md
  10. 50
      docs/en/Local-Event-Bus.md
  11. 3
      docs/en/Module-Entity-Extensions.md
  12. 4
      docs/en/Testing.md
  13. 10
      docs/en/UI/Angular/Extensions-Overall.md
  14. 4
      docs/en/docs-nav.json
  15. 53
      docs/zh-Hans/Distributed-Event-Bus.md
  16. 46
      docs/zh-Hans/Local-Event-Bus.md
  17. 1
      framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs
  18. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json
  19. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/cs.json
  20. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/de-DE.json
  21. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/de.json
  22. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en-GB.json
  23. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en.json
  24. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json
  25. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/fi.json
  26. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/fr.json
  27. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/hi.json
  28. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/hu.json
  29. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/it.json
  30. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/nl.json
  31. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pl-PL.json
  32. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json
  33. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ro-RO.json
  34. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ru.json
  35. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/sk.json
  36. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/sl.json
  37. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/tr.json
  38. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json
  39. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hans.json
  40. 1
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json
  41. 1
      framework/test/Volo.Abp.Serialization.Tests/Volo/Abp/Serialization/Objects/CarSerializer.cs
  42. 24
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json
  43. 3
      modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/index.js
  44. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js
  45. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js
  46. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/details.js
  47. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js
  48. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js
  49. 1
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js
  50. 1
      modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/index.js
  51. 1
      modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/index.js
  52. 8
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json
  53. 1
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js

3
.github/workflows/build-and-test.yml

@ -32,3 +32,6 @@ jobs:
run: .\test-all.ps1
working-directory: .\build
shell: powershell
- name: Codecov
uses: codecov/codecov-action@v2

10
Directory.Build.props

@ -25,5 +25,15 @@
<!-- Mongo2Go https://www.nuget.org/packages/Mongo2Go -->
<Mongo2GoPackageVersion>3.1.3</Mongo2GoPackageVersion>
<IsTestProject Condition="$(MSBuildProjectFullPath.Contains('test')) and ($(MSBuildProjectName.EndsWith('.Tests')) or $(MSBuildProjectName.EndsWith('.TestBase')))">true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Condition="'$(IsTestProject)' == 'true'" Include="coverlet.collector" Version="3.1.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json

@ -101,6 +101,7 @@
"WeWillSendYouADownloadLink": "We've sent the file to {0}.",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>.",
"FreeDDDEBook": "Free DDD E-Book"
"FreeDDDEBook": "Free DDD E-Book",
"CommercialNewsletterConfirmationMessage": "I agree to the <a href=\"https://commercial.abp.io/TermsConditions\">Terms & Conditions</a> and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>."
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json

@ -388,6 +388,7 @@
"PurchaseTrialLicenseMessage": "Your license expiration date is {0}. <br> If you want to continue using the projects you created during your free trial period, you need to change the license keys in your <code>appsettings.secrets.json</code> files. Here is your license key:",
"TrialLicenseExpireMessage": "You are using the trial license and your trial license will expire on {0}.",
"TryForFree": "Try For Free",
"TrialLicenseExpiredInfo": "Your trial license period has expired!"
"TrialLicenseExpiredInfo": "Your trial license period has expired!",
"CommercialNewsletterConfirmationMessage": "I agree to the <a href=\"https://commercial.abp.io/TermsConditions\">Terms & Conditions</a> and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>."
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json

@ -98,6 +98,7 @@
"WeWillSendYouADownloadLink": "{0} adresine email gönderilmiştir.",
"InvalidFormInputs": "Lütfen formda belirtilen geçerli bilgileri yazınız.",
"DDDBookEmailBody": "Teşekkürler. <br /> Kitabı indirmek için, <a href=\"{0}\">buraya tıklayınız</a>.",
"FreeDDDEBook": "Ücretsiz DDD E-Kitap"
"FreeDDDEBook": "Ücretsiz DDD E-Kitap",
"CommercialNewsletterConfirmationMessage": "<a href=\"https://commercial.abp.io/TermsConditions\">Şartlar, Koşullar</a> ve <a href=\"https://commercial.abp.io/Privacy\">Gizlilik politikasını</a> kabul ediyorum."
}
}

2
build/test-all.ps1

@ -7,7 +7,7 @@ $full = $args[0]
foreach ($solutionPath in $solutionPaths) {
$solutionAbsPath = (Join-Path $rootFolder $solutionPath)
Set-Location $solutionAbsPath
dotnet test --no-build --no-restore
dotnet test --no-build --no-restore --collect:"XPlat Code Coverage"
if (-Not $?) {
Write-Host ("Test failed for the solution: " + $solutionPath)
Set-Location $rootFolder

6
codecov.yml

@ -0,0 +1,6 @@
codecov:
branch: dev
require_ci_to_pass: yes
comment:
require_head: no
require_base: no

7
docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/POST.md

@ -1,6 +1,6 @@
# ABP Platform 5.0 Beta 1 Has Been Released
Today, we are excited to release the [ABP Framework](https://abp.io/) and the [ABP Commercial](https://commercial.abp.io/) version **5.0 Beta 1**. This blog post introduces the new features and important changes in this new version.
Today, we are excited to release the [ABP Framework](https://abp.io/) and the [ABP Commercial](https://commercial.abp.io/) version **5.0 Beta**. This blog post introduces the new features and important changes in this new version.
> **The planned release date for the [5.0.0 Release Candidate](https://github.com/abpframework/abp/milestone/51) version is November, 2021**.
@ -34,10 +34,13 @@ See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all t
### Visual Studio Upgrade
As .NET 6 is a preview version you need to make changes on your current Visual Studio. If you want to run a .NET 6 project on Visual Studio 2019, you need to enable the `Use Previews of the .NET SDK` option from Visual Studio 2019 options. See the screenshot:
As .NET 6 is a preview version you need to make changes on the Visual Studio 2019.
If you want to run a .NET 6 project on Visual Studio 2019, you need to install the latest .NET SDK 6 from https://dotnet.microsoft.com/download/dotnet/6.0
and also enable the `Use Previews of the .NET SDK` option from Visual Studio 2019 options. See the screenshot:
![Enable Using Previews of the .NET SDK ](use-preview-visual-studio.png)
Alternatively you can download the latest Visual Studio 2022 preview to run/create the .NET 6 projects. We have tested the ABP solution with the Visual Studio 2022 `17.0.0 Preview 4.1`. Check out https://visualstudio.microsoft.com/vs/preview/ for more information.
### Migration Notes & Breaking Changes

53
docs/en/Distributed-Event-Bus.md

@ -302,55 +302,4 @@ namespace AbpDemo
}
````
This example uses the `AutoMap` attribute of the AutoMapper to configure the mapping. You could create a profile class instead. Please refer to the AutoMapper document for more options.
## Exception Handling
ABP provides exception handling and retries when an exception occurs, it will move to the dead letter queue after the retry fails.
Enable exception handling:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.EnabledErrorHandle = true;
options.UseRetryStrategy();
});
}
```
* `EnabledErrorHandle` is used to enable exception handing.
* `UseRetryStrategy` is used to enable retry.
When an exception occurs, it will retry every three seconds up to the maximum number of retries(default is 3) and move to dead letter queue, you can change the number of retries, retry interval and dead letter queue name:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.DeadLetterName = "dead_queue";
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### Error Handle Selector
By default all event types will be exception handling, you can use `ErrorHandleSelector` of `AbpEventBusOptions` to change it:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` actually a list of type predicate. You can write a lambda expression to define your filter.
### Customize Exception Handling
ABP defines the `IEventErrorHandler` interface and implemented by the provider, you can replace it via [dependency injection](Dependency-Injection.md)
This example uses the `AutoMap` attribute of the AutoMapper to configure the mapping. You could create a profile class instead. Please refer to the AutoMapper document for more options.

50
docs/en/Local-Event-Bus.md

@ -143,7 +143,7 @@ namespace AbpDemo
{
public async Task HandleEventAsync(StockCountChangedEvent eventData)
{
//TODO: your code that does somthing on the event
//TODO: your code that does something on the event
}
}
}
@ -158,52 +158,6 @@ If you perform **database operations** and use the [repositories](Repositories.m
> The handler class must be registered to the dependency injection (DI). The sample above uses the `ITransientDependency` to accomplish it. See the [DI document](Dependency-Injection.md) for more options.
## Exception Handling
ABP provides exception handling and retries when an exception occurs.
Enable exception handling:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy();
});
}
```
When an exception occurs, it will retry every three seconds up to the maximum number of retries(default is 3) and throw the original exception, you can change the number of retries and the retry interval:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### Error Handle Selector
By default all event types will be exception handling, you can use `ErrorHandleSelector` of `AbpEventBusOptions` to change it:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` actually a list of type predicate. You can write a lambda expression to define your filter.
### Customize Exception Handling
ABP defines the `IEventErrorHandler` interface and implemented by `LocalEventErrorHandler`, you can replace it via [dependency injection](Dependency-Injection.md)
### Transaction & Exception Behavior
When an event published, subscribed event handlers are immediately executed. So;
@ -272,4 +226,4 @@ The event types are;
Pre-build events are published when you save changes to the database;
* For EF Core, they are published on `DbContext.SaveChanges`.
* For MongoDB, they are published when you call repository's `InsertAsync`, `UpdateAsync` or `DeleteAsync` methods (since MongoDB has not a change tracking system).
* For MongoDB, they are published when you call repository's `InsertAsync`, `UpdateAsync` or `DeleteAsync` methods (since MongoDB has not a change tracking system).

3
docs/en/Module-Entity-Extensions.md

@ -491,3 +491,6 @@ Here, a few things you can do:
* You can override a domain or application service to perform custom logics with your new property.
* You can low level control how to add/render a field in the data table on the UI.
## See Also
* [Angular UI Extensions](UI/Angular/Extensions-Overall.md)

4
docs/en/Testing.md

@ -647,7 +647,7 @@ namespace MyProject.Issues
}
````
It's that simple. This test method tests everything, including the application service, EF Core mapping, object to object mapping and the repository implementation. In this way, you can fully test the Application Later and the Domain Layer of your solution.
It's that simple. This test method tests everything, including the application service, EF Core mapping, object to object mapping and the repository implementation. In this way, you can fully test the Application Layer and the Domain Layer of your solution.
## UI Tests
@ -670,4 +670,4 @@ See the following documents to learn Non Visual UI Testing;
Visual Tests are used to interact with the application UI just like a real user does. It fully tests the application, including the visual appearance of the pages and components.
Visual UI Testing is out of the scope for the ABP Framework. There are a lot of tooling in the industry (like [Selenium](https://www.selenium.dev/)) that you can use to test your application's UI.
Visual UI Testing is out of the scope for the ABP Framework. There are a lot of tooling in the industry (like [Selenium](https://www.selenium.dev/)) that you can use to test your application's UI.

10
docs/en/UI/Angular/Extensions-Overall.md

@ -0,0 +1,10 @@
## Angular UI Extensions
Angular UI extensions system allows you to add a new action to the actions menu, a new column to the data table, a new action to the toolbar of a page, and add a new field to the create and/or edit forms.
See the documents below for the details:
* [Entity Action Extensions](Entity-Action-Extensions.md)
* [Data Table Column (or Entity Prop) Extensions](Data-Table-Column-Extensions.md)
* [Page Toolbar Extension](Page-Toolbar-Extensions.md)
* [Dynamic Form (or Form Prop) Extensions](Dynamic-Form-Extensions.md)

4
docs/en/docs-nav.json

@ -1061,6 +1061,10 @@
{
"text": "Extensions",
"items": [
{
"text": "Overall",
"path": "UI/Angular/Extensions-Overall.md"
},
{
"text": "Entity Action Extensions",
"path": "UI/Angular/Entity-Action-Extensions.md"

53
docs/zh-Hans/Distributed-Event-Bus.md

@ -299,55 +299,4 @@ namespace AbpDemo
}
````
此示例使用AutoMapper的 `AutoMap` 属性配置的映射. 你可以创建一个配置文件类代替. 请参阅AutoMapper文档了解更多选项.
## 异常处理
ABP提供了异常处理, 它会进行重试并且重试失败后移动到死信队列.
启用异常处理:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.EnabledErrorHandle = true;
options.UseRetryStrategy();
});
}
```
* `EnabledErrorHandle` 用于启用异常处理.
* `UseRetryStrategy` 用于启用重试.
当一个异常抛出,它会每3秒重试一次直到最大重试次数(默认是3)并且移动到错误队列, 你可以更改重试次数,重试间隔和死信队列名称:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.DeadLetterName = "dead_queue";
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### 错误处理选择器
默认所有的事件类型都会被处理, 你可以使用 `AbpEventBusOptions``ErrorHandleSelector` 来更改它:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` 实际上是一个类型类型谓词列表. 你可以编写lambda来定义你的过滤.
### 自定义异常处理
ABP定义了 `IEventErrorHandler` 接口并且由提供程序实现, 你可以通过[依赖注入](Dependency-Injection.md)替换它.
此示例使用AutoMapper的 `AutoMap` 属性配置的映射. 你可以创建一个配置文件类代替. 请参阅AutoMapper文档了解更多选项.

46
docs/zh-Hans/Local-Event-Bus.md

@ -158,52 +158,6 @@ namespace AbpDemo
如果您执行**数据库操作**并在事件处理程序中使用[仓储](Repositories.md),那么您可能需要创建一个[工作单元](Unit-Of-Work.md),因为一些存储库方法需要在**活动的工作单元**中工作. 确保处理方法设置为 `virtual`,并为该方法添加一个 `[UnitOfWork]` attribute. 或者手动使用 `IUnitOfWorkManager` 创建一个工作单元范围.
## 异常处理
ABP提供了异常处理, 当异常发现时它会进行重试.
启用异常处理:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy();
});
}
```
当一个异常抛出,它会每3秒重试一次直到最大重试次数(默认是3)并且移动抛出原始异常, 你可以更改重试次数和重试间隔和:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### 错误处理选择器
默认所有的事件类型都会被处理, 你可以使用 `AbpEventBusOptions``ErrorHandleSelector` 来更改它:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` 实际上是一个类型类型谓词列表. 你可以编写lambda来定义你的过滤.
### 自定义异常处理
ABP定义了 `IEventErrorHandler` 接口并且由 `LocalEventErrorHandler` 实现, 你可以通过[依赖注入](Dependency-Injection.md)替换它.
### 事务和异常行为
当一个事件发布,订阅的事件处理程序将立即执行.所以;

1
framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs

@ -504,6 +504,7 @@ namespace Volo.Abp.BlazoriseUI
{
await GetEntitiesAsync();
await InvokeAsync(StateHasChanged);
await Notify.Success(L["SuccessfullyDeleted"]);
}
protected virtual string GetDeleteConfirmationMessage(TListViewModel entity)

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "حفظ...",
"Actions": "أجراءات",
"Delete": "حذف",
"SuccessfullyDeleted": "تم الحذف بنجاح",
"Edit": "تعديل",
"Refresh": "تحديث",
"Language": "لغة",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/cs.json

@ -12,6 +12,7 @@
"SavingWithThreeDot": "Ukládám...",
"Actions": "Akce",
"Delete": "Smazat",
"SuccessfullyDeleted": "Úspěšně smazáno",
"Edit": "Upravit",
"Refresh": "Obnovit",
"Language": "Jazyk",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/de-DE.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Speichern...",
"Actions": "Aktionen",
"Delete": "Löschen",
"SuccessfullyDeleted": "Erfolgreich gelöscht",
"Edit": "Bearbeiten",
"Refresh": "Aktualisieren",
"Language": "Sprache",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/de.json

@ -12,6 +12,7 @@
"SavingWithThreeDot": "Speichere...",
"Actions": "Aktionen",
"Delete": "Löschen",
"SuccessfullyDeleted": "Erfolgreich gelöscht",
"Edit": "Bearbeiten",
"Refresh": "Aktualisieren",
"Language": "Sprache",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en-GB.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Saving",
"Actions": "Actions",
"Delete": "Delete",
"SuccessfullyDeleted": "Successfully deleted",
"Edit": "Edit",
"Refresh": "Refresh",
"Language": "Language",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Saving...",
"Actions": "Actions",
"Delete": "Delete",
"SuccessfullyDeleted": "Successfully deleted",
"Edit": "Edit",
"Refresh": "Refresh",
"Language": "Language",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Guardando...",
"Actions": "Opciones",
"Delete": "Borrar",
"SuccessfullyDeleted": "Eliminado con éxito",
"Edit": "Editar",
"Refresh": "Actualizar",
"Language": "Idioma",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/fi.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Tallentaa...",
"Actions": "Toiminnot",
"Delete": "Poistaa",
"SuccessfullyDeleted": "Poistettu onnistuneesti",
"Edit": "Muokata",
"Refresh": "virkistää",
"Language": "Kieli",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/fr.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Enregistrement...",
"Actions": "Actions",
"Delete": "Supprimer",
"SuccessfullyDeleted": "Supprimé avec succès",
"Edit": "Modifier",
"Refresh": "Actualiser",
"Language": "Langue",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/hi.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "सहेजा जा रहा है...",
"Actions": "कार्रवाई",
"Delete": "हटाएं",
"SuccessfullyDeleted": "सफलतापूर्वक हटा दिया गया",
"Edit": "संपादित करें",
"Refresh": "ताज़ा करना",
"Language": "भाषा: हिन्दी",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/hu.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Mentés...",
"Actions": "Műveletek",
"Delete": "Törlés",
"SuccessfullyDeleted": "Sikeresen törölve",
"Edit": "Szerkesztés",
"Refresh": "Frissítés",
"Language": "Nyelv",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/it.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Salvataggio...",
"Actions": "Azioni",
"Delete": "Elimina",
"SuccessfullyDeleted": "Șters cu succes",
"Edit": "Modifica",
"Refresh": "Ricarica",
"Language": "Lingua",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/nl.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Opslaan...",
"Actions": "Acties",
"Delete": "Verwijder",
"SuccessfullyDeleted": "Succesvol verwijderd",
"Edit": "Bewerk",
"Refresh": "Ververs",
"Language": "Taal",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pl-PL.json

@ -10,6 +10,7 @@
"SavingWithThreeDot": "Zapisywanie...",
"Actions": "Akcje",
"Delete": "Usuń",
"SuccessfullyDeleted": "Pomyślnie usunięto",
"Edit": "Edytuj",
"Refresh": "Odśwież",
"ProcessingWithThreeDot": "Procesowanie...",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json

@ -10,6 +10,7 @@
"SavingWithThreeDot": "Salvando...",
"Actions": "Ações",
"Delete": "Excluir",
"SuccessfullyDeleted": "Excluído com sucesso",
"Edit": "Editar",
"Refresh": "Refrescar",
"ProcessingWithThreeDot": "Processando...",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ro-RO.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Se salvează...",
"Actions": "Acţiuni",
"Delete": "Şterge",
"SuccessfullyDeleted": "Șters cu succes",
"Edit": "Editează",
"Refresh": "Reîncarcă",
"Language": "Limba",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ru.json

@ -12,6 +12,7 @@
"SavingWithThreeDot": "Сохранение...",
"Actions": "Действия",
"Delete": "Удалить",
"SuccessfullyDeleted": "Успешно удалено",
"Edit": "Редактировать",
"Refresh": "Обновить",
"Language": "Язык",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/sk.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Úkladanie...",
"Actions": "Akcie",
"Delete": "Odstrániť",
"SuccessfullyDeleted": "Úspešne odstránené",
"Edit": "Upraviť",
"Refresh": "Obnoviť",
"Language": "Jazyk",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/sl.json

@ -12,6 +12,7 @@
"SavingWithThreeDot": "Shranjujem...",
"Actions": "Dejanja",
"Delete": "Izbriši",
"SuccessfullyDeleted": "Uspešno izbrisano",
"Edit": "Uredi",
"Refresh": "Osveži",
"Language": "Jezik",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/tr.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "Kaydediliyor...",
"Actions": "İşlemler",
"Delete": "Sil",
"SuccessfullyDeleted": "Başarıyla silindi",
"Edit": "Düzenle",
"Refresh": "Yenile",
"Language": "Dil",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json

@ -10,6 +10,7 @@
"SavingWithThreeDot": "Đang lưu...",
"Actions": "Hành động",
"Delete": "Xóa",
"SuccessfullyDeleted": "Đã xóa thành công",
"Edit": "Sửa",
"Refresh": "Làm mới",
"ProcessingWithThreeDot": "Đang xử lý...",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hans.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "保存中...",
"Actions": "操作",
"Delete": "删除",
"SuccessfullyDeleted": "删除成功",
"Edit": "编辑",
"Refresh": "刷新",
"Language": "语言",

1
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json

@ -13,6 +13,7 @@
"SavingWithThreeDot": "保存中...",
"Actions": "操作",
"Delete": "刪除",
"SuccessfullyDeleted": "刪除成功",
"Edit": "修改",
"Refresh": "更新",
"Language": "語言",

1
framework/test/Volo.Abp.Serialization.Tests/Volo/Abp/Serialization/Objects/CarSerializer.cs

@ -1,7 +1,6 @@
using System.Text.Json;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Serialization.Objects
{
public class CarSerializer : IObjectSerializer<Car>, ITransientDependency

24
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/it.json

@ -3,14 +3,14 @@
"texts": {
"UserName": "Nome utente",
"EmailAddress": "Indirizzo e-mail",
"UserNameOrEmailAddress": "Username o Indirizzo Email",
"UserNameOrEmailAddress": "Username o Indirizzo e-mail",
"Password": "Password",
"RememberMe": "Ricordati di me",
"UseAnotherServiceToLogin": "Usa un altro servizio per accedere",
"UserLockedOutMessage": "L'account utente è stato bloccato a causa di tentativi di accesso non validi. Attendi qualche istante e riprova.",
"UserLockedOutMessage": "L'account utente è stato bloccato a causa di troppi tentativi di accesso non validi. Attendi qualche istante e riprova.",
"InvalidUserNameOrPassword": "Username o password non validi!",
"LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o deve confermare la tua email/numero di telefono.",
"SelfRegistrationDisabledMessage": "L'auto-registrazione è disabilitata per questa applicazione. Contatta l'amministratore dell'applicazione per registrare un nuovo utente.",
"LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o devi confermare la tua e-mail/numero di telefono.",
"SelfRegistrationDisabledMessage": "L'auto-registrazione è disabilitata per questa applicazione. Contatta l'amministratore dell'applicazione per richiedere la registrazione.",
"LocalLoginDisabledMessage": "L'accesso locale è disabilitato per questa applicazione.",
"Login": "Login",
"Cancel": "Annulla",
@ -36,18 +36,18 @@
"PasswordChanged": "Password cambiata",
"NewPasswordConfirmFailed": "Conferma la nuova password.",
"Manage": "Gestire",
"MyAccount": "Il mio conto",
"MyAccount": "Il mio account",
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "L'auto-registrazione è abilitata",
"Description:Abp.Account.IsSelfRegistrationEnabled": "Se un utente può registrare l'account da solo.",
"DisplayName:Abp.Account.EnableLocalLogin": "Autentica con un account locale",
"Description:Abp.Account.IsSelfRegistrationEnabled": "Indica se un utente può registrare l'account da solo.",
"DisplayName:Abp.Account.EnableLocalLogin": "Autenticazione con un account locale",
"Description:Abp.Account.EnableLocalLogin": "Indica se il server consentirà agli utenti di autenticarsi con un account locale.",
"LoggedOutTitle": "Disconnesso",
"LoggedOutText": "Sei stato disconnesso e verrai reindirizzato presto.",
"ReturnToText": "Fai clic qui per reindirizzare a {0}",
"OrLoginWith": "Oppure accedi con:",
"ForgotPassword": "Ha dimenticato la password?",
"SendPasswordResetLink_Information": "Un link per reimpostare la password verrà inviato alla tua e-mail per reimpostare la password. Se non ricevi un'email entro pochi minuti, riprova.",
"PasswordResetMailSentMessage": "E-mail di recupero dell'account inviata al tuo indirizzo e-mail. Se non vedi questa email nella tua posta in arrivo entro 15 minuti, cercala nella cartella della posta indesiderata. Se lo trovi lì, contrassegnalo come -Non Junk-.",
"SendPasswordResetLink_Information": "Un link per reimpostare la password verrà inviato alla tua e-mail. Se non ricevi l'e-mail entro pochi minuti, riprova.",
"PasswordResetMailSentMessage": "E-mail di recupero dell'account inviata al tuo indirizzo e-mail. Se non vedi questa e-mail nella tua posta in arrivo entro 15 minuti, cercala nella cartella della posta indesiderata. Se lo trovi lì, contrassegnalo come -Non Junk-.",
"ResetPassword": "Resetta la password",
"ConfirmPassword": "Conferma (ripeti) la password",
"ResetPassword_Information": "Per favore inserisci la tua nuova password.",
@ -57,11 +57,11 @@
"ProfileTab:Password": "Cambia la password",
"ProfileTab:PersonalInfo": "Informazioni personali",
"ReturnToApplication": "Torna all'applicazione",
"Volo.Account:InvalidEmailAddress": "Impossibile trovare l'indirizzo email fornito: {0}",
"Volo.Account:InvalidEmailAddress": "Impossibile trovare l'indirizzo e-mail fornito: {0}",
"PasswordReset": "Reimpostazione della password",
"PasswordResetInfoInEmail": "Abbiamo ricevuto una richiesta di recupero dell'account! Se hai avviato questa richiesta, fai clic sul seguente collegamento per reimpostare la password.",
"PasswordResetInfoInEmail": "Abbiamo ricevuto una richiesta di recupero dell'account! Se hai fatto tu questa richiesta fai clic sul seguente collegamento per reimpostare la password.",
"ResetMyPassword": "Reimposta la mia password",
"AccessDenied": "Accesso negato!",
"AccessDeniedMessage": "Non hai accesso a questa risorsa."
}
}
}

3
modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/index.js

@ -49,13 +49,14 @@ $(function () {
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
},
},
{
text: l("ClearCache"),
visible: abp.auth.isGranted(
'Blogging.Blog.ClearCache'
'Blogging.Blog.ClearCache'
),
confirmMessage: function (data) {
return l("ClearCacheConfirmationMessage");

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js

@ -44,6 +44,7 @@ $(function () {
.delete(data.record.id)
.then(function () {
dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
}
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js

@ -49,6 +49,7 @@ $(function () {
.delete(data.record.id)
.then(function () {
dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
}
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/details.js

@ -74,6 +74,7 @@ $(function (){
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
}
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/index.js

@ -74,6 +74,7 @@ $(function (){
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
}
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/index.js

@ -43,6 +43,7 @@ $(function (){
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
}
}

1
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js

@ -57,6 +57,7 @@ $(function () {
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
},
},

1
modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/index.js

@ -63,6 +63,7 @@
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
},
}

1
modules/identity/src/Volo.Abp.Identity.Web/Pages/Identity/Users/index.js

@ -58,6 +58,7 @@
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
},
}

8
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/it.json

@ -2,14 +2,14 @@
"culture": "it",
"texts": {
"Volo.IdentityServer:DuplicateIdentityResourceName": "Il nome della risorsa identità esiste già: {Name}",
"Volo.IdentityServer:DuplicateApiResourceName": "L'Api Resource esiste già: {Name}",
"Volo.IdentityServer:DuplicateApiResourceName": "L'API Resource esiste già: {Name}",
"Volo.IdentityServer:DuplicateApiScopeName": "L'API Scope esiste già: {Name}",
"Volo.IdentityServer:DuplicateClientId": "ClientId già esistente: {ClientId}",
"UserLockedOut": "L'account utente è stato bloccato a causa di tentativi di accesso non validi. Attendi qualche istante e riprova.",
"InvalidUserNameOrPassword": "Username o password non validi!",
"LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o deve confermare la tua email/numero di telefono.",
"LoginIsNotAllowed": "Non sei autorizzato ad accedere! Il tuo account non è attivo o devi confermare la tua e-mail/numero di telefono.",
"InvalidUsername": "Username o password non validi!",
"InvalidAuthenticatorCode": "Codice autenticatore non valido!",
"TheTargetUserIsNotLinkedToYou": "L'utente di destinazione non è collegato a te!"
"TheTargetUserIsNotLinkedToYou": "L'utente indicato non è collegato a te!"
}
}
}

1
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js

@ -57,6 +57,7 @@
.delete(data.record.id)
.then(function () {
_dataTable.ajax.reload();
abp.notify.success(l('SuccessfullyDeleted'));
});
},
}

Loading…
Cancel
Save