Localize user-facing UI, agent output, and backend messages to Simplified Chinese
ci / go (push) Waiting to run
ci / go-db (agent) (push) Waiting to run
ci / go-db (config) (push) Waiting to run
ci / go-db (db) (push) Waiting to run
ci / go-db (evidence) (push) Waiting to run
ci / go-db (llmrec) (push) Waiting to run
ci / go-db (server) (push) Waiting to run
detections / detections (push) Waiting to run
docs / links (push) Waiting to run
web / web (push) Waiting to run
ci / go (push) Waiting to run
ci / go-db (agent) (push) Waiting to run
ci / go-db (config) (push) Waiting to run
ci / go-db (db) (push) Waiting to run
ci / go-db (evidence) (push) Waiting to run
ci / go-db (llmrec) (push) Waiting to run
ci / go-db (server) (push) Waiting to run
detections / detections (push) Waiting to run
docs / links (push) Waiting to run
web / web (push) Waiting to run
This commit is contained in:
@@ -35,7 +35,7 @@ func TestSyncScopeSentryConstantsLocalized(t *testing.T) {
|
||||
{"errSSParseServicePrefix", errSSParseServicePrefix},
|
||||
}
|
||||
for _, c := range cases {
|
||||
assertKoreanError(t, c.label, c.msg)
|
||||
assertChineseError(t, c.label, c.msg)
|
||||
}
|
||||
|
||||
// dimension/targets validation keep their JSON field names and enum values.
|
||||
@@ -49,37 +49,37 @@ func TestSyncScopeSentryConstantsLocalized(t *testing.T) {
|
||||
// caught by running the real format operation (not just inspecting the constant).
|
||||
func TestSyncScopeSentryFormattedLocalized(t *testing.T) {
|
||||
ds := fmt.Errorf(errSSDataSourceMissingFmt, scopeSentryMCPName).Error()
|
||||
assertKoreanError(t, "scopeSentryClient/missing", ds)
|
||||
assertChineseError(t, "scopeSentryClient/missing", ds)
|
||||
if !strings.Contains(ds, "ScopeSentry") {
|
||||
t.Fatalf("데이터 소스 이름이 사라졌습니다: %q", ds)
|
||||
}
|
||||
|
||||
noURL := fmt.Errorf(errSSDataSourceNoURLFmt, scopeSentryMCPName).Error()
|
||||
assertKoreanError(t, "scopeSentryClient/noURL", noURL)
|
||||
assertChineseError(t, "scopeSentryClient/noURL", noURL)
|
||||
if !strings.Contains(noURL, "URL") {
|
||||
t.Fatalf("URL 토큰이 사라졌습니다: %q", noURL)
|
||||
}
|
||||
|
||||
meta := fmt.Sprintf(warnSSProjectMetaFmt, "proj-1", errors.New("boom"))
|
||||
assertKoreanError(t, "warnSSProjectMetaFmt", meta)
|
||||
assertChineseError(t, "warnSSProjectMetaFmt", meta)
|
||||
if !strings.Contains(meta, "proj-1") || !strings.Contains(meta, "boom") {
|
||||
t.Fatalf("프로젝트/원본 오류가 치환되지 않았습니다: %q", meta)
|
||||
}
|
||||
|
||||
company := fmt.Sprintf(warnSSCompanyCreateFmt, "ACME", errors.New("boom"))
|
||||
assertKoreanError(t, "warnSSCompanyCreateFmt", company)
|
||||
assertChineseError(t, "warnSSCompanyCreateFmt", company)
|
||||
if !strings.Contains(company, "ACME") {
|
||||
t.Fatalf("회사 이름이 치환되지 않았습니다: %q", company)
|
||||
}
|
||||
|
||||
fetch := fmt.Sprintf(errSSFetchFmt, "subdomain", "t1", errors.New("boom"))
|
||||
assertKoreanError(t, "errSSFetchFmt", fetch)
|
||||
assertChineseError(t, "errSSFetchFmt", fetch)
|
||||
if !strings.Contains(fetch, "subdomain") || !strings.Contains(fetch, "t1") {
|
||||
t.Fatalf("자산 유형/대상이 치환되지 않았습니다: %q", fetch)
|
||||
}
|
||||
|
||||
truncated := fmt.Sprintf(warnSSTruncatedFmt, "app", "t1", syncMaxPerType)
|
||||
assertKoreanError(t, "warnSSTruncatedFmt", truncated)
|
||||
assertChineseError(t, "warnSSTruncatedFmt", truncated)
|
||||
if !strings.Contains(truncated, "5000") {
|
||||
t.Fatalf("상한 건수가 치환되지 않았습니다: %q", truncated)
|
||||
}
|
||||
@@ -97,7 +97,7 @@ func TestSyncScopeSentryIngestParseErrorsLocalized(t *testing.T) {
|
||||
if got == "" {
|
||||
t.Fatalf("%s: 깨진 JSON 인데 오류 문자열이 비었습니다", kind)
|
||||
}
|
||||
assertKoreanError(t, "ssIngest/"+kind, got)
|
||||
assertChineseError(t, "ssIngest/"+kind, got)
|
||||
if !strings.Contains(got, kind) {
|
||||
t.Fatalf("%s: 자산 유형 접두가 사라졌습니다: %q", kind, got)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user