angular / angular/angular-cli

Ability to manually specify locale in SSR

Aberta
#29,019 6 comentários 5 reações 0 responsáveis Ver no GitHub
area: @angular/ssr feature feature: insufficient votes
Linguagem predominante
TypeScript
Estrelas
27k
Forks
11.8k
Merge médio
14h 23min
PRs com merge (30d)
162

Descrição

### 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_

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece por packages/angular/ssr/src/app-engine.ts, especialmente AngularAppEngine#handle e sua seleção atual de locale baseada na URL. Rastreie como a locale chega ao documento renderizado e, em seguida, verifique se os chamadores podem fornecer um array ordenado de locales a partir dos dados da requisição e se o resultante não mantém um prefixo de locale indesejado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
angular, typescript
Domínio
backend, internationalization
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.