Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to override the default culture (Localization) ABP.IO?

How to override the default AbpAccount, AbpValidation, AbpFeatureManagement etc

The config is provided from this endpoint : /api/abp/application-configuration

I have a fr.json file however I am not sure where to place it?

Currentlty everything is shown in English but I want to show it in French

like image 396
Moulldar Avatar asked Dec 05 '25 06:12

Moulldar


1 Answers

I create an example to show how to Extending ABP Existing Resource

This example is based on the following document https://docs.abp.io/en/abp/latest/Localization#extending-existing-resource

We will change the default DisplayName:Abp.Timing.Timezone and Description:Abp.Timing.Timezone of AbpTimingResource and add localized text in Russian language(ru).

I created the AbpTiming folder in the Localization directory of the ExtendLocalizationResource.Domain.Shared project.

Create en.json and ru.json in its directory.

en.json

{
  "culture": "en",
  "texts": {
    "DisplayName:Abp.Timing.Timezone": "My Time zone",
    "Description:Abp.Timing.Timezone": "My Application time zone"
  }
}

ru.json

{
  "culture": "ru",
  "texts": {
    "DisplayName:Abp.Timing.Timezone": "Часовой пояс",
    "Description:Abp.Timing.Timezone": "Часовой пояс приложения"
  }
}

Change the code of the ConfigureServices method in ExtendLocalizationResourceDomainSharedModule.

Configure<AbpLocalizationOptions>(options =>
{
    options.Resources
        .Add<ExtendLocalizationResourceResource>("en")
        .AddBaseTypes(typeof(AbpValidationResource))
        .AddVirtualJson("/Localization/ExtendLocalizationResource");

    //add following code
    options.Resources
        .Get<AbpTimingResource>()
        .AddVirtualJson("/Localization/AbpTiming");

    options.DefaultResourceType = typeof(ExtendLocalizationResourceResource);
});

Execute ExtendLocalizationResource.DbMigrator to migrate the database and run ExtendLocalizationResource.Web.

We have changed the English localization text and added Russian localization.

<p>@AbpTimingResource["DisplayName:Abp.Timing.Timezone"]</p>
@using(CultureHelper.Use("ru"))
{
    <p>@AbpTimingResource["DisplayName:Abp.Timing.Timezone"]</p>
}

image

https://github.com/abpframework/abp-samples/pull/38

like image 101
maliming Avatar answered Dec 09 '25 16:12

maliming



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!