forgejo/modules/translation/mock.go
0ko 584c504e25 feat(ui): localize theme names (#7168)
Allow translating theme names. Not even for i18n reasons but because this way the menu is clearer and cleaner.

The number of translated entries is kept minimal for now. It is easy to pollute locales with these names otherwise.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7168
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2025-03-09 15:12:30 +00:00

48 lines
1 KiB
Go

// Copyright 2020 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package translation
import (
"fmt"
"html/template"
)
// MockLocale provides a mocked locale without any translations
type MockLocale struct {
Lang, LangName string // these fields are used directly in templates: ctx.Locale.Lang
}
var _ Locale = (*MockLocale)(nil)
func (l MockLocale) Language() string {
return "en"
}
func (l MockLocale) TrString(s string, _ ...any) string {
return s
}
func (l MockLocale) Tr(s string, a ...any) template.HTML {
return template.HTML(s)
}
func (l MockLocale) TrN(cnt any, key1, keyN string, args ...any) template.HTML {
return template.HTML(key1)
}
func (l MockLocale) TrPluralString(count any, trKey string, trArgs ...any) template.HTML {
return template.HTML(trKey)
}
func (l MockLocale) TrSize(s int64) ReadableSize {
return ReadableSize{fmt.Sprint(s), ""}
}
func (l MockLocale) HasKey(key string) bool {
return true
}
func (l MockLocale) PrettyNumber(v any) string {
return fmt.Sprint(v)
}