🐛 (locale): Preserva grafía original de "?lang="
Antes, RequestLocale sólo guardaba el LanguageIdentifier ya resuelto,
así que `Context::route()` propagaba siempre la forma canónica en los
enlaces generados ("?lang=en-US"), aunque el usuario hubiera pedido
"?lang=en". Ahora se conserva el valor original de la query junto al
idioma resuelto, y se reutiliza al construir nuevos enlaces mientras
siga siendo válido.
El idioma efectivo para renderizar la petición no cambia: sigue siendo
siempre el LanguageIdentifier canónico soportado por la aplicación.
This commit is contained in:
parent
fdd2dca280
commit
3e83f8e35e
2 changed files with 81 additions and 51 deletions
|
|
@ -455,7 +455,7 @@ impl Context {
|
|||
pub fn route(&self, path: impl Into<RoutePath>) -> RoutePath {
|
||||
let mut route = path.into();
|
||||
if !route.is_external() && self.locale.needs_lang_query() {
|
||||
route.alter_param("lang", self.locale.langid().to_string());
|
||||
route.alter_param("lang", self.locale.lang_query_value());
|
||||
}
|
||||
route
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue