diff --git a/pkg/utils/reportname.go b/pkg/utils/reportname.go index 7cdf739b..6e0c5095 100644 --- a/pkg/utils/reportname.go +++ b/pkg/utils/reportname.go @@ -134,16 +134,6 @@ func isValidPrefix(prefix string) bool { return true } -// isChineseName 校验姓名是否仅包含中文字符(不包含数字和英文字母) -func isChineseName(name string) bool { - for _, r := range name { - if (r >= '0' && r <= '9') || (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') { - return false - } - } - return true -} - // ConvertTitleByLocale 将报告标题根据 locale 进行翻译转换。 // title: 原始中文标题,格式为 "YYYY-MM" + 姓名 + "数据报告"/"竞品报告",如 "2026-03王旗老师数据报告" // locale: "zh-CN", "zh-TW", "EN", "de-DE", "ja-JP" 或其他 Accept-Language 值 @@ -168,9 +158,6 @@ func ConvertTitleByLocale(title, locale string) string { } personName := title[7 : len(title)-len(reportType)] - if !isChineseName(personName) { - return title - } return ConvertReportName(prefix, personName, reportType, locale) } diff --git a/pkg/utils/reportname_test.go b/pkg/utils/reportname_test.go index 24e3a408..f5273227 100644 --- a/pkg/utils/reportname_test.go +++ b/pkg/utils/reportname_test.go @@ -16,7 +16,7 @@ func TestIsValidPrefix(t *testing.T) { {name: "invalid no dash", prefix: "202603", expected: false}, {name: "invalid letters in year", prefix: "ab-03", expected: false}, {name: "invalid letters in month", prefix: "2026-ab", expected: false}, - {name: "invalid month > 12", prefix: "2026-13", expected: true}, // 只校验格式,不校验月份合理性 + {name: "invalid month > 12", prefix: "2026-13", expected: true}, // 只校验格式,不校验月份合理性 {name: "empty string", prefix: "", expected: false}, } @@ -30,33 +30,6 @@ func TestIsValidPrefix(t *testing.T) { } } -func TestIsChineseName(t *testing.T) { - tests := []struct { - name string - input string - expected bool - }{ - {name: "pure Chinese name", input: "王旗", expected: true}, - {name: "Chinese name with title", input: "王旗老师", expected: true}, - {name: "two char Chinese", input: "王明", expected: true}, - {name: "three char Chinese", input: "王小明", expected: true}, - {name: "contains digit", input: "王旗1", expected: false}, - {name: "contains English lower", input: "wang旗", expected: false}, - {name: "contains English upper", input: "WANG旗", expected: false}, - {name: "mixed Chinese and digit", input: "王1明", expected: false}, - {name: "empty string", input: "", expected: true}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := isChineseName(tt.input) - if result != tt.expected { - t.Errorf("isChineseName(%q) = %v, want %v", tt.input, result, tt.expected) - } - }) - } -} - func TestConvertTitleByLocale(t *testing.T) { tests := []struct { name string @@ -125,16 +98,16 @@ func TestConvertTitleByLocale(t *testing.T) { expected: "202603王旗老师数据报告", }, { - name: "invalid personName with digit returns original", + name: "personName with digit translates Chinese chars only", title: "2026-03王旗1老师数据报告", locale: "EN", - expected: "2026-03王旗1老师数据报告", + expected: "2026-03 Wang Qi Data Report", }, { - name: "invalid personName with English returns original", + name: "personName with leading English drops non-Chinese chars", title: "2026-03wang老师数据报告", locale: "EN", - expected: "2026-03wang老师数据报告", + expected: "2026-03 Lao Shi Data Report", }, { name: "title too short returns original",