v0.248.0: i18n slice 1 release A — apps and settings in English, Hungarian byte-identical (R-556)
gates / gates (push) Successful in 20s
gates / gates (push) Successful in 20s
Ten pages converted against fixtures captured from unconverted templates (6be55a0); marker
coverage test; English page mask narrowed; English retrieval-promise stems; common keys;
title keys and infraMeta from the bundle; old wording tests read the Hungarian expansion.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -111,7 +111,9 @@ func TestEmbeddedBundles(t *testing.T) {
|
||||
}
|
||||
|
||||
var fieldRefRe = regexp.MustCompile(`\.[A-Z][A-Za-z0-9_]*(\.[A-Z][A-Za-z0-9_]*)*`)
|
||||
var verbRe = regexp.MustCompile(`%[-+# 0-9.]*[sdvq]`)
|
||||
// verbRe counts printf verbs OUTSIDE template actions ({{printf "%.0f" .X}} is a parameter, not a verb
|
||||
// of the message), and without the space flag — „50% szabad" is prose, not „% s".
|
||||
var verbRe = regexp.MustCompile(`%[-+#0-9.]*[sdvq]`)
|
||||
|
||||
func refs(s string) []string {
|
||||
var out []string
|
||||
@@ -153,10 +155,12 @@ func TestBundleParametersMatchAcrossLanguages(t *testing.T) {
|
||||
if a, c := strings.Join(refs(hu), ","), strings.Join(refs(v), ","); a != c {
|
||||
t.Errorf("%s %q: template fields %q, Hungarian has %q", lang, f, c, a)
|
||||
}
|
||||
if a, c := len(verbRe.FindAllString(hu, -1)), len(verbRe.FindAllString(v, -1)); a != c {
|
||||
if a, c := len(verbRe.FindAllString(stripActions(hu), -1)), len(verbRe.FindAllString(stripActions(v), -1)); a != c {
|
||||
t.Errorf("%s %q: %d printf verbs, Hungarian has %d", lang, f, c, a)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func stripActions(s string) string { return regexp.MustCompile(`\{\{.*?\}\}`).ReplaceAllString(s, "") }
|
||||
|
||||
Reference in New Issue
Block a user