The legend's region sections, its Deaf row and its one-country zones, the wall's card names, the print progress and error messages, the map's status badge and the Population column all rendered English in every locale. None of them was visible to check:hardcoded-english: they were single words, .js modules, Error() arguments, library components or number formatting. - Legend: region rows through one REGION_KEY table shared with the wall (poster.region_*, new region_deaf); zones through zoneTitle (tier A by country, the Deaf row by its bloc name); node ids stay English-derived. - Wall: card labels through zoneTitle, so the Show-on-map name, alt text, tooltip, HUD title and printed title agree with the legend and packet. - Errors a reader sees are keyedError(key, English, params); errorText(e, t) shows them translated, and an unkeyed error still shows its own message. Developer detail for a failed data load goes to the console; the badge says upgMap.mapDataFailed. - Population: Intl compact notation in the app's locale, same precision. - Country Posters: the unsupported card's reason is messages.countryPosterTooMany, not the data file's English note. - Strings only the UPG-100 map shows move to a new upgMap area, so other bundles do not carry them (country-posters 1,490,907 bytes). - check:hardcoded-english judges keyedError's English as a fallback (quiet when the key resolves everywhere, a finding when it does not); check:label-key-coverage follows REGION_KEY to legend-tree.js and covers the legend's table and its regionFor producer. Both self-tests two-sided.
45 lines
3.4 KiB
JSON
45 lines
3.4 KiB
JSON
{
|
||
"menuComingSoon": "Meniu în curând",
|
||
"pinHint": {
|
||
"tapDot": "Atinge un punct colorat — cineva are încă nevoie de rugăciune"
|
||
},
|
||
"upg100WallHeading": "Lista mea UPG 100 — Liste de rugăciune și afișe",
|
||
"upg100WallTag": "Mobilizare pentru rugăciune",
|
||
"upg100WallIntroA": "Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",
|
||
"upg100WallIntroEmph": "pe numele poporului lor",
|
||
"upg100WallIntroB": ".",
|
||
"loadingNamed": "Se încarcă {name}…",
|
||
"couldNotLoadNamed": "Nu s-a putut încărca {name}.",
|
||
"engineMissing": "Motorul de hartă {engine} nu s-a încărcat.",
|
||
"packetFailed": "Broșura a eșuat: {reason}",
|
||
"selectionPacketFailed": "Broșura selecției a eșuat: {reason}",
|
||
"posterOneTerritory": "Afișul tipărește un teritoriu pe rând — {count} selectate.",
|
||
"selectionPosterFailed": "Afișul selecției a eșuat: {reason}",
|
||
"mapUnavailable": "Harta indisponibilă",
|
||
"copied": "Copiat!",
|
||
"copyFailed": "Copierea a eșuat — apasă Ctrl/Cmd-C",
|
||
"engineNotLoaded": "motorul de hărți nu s-a încărcat",
|
||
"engineNotLoadedDetail": "Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",
|
||
"viewLoadFailed": "Această vizualizare nu s-a putut încărca.",
|
||
"retry": "Reîncearcă",
|
||
"noMapboxToken": "Niciun token Mapbox",
|
||
"noMapboxTokenDetail": "Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",
|
||
"loadingBoundaries": "Se încarcă granițele…",
|
||
"fetchingUupgs": "Se preiau {n} UUPG…",
|
||
"mapStatusCounts": "Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",
|
||
"tapTerritoriesHint": "Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",
|
||
"territoriesSelected": "Teritorii: {count}",
|
||
"bandInRange": "✓ interval 50–100",
|
||
"bandOutOfRange": "interval 50–100",
|
||
"mapContextLost": "Această hartă a fost descărcată pentru a elibera memoria grafică.",
|
||
"nOfTotal": "{n} din {total}",
|
||
"mapInitFailed": "Harta nu a putut fi inițializată — verificați tokenul și containerul",
|
||
"countryWallIntroA": "Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",
|
||
"countryWallIntroB": ". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",
|
||
"countryWallSoon": "În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",
|
||
"countryWallHeading": "Afișe pe țări — Liste de rugăciune și afișe",
|
||
"largerScreenNotice": "Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",
|
||
"desktopOnlyNotice": "{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",
|
||
"noticeDismiss": "Închide",
|
||
"countryPosterTooMany": "Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."
|
||
}
|