mirror of
https://github.com/LemmyNet/lemmy.git
synced 2025-03-28 22:25:28 +00:00
Ignore accept-language header if not site languages are specified (#5485)
This commit is contained in:
parent
b14c6ae0ee
commit
7b86307760
1 changed files with 11 additions and 7 deletions
|
@ -450,15 +450,19 @@ async fn create_local_user(
|
||||||
// use hashset to avoid duplicates
|
// use hashset to avoid duplicates
|
||||||
let mut language_ids = HashSet::new();
|
let mut language_ids = HashSet::new();
|
||||||
|
|
||||||
// Enable languages from `Accept-Language` header
|
|
||||||
for l in &language_tags {
|
|
||||||
if let Some(found) = all_languages.iter().find(|all| &all.code == l) {
|
|
||||||
language_ids.insert(found.id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Enable site languages. Ignored if all languages are enabled.
|
// Enable site languages. Ignored if all languages are enabled.
|
||||||
let discussion_languages = SiteLanguage::read(&mut context.pool(), local_site.site_id).await?;
|
let discussion_languages = SiteLanguage::read(&mut context.pool(), local_site.site_id).await?;
|
||||||
|
|
||||||
|
// Enable languages from `Accept-Language` header only if no site languages are set. Otherwise it
|
||||||
|
// is possible that browser languages are only set to e.g. French, and the user won't see any
|
||||||
|
// English posts.
|
||||||
|
if !discussion_languages.is_empty() {
|
||||||
|
for l in &language_tags {
|
||||||
|
if let Some(found) = all_languages.iter().find(|all| &all.code == l) {
|
||||||
|
language_ids.insert(found.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
language_ids.extend(discussion_languages);
|
language_ids.extend(discussion_languages);
|
||||||
|
|
||||||
let language_ids = language_ids.into_iter().collect();
|
let language_ids = language_ids.into_iter().collect();
|
||||||
|
|
Loading…
Reference in a new issue