Skip to content

i18n: machine-draft QA pass and review packs (#112) - #194

Merged
Madraka merged 2 commits into
mainfrom
i18n/qa-pass-112
Nov 10, 2026
Merged

Madraka merged 2 commits into
mainfrom
i18n/qa-pass-112

Conversation

@Madraka

@Madraka Madraka commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

A quality pass over the machine-drafted Studio strings before human review, plus the Turkish review pack for the owner. Refs #112.

These are still AI drafts. No language's reviewed flag changes; only a person who speaks the language sets it.

Scope

The same 494 keys in each of the 18 non-English languages (8,892 drafts):

The QA report has the full breakdown.

What was checked

  1. Automatic, for each language:

    • placeholders and their kinds, select values, CLDR plural categories and #;
    • English left untranslated;
    • short labels more than 2.5× the English length.

    No ICU errors were found. The remaining flags are cognates and technical names; the report lists them.

  2. Semantic. Every draft was back-translated and compared with the English. The security-relevant strings were read word by word: the consent screen, the self-registered and look-alike labels, the loopback warning, the setup-link text, error messages and the status pages.

  3. Fixes only for clear errors: 268 of them, applied through .i18n/ and pnpm i18n:import. Stylistic choices stay open as review items for each language's reviewers.

Notable fixes

  • Security wording:
    • id said "not yet verified" for self-registered clients;
    • pl dropped "you" from "approve only if you started the connection";
    • ja and ko lost "never" in "never beyond your role";
    • de and nl made the look-alike warning's last condition ambiguous.
  • Meaning:
    • es used "En cambio" (on the other hand) for "Changing…";
    • it and pl wrote the unlist action as an order to the reader;
    • nl, pl and pt-BR read "Back by {time}" as "back at".
  • Register:
    • ko used the formal 합니다체 in the new namespaces (107 keys) while Studio's Korean is 해요체;
    • fr used "tu" in 21 keys of a "vous" catalog;
    • fa and id slipped into the informal register;
    • he used masculine-only verbs.
  • Terms:
    • zh-Hans used 代理 (which also means "proxy") for agent where Studio says 智能体;
    • hi and fa each had two words for "entry";
    • de mixed Agenten and Agents;
    • tr used "oturum aç" where Studio says "giriş yap";
    • ru and uk mixed words for approve and verified.

Added docs

  • docs/guides/translations-weblate.md §6–7: a per-language glossary of the coined terms, open term questions, and how to review a language.
  • docs/i18n-review/qa-2026-11.md: results for each language, every fix (before and after, with the reason) and every open review item.
  • docs/i18n-review/tr.md: for the owner, the 92 Turkish keys changed since the review of 2026-10-23 (commit 2e89658), grouped by screen with the security screens first. It has three columns: English, current Turkish and a suggested Turkish. Four Turkish fixes are applied and marked: "giriş yap" in three keys, and one setup line that read as if the app signs in. The other suggestions are not applied.

Checks run

Only light checks were run, because a test-heavy session is running on the same machine:

  • pnpm i18n:import, which includes test/i18n.test.tsx and test/i18n-messages.test.ts (27 passed);
  • node scripts/i18n-exchange.ts check;
  • pnpm exec vitest run test/status-page.test.ts in packages/astro-renderer (30 passed);
  • pnpm design:lint (406 files clean);
  • pnpm exec vitest run test/design-rules.test.ts in apps/studio (577 passed).

pnpm check and the full suites were not run here; CI runs them.

The changeset is a patch for @cloudhal/cli (it bundles Studio) and @cloudhal/astro-renderer (status pages).

🤖 Generated with Claude Code

A quality pass over the machine-drafted strings of collections, fields,
listings, oauthConsent, connectedAgents, the setup-link sign-up text and
the status pages (494 keys) in all 18 non-English languages. The
automatic checks (placeholders, select values, CLDR plural categories,
`#`, leftover English, length) found no ICU errors. A back-translation
pass found 268 clear errors, fixed through .i18n/ and pnpm i18n:import:
- softened security wording: id "not yet verified", pl loopback warning
  without "you", ja/ko "never beyond your role" lost;
- wrong meaning: es "En cambio", it/pl unlist as an order to the reader,
  "Back by {time}" as "back at" in nl/pl/pt-BR;
- mixed register: ko formal style in the new namespaces (107 keys),
  fr "tu" in a "vous" catalog, fa/id informal, he masculine-only verbs;
- mixed terms: zh-Hans 代理 for agent, hi/fa entry, de Agenten,
  tr "oturum aç", ru/uk approve and verified.

Adds the per-language glossary and a reviewing guide to
docs/guides/translations-weblate.md, the QA report with every fix and
open review item in docs/i18n-review/qa-2026-11.md, and the owner's
Turkish review pack in docs/i18n-review/tr.md. No language's reviewed
flag changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
- ru, uk: the loopback warning said "the connection was started from an
  app here" and dropped "you", the defect already fixed in pl.
- Turkish pack: no separate suggestion for identifiedBy; the identity
  labels and their consent-screen twins must stay identical.
- Glossary terms outside the 494 keys, found by searching every catalog
  for the variants: tr agents.notEnabledDescription (oturum açma →
  giriş), de Agenten → Agents (2), hi प्रविष्टि → एंट्री (5), he פריט →
  רשומה (4). The glossary now says it holds within the reviewed
  namespaces, and the QA report lists the strings left on purpose.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
@Madraka
Madraka merged commit 576e8ba into main Nov 10, 2026
10 of 12 checks passed
@Madraka
Madraka deleted the i18n/qa-pass-112 branch November 10, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant