mirror of
https://github.com/go-gitea/gitea
synced 2026-02-03 06:30:35 +00:00
Use flatten translation keys (#36225)
Crowdin does not remove empty lines in nested JSON translation files. Therefore, we use flattened translation keys instead. We have also updated the key-loading logic to ensure that empty values are not applied during translation. --------- Signed-off-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: TheFox0x7 <thefox0x7@gmail.com> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
@@ -9,11 +9,11 @@ fi
|
||||
mv ./options/locale/locale_en-US.json ./options/
|
||||
|
||||
# Remove translation under 25% of en_us
|
||||
baselines=$(wc -l "./options/locale_en-US.json" | cut -d" " -f1)
|
||||
baselines=$(cat "./options/locale_en-US.json" | wc -l)
|
||||
baselines=$((baselines / 4))
|
||||
for filename in ./options/locale/*.json; do
|
||||
lines=$(wc -l "$filename" | cut -d" " -f1)
|
||||
if [ $lines -lt $baselines ]; then
|
||||
lines=$(cat "$filename" | wc -l)
|
||||
if [ "$lines" -lt "$baselines" ]; then
|
||||
echo "Removing $filename: $lines/$baselines"
|
||||
rm "$filename"
|
||||
fi
|
||||
|
||||
@@ -131,16 +131,15 @@ func (l *locale) TrString(trKey string, trArgs ...any) string {
|
||||
var format string
|
||||
idx, ok := l.store.trKeyToIdxMap[trKey]
|
||||
if ok {
|
||||
if msg, ok := l.idxToMsgMap[idx]; ok {
|
||||
format = msg // use the found translation
|
||||
} else if def, ok := l.store.localeMap[l.store.defaultLang]; ok {
|
||||
format = l.idxToMsgMap[idx]
|
||||
if format == "" { // missing translation in this locale, fallback to default
|
||||
if def, ok := l.store.localeMap[l.store.defaultLang]; ok {
|
||||
// try to use default locale's translation
|
||||
if msg, ok := def.idxToMsgMap[idx]; ok {
|
||||
format = msg
|
||||
format = def.idxToMsgMap[idx]
|
||||
}
|
||||
}
|
||||
}
|
||||
if format == "" {
|
||||
if format == "" { // still missing, use the key itself
|
||||
format = html.EscapeString(trKey)
|
||||
}
|
||||
msg, err := Format(format, trArgs...)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3169
-3649
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3121
-3659
File diff suppressed because it is too large
Load Diff
+2874
-3660
File diff suppressed because it is too large
Load Diff
+3573
-3635
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2838
-3665
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2139
-3697
File diff suppressed because it is too large
Load Diff
+1375
-3687
File diff suppressed because it is too large
Load Diff
+3448
-3646
File diff suppressed because it is too large
Load Diff
+3548
-3637
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1307
-3710
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1077
-3665
File diff suppressed because it is too large
Load Diff
+1018
-3688
File diff suppressed because it is too large
Load Diff
+2285
-3694
File diff suppressed because it is too large
Load Diff
+3506
-3640
File diff suppressed because it is too large
Load Diff
+1276
-3716
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2911
-3655
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1999
-3692
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2012
-3688
File diff suppressed because it is too large
Load Diff
+3145
-3645
File diff suppressed because it is too large
Load Diff
+3573
-3635
File diff suppressed because it is too large
Load Diff
+2857
-3661
File diff suppressed because it is too large
Load Diff
+2100
-3697
File diff suppressed because it is too large
Load Diff
+1036
-3662
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1657
-3710
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3516
-3640
File diff suppressed because it is too large
Load Diff
+3042
-3646
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3575
-3637
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3157
-3646
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user