compiler: text keys below a row, trf padding and tr's cast (ECS's 26.4 gaps) - a @Text Key in a record nested in a row, or in each item of a list of them, is filled with its derived key <registry>.<row>.<field>.<i>.<field> as a top-level one is, and a @Text []Key a row leaves out takes <...>.0, .1, ... for as many as en.po has (so no .lres spells a key; the manifest and en.po are now read before the parse that fills the rows); field: null is no text; trf / trn's trailing "" literals are padding, not counted against the English's holes; and string(x) of a string or a Key is x itself to the escape analysis, no allocation site, so tr(key) passes arena strict (a template's lone hole still copies); examples/lang/i18n_nested and its feat_case (added, not run); LANGUAGE.md and the changeset; reseeded, bootstrap-cfree fixpoint holds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9a0011c38f
commit
10a394ae6c
12 changed files with 75642 additions and 73902 deletions
|
|
@ -202,6 +202,7 @@ entry {
|
|||
if (target != null) { g_target_win = has_sub(target, "windows") }
|
||||
else { g_target_win = host_is_windows() }
|
||||
|
||||
i18n_manifest(path) # phase 26: a `lang` line and its en.po, before the parse fills rows from it
|
||||
let src = read_file(path)
|
||||
if (src == null) { die("ludicc: cannot open input\n") }
|
||||
|
||||
|
|
@ -224,7 +225,6 @@ entry {
|
|||
|
||||
maybe_splice_runtime()
|
||||
fence_manifest(path) # 25.1: a `fence` line in the program's package.ludic
|
||||
i18n_manifest(path) # phase 26: a `lang` line, and its en.po (i18n.ludic)
|
||||
ui_register_gotos() # `goto:` buttons -> generated UiClicked listeners
|
||||
|
||||
# a game gets a window by default; a plain program stays headless. An explicit
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue