mirror of
https://github.com/go-gitea/gitea.git
synced 2024-05-11 05:55:29 +00:00
Introduce GiteaLocaleNumber custom element to handle number localization on pages. (#23861)
Follow #21429 & #22861 Use `<gitea-locale-number>` instead of backend `PrettyNumber`. All old `PrettyNumber` related functions are removed. A lot of code could be simplified. And some functions haven't been used for long time (dead code), so they are also removed by the way (eg: `SplitStringAtRuneN`, `Dedent`) This PR only tries to improve the `PrettyNumber` rendering problem, it doesn't touch the "plural" problem. Screenshot:  
This commit is contained in:
@ -1,20 +1,9 @@
|
||||
import {prettyNumber} from '../utils.js';
|
||||
|
||||
const {lang} = document.documentElement;
|
||||
const dateFormatter = new Intl.DateTimeFormat(lang, {year: 'numeric', month: 'long', day: 'numeric'});
|
||||
const shortDateFormatter = new Intl.DateTimeFormat(lang, {year: 'numeric', month: 'short', day: 'numeric'});
|
||||
const dateTimeFormatter = new Intl.DateTimeFormat(lang, {year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric'});
|
||||
|
||||
export function initFormattingReplacements() {
|
||||
// replace english formatted numbers with locale-specific separators
|
||||
for (const el of document.getElementsByClassName('js-pretty-number')) {
|
||||
const num = Number(el.getAttribute('data-value'));
|
||||
const formatted = prettyNumber(num, lang);
|
||||
if (formatted && formatted !== el.textContent) {
|
||||
el.textContent = formatted;
|
||||
}
|
||||
}
|
||||
|
||||
// for each <time></time> tag, if it has the data-format attribute, format
|
||||
// the text according to the user's chosen locale and formatter.
|
||||
formatAllTimeElements();
|
||||
|
Reference in New Issue
Block a user