i18n(ar): apply review round 1

Findings from the astra, sol and fable reviews of the Arabic screenshots:

- Wording: forecast valid time is «عند», not an expiry; acres are آكر, not
  feddans; live layers are «تتبّع … المباشر» (not "direct flights"); the
  straight-ahead lane, turboprop, call sign, reconcile, proximity, retrying,
  count agreement (colon form, fixed counts, ي for compact day ages) and
  smaller fixes. Guide and glossary updated.
- Right to left: the scene editor's JSON fields are LTR; canvas map cards
  draw with LTR geometry and an Arabic face; whiteboard callouts anchor
  inside their cards; HDG/FOV keep their values; the cyclone timestamp no
  longer splits its date; bare-number counters read 01 / 25, translated
  ones say «من».
- Built-in shot titles of the Nepal shot pack's bootstrap shots localize
  (the applied pack vouches for them), in every language.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-28 17:42:24 +04:00
1 parent 91f1f80e60
commit 4f44a17b44
12 files changed
+226 -103

No files matched your search

+21 -1
View File
@@ -1,6 +1,14 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { formatDate, formatNumber, getLocale, setLocale, t, tn } from './index.js';
import {
formatDate,
formatNumber,
getLocale,
keepCodesWithValues,
setLocale,
t,
tn,
} from './index.js';
import {
applyDocumentLanguage,
intlLocale,
@@ -109,7 +117,19 @@ test('Arabic uses all six plural forms and spaced HUD units', () => {
t('Issued: {time}', { time: '10/28 00:00 UTC' }),
'صدر: \u206810/28 00:00 UTC\u2069',
);
// A Latin code stays beside its own value: HDG 68° · FOV 44°.
assert.equal(
keepCodesWithValues(
t('{city} · HDG {heading} · FOV {fov}', {
city: 'Austin',
heading: '68°',
fov: '44°',
}),
),
'\u2068Austin\u2069 · \u2068HDG \u206868°\u2069\u2069 · \u2068FOV \u206844°\u2069\u2069',
);
setLocale('ru');
assert.equal(keepCodesWithValues('HDG 68°'), 'HDG 68°');
assert.equal(formatCockpitDistance(14000), '14 КМ');
} finally {
setLocale(previous);