tools: align locale diagnostics and generate native language names
Validate / Validate (push) Successful in 2m46s

This commit is contained in:
KenanZhu committed 2026-10-14 00:01:40 +08:00
1 parent b8089e8a7e
commit d99c5d1dc5
13 files changed
+170 -46

No files matched your search

+14 -13
View File
@@ -20,16 +20,17 @@ import (
)
type PreviewResult struct {
Rendered map[string]map[string]map[string]string
Registry map[string]map[string]string
Params map[string]map[string]string
Languages []string
Themes []string
Upstream string
Commit string
Logo []byte
Fallback map[string][]string
Warnings map[string]map[string][]string
Rendered map[string]map[string]map[string]string
Registry map[string]map[string]string
Params map[string]map[string]string
Languages []string
LanguageNames map[string]string
Themes []string
Upstream string
Commit string
Logo []byte
Fallback map[string][]string
Warnings map[string]map[string][]string
}
func DiscoverThemes(dir string) ([]string, error) { return builder.Discover(dir) }
@@ -92,6 +93,7 @@ func RenderAll(themesDir string, cfg *config.TemplatesConfig, filter map[string]
return nil, err
}
result := &PreviewResult{Rendered: map[string]map[string]map[string]string{}, Registry: config.Registry(cfg), Params: map[string]map[string]string{}, Languages: s.Languages(), Upstream: s.Lock.Tag, Fallback: missing, Warnings: map[string]map[string][]string{}}
result.LanguageNames = languageNames(result.Languages)
for id, t := range cfg.Templates {
result.Params[id] = config.FlattenParams(t.Params)
}
@@ -236,6 +238,7 @@ func WriteRenderedJS(result *PreviewResult, output string) error {
return err
}
manifest := map[string]any{"schema": 1, "upstream": result.Upstream, "languages": result.Languages, "themes": result.Themes, "registry": result.Registry, "params": result.Params, "fallback": result.Fallback, "warnings": result.Warnings}
manifest["language_names"] = result.LanguageNames
manifest["logo"] = "data:image/png;base64," + base64.StdEncoding.EncodeToString(result.Logo)
manifest["upstream_commit"] = result.Commit
data, err := json.Marshal(manifest)
@@ -267,10 +270,8 @@ func PrintDetailedSummary(result *PreviewResult, _ string, _ *config.TemplatesCo
logging.Warn("Upstream", "%s", strings.TrimPrefix(warning, "[UPSTREAM-WARN] "))
}
}
if keys := result.Fallback[lang]; len(keys) > 0 {
logging.Warn("Locale", "%s -> en-US: %s", lang, strings.Join(keys, ", "))
}
}
logging.WarnMissingTranslations(result.Fallback)
}
func markSafeHTML(data map[string]any) {