Mova0.6 pre-release⌕
☰
home / docs / languages / translation / Context-dependent renderings: English, French, Ukrainian

Context-dependent renderings: English, French, Ukrainian

Most words and many constructions have several valid renderings, and which one is right depends on the context. This folder documents those choices for the three pairs of the translation manuals, in both directions: English and French: renderings by context, English and Ukrainian: renderings by context, French and Ukrainian: renderings by context, with the machine-readable lists en-fr.tsv, en-uk.tsv, fr-uk.tsv. It is the companion of the false-friend lists: a false friend is a rendering that is wrong because it only looks right; a context entry is a choice among renderings that are each right somewhere. A partial false friend (control / contrôler, питання / question) usually has entries in both.

1. The model

A rendering is chosen by a small set of coordinates, the same ones the general manual uses for register (general.md §3):

sense × register coordinate (language + variety + style of speech) × domain × collocation × text type × reader → preferred rendering

Each row of a list is one source word or construction in one context (context_feature: domain: …, register: …, collocate: …, frame: …, text type: …, reader: …), with the preferred rendering (tgt_preferred), the acceptable alternatives (tgt_alternatives), what is wrong in that context (avoid), a verified corpus example where one exists and a note with a constructed ✗ rendering and the ✓ one. A polysemous word therefore has several rows.

The literature describes the same task as lexical selection: one source concept, several target variants, and the context decides which is most appropriate, which native speakers can label and models can be tested on (barua-2024-language-models-disambiguate-lexical-choices). Sentence-level translation is not enough for some of these choices: in a study of English–Russian subtitles, sentences that were good alone were wrong together in 7% of pairs, mostly through deixis (the T–V distinction and the speaker's or addressee's gender), ellipsis and lexical cohesion (voita-2019-when-good-translation-is-wrong). The T–V choice cannot be read from English at all; it has to come from outside the sentence, as a side constraint in a model (sennrich-2016-controlling-politeness-neural-machine-translation) or, in a human translation, from the brief and the relation of the characters.

2. Deciding by measured usage

The lists are measured with the same tool as the false friends, parallel choices. A row's src_match names the source word, ctx_match (optional) a context the source sentence must also contain (a collocate, a preposition, a frame word), good_match the preferred rendering and bad_match the one to avoid. For each row the tool counts the sentence pairs with the source word in that context (n_src), and among them those with the preferred rendering (n_good) and those with the avoided one (n_bad), per corpus too. So issue + raise in Europarl shows how often soulever une question, soulever un problème or ✗ soulever une issue appear.

What the counts can and cannot say:

Rows are sorted by n_src (frequency_rank 1 = the most frequent source word in its context), so the choices met most often come first.

3. How Mova will pick a variant

Mova does not translate French or Ukrainian today (translation README). The lists are written so that it can:

  1. Parse the source: the Universal Dependencies tree gives the word's lemma, part of speech and its dependents, which match ctx_match and the frame (raise → obj → issue).
  2. Pragmatics and frames give the sense and the participants: an issue that is debated is a question, an issue of a journal is a number; a case with a court is a legal case. The frame also gives the speaker–addressee relation for tu/vous, ти/ви.
  3. The register coordinate comes from the text's metadata and the brief (the document's house style, the reader), not from the sentence.
  4. A row whose features all hold gives its tgt_preferred; several rows are ranked by how specific they are (a collocate beats a domain, a domain beats the default) and by their measured n_good / n_src. The avoid column becomes a check on the output, like the false-friend check, with a negative control: a row must stay silent outside its context.

None of these steps runs on these lists yet; the parse exists for English and, through mapped treebank tags, for French; Ukrainian has no Mova parser baseline.

4. Examples we make

Where no corpus row shows a context (most legal, IT and register rows for Ukrainian), and for popular words where a better example teaches more, parallel tr-run has the Codex teachers write our own source sentence for the context and its translation through mova-teacher: Terra for difficulty = plain, Sol for hard:<reason>. The gates are those of the false-friend lists (the translation must use a preferred or acceptable rendering and never the avoided one; a second call judges the hard ones; Mova's parse of the English and French sides is recorded as findings). Accepted pairs get ids ours-tr:<pair>:<n>, live in <pair>.ours.tsv and become the row's example (example_status = constructed). On 2026-11-06, 345 context rows were queued: 335 got a pair, 10 were rejected by the gates and stay needs_example. The queue is languages/translation/examples-queue.tsv.

5. Files and columns

filewhat it islicence
<pair>.mdthe pair manual: prose per domain and per kind of choice, then the rows, both directionsElamur Cosmic License
<pair>.tsvthe list, one row per word in one contextElamur Cosmic License: our own, hand-made data
<pair>.examples.tsvthe corpus rows quoted as examplesthe corpus licences (Tatoeba CC BY 2.0 FR with authors; Europarl and DGT-TM EU re-use with attribution; the Bibles and Gutenberg public domain)

List columns: src_lang, src_lemma_or_pattern, context_feature, tgt_preferred, tgt_alternatives, avoid, example_id, note, then domain (the false-friend domains plus function, register, collocation), src_match, ctx_match, good_match, bad_match, difficulty, and the measured n_src, n_good, n_bad, by_corpus, example_ok, frequency_rank, example_status. The rebuild commands are those of the false-friend README §5, with the context lists.

Counts (2026-11-06).

pairrowsfrom the first languagefrom the secondwith a verified corpus exampleneeding an examplemarked hard
en-fr495317 (en)178 (fr)4878190
en-uk462337 (en)125 (uk)36894153
fr-uk537295 (fr)242 (uk)294243189
total1 4941 149345532

Every picked example was read by eye by the list's author on 2026-11-06; each manual's Data and method section gives how many picks were replaced or removed. Every example id was then checked again by a separate scan of the corpus files: all ids exist, with the same two texts.

6. Limits

The Elamur team

This page in Markdown → https://md.mova.elamur.ai/free/en/docs/languages/translation/context/