From 4ccdcf3058738d5139df2737f49399c3b08877c4 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 9 Dec 2022 09:28:31 -0300 Subject: use string-prelude and poheader if it is present --- packages/pogen/src/po2ts.ts | 13 ++++++++--- packages/pogen/src/potextract.ts | 48 ++++++++++++++++++++++------------------ 2 files changed, 37 insertions(+), 24 deletions(-) (limited to 'packages/pogen') 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 , 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 \\n" +"Language-Team: LANGUAGE \\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 , 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 \\n" -"Language-Team: LANGUAGE \\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(); -- cgit v1.2.3