mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
Fixes the P1 and the confirmed P2 findings of the final review of the
i18n branch.
- CI: the air-quality model no longer imports i18n (portable module),
so check:boundaries passes again.
- Air quality layer: named in the layer panel, HUD and voice; its
Weather card, bands and errors translate. A test keeps the layer-name
table in step with the layer registry.
- Layer statuses that still reached ru/es in English: GNSS, CelesTrak,
Transit loading and feed errors, launches, perimeters, ALPR, ECCC,
wind "field unavailable", Local ADS-B streaming lines.
- Voice and HUD: preset ids show city names ("Fly to San Francisco"),
the HUD city translates, cockpit refusals cover frame, aircraft and
satellite; empty Transit notes translate on the analyst card.
- tn() keeps a caller's formatted count ("12,345 map objects").
- Cyber HUD: the language button no longer covers the bottom-right
card or the cockpit position readout.
- CCTV buttons wrap only in non-English locales; English layout matches
main again.
- Switching language asks first when Provider Settings holds unsaved
keys.
Catalogs: es/ru 2611 messages each, complete.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
27 lines
965 B
JavaScript
27 lines
965 B
JavaScript
// N-04: the HUD locality line passes the city upper-cased ("TOKYO") to the
|
|
// place-name lookup, which knows only "Tokyo", so the city never translates.
|
|
// The formatter below is the HUD's own (src/hud.js LOCALIZED_LOCALITY.near);
|
|
// hud.js itself does not load under node (mgrs CommonJS import).
|
|
// Place: src/hudLocalityCity.test.mjs
|
|
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { setLocale } from './i18n/index.js';
|
|
import { composeLocalityTag } from './hudLocality.js';
|
|
import { localizePlaceName } from './ui/placeNames.js';
|
|
|
|
const nearest = { poi: 'Tokyo Tower', city: 'Tokyo', distKm: 2 };
|
|
const hudFormat = {
|
|
near: ({ city }) => localizePlaceName(city),
|
|
sector: () => '',
|
|
};
|
|
|
|
test('ru: the HUD locality names Tokyo in Russian', () => {
|
|
setLocale('ru');
|
|
try {
|
|
const shown = composeLocalityTag(nearest, 35.66, 139.75, hudFormat);
|
|
assert.match(shown, /токио/i);
|
|
} finally {
|
|
setLocale('en');
|
|
}
|
|
});
|