taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 4ccdcf3058738d5139df2737f49399c3b08877c4
parent 0bd47e107c9127561da33719a0a7c6de88c35f2e
Author: Sebastian <sebasjm@gmail.com>
Date:   Fri,  9 Dec 2022 09:28:31 -0300

use string-prelude and poheader if it is present

Diffstat:
Mpackages/pogen/src/po2ts.ts | 13++++++++++---
Mpackages/pogen/src/potextract.ts | 48+++++++++++++++++++++++++++---------------------
2 files changed, 37 insertions(+), 24 deletions(-)

diff --git 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 @@ -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>();