VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

Translate Like a Pro | 8220 — C++ replxx Localization, UTF-8 Editing, Completion Context, Hints, History, Bracketed Paste and Terminal QA

C++ replxx localization is the work of adapting terminal text and interactions for different languages without altering what commands, choices, or stored records mean. This practical guide covers replxx::Replxx, input(), set_completion_callback, set_hint_callback, set_highlighter_callback, with careful attention to multilingual usability, Unicode, error messages, and real release testing. The goal is not simply natural translated words; it is a reliable tool whose behavior remains correct for readers around the world.

Consider a multilingual conservation laboratory equipment registry. a conservation technician must search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The application stores instrument_id, work_order_code, observation_text, approval_status. A convincing screen could still mislead someone about whether work is complete. The safe account is: “The maintenance observation was saved; supervisory approval is still pending.” It must not turn into “The instrument has been certified safe and returned to service.” unless evidence from the responsible system supports that stronger statement.

The chapters explain the boundary between the C++ replxx interface and the underlying application, then develop a working data contract, language strategy, input and output rules, accessibility tests, and release criteria. You will also find a detailed investigation list, practical checklists, a staged four-week implementation plan and links to primary technical documentation. Each part answers a problem that a multilingual development or translation team can actually encounter.

Quick answer: a safe translation workflow

  • Translate explanations and choices while preserving stable application values: instrument_id, work_order_code, observation_text, approval_status.
  • Make replxx::Replxx, input(), set_completion_callback behave as documented for the installed version.
  • Test that a visible choice, warning or confirmation produces exactly the intended machine-level result.
  • Treat cancellation, end of input, validation failure and external rejection as separate outcomes.
  • Check Unicode editing, width, key instructions, accessibility, history and privacy on real supported terminals.
  • Prefer honest status language: The maintenance observation was saved; supervisory approval is still pending.
  • Keep machine tokens and domain identifiers stable even when human-readable labels are reordered.
  • Record release evidence and recheck after dependency or catalogue changes.

Working model: what stays stable and what may change

Canonical field Human meaning Translation rule
instrument_id durable resource reference Never rewrite the identifier to fit grammar.
work_order_code stable controlled value Map translated labels back to the same code.
observation_text recorded intent or context Preserve the submitted content and provenance.
approval_status review or publication state Only report the outcome actually supported by evidence.

A complete implementation, from meaning to verified release

1. Why the real work matters

Translation should begin with a person’s practical question, not a spreadsheet of isolated words. Map what the reader sees before acting, the fields they must interpret, the result they expect, and the evidence that could justify that result. A term can be grammatically perfect yet harmful when it changes the action requested. Follow a complete session from the first prompt or message to the durable record and ask what a competent operator can reasonably infer at each step.

In a multilingual conservation laboratory equipment registry, this becomes concrete through replxx::Replxx. replxx is a C++ terminal line editor, not a localizer. It exposes UTF-8 input and callbacks, while the application owns translated strings and semantic command parsing. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect instrument_id and the boundary around set_hint_callback. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

2. The boundary between an interface and a decision

A terminal library often provides the visible interaction without knowing anything about domain policy, server authorization or external approvals. This separation is important. Readers need to know whether an operation changed a local variable, created a local file, reached a remote service, or received authoritative confirmation. The translated interface should not silently merge those stages into a single optimistic verb. Write the stage boundaries as part of the application contract before producing language files.

In a multilingual conservation laboratory equipment registry, this becomes concrete through input(). input() accepts a prompt and returns input text or nullptr on EOF. Design a distinct cancellation path that cannot be confused with the empty command. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect work_order_code and the boundary around set_highlighter_callback. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

3. Canonical values and translated labels

Keep identifiers, codes, state machines and stored values independent of the words displayed to humans. A label may be rewritten for clarity, adapted for different grammatical conventions or reordered with a translated list. None of those revisions should change what the application records. Draw a table that pairs each stable value with its definition and acceptable human labels. Test the saved output, rather than merely checking the displayed sentence, to detect meaning that shifted underneath the presentation.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_completion_callback. set_completion_callback handles suggestions and a context length measured in code points. A byte count is unsafe for many translated strings. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect observation_text and the boundary around history_add and history_save. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

4. Choosing a locale deliberately

A language preference has several possible sources: an explicit command option, saved user preference, account setting, environment variable or operating-system default. Choose a documented precedence and provide a predictable fallback when a catalogue is missing. Do not infer technical competence, legal authorization or geographical location from someone’s interface language. Record the effective locale for debugging without needlessly collecting sensitive profile information. Give users a way to see or override an unexpected choice.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_hint_callback. set_hint_callback provides inline suggestions. A hint should help discovery but must never imply a work order has already been approved. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect approval_status and the boundary around set_no_color. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

5. Build message context before translation

Messages need more information than an English source sentence. For every string, provide its place in the journey, the intended recipient, the event that triggered it, the permitted next actions and any values inserted at runtime. Explain what must not be implied: draft is not verified, a local validation is not acceptance, and a button label is not an authorization token. Reviewers should be able to understand the situation without guessing from a clipped screenshot.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_highlighter_callback. set_highlighter_callback assigns styling to Unicode code-point positions; bytes, code points and grapheme clusters are different notions. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect instrument_id and the boundary around enable_bracketed_paste. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

6. Grammar, plural categories and number formatting

Many languages require agreement, inflection or different word order that cannot be produced by joining English fragments. Quantities may need plural categories beyond singular and plural; decimal and grouping conventions may differ. Do not translate a value by changing the underlying data type. Keep numbers and timestamps in canonical form in storage, then produce a readable representation with an appropriate locale-aware formatter. Make the meaning of counts explicit when they refer to errors, records, people or pending requests.

In a multilingual conservation laboratory equipment registry, this becomes concrete through history_add and history_save. History methods can save operator commands. Decide whether private observation_text should ever be stored on a shared terminal. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect work_order_code and the boundary around replxx::Replxx. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

7. Display width, scripts and grapheme clusters

The number of bytes in UTF-8 is not the number of Unicode code points, and neither always equals the number of visible characters or terminal cells. Accents, Indic scripts, East Asian characters and emoji make that distinction operational, especially for cursor positions, highlighting and wrapping. Test the whole interaction on actual supported terminals. A successful unit test of string encoding does not guarantee readable prompts, usable keyboard editing or predictable line breaks.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_no_color. set_no_color supports readable output for terminals that cannot render highlighting. Every warning must carry its meaning in text. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect observation_text and the boundary around input(). The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

8. Keyboard and navigation language

Help legends are instructions, not decoration. If an interface says that a key confirms a choice, the key must perform that action in the tested environment. Describe cancellation, retry and navigation separately. Some input methods use combinations that conflict with library shortcuts, while screen readers may announce keys and selected states differently from visual users. A translated shortcut hint must be validated against runtime behavior instead of being guessed from the English legend.

In a multilingual conservation laboratory equipment registry, this becomes concrete through enable_bracketed_paste. enable_bracketed_paste can distinguish pasted text in supported environments; it does not sanitize content or authorize a command. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect approval_status and the boundary around set_completion_callback. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

9. Defaults, ordering and human choice

Defaults reduce effort, but a preselected answer can also lead to accidental consent. Examine which option appears first, what happens when Enter is pressed and whether a user can choose to do nothing. A locale-specific sort order may rearrange visible choices. An application may safely vary presentation order while still mapping the resulting selection to the same canonical code. Document when a default exists, why it is appropriate and how its consequence is explained.

In a multilingual conservation laboratory equipment registry, this becomes concrete through replxx::Replxx. Readline-style input is not equivalent to a transaction. The maintenance database and its supervisory workflow establish the actual result. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect instrument_id and the boundary around set_hint_callback. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

10. Cancellation is a distinct outcome

End of file, an explicit cancel command, an interrupt signal, invalid input and an empty response are not interchangeable events. One may mean that the user deliberately stopped; another means that the environment disappeared before any decision could be made. Design clear states for abandoned, retryable and committed work. A translated message should identify the actual state and available recovery, especially after the program may already have performed a partial operation.

In a multilingual conservation laboratory equipment registry, this becomes concrete through input(). The same visible command suggestion can correspond to a stable work_order_code while the explanatory hint varies by locale. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect work_order_code and the boundary around set_highlighter_callback. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

11. Validation needs more than a fluent error

A useful diagnostic says what failed, why the system can tell, and what the operator may do next. Separate simple local checks from existence checks, permissions and external review. For example, a formatted identifier may still refer to a nonexistent object. Do not invent an external failure when the application only knows a local timeout. Preserve stable error codes for support while writing grammatical, calm explanations for the reader.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_completion_callback. Completion candidates may be case sensitive or case insensitive according to configuration, but instrument identifiers must remain exact. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect observation_text and the boundary around history_add and history_save. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

12. Suggestions, completion and helpful text

Autocomplete and hints can make an interface appear intelligent, but they may be partial, stale or derived from data the user should not see. The visible suggestion is a proposal, not a completed action, and the system must apply the same authorization checks after input is accepted. Decide which tokens are command syntax and which are explanatory prose. Translating a reserved command word without changing the parser turns a helpful suggestion into a trap.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_hint_callback. A multiline input can shift the apparent position of a prompt; adjust layout and test real terminal widths with long translations. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect approval_status and the boundary around set_no_color. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

13. History, logs and privacy

The persistence of terminal output can outlast the session in shell history, application history, CI logs, video recordings and support transcripts. A translation workflow should assess every place that a sensitive value can be repeated. Masking one input does not solve the exposure of later summaries. Define retention periods and redaction rules for data values, record identifiers and free-text notes; logs should normally retain stable error categories rather than full personal content.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_highlighter_callback. The output of highlighting can obscure a warning in an unusual terminal theme. Use semantic words in addition to color. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect instrument_id and the boundary around enable_bracketed_paste. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

14. Output status and earned confidence

Words such as completed, approved, verified, sent, saved and published carry different factual commitments. A processing indicator proves little about the receiving service. Use a status model that distinguishes locally prepared, attempted, acknowledged, rejected and unknown outcomes. If confirmation is unavailable, show uncertainty and a safe verification path. That degree of precision increases trust because the interface does not promise more than the system knows.

In a multilingual conservation laboratory equipment registry, this becomes concrete through history_add and history_save. Some terminals offer limited rendering for bidirectional text; UTF-8 support alone does not guarantee accurate visual editing. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect work_order_code and the boundary around replxx::Replxx. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

15. Accessible output without visual shortcuts

Color and typography can help readers scan output, but they should not be the only sign of severity or success. Test monochrome, no-color, redirected output, high-contrast themes and assistive technology. Avoid decorative symbols that obscure the operative words. A warning should remain a warning when stripped of style; an instruction should retain its order when line wrapping changes. Accessibility is part of meaning preservation, not merely a secondary visual requirement.

In a multilingual conservation laboratory equipment registry, this becomes concrete through set_no_color. Conservation records may carry personal data or proprietary equipment notes. Sanitize history, transcripts and debug output. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect observation_text and the boundary around input(). The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

16. Non-interactive environments and reproducibility

An interactive program may also run from a scheduled job, a pipe, a remote terminal, a container or an accessibility tool. These environments differ in available input, width, color and signal handling. Decide explicitly when to fall back to flags, configuration files or a machine-readable output mode. Never interpret a missing terminal as permission to choose a default silently. Repeatable testing needs stable locale, dependency versions and input fixtures.

In a multilingual conservation laboratory equipment registry, this becomes concrete through enable_bracketed_paste. Line editing can continue through concurrent status output; test that messages are emitted without corrupting the current prompt. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with a successful path and compare it with the nearest failure. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect approval_status and the boundary around set_completion_callback. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

17. Review by people who can act

Fluent reviewers should complete real tasks in the target language, including a wrong turn and a cancellation, rather than only voting on whether a phrase sounds natural. Pair language specialists with domain owners who understand what codes, approvals and evidence mean. Ask each reviewer to predict the stored result before showing it. The most useful discrepancy is one where the words sound right but the person expects a different action than the program actually performed.

In a multilingual conservation laboratory equipment registry, this becomes concrete through replxx::Replxx. Return text to a typed parser; never treat a translated phrase as an authority to quarantine or release equipment. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect instrument_id and the boundary around set_hint_callback. The reviewer should be able to explain why a translation is safe without relying on the source language. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

18. Release, maintenance and regression control

New strings, dependency upgrades, terminal differences and changed domain rules can all reopen previously closed translation problems. Maintain a small documented test matrix with representative language families and environments. Treat a changed feature or option list as a reason to retest affected workflows. Track a release’s source messages, translated versions, code mappings and known limitations. Do not call a locale ready merely because every string key has a value.

In a multilingual conservation laboratory equipment registry, this becomes concrete through input(). Pin a verified replxx revision and test CMake builds, Windows and POSIX terminals and upgraded locale assets. The person performing the task is a conservation technician; it would be unreasonable to expect that person to infer these rules from an English-language code example. Design the displayed words around the actual decision, and make the resulting state visible at the point where they need to continue.

Start with the easiest misleading result and work backward to its cause. Record a sample input, the exact visible wording, the actual stored or emitted value, and the responsible source of confirmation. For this workflow, inspect work_order_code and the boundary around set_highlighter_callback. The application should preserve identical canonical values when its localized labels change. If the test does not reveal a bad translation that changes a decision or hides uncertainty, the test is probably too superficial.

A useful review question is: What would an experienced person in this language think happened? Compare that expectation with logs and state transitions stripped of private details. If the answer is no more than that a choice was read locally, avoid terms suggesting remote verification. If a code was rejected, keep its identity separate from the localized explanation. This makes support investigations possible across language editions without forcing people to translate raw internal fields.

Reference implementation pattern

A production implementation can use several modules: a locale resolver, immutable domain definitions, message catalogues, terminal-facing adapters, validators, and a separate service layer for durable records. In the adapter, assemble each visible message from semantic inputs rather than concatenate language fragments. In the service layer, accept canonical work_order_code values, check permissions, and return structured outcomes. The adapter then translates those outcomes as pending, accepted, rejected or unknown. This separation is more important than adopting any particular file format for the message catalogue.

For one reproducible example, use the candidate codes `INSPECT`, `CALIBRATE`, `QUARANTINE`. Define the equivalent explanations in two or more test languages. Switch locale and re-order their display according to reader expectations. Select the same underlying concept and compare the serialized value, not the numeric position or appearance. Next, simulate a cancelled session, a delayed response and an unauthorized request. The saved code and resulting status must remain stable while the screen explains each branch naturally.

Twenty-four practical investigations: how multilingual terminal failures happen

Investigation 1: A translated prompt contains a wide glyph

Suppose a translated prompt contains a wide glyph while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but the person can make a different choice than intended. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through replxx::Replxx. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 2: A completion context length counts bytes

Suppose a completion context length counts bytes while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a stable identifier can be replaced by a display string. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through input(). Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 3: A combining mark breaks highlighting positions

Suppose a combining mark breaks highlighting positions while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but an abandoned action can be mistaken for consent. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_completion_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 4: A hint appears to approve a dangerous action

Suppose a hint appears to approve a dangerous action while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but the default can be accepted without informed intention. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_hint_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 5: A technician pastes several commands at once

Suppose a technician pastes several commands at once while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a silent fallback can conceal missing information. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_highlighter_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 6: Bracketed paste is unavailable in a terminal

Suppose bracketed paste is unavailable in a terminal while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a built-in instruction can remain in an unexpected language. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through history_add and history_save. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 7: A private instrument serial number is saved to history

Suppose a private instrument serial number is saved to history while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but cursor navigation can no longer match what appears on screen. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_no_color. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 8: A history file remains on a shared workstation

Suppose a history file remains on a shared workstation while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but an important clause can disappear on a narrow display. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through enable_bracketed_paste. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 9: The application receives nullptr at EOF

Suppose the application receives nullptr at EOF while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but severity may disappear when formatting is stripped. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through replxx::Replxx. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 10: A ‘quarantine’ choice is mistaken for an action already taken

Suppose a ‘quarantine’ choice is mistaken for an action already taken while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but private content can survive in transcript files. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through input(). Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 11: A callback returns an obsolete code

Suppose a callback returns an obsolete code while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but suggestions can change the command that gets executed. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_completion_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 12: A completion candidate is not authorized for this operator

Suppose a completion candidate is not authorized for this operator while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a previously valid value may be interpreted as current. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_hint_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 13: A terminal shows no ANSI color

Suppose a terminal shows no ANSI color while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but the interface can claim completion without acknowledgment. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_highlighter_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 14: A translated string contains terminal escape sequences

Suppose a translated string contains terminal escape sequences while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but some records can be accepted while others are not. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through history_add and history_save. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 15: A work order is stored locally but not sent

Suppose a work order is stored locally but not sent while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a keyboard shortcut can intercept normal text entry. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_no_color. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 16: The approval service returns an unknown outcome

Suppose the approval service returns an unknown outcome while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but old commands can run against a changed schema. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through enable_bracketed_paste. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 17: A warning arrives while input is being edited

Suppose a warning arrives while input is being edited while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but a job can wait forever for an unavailable human. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through replxx::Replxx. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 18: A long right-to-left hint overlaps the cursor

Suppose a long right-to-left hint overlaps the cursor while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but the wording can promise more than the data proves. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through input(). Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 19: A terminal resize splits a status line

Suppose a terminal resize splits a status line while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but counts can mislead a reader about affected records. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_completion_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 20: A reviewer checks only modern terminals

Suppose a reviewer checks only modern terminals while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but reviewers can accept subtly different verbs as synonyms. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_hint_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 21: A locale upgrade changes query tokens

Suppose a locale upgrade changes query tokens while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but assistive users can miss a state change. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting instrument_id and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_highlighter_callback. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical instrument_id is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 22: An operator assumes Tab accepts the first candidate

Suppose an operator assumes Tab accepts the first candidate while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but visual reviewers can miss the actual keyboard path. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting work_order_code and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through history_add and history_save. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical work_order_code is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 23: A log line exposes observation_text

Suppose a log line exposes observation_text while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but previously correct translations can regress. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting observation_text and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through set_no_color. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical observation_text is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Investigation 24: A new build changes callback behavior

Suppose a new build changes callback behavior while a conservation technician tries to search for an instrument, enter a maintenance observation, choose a work-order action and record whether the supervisor accepted it. The immediate symptom may seem cosmetic, but an exported report can acquire a different meaning. This case deserves a complete before-and-after test, including the exact input, displayed phrase, resulting approval_status and any changes to the terminal session. A screenshot alone is not enough evidence because it cannot show the underlying code, the interrupted state or the saved record.

Trace the interaction through enable_bracketed_paste. Reproduce the original condition, isolate whether it originates in the catalogue, the input library, the application parser or the external service, and correct only that responsible layer. Repeat with another language and with English to ensure the fix does not merely hide the issue. The operator should be told what remains possible after the failure, without a fabricated approval or an unexplained technical code.

Acceptance evidence: the revised message uses the actual domain terminology, the same canonical approval_status is produced for equivalent valid decisions, a genuine cancellation leaves no unintended committed work, and the status matches the authoritative result. Capture the library/runtime version, locale, terminal settings and what the tester expected before the outcome was revealed. A reviewer should be able to reproduce both the problem and the repair.

Testing matrix: what to check before a multilingual release

Dimension Minimum test What can fail
Input Normal, invalid, empty, cancel, EOF and interrupt Different events merge into a false confirmation
Canonical mapping Select comparable meanings in each locale Stored code changes with label or sorting
Language Long, short, plural-rich and non-Latin locale Grammar, fallback or rendering damages meaning
Terminal Wide, narrow, light, dark and no-color Clipped wording or missing severity
Execution Interactive and redirected/noninteractive Unexpected default or blocked pipeline
Evidence Local, remote accepted, rejected, timed out Unsupported completion or approval claim
Security History, logs, screenshots and copied output Sensitive entries persist unexpectedly
Regression Pinned versions and old recorded fixtures Dependency upgrade changes help or navigation

Four-week practical implementation plan

Week 1 — define task, vocabulary and evidence

Observe a real task performed by a conservation technician. Record the whole journey and a data dictionary for instrument_id, work_order_code, observation_text, approval_status. Review confusing source-language instructions before asking people to translate them. Decide what local completion means and what only the external reviewer can approve. Identify the operating systems, terminals, language families and assistive technologies the product promises to support.

Week 2 — implement the localized adapter

Introduce semantic message keys with descriptions, a deterministic locale resolver and a fallback that can be audited. Wrap replxx::Replxx, input(), set_completion_callback in the application interface rather than mixing data changes with display calls. Add regression tests that compare canonical records from identical tasks across languages, including reorderings of visible lists and different grammatical constructions.

Week 3 — challenge real sessions

Recruit fluent speakers and task owners to perform a successful operation, a wrong input, a cancellation and an interrupted submission. Inspect keyboard behavior, Unicode editing, accessibility, history and no-color output. Review each discrepancy by separating what the person believed would happen from what the system saved. Fix high-consequence misunderstandings before cosmetic inconsistencies.

Week 4 — release with evidence and a maintenance owner

Freeze the supported library version and message catalogue, test a documented matrix and record known limits. Verify that publication or supervisory language is only used when an authoritative system confirms it. Assign owners for future terminology changes, new domain values and regressions. Review support incidents by code and locale, avoiding unnecessary sensitive data in the records.

Frequently asked questions

Is C++ replxx a complete translation management system?

No. Its documented functions help build terminal interaction or presentation, but application-specific message keys, locale fallback, domain rules, permissions and translations require separate design. Translate interface text without implying that the package can settle every linguistic or regulatory question.

What should remain exactly the same across languages?

The canonical domain model, authorization result, state transition and any IDs or commands relied upon by downstream systems. Reader-facing descriptions may change significantly so long as a person makes the equivalent informed decision and the application stores the same semantic value.

Can I test a translation by reading screenshots?

Screenshots are useful for line wrapping, visual order and clarity, but they do not prove navigation, keyboard behavior, cancellation or correct data. Pair them with task-based sessions and assertions on emitted codes, errors, statuses and records.

What if the terminal cannot render a target script properly?

Do not claim full support without testing. Document the affected terminal and locale, try an alternate output or noninteractive workflow where feasible, and provide meaningful plain-text instructions. Unicode-encoded text can still fail at font, shaping or screen-cell measurement layers.

How should I translate a completed action?

State exactly what the underlying layer knows. In the example here: The maintenance observation was saved; supervisory approval is still pending. The stronger claim, “The instrument has been certified safe and returned to service.” must wait for independent confirmation. Separate saved, submitted, acknowledged and approved in the glossary.

Should command identifiers themselves be translated?

Not unless the parser intentionally supports those alternatives and the team tests each mapping. Translating explanatory labels is different from changing a machine syntax token, option key or stored code. Keep a durable semantic contract between the interface and the program.

How do teams manage incomplete language catalogues?

Use a documented fallback strategy, mark untranslated critical messages for review, and test unexpected locale selection. A fallback can keep a tool usable but must not disguise an unsafe or misleading status phrase.

When is it time to revalidate the translation?

After library upgrades, locale catalogue changes, added choices, renamed codes, changed external approval rules, or new terminal environments. Keep task-based fixtures so a later release can detect when a once-correct user journey no longer behaves as expected.

References and further learning

Conclusion: the translated interface must agree with the actual result

A successful C++ replxx localization is not defined by a complete set of attractive strings. It is defined by a person who can follow a task, choose the intended action, understand mistakes and recognize what the software has—and has not—confirmed. In a multilingual conservation laboratory equipment registry, the right result is an intelligible workflow with consistent codes, predictable interruption, evidence-based statuses and a usable experience across supported languages.

Begin with the full journey of a conservation technician, keep instrument_id, work_order_code, observation_text, approval_status as defined data, and ask language reviewers to check their expectations against the recorded result. Maintain the same discipline when requirements change. The soundest promise a multilingual interface can make is a modest one: the words, controls and evidence agree.