Altinn / Altinn/app-lib-dotnet
Språkstøtte på presentationsfields
- Dominant language
- C#
- Stars
- 8
- Forks
- 27
- Avg merge
- 1h 21m
- Merged PRs (30d)
- 7
Description
### Description
Siden vi kan legge til presentationsfields som vises i innboksen til brukeren, er det behov for at denne teksten også støtter forskjellige språk. Slik at dette endres etter hva bruker velger av språk.
Slik det er i dag vil alle se samme tekst, uavhengig av om dette settes direkte i applicationmetadata fila eller via kode.
Vi kan endre dette via pålogget bruker men det er ingen god løsning da to brukere kan benytte forskjellig språk og da er det siste pålogget som styrer hvilket språk som vises i innboksen.
### Additional Information
Presentations fields blir definert slik i dag i applicationmetadata:
```
"presentationFields": [
{
"Id": "periodeFritekst",
"Path": "InternInfo.periodeFritekst",
"DataTypeId": "Vedlegg_M_7062_SERES"
}
],
```
eller via kode slik:
```
var customDataValues = new PresentationTexts(){ Texts =new Dictionary() { { "periodeFritekst", _model.InternInfo.periodeFritekst },
{ "skjemaNavn", _model.Hjelpefelter.skjemaNavn }}};
await _instanceService.UpdatePresentationTexts(GetPartyIdFromInstance(instance),GetInstanceGUIDFromInstance(instance), customDataValues);
```
Man trenger da å få lagt til språk på disse i tillegg, slik som det er på title i applicationmetadata i dag:
```
"title": {
"nb": "Vedleggsskjema (RA-1000)"
},
```
for eksempel slik:
```
"presentationFields": [
{
"Id": "periodeFritekst",
"Path": "InternInfo.periodeFritekst",
"DataTypeId": "Vedlegg_M_7062_SERES",
"Language": "nb"
}
],
```
Og da selvfølgelig muligheten til å sette dette i koden ved instansiering som i dag. I tillegg må valget av språk av bruker gjenspeiles i innboksen i Altinn.
Contributor guide
Research direction
Start by tracing PresentationTexts, UpdatePresentationTexts, applicationmetadata presentationFields, and the inbox rendering path. Confirm how applicationmetadata titles currently select languages and how the logged-in user's language reaches the inbox; done means each presentation field can carry localized text and the inbox shows the version matching each user without shared global state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend, localization
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100