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:
Orkun ÇAKILKAYA 2026-09-30 02:45:15 +03:00
parent 2288feeb59
commit 25a57c099b
18 changed files with 3667 additions and 3585 deletions

View file

@ -38,3 +38,19 @@ msgstr "Lamp"
#. What a chapter step says to do: gather firewood.
msgid "steps.gather_wood.hint"
msgstr "Gather wood"
#. ludic.ui's key field: its value when the binding is the right mouse button.
msgid "ui.right_click"
msgstr "Right click"
#. ludic.ui's key field: the middle mouse button.
msgid "ui.middle_click"
msgstr "Middle click"
#. ludic.ui's key field: the left mouse button.
msgid "ui.left_click"
msgstr "Left click"
#. ludic.ui's key field: listening for the key the player presses next.
msgid "ui.press_key"
msgstr "press a key..."

View file

@ -30,3 +30,15 @@ msgstr "Odun topla"
msgid "old.title"
msgstr "Eski"
msgid "ui.right_click"
msgstr "Sağ tık"
msgid "ui.middle_click"
msgstr "Orta tık"
msgid "ui.left_click"
msgstr "Sol tık"
msgid "ui.press_key"
msgstr "bir tuşa bas..."

View file

@ -4,5 +4,4 @@
<button>{t(back)}</button>
<p>{t('catch.count', caught, 'trout')}</p>
<p translate="no">Maroon Lake 0.5 <b>beta</b></p>
<p>Paused</p>
</div>

View file

@ -1,5 +1,5 @@
# phase 26: a @Text Key field a row leaves out takes its derived key (things.axe.name), and en.po must
# have it; a @Text string field still holding English is a warning, counted as english_left
# have it; a @Text string field still holding English is an error (26.9), counted as english_left
program DataMissing {
property Thing {
key: string = ""

View file

@ -0,0 +1,7 @@
# phase 26.9: English left in a program with a `lang` line is an error - a template's own words, and
# a text attribute's, outside translate="no"
import "ludic.ui"
program EnglishLeft {
import "parts/Words.ludic"
entry { print(1) }
}

View file

@ -22,3 +22,19 @@ msgid "catch.count"
msgid_plural "catch.count"
msgstr[0] "{1} fish"
msgstr[1] "{1} fish"
#. ludic.ui's key field: its value when the binding is the right mouse button.
msgid "ui.right_click"
msgstr "Right click"
#. ludic.ui's key field: the middle mouse button.
msgid "ui.middle_click"
msgstr "Middle click"
#. ludic.ui's key field: the left mouse button.
msgid "ui.left_click"
msgstr "Left click"
#. ludic.ui's key field: listening for the key the player presses next.
msgid "ui.press_key"
msgstr "press a key..."

View file

@ -1,2 +1,2 @@
# the key checks' refusals (key_missing, t_missing, key_mixup, data_missing, key_hole, key_rules): lang/en.po is the source
# the key checks' refusals (key_missing, t_missing, key_mixup, data_missing, key_hole, key_rules, english_left): lang/en.po is the source
lang "lang" en

View file

@ -0,0 +1,4 @@
# Words.ludic - english_left.ludic's component: words where keys belong
component Words {
prop day: int = 1
}

View file

@ -0,0 +1,6 @@
<div class="words">
<p>{t('pause.resume')}</p>
<p>Paused</p>
<button title="Close it">{t('hud.day', day)}</button>
<p translate="no">Maroon Lake 0.5</p>
</div>