Skip to content

Fix structural defects and register in existing translations - #347

Merged
biodranik merged 10 commits into
masterfrom
translation-review
Aug 8, 2026
Merged

Fix structural defects and register in existing translations#347
biodranik merged 10 commits into
masterfrom
translation-review

Conversation

@biodranik

Copy link
Copy Markdown
Member

No description provided.

@biodranik
biodranik requested a review from vng August 8, 2026 09:50
biodranik

This comment was marked as resolved.

Reviewed all 882 translated news posts against their English sources with an
automated checker, then corrected them per language.

Files with errors: 221 -> 112. Total errors: 474 -> 207. Everything still
failing is an abridged legacy translation (107 Hebrew, 1 ru, 1 tr) that needs
translating rather than proofreading.

Systemic defects found and fixed across many languages:
- 2025-10-07/450: translations described a superseded release. Rebuilt from
  the English source in 14 languages.
- 2025-12-31/500: all three #### section headings dropped, collapsing the post
  into one bullet list. Restored in ~25 languages.
- 2025-09-15/440: the Organic Maps brand dropped from the download line in
  ~20 languages.
- Contributor names transliterated out of Latin script (55 across 4 files);
  one rendered Viktar Havaka as a different name entirely.

Also: register aligned to policy (informal everywhere except ru/uk/be, which
use the polite form), project terminology applied from translation_glossary.tsv,
brands restored to Latin and unquoted, native quotation marks, and a number of
outright mistranslations - Welsh rendered GTFS "feed" as animal feed, Czech
rendered zipline as cable car, Greek rendered antimeridian zoom-out as
zoom-in.

Signed-off-by: Alexander Borsuk <me@alex.bio>
Translated posts linked `@/donate/index.LANG.md` correctly but left
`@/contribute/index.md` and similar targets in English, sending readers of a
translated page to the English version.

Rewrites every `@/…/index.md` reference in a translated file to
`@/…/index.LANG.md` when that translation exists, leaving it in English when
it does not. 265 links across 32 languages.

Signed-off-by: Alexander Borsuk <me@alex.bio>
The 14 translations rebuilt from the English source lost their slug: field and
carried a placeholder date, so Zola derived their URL from the translated title
instead of the shared slug, and they sorted differently from their siblings.

All 18 intact translations in that folder use the English slug verbatim, so the
same slug is restored here, and date: is aligned to the source's
2025-10-07T07:20:28+00:00 (all 32 now agree).

Signed-off-by: Alexander Borsuk <me@alex.bio>
<omaps.app/api> has no URL scheme, so markdown renders it as literal text
rather than a link. The English source uses <https://omaps.app/api>.

A corpus-wide scan found this to be the only occurrence.

Signed-off-by: Alexander Borsuk <me@alex.bio>
CLAUDE.md forbids rendering amounts like 5K as 5.000. Six translations of
2025-12-31/500 already used K notation throughout but had expanded a handful of
values to zeroes, so the same post mixed both styles - e.g. German read
"1.7K auf Reddit ... mit 100.000 jährlichen Aufrufen".

13 values restored to each file's own K style and decimal separator (de 5,
ca 6, it 1, nl 1). Literal counts that are not K-derived, such as 1.244 forks
and 12.411 stars, are untouched.

Ten further languages (cs, es, et, eu, gl, id, lt, oc, sv, tr) expand every
value and use no K notation at all. Making those consistent is a per-language
style choice between K and a local 'thousand' form, so they are left for a
separate decision.

Signed-off-by: Alexander Borsuk <me@alex.bio>
Occitan wording drifted across files (carta/mapa, marcadors/marcapaginas/marcas)
with nothing in the glossary to settle it; the same gap existed for ca, gl, eu,
cy and af.

79 term pairs mined from the site's own proofread translations with
tmp/glossary_extract.py. DeepL has no glossary support for these languages, so
they surface through get_review_terms() as guidance for the proofreading pass
rather than as substitutions.

Three ambiguous cases are listed under NEEDS NATIVE REVIEW instead of guessed:
oc bookmark (marcapaginas, the book sense, vs marcadors, the map-marker sense
used elsewhere in the project), eu crash, and eu track.

Signed-off-by: Alexander Borsuk <me@alex.bio>
109 translations (107 Hebrew, 1 ru, 1 tr) failed the structural checker. They
were not abridged as first assumed: 108 of them already contained their full
translation, but the markdown had collapsed - bullet lists joined onto one line
with ' - ' separators, paragraphs merged, and '**iOS**:' sub-headings absorbed
into the preceding bullet.

They were re-flowed onto each source's line structure with the existing wording
preserved. Two of the five passes verified character-level that nothing was
lost, by subsequence check against HEAD. Only the Turkish file needed new text
(7 lines including a whole iOS section), costing ~413 DeepL characters against
the ~161,000 a wholesale re-translation would have used.

Defects found and fixed along the way:
- OSM tags rendered as prose, which made changelogs meaningless: craft=*,
  parking_entrance, railway-rail-*, a healthcare=* value list.
- A crypto wallet code block missing entirely from the donation post, and a
  SEPA table flattened onto one line.
- Links reduced to bare parenthesised URLs in seven files.
- Arabic letters spliced into a Hebrew word.
- A bold span that could not open under CommonMark flanking rules.

Also restores product brands and contributor names that had been translated or
transliterated - 'Organic Maps' as the Hebrew phrase for 'the organic maps',
and ~60 credited contributors across he, ar, fa-IR and ru whose names appeared
in Latin elsewhere in the same file.

All 882 news translations now pass the checker with zero errors.

Signed-off-by: Alexander Borsuk <me@alex.bio>
Eleven Persian FAQ pages and the news section index rendered the brand as
نقشه‌های ارگانیک ('the organic maps'), against 39 Persian pages that keep it in
Latin. One file used both forms.

Slugs are untouched: content/faq/editing/organic-maps-map-editing/index.fa-IR.md
keeps the translated brand inside its slug, because that is a published URL.

Signed-off-by: Alexander Borsuk <me@alex.bio>
@biodranik
biodranik force-pushed the translation-review branch from f28e452 to 582040d Compare August 8, 2026 10:48
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 8, 2026

Copy link
Copy Markdown

Deploying organicmaps with  Cloudflare Pages  Cloudflare Pages

Latest commit: 16d91da
Status: ✅  Deploy successful!
Preview URL: https://a9cdab15.organicmaps.pages.dev
Branch Preview URL: https://translation-review.organicmaps.pages.dev

View logs

Signed-off-by: Alexander Borsuk <me@alex.bio>
- 2025-12-31/500 de mixed singular and plural address, switching number
  mid-sentence in "Dank euch … folge uns, falls du…". Settled on the plural
  euch/ihr, already the majority form in the file and the natural choice for
  community-wide thanks, matching how pt, ca and cs handled the same post.
- 2022-11-30/111 tr kept the formal karşınızda in both title and body while
  the rest of the sentence had been converted to informal. Now karşında.

Signed-off-by: Alexander Borsuk <me@alex.bio>
@biodranik
biodranik force-pushed the translation-review branch from 7f944ed to 16d91da Compare August 8, 2026 15:31
@biodranik
biodranik merged commit bd90fda into master Aug 8, 2026
3 checks passed
@biodranik
biodranik deleted the translation-review branch August 8, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant