aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-12-09 09:28:31 -0300
committerSebastian <sebasjm@gmail.com>2022-12-09 09:28:31 -0300
commit4ccdcf3058738d5139df2737f49399c3b08877c4 (patch)
tree344bcd06e1bae3aad1dc78786dff3c1d96177e89
parent0bd47e107c9127561da33719a0a7c6de88c35f2e (diff)
use string-prelude and poheader if it is present
-rw-r--r--packages/pogen/src/po2ts.ts13
-rw-r--r--packages/pogen/src/potextract.ts48
2 files changed, 37 insertions, 24 deletions
diff --git a/packages/pogen/src/po2ts.ts b/packages/pogen/src/po2ts.ts
index 7e831e6f8..d37bdb902 100644
--- a/packages/pogen/src/po2ts.ts
+++ b/packages/pogen/src/po2ts.ts
@@ -24,6 +24,8 @@ import * as fs from "fs";
import * as path from "path";
import glob = require("glob");
+const DEFAULT_STRING_PRELUDE = "export const strings: any = {};\n\n"
+
export function po2ts(): void {
const files = glob.sync("src/i18n/*.po");
@@ -34,9 +36,14 @@ export function po2ts(): void {
console.log(files);
- const chunks: string[] = [
- "export const strings: any = {};\n\n"
- ];
+ let prelude: string;
+ try {
+ prelude = fs.readFileSync("src/i18n/strings-prelude", "utf-8")
+ } catch (e) {
+ prelude = DEFAULT_STRING_PRELUDE
+ }
+
+ const chunks = [prelude];
for (const filename of files) {
const m = filename.match(/([a-zA-Z0-9-_]+).po/);
diff --git a/packages/pogen/src/potextract.ts b/packages/pogen/src/potextract.ts
index 8961c8da0..e75c17d55 100644
--- a/packages/pogen/src/potextract.ts
+++ b/packages/pogen/src/potextract.ts
@@ -21,6 +21,26 @@ import * as ts from "typescript";
import * as fs from "fs";
import * as path from "path"
+const DEFAULT_PO_HEADER = `# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\\n"
+"Report-Msgid-Bugs-To: \\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"
+"Language: \\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"\n\n`
+
+
function wordwrap(str: string, width: number = 80): string[] {
var regex = ".{1," + width + "}(\\s|$)|\\S+(\\s|$)";
return str.match(RegExp(regex, "g"));
@@ -417,28 +437,14 @@ export function potextract() {
!prog.isSourceFileDefaultLibrary(x),
);
- // console.log(ownFiles.map((x) => x.fileName));
-
- const chunks = [];
+ let header: string
+ try {
+ header = fs.readFileSync("src/i18n/poheader", "utf-8")
+ } catch (e) {
+ header = DEFAULT_PO_HEADER
+ }
- chunks.push(`# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\\n"
-"Report-Msgid-Bugs-To: \\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"
-"Language: \\n"
-"MIME-Version: 1.0\\n"
-"Content-Type: text/plain; charset=UTF-8\\n"
-"Content-Transfer-Encoding: 8bit\\n"\n\n`);
+ const chunks = [header];
const knownMessageIds = new Set<string>();