wu-sheng opened a new pull request, #16: URL: https://github.com/apache/skywalking-horizon-ui/pull/16
## Summary - Brings every advertised locale (en, zh-CN, ja, ko, es, pt, de, fr) to full coverage across both UI chrome and BFF-shipped layer-template overlays. - 31 routed components + 24 sub-components now wire through `vue-i18n` (~55 .vue files touched); chrome catalogs sit at 511 keys, fully translated in all 7 non-English locales. - All 42 layer source templates carry per-locale overlays for each non-English locale (~2,300 translatable leaves per locale, up from 0–300 previously). - Validator stays strict: `i18n:validate` requires every source template to have a sibling overlay file per `OVERLAY_LOCALES` (presence gate; half-translated catalogs are still valid by design — missing keys fall back to English at the leaf). ## Notable behaviour fixes shipped alongside the catalog work - **LiveDebuggerView tabs**: clicks now push to `/operate/live-debug/<tab>` (the actual route) instead of the non-existent `/debug/<tab>`. - **K8s instance Node Status**: switched from a single-scalar card to a table of currently-true Kubernetes conditions, aligned with the cluster-scope sibling and the surrounding widget heights. - **MonacoYaml gutter glyph**: the green ▶ on `- name:` lines is now visible — the CSS class was referenced but unstyled, so the live-debug entrance from MAL / LAL editors was missing. - **ClusterStatusView**: fully i18n-wired; gate descriptions and the Zipkin / OTLP pane copy translate. - **Capture history**: row layout consolidated; LIVE chip moved inline next to the timestamp. ## Translation policy applied Per CLAUDE.md → Internationalization: - IT terms / proper nouns (SkyWalking, OAP, MQE, eBPF, OTel, OpenTelemetry, Zipkin, OTLP, Kubernetes, K8s, Istio, GraphQL, OAL / MAL / LAL, LDAP, BFF, BanyanDB, Elasticsearch, JVM, Apdex, RPS / RPM / SLA, hot / warm / cold, scope enums, layer keys, MQE function names, env vars, HTTP status codes, language runtimes, all DB / MQ / cache / gateway product names) stay verbatim in every locale. - Phrases CONTAINING tech terms are translated, but the tech term stays untouched (e.g. `HTTP Connections` → `HTTP 连接` / `HTTP 接続` / `HTTP 연결` / `Conexiones HTTP` / `Conexões HTTP` / `HTTP-Verbindungen` / `Connexions HTTP`). - Operator-popular mappings are honored (e.g. zh-CN `general.alias = 普通应用`). - OAP-supplied data (service names, alarm rule names, trace operations) is never translated. ## Upstream API note (deferred follow-up) [skywalking#13884](https://github.com/apache/skywalking/pull/13884) made `id` **required** on `POST /ui-management/templates`. This PR does not flip the wire change — Horizon's `client.create()` still sends only `configuration`. The forward-compat change to send `id = horizon.<kind>.<key>` is queued as a small follow-up PR once OAP is on a release line that includes #13884. Horizon code already treats `r.id` as opaque (no UUID-format assumptions) and `reconcileDuplicates` handles mixed-id legacy deployments, so the upcoming change is surgical. ## Test plan - [ ] `cd apps/bff && npm run type-check` — green - [ ] `cd apps/ui && npm run type-check` — green - [ ] `cd packages/api-client && npm run build && npm run type-check` — green - [ ] `cd apps/bff && npm run i18n:validate` — no findings - [ ] `license-eye -c .licenserc.yaml header check` — 0 invalid - [ ] Boot dev env (`local-boot` skill) and smoke each locale via the top-bar locale picker - [ ] Sidebar tab labels, topbar controls, theme menu translate - [ ] Cluster Status (admin host pane + Zipkin pane) translates - [ ] Translations admin page: picker labels stay English (bundled source), preview reflects the target locale's overlay, push refreshes per-locale chips - [ ] Live debugger tabs route to `/operate/live-debug/<tab>` and load - [ ] K8s layer → service → instance: Node Status renders as a conditions table with aligned widget heights - [ ] DSL editor: green ▶ glyph visible on `- name:` lines for MAL + LAL -- 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]
