tju-yxq opened a new issue, #5573:
URL: https://github.com/apache/rocketmq-dashboard/issues/5573

   ## Problem
   
   The resource CSV import validation utility (`utils/resourceCsvImport.ts`) 
returns **Chinese display text directly**. Every row-level validation finding 
is a hardcoded interpolated string — the three name rules (`Name 不能为空` / length 
cap / character set), the duplicate-name message, the two integer-field rules, 
and six "unsupported value" messages for Type / Permission / Subscription Mode 
/ Consume Type / Subscription Data Type / Delivery Order Type. The topic and 
consumer pages' import modals render these verbatim in the row-status table's 
message column, so an operator who switches the console to English still gets 
an entirely Chinese validation report.
   
   This is the last member of the family of analysis utilities that predate the 
key-returning contract (consumer #5564, routes #5566, ACL #5568, connections 
#5570, send pre-check #5572 all followed `messageTraceDiagnostics`).
   
   ## Expected Behavior
   
   - Row-level findings become structured `ImportIssue` objects (`{ key, params 
}`) on a new `issues` field of `ResourceImportRow`; `validateResourceName` 
returns `{ key, params } | null` the same way.
   - The result-phase `message` field (set by the pages after the import 
request settles) is unchanged — the two phases no longer share one string field.
   - The import modals' message column resolves `issues` through `t(key, 
params)` joined with a locale-aware separator (`common.listSeparator`), falling 
back to `message` for result rows.
   - The zh text is byte-identical to what was returned before, so 
Chinese-locale users see no change.
   - `parseCsvTable`'s thrown structural parser errors (empty file, duplicate 
headers, row-count cap) remain as-is — they are a separate surface with 
different consumers.
   
   ## Notes
   
   - 13 new `csvImport.*` keys plus `common.listSeparator`.
   - Tests: the util test's message assertions check `{ key, params }` shapes; 
the two pages' import suites pass unchanged because the zh render is 
byte-identical.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to