mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-19 23:50:51 +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:
parent
01d9466bfd
commit
19de52e0f4
24 changed files with 94 additions and 227 deletions
|
@ -35,27 +35,3 @@ func SplitStringAtByteN(input string, n int) (left, right string) {
|
|||
|
||||
return input[:end] + utf8Ellipsis, utf8Ellipsis + input[end:]
|
||||
}
|
||||
|
||||
// SplitStringAtRuneN splits a string at rune n accounting for rune boundaries. (Combining characters are not accounted for.)
|
||||
func SplitStringAtRuneN(input string, n int) (left, right string) {
|
||||
if !utf8.ValidString(input) {
|
||||
if len(input) <= n || n-3 < 0 {
|
||||
return input, ""
|
||||
}
|
||||
return input[:n-3] + asciiEllipsis, asciiEllipsis + input[n-3:]
|
||||
}
|
||||
|
||||
if utf8.RuneCountInString(input) <= n {
|
||||
return input, ""
|
||||
}
|
||||
|
||||
count := 0
|
||||
end := 0
|
||||
for count < n-1 {
|
||||
_, size := utf8.DecodeRuneInString(input[end:])
|
||||
end += size
|
||||
count++
|
||||
}
|
||||
|
||||
return input[:end] + utf8Ellipsis, utf8Ellipsis + input[end:]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue