window: everything in the window's language - refusals, list values, format names, time, licence and the toolkit's words - #163
Merged
Merged
Conversation
Every refusal and note of core, engine, recipe, format, preset and damage is core.Says: an id, the fmt layout the command line has always printed, and named values. The command line renders the layout with the same values, so its bytes do not move - 350 cases of a corpus derived from the registries, 96 recipes and 48 commands of the older corpora are identical between the binary before and after. The window looks the id up in locale/said and fills named fields, the English window says exactly what it said before. Wrapped system errors are said in our words with the number (O251), and an error only a fault in the program can produce is framed as one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…as sentences The tool and checksum refusals, the manifest and recipe limits and the preset parameter refusals are core.Says now, and an error only a fault in the program can produce is core.Defect. A refusal with no setting of its own answers for the setting of the error it wraps, as fmt.Errorf let it. A guard holds the engine to it: no fmt.Errorf or errors.New outside core.Defect, with the one signal between two publishing functions named. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es, preset titles and the licence as registry words 622 sentences of the engine in locale/said/pl.json, each with the hash of the English it translates. Values of closed lists, the outcomes and rules of the manifest notes, format names, preset titles and the paragraphs of the licence notice are registry words, translated in locale/registry/pl.json. The punctuation and typeface guards read the new folder as well. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…low the chosen language, time and licence translated A menu of a declared setting shows each value under its name in the window's language and still holds and hands back the value, so a recipe, the command line and the manifest are unchanged. Preset menus show titles beside ids, format lists the translated names of the three that describe a file. The toolkit's own words - the menu of a text box, the folder and file dialogs - are given to it in the window's language under the system's tag. Time left, the empty-menu placeholder and the licence notice on About are the window's words too. Every entry of the window's catalogue now records the hash of the English it translates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…that named list values in English Unique names in every list, no translated description naming a list value the list calls otherwise, preset titles equal to the site's, the engine's refusals through the Polish and the pseudo window, and time and the licence in the English window equal to the command line's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…their names in the catalogue A refusal kept as a sentence unwrapped to the list of errors it wrapped, empty for most, and the window spreads an error that unwraps to several into one refusal per box - so a size typed wrong marked no box at all. It unwraps to one error now, the way fmt.Errorf with one %w does, and a sentence may wrap one error at most. Four Polish descriptions named a list value in English at the start of a sentence, which the guard missed by matching lower case only. The guard for the closed box read the menu's value rather than the drawn words. The component catalogue shows a list whose values are drawn under longer names, closed and open. JointLimit moves to its own file, the window's note said as the manifest holds it moves to the manifest package, and the engine's and the toolkit's word files are accounted for as our own. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 167 files, which is 67 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configuration
⛔ Files ignored due to path filters (2)
📒 Files selected for processing (167)
You can disable this status message by setting the
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…, a menu born with its placeholder The parsed-layout cache was a sync.Map, concurrency in a package that has none. A parse is 141 ns against 16 ns kept, about a tenth of a second on a million files, so the cache goes. The name of a list's value agrees with its setting in a language with grammatical gender (orientacja mieszana, rozmiar mieszany), and its key already names the setting, so names of values are no longer compared across settings. Every menu is made with the window's own placeholder, so the toolkit puts none in when it is first drawn. The guard for one width before and after drawing now asserts that, rather than waiting for a placeholder that no longer arrives. Switches over a closed set say what happens to the rest, and four helpers the sentences replaced are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for somebody using the window
A window set to Polish said part of what it said in English: the reason a run was refused, the values picked from a list (portrait, a4), the names of the formats, the time left, the licence on About and the words of the toolkit's own menus and dialogs. Now all of it follows the window's language.
The command line,
--json, recipes and manifests are unchanged, byte for byte.How
core.Said): an id, the printf layout the command line prints, and the values by name. The window looks the id up inlocale/said/<tag>.json, which fills named fields. 622 sentences, all in Polish.core.Choice,core.Bytes,core.Term, lists of sentences) are said in the window's language too.parts.Chooser.ShownAsdraws a value under a name.Selected,OnChangedandSetSelectedstill speak values.locale/toolkit/<tag>.json) under the system's locale tag.Checked
errors.New, every engine refusal reaches the Polish window in Polish, the closed box draws the name, no Polish description names a list value in English, the toolkit gets every word it asks for, and preset titles match the site's.Not checked yet: the real window driven by hand. The screen was not drawing at the time, and the build from main drew the same blank window, so it is to be repeated.
🤖 Generated with Claude Code