i18n 26.9, error mode: English left is an error under a lang line (a template's words, a text attribute's, a choice that reads as words, a @Text row's English), ludic deps still counting english_left; hole counts and undescribed splits stay warnings. ludic.ui's own words are keys - ui_tk(ui_st, k"ui.right_click", plain) for the key field's Right / Middle / Left click and press a key..., its plain text for a program with no translator; the examples' en.po / tr.po carry ui.*, i18n_ui checks clean, rejected/i18n_keys/english_left holds the error, data_missing counts 2; LANGUAGE.md and the changeset; on lang/foundations 2288feeb; reseeded, bootstrap-cfree fixpoint holds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2288feeb59
commit
25a57c099b
18 changed files with 3667 additions and 3585 deletions
10
LANGUAGE.md
10
LANGUAGE.md
|
|
@ -877,6 +877,12 @@ its text after a marker byte - byte 1, or 2 for `kn"..."` - so `k"pause.resume"`
|
|||
`trn` takes a plural key and `tr` / `trf` refuse one, with or without a `lang` line. (A program that
|
||||
declares its own type named `Key` keeps it; the builtin is then out of reach.)
|
||||
|
||||
**A package's own words** are keys too. ludic.ui's key field says "Right click" as `ui_tk(ui_st,
|
||||
k"ui.right_click", "Right click")`: translated through the program's translator when one is bound, the
|
||||
plain text otherwise (a program with no languages). A program with a `lang` line that imports ludic.ui
|
||||
therefore carries `ui.right_click`, `ui.middle_click`, `ui.left_click` and `ui.press_key` in its
|
||||
source `.po`, and the check says so if it does not.
|
||||
|
||||
**The data.** A registry's `@Text` field is text by derivation: its key is
|
||||
`<registry>.<row>.<field>` - the registry's name in snake case (`Items` -> `items`, `GearKinds` ->
|
||||
`gear_kinds`), a list field adding `.<index>` and a nested record `.<field>` - or, with
|
||||
|
|
@ -914,8 +920,8 @@ each diagnostic at its `file:line:col`:
|
|||
are padding and not counted), or it is a **warning**;
|
||||
- **English left** - a template's words outside `translate="no"`, a text attribute's words (`title`,
|
||||
`label`, `hint`, `text`, `caption`, and any other whose value is not a keyword), a quoted choice
|
||||
inside a hole that reads as words, and a `@Text` row whose value is still English - is a
|
||||
**warning**, and `ludic deps` counts them as `english_left`, a ratchet like every number there;
|
||||
inside a hole that reads as words, and a `@Text` row whose value is still English - is an
|
||||
**error** (a warning until the migration was done; `ludic deps` still counts it as `english_left`);
|
||||
- one English under several keys (a split) wants a `#.` description on each, for a translator to
|
||||
tell them apart: a **warning** at the `.po`'s line.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue