Closes #2223 - [x] Adds `localesAvailable` to `/api/settings` endpoint, and uses that list if available, rather than the full list of translated locales, to determine which options to display to users - [x] ~~Uses the user's browser locales, filtered to the current language setting, for formatting numbers, dates, and durations~~ - [x] Adds & persists checkbox for "use same language for formatting dates and numbers" in user settings - [x] Replaces uses of `sl-format-bytes` with `localize.bytes(...)`, and `sl-format-date` with replacement `btrix-format-date` that properly handles fallback locales - [x] Caches all number/duration/datetime formatters by a combined key consisting of app language, browser language, browser setting, and formatter options so that all formatters can be reused if needed (previously any formatter with non-default options would be recreated every render) - [x] Splits out ordinal formatting from number formatter, as it didn't make much sense in some non-English locales - [x] Adds a little demo of date/time/duration/number formatting so you can see what effect your language settings have https://github.com/user-attachments/assets/724858cb-b140-4d72-a38d-83f602c71bc7 --------- Signed-off-by: emma <hi@emma.cafe> Co-authored-by: Ilya Kreymer <ikreymer@gmail.com> Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com> |
||
---|---|---|
.. | ||
ansible-lint.yaml | ||
deploy-dev.yaml | ||
docs-publish.yaml | ||
frontend-build-prepare.yaml | ||
k3d-ci.yaml | ||
k3d-log-ci.yaml | ||
k3d-nightly-ci.yaml | ||
lint.yaml | ||
microk8s-ci.yaml | ||
password-check.yaml | ||
project-assign-issue.yml | ||
publish-helm-chart.yaml | ||
release.yaml | ||
ui-tests-playwright.yml | ||
weblate-reformat.yaml |