aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup
AgeCommit message (Collapse)AuthorFilesLines
2026-09-22tools: po-stats, what is translated, per language and per fileRalph Amissah1-0/+99
The question before any translation work is where the effort should go, and a .po file does not answer it by looking at it. lang total done fuzzy empty translated ca 1106 1105 0 1 99.9% es 1106 1105 0 1 99.9% fr 1106 1105 0 1 99.9% ja 1106 1104 1 1 99.8% pl 1106 924 21 161 83.5% it 1106 809 147 150 73.1% pt_BR 1106 251 83 772 22.7% ro 1106 140 25 941 12.7% de 1106 110 5 991 9.9% Fuzzy is the column worth reading. Those are translations that exist, that a source edit has taken out of use, and that po4a will not put in the document. it is carrying 147 and pt_BR 83: clearing a fuzzy flag is a reviewer's job rather than a translator's, and it is much cheaper than the 991 empty entries de is carrying. It counts by parsing rather than by matching lines, which matters here: a msgstr "" on its own line opens a multi-line translation and is not an empty one, so counting those lines reports every translation long enough to wrap as missing. Counted that way ca looks 45% translated; it is 99.9%. (assisted by Claude-Code)
2026-09-22tools: po-lint, structural checks on sisu markupRalph Amissah1-0/+173
A translator working in a .po file is editing markup as well as prose, and the ways that goes wrong are few and specific. Each rule was measured against the nine languages here before being kept. Errors, which change the document's structure and so its object numbering: empty-after-trim a whitespace-only msgstr. sisu reads a whitespace-only line as blank, the paragraph ceases to exist, and every object number after it shifts. Leaving the msgstr empty is the fix: untranslated falls back to the source text and the object survives. heading-mismatch heading markup on one side only, so a paragraph becomes a heading and the document grows a section the source does not have. blank-line a blank line added or removed inside a msgstr, splitting one object into two. yaml-key a header entry whose yaml keys differ from the source. The header is configuration: translate the values, never the keys. Warnings, which change what the text says or links to but not its shape: a ${} substitution, a {text}#anchor target, or an inline markup count differing between source and translation. Fuzzy entries are skipped. Fuzzy already means not used and needing review, and po4a will not put one in the output, so checking them reports faults nobody relies on. Over 6653 translated entries the errors fire twice, and both are real: the ja msgstr of " " that costs two objects from ocn 818, and the pl paragraph translated as "2~ Wcięcia" that becomes a heading. Two rules needed calibrating rather than guessing. The anchor rule first reported 293 by taking a full stop after a link as part of the anchor; corrected it reports 69. The yaml-key rule first reported 20, every one of them prose from the style guide reading "produces: *{foo}* or !{foo}!", which any shape test takes for a key; it now applies only to a master file's catalogue, where a document header is the only thing that can appear. Exit is 1 on any error and 0 otherwise, so it can gate a commit. (assisted by Claude-Code)
2026-09-22live-manual: regenerate catalogues, mend headersRalph Amissah145-26507/+40834
The catalogues dated from 2015 and the document header had moved on: from the bespoke sisu form to spine's yaml. Regenerating brings them up to the English as it stands and puts them in step with the header for the first time. The body came through untouched. Only the nine live-manual.ssm files changed, and po4a discarded nothing. Five entries per language, the same five in all nine, had gone fuzzy: the header blocks. The reason is visible in the fuzzy entries themselves, which record the old string as a single line, creator: "...", where the header now wants a block with an indented author:. Those five are mended rather than dropped. Two carried translation and were reshaped into the yaml the header uses; three were never translatable content at all, being a version marker, an iso date, and a make block of regexes, and now take the source, so that a regeneration stops offering them for translation. What this revealed: the translated headers were correct spine yaml carrying translated text, while their catalogues held the old form. So they were not produced by po4a at all, but maintained by hand after the yaml change, and the two have been out of step ever since. Nothing said so until something regenerated. Three languages gain a licence in their own language. de, pt_BR and ro each had one in the catalogue and an English one in the header, because the header was written before the catalogue said otherwise. Two corrections while reshaping: es carried a doubled space in the project name that the hand-kept header did not, and pl had translated the copyright holder where the rule took the source. Both follow the catalogue now, which is authoritative. The copyright line follows the English in dropping its "Copyright (C)" prefix. Every catalogue passes msgfmt --check. (assisted by Claude-Code)
2026-09-22live-manual: translation catalogues in tools/po4aRalph Amissah210-0/+123818
The po4a working set moves from media/text/{pot,po} to tools/po4a/{pot,po}: the layout this repository's .gitignore has specified since before it was needed, at the pod root under tools/ media/ is what the document is; tools/ is what was used to make parts of it. A .pot and .po pair is a gettext artefact rather than sisu markup, and naming the tool under tools/ scopes it as that tool's working files rather than claiming to be the document's own content. The whitelist needed no change and the filenames needed no renaming: *.ssi.pot, *.ssm.pot and index.html.in.pot are what po4a already produced. media/text/ keeps bin/, Makefile, _sisu/ and the two lm_sdp text files for now. None is markup and none is carried. Whether the helpers are carried later is open; this commit is about the catalogues. nothing reads these files yet (spine output is unaffected) (assisted by Claude-Code)
2026-09-22live-manual: list pt_BR, complete text & catalogueRalph Amissah1-1/+1
The pod carried a full pt_BR text tree, twenty files with the same structure as the English, and a translation catalogue, while pod.manifest did not list the language. Its abstraction comes out with the same object count as the seven currently aligned languages, it shares object numbering with the English as it stands. (assisted by Claude-Code)
2026-09-10homepage, touchRalph Amissah1-5/+9
2026-09-09sisu_markup.sst modest updateRalph Amissah2-214/+276
2026-05-28homepage description touchRalph Amissah1-9/+14
2026-05-22homepage reorganize/update - revisitRalph Amissah1-689/+356
(assisted by Claude-Code)
2026-05-16correction: a name spelling & a markup errorRalph Amissah2-2/+2
2025-10-31samples pod dir now markup/pod-samples/podRalph Amissah580-125273/+0
- markup/pod-samples/pod from markup/pod
2025-06-09housekeeping, update/sync with project (nix, D)Ralph Amissah1-0/+2
- remove ./.env/
2024-07-04"not without help", minor edit & cosmetic changeRalph Amissah1-3/+3
2024-05-29Not Without Help, favourite quote added to prefaceRalph Amissah2-1/+11
2024-05-28Not Without Help, small updateRalph Amissah4-100/+70
- rename image and add two more - remove tables, issue
2024-05-27(autobiography) Not Without Help, Austin AmissahRalph Amissah3-0/+2300
- added, early years autobiography - editing anticipated
2024-05-21markup samples, doc headers: urls & yaml styleRalph Amissah75-467/+632
2024-05-18"Democratizing Innovation" markup: header & linkRalph Amissah2-16/+20
2024-05-17README update, return to ...Ralph Amissah1-2/+0
2024-05-13add a few non-pod markup samplesRalph Amissah45-39/+87765
- as a simple way to start document markup - to demonstrate similarity with sisu - + (tangle & track default sisudoc.org homepage)
2024-04-11sisudoc spine sync (0.16.0 dir name changes)Ralph Amissah1-671/+0
2023-07-10sisu_markup touchRalph Amissah1-1/+1
2023-07-08add sisu spine description to sisu_markup, reviewRalph Amissah2-1/+242
2023-07-04homepage updates, re-readRalph Amissah2-0/+673
2023-04-17markup in AI systems as artwork, minorRalph Amissah1-16/+16
- typo correction in obj. 17 "no" rather than "so" - changed double spaces to single spaces
2022-10-02track markup modifications (from March)Ralph Amissah27-114/+173
2022-02-20track, testingRalph Amissah27-33/+97
2022-01-25anna paper on ai artRalph Amissah2-0/+67
2022-01-25track change to heading title shortform variable @title-author-dateRalph Amissah17-18/+17
2021-11-27track document samples usedRalph Amissah571-0/+311778