From 19de52e0f4cbd2d62f9d41589fe8815c2c3ceef2 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Tue, 4 Apr 2023 00:58:09 +0800 Subject: Introduce GiteaLocaleNumber custom element to handle number localization on pages. (#23861) Follow #21429 & #22861 Use `` 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: ![image](https://user-images.githubusercontent.com/2114189/229290804-1f63db65-1e34-4a54-84ba-e00b44331b17.png) ![image](https://user-images.githubusercontent.com/2114189/229290911-c88dea00-b11d-48dd-accb-9f52edd73ce4.png) --- web_src/js/features/formatting.js | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'web_src/js/features') diff --git a/web_src/js/features/formatting.js b/web_src/js/features/formatting.js index 837e323376..5590ba44d1 100644 --- a/web_src/js/features/formatting.js +++ b/web_src/js/features/formatting.js @@ -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 tag, if it has the data-format attribute, format // the text according to the user's chosen locale and formatter. formatAllTimeElements(); -- cgit v1.2.3