mirror of
https://github.com/go-gitea/gitea
synced 2025-07-15 23:17:19 +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:
@@ -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:]
|
||||
}
|
||||
|
Reference in New Issue
Block a user