summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-04-29 05:23:19 +0800
committerGitHub <noreply@github.com>2023-04-28 17:23:19 -0400
commitbc4e06109dae33edc0a9a918f244563f05a1a353 (patch)
tree6fd2e68d8d3b874576fdd6a2c7a4a4681bef6c98 /modules
parentbc784a705bc5a49ddb3ceffe1ef1205fd15f0c08 (diff)
downloadgitea-bc4e06109dae33edc0a9a918f244563f05a1a353.tar.gz
gitea-bc4e06109dae33edc0a9a918f244563f05a1a353.zip
Make repo size style matches others (commits/branches/tags) (#24408)
The "unit" part shouldn't have bold style.
Diffstat (limited to 'modules')
-rw-r--r--modules/templates/util_string.go4
-rw-r--r--modules/translation/translation.go8
-rw-r--r--modules/translation/translation_test.go5
3 files changed, 17 insertions, 0 deletions
diff --git a/modules/templates/util_string.go b/modules/templates/util_string.go
index e86bbe9e70..42d11fc990 100644
--- a/modules/templates/util_string.go
+++ b/modules/templates/util_string.go
@@ -18,3 +18,7 @@ func (su *StringUtils) HasPrefix(s, prefix string) bool {
func (su *StringUtils) Contains(s, substr string) bool {
return strings.Contains(s, substr)
}
+
+func (su *StringUtils) Split(s, sep string) []string {
+ return strings.Split(s, sep)
+}
diff --git a/modules/translation/translation.go b/modules/translation/translation.go
index 56cf1df2d4..49dfa84d1b 100644
--- a/modules/translation/translation.go
+++ b/modules/translation/translation.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/options"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/translation/i18n"
+ "code.gitea.io/gitea/modules/util"
"golang.org/x/text/language"
"golang.org/x/text/message"
@@ -241,5 +242,12 @@ func (l *locale) TrN(cnt any, key1, keyN string, args ...any) string {
func (l *locale) PrettyNumber(v any) string {
// TODO: this mechanism is not good enough, the complete solution is to switch the translation system to ICU message format
+ if s, ok := v.(string); ok {
+ if num, err := util.ToInt64(s); err == nil {
+ v = num
+ } else if num, err := util.ToFloat64(s); err == nil {
+ v = num
+ }
+ }
return l.msgPrinter.Sprintf("%v", number.Decimal(v))
}
diff --git a/modules/translation/translation_test.go b/modules/translation/translation_test.go
index 83a40f1458..464aa32661 100644
--- a/modules/translation/translation_test.go
+++ b/modules/translation/translation_test.go
@@ -21,7 +21,12 @@ func TestPrettyNumber(t *testing.T) {
l := NewLocale("id-ID")
assert.EqualValues(t, "1.000.000", l.PrettyNumber(1000000))
+ assert.EqualValues(t, "1.000.000,1", l.PrettyNumber(1000000.1))
+ assert.EqualValues(t, "1.000.000", l.PrettyNumber("1000000"))
+ assert.EqualValues(t, "1.000.000", l.PrettyNumber("1000000.0"))
+ assert.EqualValues(t, "1.000.000,1", l.PrettyNumber("1000000.1"))
l = NewLocale("nosuch")
assert.EqualValues(t, "1,000,000", l.PrettyNumber(1000000))
+ assert.EqualValues(t, "1,000,000.1", l.PrettyNumber(1000000.1))
}