mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
59 lines
1.3 KiB
Markdown
59 lines
1.3 KiB
Markdown
# Translation service
|
|
|
|
Supports localisation.
|
|
|
|
## Details
|
|
|
|
### Registering translation sources
|
|
|
|
In order to enable localisation support you will need to create a `/resources/i18n/en.json` file
|
|
and register its parent `i18n` folder with your component or application module.
|
|
|
|
For example:
|
|
|
|
```ts
|
|
import { TRANSLATION_PROVIDER } from '@alfresco/adf-core';
|
|
|
|
@NgModule({
|
|
...
|
|
providers: [
|
|
...
|
|
{
|
|
provide: TRANSLATION_PROVIDER,
|
|
multi: true,
|
|
useValue: {
|
|
name: 'ng2-alfresco-core',
|
|
source: 'assets/ng2-alfresco-core'
|
|
}
|
|
}
|
|
]
|
|
})
|
|
```
|
|
|
|
Note: the `source` property points to the web application root, please ensure you have webpack settings to copy all the i18n files at compile time.
|
|
|
|
```text
|
|
index.html
|
|
assets/ng2-alfresco-core/i18n/en.json
|
|
...
|
|
```
|
|
|
|
You can register as many entries as you would like.
|
|
|
|
### Switching languages
|
|
|
|
Depending on your application, you may want to have buttons or dropdown menus to allow language selection for the end users.
|
|
|
|
You can use `TranslationService` to switch languages from your code based on input events of your choice:
|
|
|
|
```ts
|
|
class MyComponent {
|
|
constructor(private translateService: TranslationService) {
|
|
}
|
|
|
|
onLanguageClicked(lang: string) {
|
|
this.translateService.use(lang || 'en');
|
|
}
|
|
}
|
|
```
|