From b0ad123fcc9e40b2ebec310a09b7c28a19095b62 Mon Sep 17 00:00:00 2001 From: Horizontal42 <75383519+Horizontal42@users.noreply.github.com> Date: Tue, 23 Jun 2026 23:56:13 +0300 Subject: [PATCH] =?UTF-8?q?add=20trillion=20scale;=20RU=20=D0=BA=20=3D=20?= =?UTF-8?q?=D1=82=D1=8B=D1=81=D1=8F=D1=87=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/engine.test.ts | 3 +++ src/engine/unitdata.ts | 1 + src/engine/vocab-data.ts | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/engine/engine.test.ts b/src/engine/engine.test.ts index 7c14977..ebec0d1 100644 --- a/src/engine/engine.test.ts +++ b/src/engine/engine.test.ts @@ -49,6 +49,9 @@ describe("arithmetic", () => { it("scales", () => { expect(calc("1.5 million")).toBe("1,500,000"); expect(calc("5k")).toBe("5,000"); + expect(calc("2 trillion")).toBe("2,000,000,000,000"); + expect(calc("1.5 трлн")).toBe("1,500,000,000,000"); + expect(calc("5к")).toBe("5,000"); expect(calc("2 dozen")).toBe("2"); // dozen is not in the vocab — noise }); it("free text around math is ignored", () => { diff --git a/src/engine/unitdata.ts b/src/engine/unitdata.ts index 92a1c7f..7c5c372 100644 --- a/src/engine/unitdata.ts +++ b/src/engine/unitdata.ts @@ -132,4 +132,5 @@ export const SCALE_DATA: Record = { thousand: "1e3", million: "1e6", billion: "1e9", + trillion: "1e12", }; diff --git a/src/engine/vocab-data.ts b/src/engine/vocab-data.ts index 5583562..1ee253a 100644 --- a/src/engine/vocab-data.ts +++ b/src/engine/vocab-data.ts @@ -484,6 +484,7 @@ export const EN: VocabLocale = { "sample.welcome": "# Summarum\n8 / (45 - 20%)\n5 inches in cm\n$9 in euro\n100 km/h in mph" }, "Scales": { + "trillion.variants": "trillion,Trillion,trillions,Trillions,tn", "billion.variants": "billion,Billion,milliard,Milliard,billions,Billions,milliards,Milliards", "million.variants": "million,Million,millions,Millions,M", "thousand.variants": "thousand,Thousand,thousands,Thousands,th.,th,k" @@ -948,9 +949,10 @@ export const RU: VocabLocale = { "sample.welcome": "# Summarum\n8 / (45 - 20%)\n5 дюймов в см\n$9 в евро\n100 км/ч в милях" }, "Scales": { + "trillion.variants": "триллион,триллиона,триллиону,триллионом,триллионе,триллионы,триллионов,триллионам,триллионами,триллионах,трлн,трлн.", "billion.variants": "миллиард,миллиарда,миллиарду,миллиардом,миллиарде,миллиарды,миллиардов,миллиардам,миллиардами,миллиардах,млрд,млрд.", "million.variants": "миллион,миллиона,миллиону,миллионом,миллионе,миллионы,миллионов,миллионам,миллионами,миллионах,мил.,мил,милл.,милл,М,млн,млн.", - "thousand.variants": "тысяча,тысячи,тысяче,тысячу,тысячей,тысячам,тысячами,тысячах,тысяч,тыс.,тыс,т,т." + "thousand.variants": "тысяча,тысячи,тысяче,тысячу,тысячей,тысячам,тысячами,тысячах,тысяч,тыс.,тыс,к,т,т." }, "Temperature": { "celsius.variants": "цельсий,цельсия,цельсиев,цельсиях,цельсиями,градусов цельсия",