angular / angular/angular-cli

Ability to manually specify locale in SSR

Aperta
#29,019 6 commenti 5 reazioni 0 assegnatari Vedi su GitHub
area: @angular/ssr feature feature: insufficient votes
Lingua principale
TypeScript
Stelle
27k
Fork
11.8k
Merge medio
14h 23m
PR unite (30g)
162

Descrizione

### Description

There is no way to specify locale in [`AngularAppEngine#handle`](https://github.com/angular/angular-cli/blob/19.0.0/packages/angular/ssr/src/app-engine.ts#L65-L69) based on [`Accept-Language`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language), [`Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cookie), etc. The current implementation of [`AngularAppEngine`](https://github.com/angular/angular-cli/blob/19.0.0/packages/angular/ssr/src/app-engine.ts#L24) chooses locale based on URL.

### Describe the solution you'd like

Ability to specify an array of locales when calling `handle`:

```diff
app.use('/**', (req, res, next) => {
angularApp
- .handle(req)
+ .handle(req, undefined, { locales: req.acceptsLanguages() })
.then((response) =>
response ? writeResponseToNodeResponse(response, res) : next(),
)
```

As far as I understand, this will also require removing the locale prefix from ``.

### Describe alternatives you've considered

_No response_

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Iniziate da packages/angular/ssr/src/app-engine.ts, in particolare da AngularAppEngine#handle e dalla selezione attuale della locale basata sull’URL. Tracciate il percorso della locale fino al documento renderizzato, quindi verificate che i chiamanti possano fornire un array ordinato di locale dai dati della richiesta e che il risultante non mantenga un prefisso di locale indesiderato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
backend, internationalization
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.