Fix issue #642, frontend not in english if the user language does not exist
#648
Zusammengeführt
requiem958
hat 2 Commits von issue-frontend-language
nach master
vor 5 Jahren zusammengeführt
Laden…
In neuem Issue referenzieren
Hier gibt es bis jetzt noch keinen Inhalt.
Branch „issue-frontend-language“ löschen
Das Löschen eines Branches ist permanent. Es KANN NICHT rückgängig gemacht werden. Fortfahren?
Fix #642
Iterate over catalogs to find the english index and then use it instead of 0.
Codecov Report
Codecov Report
please ignore my rambling
@ -47,2 +47,4 @@
let lang = js! { return navigator.language }.into_string().unwrap();
let lang = lang.splitn(2, '-').next().unwrap_or("en");
let english_position = catalogs
this should be either a (cached?) constant, or a (cached?) config value
@ -49,0 +50,4 @@
let english_position = catalogs
.iter()
.position(|(language_code, _)| *language_code == "en")
.unwrap();
while i understand that this is a simple operation, i don't think we need to do it every time
actually, never mind, this is an operation that's only dealing with things known at compile time
the optimiser will probably inline this as a constant literal
@ -47,2 +47,4 @@
let lang = js! { return navigator.language }.into_string().unwrap();
let lang = lang.splitn(2, '-').next().unwrap_or("en");
let english_position = catalogs
It should be a constant yes, but the rust doc of constant says :
So i thought the keyword const was forbidden in this case.
@ -47,2 +47,4 @@
let lang = js! { return navigator.language }.into_string().unwrap();
let lang = lang.splitn(2, '-').next().unwrap_or("en");
let english_position = catalogs
All this is in a lazy_static! call, so the result will be evaluated only one time, the first time CATALOG is accessed. The only thing it's not is cached between two different page loading, but that's not necessary imo
Reviewer
935d331e97
gemergt.Schritt 1:
Wechsle auf einen neuen Branch in deinem lokalen Repository und teste die Änderungen.Schritt 2:
Führe die Änderungen zusammen und aktualisiere den Stand online auf Forgejo.