From 8fb093e2e11c50032ed317bf7cea08686c083188 Mon Sep 17 00:00:00 2001 From: MartinCerny-awin Date: Sun, 6 Dec 2020 21:23:47 +0000 Subject: [PATCH] fix: pseudolocalize SelectOrdinal --- packages/cli/src/api/pseudoLocalize.test.ts | 10 ++++++++++ packages/cli/src/api/pseudoLocalize.ts | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/api/pseudoLocalize.test.ts b/packages/cli/src/api/pseudoLocalize.test.ts index 6108606f4..2c9bf99cd 100644 --- a/packages/cli/src/api/pseudoLocalize.test.ts +++ b/packages/cli/src/api/pseudoLocalize.test.ts @@ -68,6 +68,16 @@ describe("PseudoLocalization", () => { }) }) + it("SelectOrdinal", () => { + expect( + pseudoLocalize( + "{count, selectordinal, offset:1 one {1st} two {2nd} few {3rd} =4 {4th} many {testMany} other {#th}}" + ) + ).toEqual( + "{count, selectordinal, offset:1 one {1śţ} two {2ńď} few {3ŕď} =4 {4ţĥ} many {ţēśţMàńŷ} other {#ţĥ}}" + ) + }) + it("should not pseudolocalize variables", () => { expect(pseudoLocalize("replace {count}")).toEqual("ŕēƥĺàćē {count}") expect(pseudoLocalize("replace { count }")).toEqual("ŕēƥĺàćē { count }") diff --git a/packages/cli/src/api/pseudoLocalize.ts b/packages/cli/src/api/pseudoLocalize.ts index 098bc429d..1bfe15f75 100644 --- a/packages/cli/src/api/pseudoLocalize.ts +++ b/packages/cli/src/api/pseudoLocalize.ts @@ -16,9 +16,9 @@ Example: https://regex101.com/r/bDHD9z/3 const HTMLRegex = /<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/g /* Regex should match js-lingui plurals -Example: https://regex101.com/r/utnbQw/3 +Example: https://regex101.com/r/utnbQw/4 */ -const PluralRegex = /({\w*,\s*plural,(.|\n)*?{)|(}\s*(offset|zero|one|two|few|many|other)\s*{)/g +const PluralRegex = /({\w*,\s*(plural|selectordinal),(.|\n)*?{)|(}\s*(offset|zero|one|two|few|many|other)\s*{)/g /* Regex should match js-lingui variables Example: https://regex101.com/r/dw1QHb/2