Files
corner/résumé/localize.typ
Romain Paquet 47473a53b5
All checks were successful
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
typo: rename 'resumé' to 'résumé'
2025-11-04 20:21:00 +01:00

22 lines
471 B
Typst

#let is-translation-dict(d) = d.keys().first().len() == 2
#let localize(lang, s) = {
let localize-dict(s) = {
if is-translation-dict(s) {
localize(lang, s.at(lang))
} else {
let t = (:)
for (k, v) in s {
t.insert(k, localize(lang, v))
}
t
}
}
let localize-array(s) = s.map(localize.with(lang))
if type(s) == array { localize-array(s) }
else if type(s) == dictionary { localize-dict(s) }
else { s }
}