diff options
author | Florian Dold <florian@dold.me> | 2023-04-14 16:05:09 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-04-14 16:05:09 +0200 |
commit | f18305776167a3838245fd7d42180ba67218bc46 (patch) | |
tree | 95b56ef1528270e9d70d1cb9b5d0ebd8cedfa683 /packages/pogen | |
parent | 089c15582ed78004ade0855f1e3ee51abd9cdb45 (diff) | |
download | wallet-core-f18305776167a3838245fd7d42180ba67218bc46.tar.xz |
pogen: fix quoting of double quotes
Diffstat (limited to 'packages/pogen')
-rwxr-xr-x | packages/pogen/bin/pogen | 2 | ||||
-rw-r--r-- | packages/pogen/example/proj1/package.json | 5 | ||||
-rw-r--r-- | packages/pogen/example/proj1/src/i18n/test.pot (renamed from packages/pogen/example/messages.po) | 105 | ||||
-rw-r--r-- | packages/pogen/example/proj1/src/test.ts (renamed from packages/pogen/example/test.ts) | 3 | ||||
-rw-r--r-- | packages/pogen/example/proj1/src/test2.tsx (renamed from packages/pogen/example/test2.tsx) | 2 | ||||
-rw-r--r-- | packages/pogen/src/potextract.ts | 4 |
6 files changed, 77 insertions, 44 deletions
diff --git a/packages/pogen/bin/pogen b/packages/pogen/bin/pogen index a7ef879d8..3b17d1df7 100755 --- a/packages/pogen/bin/pogen +++ b/packages/pogen/bin/pogen @@ -1,2 +1,2 @@ -#!/usr/bin/env node +#!/usr/bin/env -S node --trace-deprecation require('../lib/pogen.js').main(); diff --git a/packages/pogen/example/proj1/package.json b/packages/pogen/example/proj1/package.json index 954139ecf..97adf0f3a 100644 --- a/packages/pogen/example/proj1/package.json +++ b/packages/pogen/example/proj1/package.json @@ -7,5 +7,8 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", - "license": "ISC" + "license": "ISC", + "pogen": { + "domain": "test" + } } diff --git a/packages/pogen/example/messages.po b/packages/pogen/example/proj1/src/i18n/test.pot index 1addae3f2..8bc5ef236 100644 --- a/packages/pogen/example/messages.po +++ b/packages/pogen/example/proj1/src/i18n/test.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-27 01:51+0100\n" +"POT-Creation-Date: 2016-11-23 00:00+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,68 +17,78 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: example/test.ts:3 -#, csharp-format +#: src/test.ts:4 +#, c-format msgid "Hello1, World" msgstr "" -#: example/test.ts:4 -#, csharp-format -msgid "Hello2, World" +#: src/test.ts:8 +#, c-format +msgid "Hello, quoted \"world\"" msgstr "" -#: example/test.ts:5 -#, csharp-format -msgid "Hello3, World" -msgstr "" - -#. This is a comment and should be included -#: example/test.ts:9 -#, csharp-format -msgid "Hello4, World" -msgstr "" - -#: example/test.ts:12 -#, csharp-format +#: src/test.ts:15 +#, c-format msgid "Hello5, World" msgstr "" -#: example/test.ts:13 -#, csharp-format -msgid "Hello6,{0} World" +#: src/test.ts:16 +#, c-format +msgid "Hello6,%1$s World" msgstr "" #. This one has a multi line comment. #. It has multiple lines, and a trailing empty line. #. -#: example/test.ts:20 -#, csharp-format -msgid "Hello7,{0} World{1}" +#: src/test.ts:23 +#, c-format +msgid "Hello7,%1$s World%2$s" msgstr "" -#: example/test.ts:21 -#, csharp-format -msgid "{0}Hello8,{1} World{2}" +#: src/test.ts:23 +#, c-format +msgid "one %1$s" +msgid_plural "many %1$s" +msgstr[0] "" +msgstr[1] "" + +#: src/test.ts:26 +#, c-format +msgid "one bla %1$s" +msgid_plural "many bla %1$s" +msgstr[0] "" +msgstr[1] "" + +#: src/test.ts:31 +#, c-format +msgid "I have %1$s apple" +msgid_plural "I have %1$s apples" +msgstr[0] "" +msgstr[1] "" + +#: src/test.ts:35 +#, c-format +msgid "%1$sHello8,%2$s World%3$s" msgstr "" #. #. This one has a multi line comment. #. It has multiple lines, and a leading empty line. -#: example/test.ts:28 -#, csharp-format +#: src/test.ts:42 +#, c-format msgid "Hello9,\" '\" World" msgstr "" -#: example/test.ts:32 -#, csharp-format +#: src/test.ts:46 +#, c-format msgid "" "Hello10\n" " ,\" '\" Wo\n" " rld" msgstr "" -#: example/test.ts:37 -#, csharp-format +#: src/test.ts:51 +#, c-format msgid "" "Hello11 this is a long long string\n" "it will go over multiple lines and in the pofile\n" @@ -86,8 +96,8 @@ msgid "" msgstr "" #. This is a single line comment -#: example/test.ts:42 -#, csharp-format +#: src/test.ts:56 +#, c-format msgid "" "Hello12 this is a long long string it will go over multiple lines and in the " "pofile it should be wrapped and stuff. asdf asdf asdf asdf asdf asdf asdf asdf " @@ -95,13 +105,26 @@ msgid "" "asdf" msgstr "" -#: example/test.ts:42 -#, csharp-format +#. First occurrence +#: src/test.ts:65 +#, c-format msgid "This message appears twice" msgstr "" -#: example/test.ts:45 -#, csharp-format -msgid "This message appears twice" +#: src/test2.tsx:1 +#, c-format +msgid "foo %1$s foo baz" +msgstr "" + +#: src/test2.tsx:5 +#, c-format +msgid "singular form second line" +msgid_plural "plural form" +msgstr[0] "" +msgstr[1] "" + +#: src/test2.tsx:17 +#, c-format +msgid "\"foo\"" msgstr "" diff --git a/packages/pogen/example/test.ts b/packages/pogen/example/proj1/src/test.ts index 6577fa314..2e9b4cbdd 100644 --- a/packages/pogen/example/test.ts +++ b/packages/pogen/example/proj1/src/test.ts @@ -1,9 +1,12 @@ declare var i18n: any; + console.log(i18n`Hello1, World`); console.log(i18n.foo()`Hello2, World`); console.log(i18n.foo()`Hello3, World`); +console.log(i18n`Hello, quoted "world"`); + /* This is a comment and should be included */ console.log(i18n().foo()`Hello4, World`); diff --git a/packages/pogen/example/test2.tsx b/packages/pogen/example/proj1/src/test2.tsx index 4133f86fb..1c1ab49f2 100644 --- a/packages/pogen/example/test2.tsx +++ b/packages/pogen/example/proj1/src/test2.tsx @@ -13,3 +13,5 @@ let y = ( </i18n.TranslatePlural> </i18n.TranslateSwitch> ); + +let z = <i18n.Translate>"foo"</i18n.Translate>; diff --git a/packages/pogen/src/potextract.ts b/packages/pogen/src/potextract.ts index e75c17d55..3e9a95ded 100644 --- a/packages/pogen/src/potextract.ts +++ b/packages/pogen/src/potextract.ts @@ -154,7 +154,7 @@ function processFile( path, line: lc.line, comment: getComment(tte), - template: getTemplate(tte.template).replace(/"/g, '\\"'), + template: getTemplate(tte.template), }; return res; } @@ -172,6 +172,8 @@ function processFile( function formatMsgLine(head: string, msg: string) { // Do escaping, wrap break at newlines + console.log("head", JSON.stringify(head)); + console.log("msg", JSON.stringify(msg)); let parts = msg .match(/(.*\n|.+$)/g) .map((x) => x.replace(/\n/g, "\\n").replace(/"/g, '\\"')) |