Localizations can be determined on backend side. Angular UI gets the localizations from the `application-configuration` API's response. You can also determine localizations on the UI side.
See an example:
```ts
// app.module.ts
@NgModule({
imports: [
//...other imports
CoreModule.forRoot({
localizations: [
{
culture: 'en',
resources: [
{
resourceName: 'MyProjectName',
texts: {
Administration: 'Administration',
HomePage: 'Home',
},
},
],
},
{
culture: 'de-DE',
resources: [
{
resourceName: 'MyProjectName',
texts: {
Administration: 'Verwaltung',
HomePage: 'Startseite',
},
},
],
},
],
}),
]
})
```
...or, you can determine the localizations in a feature module:
> **Note:** If you have specified the same localizations in the UI and backend, the backend localizations override the UI localizations.
## RTL Support
As of v2.9 ABP has RTL support. If you are generating a new project with v2.9 and above, everything is set, you do not need to do any changes. If you are migrating your project from an earlier version, please follow the 2 steps below:
@ -137,7 +242,7 @@ Find [styles configuration in angular.json](https://angular.io/guide/workspace-c
"bundleName": "bootstrap-ltr.min"
},
"apps/dev-app/src/styles.scss"
],
]
}
}
}
@ -198,7 +303,6 @@ import { registerLocale } from '@abp/ng.core/locale';
]
```
### Mapping of Culture Name to Angular Locale File Name
Some of the culture names defined in .NET do not match Angular locales. In such cases, the Angular app throws an error like below at runtime:
@ -222,7 +326,7 @@ import { registerLocale } from '@abp/ng.core/locale';
// ...other options,
registerLocaleFn: registerLocale(
{
cultureNameLocaleFileMap: {
cultureNameLocaleFileMap: {
"DotnetCultureName": "AngularLocaleFileName",
"pt-BR": "pt" // example
},
@ -243,10 +347,10 @@ Add the below code to the `app.module.ts` by replacing `your-locale` placeholder
import { storeLocaleData } from '@abp/ng.core/locale';