From 96cbfc2398ac28f2bb36fbfb2aae07ce6b8033d1 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 28 Mar 2019 01:30:06 +0100 Subject: get pogen via npm registry --- .yarnrc | 2 + gulpfile.js | 14 - package.json | 4 +- packages/README | 2 + packages/pogen/.gitignore | 3 + packages/pogen/dumpTree.ts | 49 ++ packages/pogen/example/messages.po | 107 +++ packages/pogen/example/test.ts | 63 ++ packages/pogen/example/test2.tsx | 15 + packages/pogen/package.json | 16 + packages/pogen/pogen.ts | 398 ++++++++++ packages/pogen/tsconfig.json | 12 + packages/pogen/yarn.lock | 13 + src/i18n/de.po | 460 ++--------- src/i18n/en-US.po | 403 ---------- src/i18n/fr.po | 403 ---------- src/i18n/it.po | 403 ---------- src/i18n/strings.ts | 1530 +----------------------------------- src/i18n/sv.po | 480 +++-------- src/i18n/taler-wallet-webex.pot | 431 ---------- tooling/README | 7 - tooling/pogen/.gitignore | 1 - tooling/pogen/dumpTree.ts | 49 -- tooling/pogen/example/messages.po | 107 --- tooling/pogen/example/test.ts | 63 -- tooling/pogen/example/test2.tsx | 15 - tooling/pogen/package.json | 13 - tooling/pogen/pogen.js | 347 -------- tooling/pogen/pogen.ts | 398 ---------- tooling/pogen/tsconfig.json | 11 - tooling/pogen/yarn.lock | 7 - yarn.lock | 10 +- 32 files changed, 874 insertions(+), 4962 deletions(-) create mode 100644 .yarnrc create mode 100644 packages/README create mode 100644 packages/pogen/.gitignore create mode 100644 packages/pogen/dumpTree.ts create mode 100644 packages/pogen/example/messages.po create mode 100644 packages/pogen/example/test.ts create mode 100644 packages/pogen/example/test2.tsx create mode 100644 packages/pogen/package.json create mode 100644 packages/pogen/pogen.ts create mode 100644 packages/pogen/tsconfig.json create mode 100644 packages/pogen/yarn.lock delete mode 100644 tooling/README delete mode 100644 tooling/pogen/.gitignore delete mode 100644 tooling/pogen/dumpTree.ts delete mode 100644 tooling/pogen/example/messages.po delete mode 100644 tooling/pogen/example/test.ts delete mode 100644 tooling/pogen/example/test2.tsx delete mode 100644 tooling/pogen/package.json delete mode 100644 tooling/pogen/pogen.js delete mode 100644 tooling/pogen/pogen.ts delete mode 100644 tooling/pogen/tsconfig.json delete mode 100644 tooling/pogen/yarn.lock diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 000000000..fe3df9c1a --- /dev/null +++ b/.yarnrc @@ -0,0 +1,2 @@ +yarn-offline-mirror "./npm-packages-offline-cache" +yarn-offline-mirror-pruning true diff --git a/gulpfile.js b/gulpfile.js index 5bd5ebaef..f4bc9b21e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -87,9 +87,6 @@ const paths = { "gulpfile.js", "manifest.json", "package.json", - "pogen/example/test.ts", - "pogen/pogen.ts", - "pogen/tsconfig.json", "src/i18n/*.po", "src/i18n/*.pot", "src/i18n/poheader", @@ -242,17 +239,6 @@ gulp.task("srcdist", [], function () { }); -/** - * Compile po extraction script. - */ -gulp.task("pogenjs", [], function () { - var tsProject = ts.createProject("pogen/tsconfig.json"); - return tsProject.src() - .pipe(ts(tsProject)) - .pipe(gulp.dest("pogen")); -}); - - /** * Extract .po files from source code */ diff --git a/package.json b/package.json index 40e277b4e..21c033223 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,6 @@ "moment": "^2.18.1", "nyc": "^11.1.0", "po2json": "git+https://github.com/mikeedwards/po2json", - "pogen": "file:tooling/pogen", "react": "^16.4.0", "react-dom": "^16.0.0", "structured-clone": "^0.2.2", @@ -62,5 +61,8 @@ "webpack-bundle-analyzer": "^3.0.2", "webpack-cli": "^3.1.0", "webpack-merge": "^4.1.0" + }, + "dependencies": { + "pogen": "^0.0.1" } } diff --git a/packages/README b/packages/README new file mode 100644 index 000000000..c06e9941a --- /dev/null +++ b/packages/README @@ -0,0 +1,2 @@ +This directory contains NPM packages that are used by the wallet. They are +uploaded to the registry. diff --git a/packages/pogen/.gitignore b/packages/pogen/.gitignore new file mode 100644 index 000000000..7093a2ce3 --- /dev/null +++ b/packages/pogen/.gitignore @@ -0,0 +1,3 @@ +bin +dist +node_modules diff --git a/packages/pogen/dumpTree.ts b/packages/pogen/dumpTree.ts new file mode 100644 index 000000000..af25caf32 --- /dev/null +++ b/packages/pogen/dumpTree.ts @@ -0,0 +1,49 @@ +/* + This file is part of TALER + (C) 2016 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ + + +/** + * Print the syntax tree of a TypeScript program. + * + * @author Florian Dold + */ + +"use strict"; + +import { readFileSync } from "fs"; +import { execSync } from "child_process"; +import * as ts from "typescript"; + + +export function processFile(sourceFile: ts.SourceFile) { + processNode(sourceFile); + + function processNode(node: ts.Node, level=0) { + let indent = ""; + for (let i = 0; i < level; i++) { + indent = indent + " "; + } + console.log(indent + ts.SyntaxKind[node.kind]); + ts.forEachChild(node, (n) => processNode(n, level+1)); + } +} + +const fileNames = process.argv.slice(2); + +fileNames.forEach(fileName => { + let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES2016, /*setParentNodes */ true); + processFile(sourceFile); +}); diff --git a/packages/pogen/example/messages.po b/packages/pogen/example/messages.po new file mode 100644 index 000000000..1addae3f2 --- /dev/null +++ b/packages/pogen/example/messages.po @@ -0,0 +1,107 @@ +# 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-01-27 01:51+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" + +#: example/test.ts:3 +#, csharp-format +msgid "Hello1, World" +msgstr "" + +#: example/test.ts:4 +#, csharp-format +msgid "Hello2, 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 +msgid "Hello5, World" +msgstr "" + +#: example/test.ts:13 +#, csharp-format +msgid "Hello6,{0} 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}" +msgstr "" + +#: example/test.ts:21 +#, csharp-format +msgid "{0}Hello8,{1} World{2}" +msgstr "" + +#. +#. This one has a multi line comment. +#. It has multiple lines, and a leading empty line. +#: example/test.ts:28 +#, csharp-format +msgid "Hello9,\" '\" World" +msgstr "" + +#: example/test.ts:32 +#, csharp-format +msgid "" +"Hello10\n" +" ,\" '\" Wo\n" +" rld" +msgstr "" + +#: example/test.ts:37 +#, csharp-format +msgid "" +"Hello11 this is a long long string\n" +"it will go over multiple lines and in the pofile\n" +"it should be wrapped and stuff" +msgstr "" + +#. This is a single line comment +#: example/test.ts:42 +#, csharp-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 " +"adsf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf " +"asdf" +msgstr "" + +#: example/test.ts:42 +#, csharp-format +msgid "This message appears twice" +msgstr "" + +#: example/test.ts:45 +#, csharp-format +msgid "This message appears twice" +msgstr "" + diff --git a/packages/pogen/example/test.ts b/packages/pogen/example/test.ts new file mode 100644 index 000000000..d7d5d88d6 --- /dev/null +++ b/packages/pogen/example/test.ts @@ -0,0 +1,63 @@ +declare var i18n: any; + +console.log(i18n`Hello1, World`); +console.log(i18n.foo()`Hello2, World`); +console.log(i18n.foo()`Hello3, World`); + + +/* This is a comment and should be included */ +console.log(i18n().foo()`Hello4, World`); + + +console.log(i18n.foo`Hello5, World`); +console.log(i18n.foo`Hello6,${123} World`); + +/* +This one has a multi line comment. +It has multiple lines, and a trailing empty line. + +*/ +console.log(/*lol*/i18n.foo`Hello7,${123} World${42}`); + + +i18n.plural(i18n`one ${"foo"}`, i18`many ${"bar"}`); + +i18n.plural(i18n.foo`one bla ${"foo"}`, i18.foo`many bla ${"bar"}`); + +let x = 42; + +i18n.plural(i18n`I have ${x} apple`, i18n`I have ${x} apples`); + +console.log(i18n`${"foo"}Hello8,${123} World${42}`); + +/* + +This one has a multi line comment. +It has multiple lines, and a leading empty line. +*/ +console.log(i18n`Hello9," '" World`); + +// Comments with space inbetween do not count + +console.log(i18n`Hello10 + ," '" Wo + rld`); + + +console.log(i18n`Hello11 this is a long long string +it will go over multiple lines and in the pofile +it should be wrapped and stuff`); + +// This is a single line comment +console.log(i18n`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 adsf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf`); + +function foo(...args: any[]) { +} + +console.log(foo`Another string, must be excluded`); + + +// First occurence +console.log(i18n`This message appears twice`); +// Second occurence +console.log(i18n`This message appears twice`); diff --git a/packages/pogen/example/test2.tsx b/packages/pogen/example/test2.tsx new file mode 100644 index 000000000..4133f86fb --- /dev/null +++ b/packages/pogen/example/test2.tsx @@ -0,0 +1,15 @@ +let x = foo +{bar} {" foo "} baz + + +let y = ( + + + singular form + second line + + + plural form + + +); diff --git a/packages/pogen/package.json b/packages/pogen/package.json new file mode 100644 index 000000000..1b454b206 --- /dev/null +++ b/packages/pogen/package.json @@ -0,0 +1,16 @@ +{ + "name": "pogen", + "version": "0.0.3", + "main": "bin/pogen.js", + "author": "Florian Dold", + "license": "GPL-2.0+", + "scripts": { + "build": "tsc" + }, + "devDependencies": { + "typescript": "^3.3.4000" + }, + "dependencies": { + "@types/node": "^11.12.0" + } +} diff --git a/packages/pogen/pogen.ts b/packages/pogen/pogen.ts new file mode 100644 index 000000000..98ecdf785 --- /dev/null +++ b/packages/pogen/pogen.ts @@ -0,0 +1,398 @@ +/* + This file is part of TALER + (C) 2016 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ + + +/** + * Generate .po file from list of source files. + * + * Note that duplicate message IDs are NOT merged, to get the same output as + * you would from xgettext, just run msguniq. + * + * @author Florian Dold + */ + +"use strict"; + +import {readFileSync} from "fs"; +import * as ts from "typescript"; + + +function wordwrap(str: string, width: number = 80): string[] { + var regex = '.{1,' + width + '}(\\s|$)|\\S+(\\s|$)'; + return str.match(RegExp(regex, 'g')); +} + +export function processFile(sourceFile: ts.SourceFile) { + processNode(sourceFile); + let lastTokLine = 0; + let preLastTokLine = 0; + + function getTemplate(node: ts.Node): string { + switch (node.kind) { + case ts.SyntaxKind.FirstTemplateToken: + return (node).text; + case ts.SyntaxKind.TemplateExpression: + let te = node; + let textFragments = [te.head.text]; + for (let tsp of te.templateSpans) { + textFragments.push(`%${(textFragments.length-1)/2+1}$s`); + textFragments.push(tsp.literal.text.replace(/%/g, "%%")); + } + return textFragments.join(''); + default: + return "(pogen.ts: unable to parse)"; + } + } + + function getComment(node: ts.Node): string { + let lc = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); + let lastComments; + for (let l = preLastTokLine; l < lastTokLine; l++) { + let pos = ts.getPositionOfLineAndCharacter(sourceFile, l, 0); + let comments = ts.getTrailingCommentRanges(sourceFile.text, pos); + if (comments) { + lastComments = comments; + } + } + if (!lastComments) { + return; + } + let candidate = lastComments[lastComments.length-1]; + let candidateEndLine = ts.getLineAndCharacterOfPosition(sourceFile, candidate.end).line; + if (candidateEndLine != lc.line - 1) { + return; + } + let text = sourceFile.text.slice(candidate.pos, candidate.end); + switch (candidate.kind) { + case ts.SyntaxKind.SingleLineCommentTrivia: + // Remove comment leader + text = text.replace(/^[/][/]\s*/, ""); + break; + case ts.SyntaxKind.MultiLineCommentTrivia: + // Remove comment leader and trailer, + // handling white space just like xgettext. + text = text + .replace(/^[/][*](\s*?\n|\s*)?/, "") + .replace(/(\n[ \t]*?)?[*][/]$/, ""); + break; + } + return text; + } + + function getPath(node: ts.Node): string[] { + switch (node.kind) { + case ts.SyntaxKind.PropertyAccessExpression: + let pae = node; + return Array.prototype.concat(getPath(pae.expression), [pae.name.text]); + case ts.SyntaxKind.Identifier: + let id = node; + return [id.text]; + } + return ["(other)"]; + } + + function arrayEq(a1: T[], a2: T[]) { + if (a1.length != a2.length) { + return false; + } + for (let i = 0; i < a1.length; i++) { + if (a1[i] != a2[i]) { + return false; + } + } + return true; + } + + interface TemplateResult { + comment: string; + path: string[]; + template: string; + line: number; + } + + function processTaggedTemplateExpression(tte: ts.TaggedTemplateExpression): TemplateResult { + let lc = ts.getLineAndCharacterOfPosition(sourceFile, tte.pos); + if (lc.line != lastTokLine) { + preLastTokLine = lastTokLine; + lastTokLine = lc.line; + } + let path = getPath(tte.tag) + let res: TemplateResult = { + path, + line: lc.line, + comment: getComment(tte), + template: getTemplate(tte.template).replace(/"/g, '\\"'), + }; + return res; + } + + function formatMsgComment(line: number, comment?: string) { + if (comment) { + for (let cl of comment.split('\n')) { + console.log(`#. ${cl}`); + } + } + console.log(`#: ${sourceFile.fileName}:${line+1}`); + console.log(`#, c-format`); + } + + function formatMsgLine(head: string, msg: string) { + // Do escaping, wrap break at newlines + let parts = msg + .match(/(.*\n|.+$)/g) + .map((x) => x.replace(/\n/g, '\\n')) + .map((p) => wordwrap(p)) + .reduce((a,b) => a.concat(b)); + if (parts.length == 1) { + console.log(`${head} "${parts[0]}"`); + } else { + console.log(`${head} ""`); + for (let p of parts) { + console.log(`"${p}"`); + } + } + } + + interface JsxProcessingContext { + + } + + function getJsxElementPath(node: ts.Node) { + let path; + let process = (childNode) => { + switch (childNode.kind) { + case ts.SyntaxKind.JsxOpeningElement: + { + let e = childNode as ts.JsxOpeningElement; + return path = getPath(e.tagName); + } + default: + break; + } + }; + ts.forEachChild(node, process); + return path; + } + + function translateJsxExpression(node: ts.Node, h) { + switch (node.kind) { + case ts.SyntaxKind.StringLiteral: + { + let e = node as ts.StringLiteral; + return e.text; + } + default: + return `%${h[0]++}$s`; + } + } + + function trim(s) { + return s.replace(/^[ \n\t]*/, "").replace(/[ \n\t]*$/, ""); + } + + function getJsxContent(node: ts.Node) { + let fragments = []; + let holeNum = [1]; + let process = (childNode) => { + switch (childNode.kind) { + case ts.SyntaxKind.JsxText: + { + let e = childNode as ts.JsxText; + let s = e.getFullText(); + let t = s.split("\n").map(trim).join(" "); + if (s[0] === " ") { + t = " " + t; + } + if (s[s.length - 1] === " ") { + t = t + " "; + } + fragments.push(t); + } + case ts.SyntaxKind.JsxOpeningElement: + break; + case ts.SyntaxKind.JsxElement: + fragments.push(`%${holeNum[0]++}$s`); + break; + case ts.SyntaxKind.JsxExpression: + { + let e = childNode as ts.JsxExpression; + fragments.push(translateJsxExpression(e.expression, holeNum)); + break; + } + case ts.SyntaxKind.JsxClosingElement: + break; + default: + let lc = ts.getLineAndCharacterOfPosition(childNode.getSourceFile(), childNode.getStart()); + console.error(`unrecognized syntax in JSX Element ${ts.SyntaxKind[childNode.kind]} (${childNode.getSourceFile().fileName}:${lc.line+1}:${lc.character+1}`); + break; + } + }; + ts.forEachChild(node, process); + return fragments.join("").trim().replace(/ +/g, " "); + } + + function getJsxSingular(node: ts.Node) { + let res; + let process = (childNode) => { + switch (childNode.kind) { + case ts.SyntaxKind.JsxElement: + { + let path = getJsxElementPath(childNode); + if (arrayEq(path, ["i18n", "TranslateSingular"])) { + res = getJsxContent(childNode); + } + } + default: + break; + } + }; + ts.forEachChild(node, process); + return res; + } + + function getJsxPlural(node: ts.Node) { + let res; + let process = (childNode) => { + switch (childNode.kind) { + case ts.SyntaxKind.JsxElement: + { + let path = getJsxElementPath(childNode); + if (arrayEq(path, ["i18n", "TranslatePlural"])) { + res = getJsxContent(childNode); + } + } + default: + break; + } + }; + ts.forEachChild(node, process); + return res; + } + + + function processNode(node: ts.Node) { + switch (node.kind) { + case ts.SyntaxKind.JsxElement: + let path = getJsxElementPath(node); + if (arrayEq(path, ["i18n", "Translate"])) { + let content = getJsxContent(node); + let {line} = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); + let comment = getComment(node); + formatMsgComment(line, comment); + formatMsgLine("msgid", content); + console.log(`msgstr ""`); + console.log(); + return; + } + if (arrayEq(path, ["i18n", "TranslateSwitch"])) { + let {line} = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); + let comment = getComment(node); + formatMsgComment(line, comment); + let singularForm = getJsxSingular(node); + if (!singularForm) { + console.error("singular form missing"); + process.exit(1); + } + let pluralForm = getJsxPlural(node); + if (!pluralForm) { + console.error("plural form missing"); + process.exit(1); + } + formatMsgLine("msgid", singularForm); + formatMsgLine("msgid_plural", pluralForm); + console.log(`msgstr[0] ""`); + console.log(`msgstr[1] ""`); + console.log(); + return; + } + break; + case ts.SyntaxKind.CallExpression: + { + // might be i18n.plural(i18n[.X]`...`, i18n[.X]`...`) + let ce = node; + let path = getPath(ce.expression); + if (!arrayEq(path, ["i18n", "plural"])) { + break; + } + if (ce.arguments[0].kind != ts.SyntaxKind.TaggedTemplateExpression) { + break; + } + if (ce.arguments[1].kind != ts.SyntaxKind.TaggedTemplateExpression) { + break; + } + let {line} = ts.getLineAndCharacterOfPosition(sourceFile, ce.pos); + let t1 = processTaggedTemplateExpression(ce.arguments[0]); + let t2 = processTaggedTemplateExpression(ce.arguments[1]); + let comment = getComment(ce); + + formatMsgComment(line, comment); + formatMsgLine("msgid", t1.template); + formatMsgLine("msgid_plural", t2.template); + console.log(`msgstr[0] ""`); + console.log(`msgstr[1] ""`); + console.log(); + + // Important: no processing for child i18n expressions here + return; + } + case ts.SyntaxKind.TaggedTemplateExpression: + { + let tte = node; + let {comment, template, line, path} = processTaggedTemplateExpression(tte); + if (path[0] != "i18n") { + break; + } + formatMsgComment(line, comment); + formatMsgLine("msgid", template); + console.log(`msgstr ""`); + console.log(); + break; + } + } + + ts.forEachChild(node, processNode); + } +} + +const fileNames = process.argv.slice(2); + +console.log( +`# 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"`); +console.log() + +fileNames.sort(); + +fileNames.forEach(fileName => { + let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES2016, /*setParentNodes */ true); + processFile(sourceFile); +}); diff --git a/packages/pogen/tsconfig.json b/packages/pogen/tsconfig.json new file mode 100644 index 000000000..a9e57e9e5 --- /dev/null +++ b/packages/pogen/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "outDir": "bin" + }, + "files": [ + "pogen.ts" + ] +} diff --git a/packages/pogen/yarn.lock b/packages/pogen/yarn.lock new file mode 100644 index 000000000..b938d0974 --- /dev/null +++ b/packages/pogen/yarn.lock @@ -0,0 +1,13 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/node@^11.12.0": + version "11.12.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.12.0.tgz#ec5594728811dc2797e42396cfcdf786f2052c12" + integrity sha512-Lg00egj78gM+4aE0Erw05cuDbvX9sLJbaaPwwRtdCdAMnIudqrQZ0oZX98Ek0yiSK/A2nubHgJfvII/rTT2Dwg== + +typescript@^3.3.4000: + version "3.3.4000" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz#76b0f89cfdbf97827e1112d64f283f1151d6adf0" + integrity sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA== diff --git a/src/i18n/de.po b/src/i18n/de.po index 1f6ee9010..16d1d3d62 100644 --- a/src/i18n/de.po +++ b/src/i18n/de.po @@ -27,417 +27,95 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, c-format -msgid "show more details" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:322 -#, fuzzy, c-format -msgid "Confirm payment" -msgstr "Bezahlung bestätigen" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:357 -#, fuzzy, c-format -msgid "Aborting payment ..." -msgstr "Bezahlung bestätigen" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, fuzzy, c-format -msgid "Retry Payment" -msgstr "Bezahlung bestätigen" - -#: src/webex/pages/confirm-contract.tsx:365 -#, fuzzy, c-format -msgid "Abort Payment" -msgstr "Bezahlung bestätigen" - -#: src/webex/pages/confirm-contract.tsx:374 -#, fuzzy, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "Der Händler %1$s möchte einen Vertrag über %2$s mit Ihnen abschließen." - -#: src/webex/pages/confirm-contract.tsx:383 -#, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:387 -#, c-format -msgid "The total price is %1$s." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, c-format -msgid "Select %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" - -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" - -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "Saldo" - -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "Verlauf" - -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "Debug" - -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "" - -#: src/webex/pages/popup.tsx:256 -#, fuzzy, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "Sie haben kein Digitalgeld. Wollen Sie %1$s? abheben?" - -#: src/webex/pages/popup.tsx:273 -#, c-format -msgid "%1$s incoming" -msgstr "" - -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" - -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" - -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "" - -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "" - -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" - -#: src/webex/pages/popup.tsx:354 -#, fuzzy, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "Bank bestätig anlegen der Reserve (%1$s) bei %2$s" - -#: src/webex/pages/popup.tsx:364 -#, fuzzy, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - -#: src/webex/pages/popup.tsx:373 -#, fuzzy, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "" -"%1$s\n" -" möchte einen Vertrag über %2$s\n" -" mit Ihnen abschließen." - -#: src/webex/pages/popup.tsx:384 -#, fuzzy, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - -#: src/webex/pages/popup.tsx:394 -#, fuzzy, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - -#: src/webex/pages/popup.tsx:404 -#, fuzzy, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "" -"%1$s\n" -" möchte einen Vertrag über %2$s\n" -" mit Ihnen abschließen." - -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" +#, fuzzy +#~ msgid "Confirm payment" +#~ msgstr "Bezahlung bestätigen" -#: src/webex/pages/popup.tsx:418 -#, fuzzy, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "" -"%1$s\n" -" möchte einen Vertrag über %2$s\n" -" mit Ihnen abschließen." +#, fuzzy +#~ msgid "Aborting payment ..." +#~ msgstr "Bezahlung bestätigen" -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" +#, fuzzy +#~ msgid "Retry Payment" +#~ msgstr "Bezahlung bestätigen" -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" +#, fuzzy +#~ msgid "Abort Payment" +#~ msgstr "Bezahlung bestätigen" -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" +#, fuzzy +#~ msgid "The merchant %1$s offers you to purchase:" +#~ msgstr "" +#~ "Der Händler %1$s möchte einen Vertrag über %2$s mit Ihnen abschließen." -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "Ihre Geldbörse verzeichnet keine Vorkommnisse." +#~ msgid "Balance" +#~ msgstr "Saldo" -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "" +#~ msgid "History" +#~ msgstr "Verlauf" -#: src/webex/pages/return-coins.tsx:173 -#, fuzzy, c-format -msgid "Confirm" -msgstr "Bezahlung bestätigen" +#~ msgid "Debug" +#~ msgstr "Debug" -#: src/webex/pages/return-coins.tsx:176 -#, fuzzy, c-format -msgid "Cancel" -msgstr "Saldo" +#, fuzzy +#~ msgid "You have no balance to show. Need some %1$s getting started?" +#~ msgstr "Sie haben kein Digitalgeld. Wollen Sie %1$s? abheben?" -#: src/webex/renderHtml.tsx:225 -#, fuzzy, c-format -msgid "Withdrawal fees:" -msgstr "Abheben bei" +#, fuzzy +#~ msgid "Bank requested reserve (%1$s) for %2$s." +#~ msgstr "Bank bestätig anlegen der Reserve (%1$s) bei %2$s" -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" +#, fuzzy +#~ msgid "Started to withdraw %1$s from %2$s (%3$s)." +#~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" +#, fuzzy +#~ msgid "Merchant %1$s offered contract %2$s." +#~ msgstr "" +#~ "%1$s\n" +#~ " möchte einen Vertrag über %2$s\n" +#~ " mit Ihnen abschließen." -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "" +#, fuzzy +#~ msgid "Withdrew %1$s from %2$s (%3$s)." +#~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "" +#, fuzzy +#~ msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" +#~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt" -#: src/webex/renderHtml.tsx:235 -#, fuzzy, c-format -msgid "Withdraw Fee" -msgstr "Abheben bei %1$s" +#, fuzzy +#~ msgid "Merchant %1$s gave a refund over %2$s." +#~ msgstr "" +#~ "%1$s\n" +#~ " möchte einen Vertrag über %2$s\n" +#~ " mit Ihnen abschließen." -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "" +#, fuzzy +#~ msgid "Merchant %1$s gave a %2$s of %3$s." +#~ msgstr "" +#~ "%1$s\n" +#~ " möchte einen Vertrag über %2$s\n" +#~ " mit Ihnen abschließen." -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "" +#~ msgid "Your wallet has no events recorded." +#~ msgstr "Ihre Geldbörse verzeichnet keine Vorkommnisse." -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" +#, fuzzy +#~ msgid "Confirm" +#~ msgstr "Bezahlung bestätigen" -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" +#, fuzzy +#~ msgid "Cancel" +#~ msgstr "Saldo" -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" +#, fuzzy +#~ msgid "Withdrawal fees:" +#~ msgstr "Abheben bei" -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" +#, fuzzy +#~ msgid "Withdraw Fee" +#~ msgstr "Abheben bei %1$s" #, fuzzy #~ msgid "You are about to purchase:" diff --git a/src/i18n/en-US.po b/src/i18n/en-US.po index 5d68c6167..5c2ccda41 100644 --- a/src/i18n/en-US.po +++ b/src/i18n/en-US.po @@ -27,409 +27,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, c-format -msgid "show more details" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:322 -#, c-format -msgid "Confirm payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:357 -#, c-format -msgid "Aborting payment ..." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, c-format -msgid "Retry Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:365 -#, c-format -msgid "Abort Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:374 -#, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:383 -#, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:387 -#, c-format -msgid "The total price is %1$s." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, c-format -msgid "Select %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" - -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" - -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "" - -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "" - -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "" - -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "" - -#: src/webex/pages/popup.tsx:256 -#, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "" - -#: src/webex/pages/popup.tsx:273 -#, c-format -msgid "%1$s incoming" -msgstr "" - -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" - -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" - -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "" - -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "" - -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" - -#: src/webex/pages/popup.tsx:354 -#, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:364 -#, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:373 -#, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:384 -#, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:394 -#, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:404 -#, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" - -#: src/webex/pages/popup.tsx:418 -#, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "" - -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" - -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" - -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "" - -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "" - -#: src/webex/pages/return-coins.tsx:173 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/webex/pages/return-coins.tsx:176 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/webex/renderHtml.tsx:225 -#, c-format -msgid "Withdrawal fees:" -msgstr "" - -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" - -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" - -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "" - -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "" - -#: src/webex/renderHtml.tsx:235 -#, c-format -msgid "Withdraw Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "" - -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" - -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" - -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" - -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" - #, fuzzy #~ msgid "DEBUG: Your balance on %1$s is %2$s KUDO. Get more at %3$s" #~ msgstr "DEBUG: Your balance is %2$s KUDO on %1$s. Get more at %3$s" diff --git a/src/i18n/fr.po b/src/i18n/fr.po index f097767a8..8d9958231 100644 --- a/src/i18n/fr.po +++ b/src/i18n/fr.po @@ -26,406 +26,3 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, c-format -msgid "show more details" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:322 -#, c-format -msgid "Confirm payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:357 -#, c-format -msgid "Aborting payment ..." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, c-format -msgid "Retry Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:365 -#, c-format -msgid "Abort Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:374 -#, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:383 -#, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:387 -#, c-format -msgid "The total price is %1$s." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, c-format -msgid "Select %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" - -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" - -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "" - -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "" - -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "" - -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "" - -#: src/webex/pages/popup.tsx:256 -#, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "" - -#: src/webex/pages/popup.tsx:273 -#, c-format -msgid "%1$s incoming" -msgstr "" - -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" - -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" - -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "" - -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "" - -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" - -#: src/webex/pages/popup.tsx:354 -#, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:364 -#, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:373 -#, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:384 -#, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:394 -#, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:404 -#, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" - -#: src/webex/pages/popup.tsx:418 -#, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "" - -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" - -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" - -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "" - -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "" - -#: src/webex/pages/return-coins.tsx:173 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/webex/pages/return-coins.tsx:176 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/webex/renderHtml.tsx:225 -#, c-format -msgid "Withdrawal fees:" -msgstr "" - -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" - -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" - -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "" - -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "" - -#: src/webex/renderHtml.tsx:235 -#, c-format -msgid "Withdraw Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "" - -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" - -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" - -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" - -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" diff --git a/src/i18n/it.po b/src/i18n/it.po index f097767a8..8d9958231 100644 --- a/src/i18n/it.po +++ b/src/i18n/it.po @@ -26,406 +26,3 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, c-format -msgid "show more details" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:322 -#, c-format -msgid "Confirm payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:357 -#, c-format -msgid "Aborting payment ..." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, c-format -msgid "Retry Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:365 -#, c-format -msgid "Abort Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:374 -#, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:383 -#, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:387 -#, c-format -msgid "The total price is %1$s." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, c-format -msgid "Select %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" - -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" - -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "" - -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "" - -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "" - -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "" - -#: src/webex/pages/popup.tsx:256 -#, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "" - -#: src/webex/pages/popup.tsx:273 -#, c-format -msgid "%1$s incoming" -msgstr "" - -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" - -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" - -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "" - -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "" - -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" - -#: src/webex/pages/popup.tsx:354 -#, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:364 -#, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:373 -#, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:384 -#, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:394 -#, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:404 -#, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" - -#: src/webex/pages/popup.tsx:418 -#, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "" - -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" - -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" - -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "" - -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "" - -#: src/webex/pages/return-coins.tsx:173 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/webex/pages/return-coins.tsx:176 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/webex/renderHtml.tsx:225 -#, c-format -msgid "Withdrawal fees:" -msgstr "" - -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" - -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" - -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "" - -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "" - -#: src/webex/renderHtml.tsx:235 -#, c-format -msgid "Withdraw Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "" - -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" - -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" - -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" - -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" diff --git a/src/i18n/strings.ts b/src/i18n/strings.ts index acac9d524..d86c9146b 100644 --- a/src/i18n/strings.ts +++ b/src/i18n/strings.ts @@ -23,311 +23,7 @@ strings['de'] = { "domain": "messages", "plural_forms": "nplurals=2; plural=(n != 1);", "lang": "" - }, - "Operation": [ - null, - "" - ], - "time (ms/op)": [ - null, - "" - ], - "show more details": [ - null, - "" - ], - "Accepted exchanges:": [ - null, - "" - ], - "Exchanges in the wallet:": [ - null, - "" - ], - "You have insufficient funds of the requested currency in your wallet.": [ - null, - "" - ], - "You do not have any funds from an exchange that is accepted by this merchant. None of the exchanges accepted by the merchant is known to your wallet.": [ - null, - "" - ], - "Confirm payment": [ - null, - "Bezahlung bestätigen" - ], - "Submitting payment": [ - null, - "" - ], - "You already paid for this, clicking \"Confirm payment\" will not cost money again.": [ - null, - "" - ], - "Aborting payment ...": [ - null, - "Bezahlung bestätigen" - ], - "Payment aborted!": [ - null, - "" - ], - "Retry Payment": [ - null, - "Bezahlung bestätigen" - ], - "Abort Payment": [ - null, - "Bezahlung bestätigen" - ], - "The merchant %1$s offers you to purchase:": [ - null, - "Der Händler %1$s möchte einen Vertrag über %2$s mit Ihnen abschließen." - ], - "The total price is %1$s (plus %2$s fees).": [ - null, - "" - ], - "The total price is %1$s.": [ - null, - "" - ], - "Select": [ - null, - "" - ], - "Error: URL may not be relative": [ - null, - "" - ], - "Invalid exchange URL (%1$s)": [ - null, - "" - ], - "The exchange is trusted by the wallet.": [ - null, - "" - ], - "The exchange is audited by a trusted auditor.": [ - null, - "" - ], - "Warning: The exchange is neither directly trusted nor audited by a trusted auditor. If you withdraw from this exchange, it will be trusted in the future.": [ - null, - "" - ], - "Using exchange provider %1$s. The exchange provider will charge %2$s in fees.": [ - null, - "" - ], - "Waiting for a response from %1$s %2$s": [ - null, - "" - ], - "Information about fees will be available when an exchange provider is selected.": [ - null, - "" - ], - "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has a higher, incompatible protocol version (%3$s).": [ - null, - "" - ], - "The chosen exchange (protocol version %1$s might be outdated.%2$s The exchange has a lower, incompatible protocol version than your wallet (protocol version %3$s).": [ - null, - "" - ], - "Accept fees and withdraw": [ - null, - "" - ], - "Change Exchange Provider": [ - null, - "" - ], - "Please select an exchange. You can review the details before after your selection.": [ - null, - "" - ], - "Select %1$s": [ - null, - "" - ], - "You are about to withdraw %1$s from your bank account into your wallet.": [ - null, - "" - ], - "Oops, something went wrong. The wallet responded with error status (%1$s).": [ - null, - "" - ], - "Checking URL, please wait ...": [ - null, - "" - ], - "Can't parse amount: %1$s": [ - null, - "" - ], - "Can't parse wire_types: %1$s": [ - null, - "" - ], - "Fatal error: \"%1$s\".": [ - null, - "" - ], - "Balance": [ - null, - "Saldo" - ], - "History": [ - null, - "Verlauf" - ], - "Debug": [ - null, - "Debug" - ], - "help": [ - null, - "" - ], - "You have no balance to show. Need some %1$s getting started?": [ - null, - "Sie haben kein Digitalgeld. Wollen Sie %1$s? abheben?" - ], - "%1$s incoming": [ - null, - "" - ], - "%1$s being spent": [ - null, - "" - ], - "Error: could not retrieve balance information.": [ - null, - "" - ], - "Payback": [ - null, - "" - ], - "Return Electronic Cash to Bank Account": [ - null, - "" - ], - "Manage Trusted Auditors and Exchanges": [ - null, - "" - ], - "Bank requested reserve (%1$s) for %2$s.": [ - null, - "Bank bestätig anlegen der Reserve (%1$s) bei %2$s" - ], - "Started to withdraw %1$s from %2$s (%3$s).": [ - null, - "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - ], - "Merchant %1$s offered contract %2$s.": [ - null, - "%1$s\n möchte einen Vertrag über %2$s\n mit Ihnen abschließen." - ], - "Withdrew %1$s from %2$s (%3$s).": [ - null, - "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - ], - "Paid %1$s to merchant %2$s. %3$s (%4$s)": [ - null, - "Reserve (%1$s) mit %2$s bei %3$s erzeugt" - ], - "Merchant %1$s gave a refund over %2$s.": [ - null, - "%1$s\n möchte einen Vertrag über %2$s\n mit Ihnen abschließen." - ], - "tip": [ - null, - "" - ], - "Merchant %1$s gave a %2$s of %3$s.": [ - null, - "%1$s\n möchte einen Vertrag über %2$s\n mit Ihnen abschließen." - ], - "You did not accept the tip yet.": [ - null, - "" - ], - "Unknown event (%1$s)": [ - null, - "" - ], - "Error: could not retrieve event history": [ - null, - "" - ], - "Your wallet has no events recorded.": [ - null, - "Ihre Geldbörse verzeichnet keine Vorkommnisse." - ], - "Wire to bank account": [ - null, - "" - ], - "Confirm": [ - null, - "Bezahlung bestätigen" - ], - "Cancel": [ - null, - "Saldo" - ], - "Withdrawal fees:": [ - null, - "Abheben bei" - ], - "Rounding loss:": [ - null, - "" - ], - "Earliest expiration (for deposit): %1$s": [ - null, - "" - ], - "# Coins": [ - null, - "" - ], - "Value": [ - null, - "" - ], - "Withdraw Fee": [ - null, - "Abheben bei %1$s" - ], - "Refresh Fee": [ - null, - "" - ], - "Deposit Fee": [ - null, - "" - ], - "Invalid Wire": [ - null, - "" - ], - "Invalid Test Wire Detail": [ - null, - "" - ], - "Test Wire Acct #%1$s on %2$s": [ - null, - "" - ], - "Unknown Wire Detail": [ - null, - "" - ] + } } } }; @@ -339,311 +35,7 @@ strings['en-US'] = { "domain": "messages", "plural_forms": "nplurals=2; plural=(n != 1);", "lang": "" - }, - "Operation": [ - null, - "" - ], - "time (ms/op)": [ - null, - "" - ], - "show more details": [ - null, - "" - ], - "Accepted exchanges:": [ - null, - "" - ], - "Exchanges in the wallet:": [ - null, - "" - ], - "You have insufficient funds of the requested currency in your wallet.": [ - null, - "" - ], - "You do not have any funds from an exchange that is accepted by this merchant. None of the exchanges accepted by the merchant is known to your wallet.": [ - null, - "" - ], - "Confirm payment": [ - null, - "" - ], - "Submitting payment": [ - null, - "" - ], - "You already paid for this, clicking \"Confirm payment\" will not cost money again.": [ - null, - "" - ], - "Aborting payment ...": [ - null, - "" - ], - "Payment aborted!": [ - null, - "" - ], - "Retry Payment": [ - null, - "" - ], - "Abort Payment": [ - null, - "" - ], - "The merchant %1$s offers you to purchase:": [ - null, - "" - ], - "The total price is %1$s (plus %2$s fees).": [ - null, - "" - ], - "The total price is %1$s.": [ - null, - "" - ], - "Select": [ - null, - "" - ], - "Error: URL may not be relative": [ - null, - "" - ], - "Invalid exchange URL (%1$s)": [ - null, - "" - ], - "The exchange is trusted by the wallet.": [ - null, - "" - ], - "The exchange is audited by a trusted auditor.": [ - null, - "" - ], - "Warning: The exchange is neither directly trusted nor audited by a trusted auditor. If you withdraw from this exchange, it will be trusted in the future.": [ - null, - "" - ], - "Using exchange provider %1$s. The exchange provider will charge %2$s in fees.": [ - null, - "" - ], - "Waiting for a response from %1$s %2$s": [ - null, - "" - ], - "Information about fees will be available when an exchange provider is selected.": [ - null, - "" - ], - "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has a higher, incompatible protocol version (%3$s).": [ - null, - "" - ], - "The chosen exchange (protocol version %1$s might be outdated.%2$s The exchange has a lower, incompatible protocol version than your wallet (protocol version %3$s).": [ - null, - "" - ], - "Accept fees and withdraw": [ - null, - "" - ], - "Change Exchange Provider": [ - null, - "" - ], - "Please select an exchange. You can review the details before after your selection.": [ - null, - "" - ], - "Select %1$s": [ - null, - "" - ], - "You are about to withdraw %1$s from your bank account into your wallet.": [ - null, - "" - ], - "Oops, something went wrong. The wallet responded with error status (%1$s).": [ - null, - "" - ], - "Checking URL, please wait ...": [ - null, - "" - ], - "Can't parse amount: %1$s": [ - null, - "" - ], - "Can't parse wire_types: %1$s": [ - null, - "" - ], - "Fatal error: \"%1$s\".": [ - null, - "" - ], - "Balance": [ - null, - "" - ], - "History": [ - null, - "" - ], - "Debug": [ - null, - "" - ], - "help": [ - null, - "" - ], - "You have no balance to show. Need some %1$s getting started?": [ - null, - "" - ], - "%1$s incoming": [ - null, - "" - ], - "%1$s being spent": [ - null, - "" - ], - "Error: could not retrieve balance information.": [ - null, - "" - ], - "Payback": [ - null, - "" - ], - "Return Electronic Cash to Bank Account": [ - null, - "" - ], - "Manage Trusted Auditors and Exchanges": [ - null, - "" - ], - "Bank requested reserve (%1$s) for %2$s.": [ - null, - "" - ], - "Started to withdraw %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Merchant %1$s offered contract %2$s.": [ - null, - "" - ], - "Withdrew %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Paid %1$s to merchant %2$s. %3$s (%4$s)": [ - null, - "" - ], - "Merchant %1$s gave a refund over %2$s.": [ - null, - "" - ], - "tip": [ - null, - "" - ], - "Merchant %1$s gave a %2$s of %3$s.": [ - null, - "" - ], - "You did not accept the tip yet.": [ - null, - "" - ], - "Unknown event (%1$s)": [ - null, - "" - ], - "Error: could not retrieve event history": [ - null, - "" - ], - "Your wallet has no events recorded.": [ - null, - "" - ], - "Wire to bank account": [ - null, - "" - ], - "Confirm": [ - null, - "" - ], - "Cancel": [ - null, - "" - ], - "Withdrawal fees:": [ - null, - "" - ], - "Rounding loss:": [ - null, - "" - ], - "Earliest expiration (for deposit): %1$s": [ - null, - "" - ], - "# Coins": [ - null, - "" - ], - "Value": [ - null, - "" - ], - "Withdraw Fee": [ - null, - "" - ], - "Refresh Fee": [ - null, - "" - ], - "Deposit Fee": [ - null, - "" - ], - "Invalid Wire": [ - null, - "" - ], - "Invalid Test Wire Detail": [ - null, - "" - ], - "Test Wire Acct #%1$s on %2$s": [ - null, - "" - ], - "Unknown Wire Detail": [ - null, - "" - ] + } } } }; @@ -655,311 +47,7 @@ strings['fr'] = { "domain": "messages", "plural_forms": "nplurals=2; plural=(n != 1);", "lang": "" - }, - "Operation": [ - null, - "" - ], - "time (ms/op)": [ - null, - "" - ], - "show more details": [ - null, - "" - ], - "Accepted exchanges:": [ - null, - "" - ], - "Exchanges in the wallet:": [ - null, - "" - ], - "You have insufficient funds of the requested currency in your wallet.": [ - null, - "" - ], - "You do not have any funds from an exchange that is accepted by this merchant. None of the exchanges accepted by the merchant is known to your wallet.": [ - null, - "" - ], - "Confirm payment": [ - null, - "" - ], - "Submitting payment": [ - null, - "" - ], - "You already paid for this, clicking \"Confirm payment\" will not cost money again.": [ - null, - "" - ], - "Aborting payment ...": [ - null, - "" - ], - "Payment aborted!": [ - null, - "" - ], - "Retry Payment": [ - null, - "" - ], - "Abort Payment": [ - null, - "" - ], - "The merchant %1$s offers you to purchase:": [ - null, - "" - ], - "The total price is %1$s (plus %2$s fees).": [ - null, - "" - ], - "The total price is %1$s.": [ - null, - "" - ], - "Select": [ - null, - "" - ], - "Error: URL may not be relative": [ - null, - "" - ], - "Invalid exchange URL (%1$s)": [ - null, - "" - ], - "The exchange is trusted by the wallet.": [ - null, - "" - ], - "The exchange is audited by a trusted auditor.": [ - null, - "" - ], - "Warning: The exchange is neither directly trusted nor audited by a trusted auditor. If you withdraw from this exchange, it will be trusted in the future.": [ - null, - "" - ], - "Using exchange provider %1$s. The exchange provider will charge %2$s in fees.": [ - null, - "" - ], - "Waiting for a response from %1$s %2$s": [ - null, - "" - ], - "Information about fees will be available when an exchange provider is selected.": [ - null, - "" - ], - "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has a higher, incompatible protocol version (%3$s).": [ - null, - "" - ], - "The chosen exchange (protocol version %1$s might be outdated.%2$s The exchange has a lower, incompatible protocol version than your wallet (protocol version %3$s).": [ - null, - "" - ], - "Accept fees and withdraw": [ - null, - "" - ], - "Change Exchange Provider": [ - null, - "" - ], - "Please select an exchange. You can review the details before after your selection.": [ - null, - "" - ], - "Select %1$s": [ - null, - "" - ], - "You are about to withdraw %1$s from your bank account into your wallet.": [ - null, - "" - ], - "Oops, something went wrong. The wallet responded with error status (%1$s).": [ - null, - "" - ], - "Checking URL, please wait ...": [ - null, - "" - ], - "Can't parse amount: %1$s": [ - null, - "" - ], - "Can't parse wire_types: %1$s": [ - null, - "" - ], - "Fatal error: \"%1$s\".": [ - null, - "" - ], - "Balance": [ - null, - "" - ], - "History": [ - null, - "" - ], - "Debug": [ - null, - "" - ], - "help": [ - null, - "" - ], - "You have no balance to show. Need some %1$s getting started?": [ - null, - "" - ], - "%1$s incoming": [ - null, - "" - ], - "%1$s being spent": [ - null, - "" - ], - "Error: could not retrieve balance information.": [ - null, - "" - ], - "Payback": [ - null, - "" - ], - "Return Electronic Cash to Bank Account": [ - null, - "" - ], - "Manage Trusted Auditors and Exchanges": [ - null, - "" - ], - "Bank requested reserve (%1$s) for %2$s.": [ - null, - "" - ], - "Started to withdraw %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Merchant %1$s offered contract %2$s.": [ - null, - "" - ], - "Withdrew %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Paid %1$s to merchant %2$s. %3$s (%4$s)": [ - null, - "" - ], - "Merchant %1$s gave a refund over %2$s.": [ - null, - "" - ], - "tip": [ - null, - "" - ], - "Merchant %1$s gave a %2$s of %3$s.": [ - null, - "" - ], - "You did not accept the tip yet.": [ - null, - "" - ], - "Unknown event (%1$s)": [ - null, - "" - ], - "Error: could not retrieve event history": [ - null, - "" - ], - "Your wallet has no events recorded.": [ - null, - "" - ], - "Wire to bank account": [ - null, - "" - ], - "Confirm": [ - null, - "" - ], - "Cancel": [ - null, - "" - ], - "Withdrawal fees:": [ - null, - "" - ], - "Rounding loss:": [ - null, - "" - ], - "Earliest expiration (for deposit): %1$s": [ - null, - "" - ], - "# Coins": [ - null, - "" - ], - "Value": [ - null, - "" - ], - "Withdraw Fee": [ - null, - "" - ], - "Refresh Fee": [ - null, - "" - ], - "Deposit Fee": [ - null, - "" - ], - "Invalid Wire": [ - null, - "" - ], - "Invalid Test Wire Detail": [ - null, - "" - ], - "Test Wire Acct #%1$s on %2$s": [ - null, - "" - ], - "Unknown Wire Detail": [ - null, - "" - ] + } } } }; @@ -971,311 +59,7 @@ strings['it'] = { "domain": "messages", "plural_forms": "nplurals=2; plural=(n != 1);", "lang": "" - }, - "Operation": [ - null, - "" - ], - "time (ms/op)": [ - null, - "" - ], - "show more details": [ - null, - "" - ], - "Accepted exchanges:": [ - null, - "" - ], - "Exchanges in the wallet:": [ - null, - "" - ], - "You have insufficient funds of the requested currency in your wallet.": [ - null, - "" - ], - "You do not have any funds from an exchange that is accepted by this merchant. None of the exchanges accepted by the merchant is known to your wallet.": [ - null, - "" - ], - "Confirm payment": [ - null, - "" - ], - "Submitting payment": [ - null, - "" - ], - "You already paid for this, clicking \"Confirm payment\" will not cost money again.": [ - null, - "" - ], - "Aborting payment ...": [ - null, - "" - ], - "Payment aborted!": [ - null, - "" - ], - "Retry Payment": [ - null, - "" - ], - "Abort Payment": [ - null, - "" - ], - "The merchant %1$s offers you to purchase:": [ - null, - "" - ], - "The total price is %1$s (plus %2$s fees).": [ - null, - "" - ], - "The total price is %1$s.": [ - null, - "" - ], - "Select": [ - null, - "" - ], - "Error: URL may not be relative": [ - null, - "" - ], - "Invalid exchange URL (%1$s)": [ - null, - "" - ], - "The exchange is trusted by the wallet.": [ - null, - "" - ], - "The exchange is audited by a trusted auditor.": [ - null, - "" - ], - "Warning: The exchange is neither directly trusted nor audited by a trusted auditor. If you withdraw from this exchange, it will be trusted in the future.": [ - null, - "" - ], - "Using exchange provider %1$s. The exchange provider will charge %2$s in fees.": [ - null, - "" - ], - "Waiting for a response from %1$s %2$s": [ - null, - "" - ], - "Information about fees will be available when an exchange provider is selected.": [ - null, - "" - ], - "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has a higher, incompatible protocol version (%3$s).": [ - null, - "" - ], - "The chosen exchange (protocol version %1$s might be outdated.%2$s The exchange has a lower, incompatible protocol version than your wallet (protocol version %3$s).": [ - null, - "" - ], - "Accept fees and withdraw": [ - null, - "" - ], - "Change Exchange Provider": [ - null, - "" - ], - "Please select an exchange. You can review the details before after your selection.": [ - null, - "" - ], - "Select %1$s": [ - null, - "" - ], - "You are about to withdraw %1$s from your bank account into your wallet.": [ - null, - "" - ], - "Oops, something went wrong. The wallet responded with error status (%1$s).": [ - null, - "" - ], - "Checking URL, please wait ...": [ - null, - "" - ], - "Can't parse amount: %1$s": [ - null, - "" - ], - "Can't parse wire_types: %1$s": [ - null, - "" - ], - "Fatal error: \"%1$s\".": [ - null, - "" - ], - "Balance": [ - null, - "" - ], - "History": [ - null, - "" - ], - "Debug": [ - null, - "" - ], - "help": [ - null, - "" - ], - "You have no balance to show. Need some %1$s getting started?": [ - null, - "" - ], - "%1$s incoming": [ - null, - "" - ], - "%1$s being spent": [ - null, - "" - ], - "Error: could not retrieve balance information.": [ - null, - "" - ], - "Payback": [ - null, - "" - ], - "Return Electronic Cash to Bank Account": [ - null, - "" - ], - "Manage Trusted Auditors and Exchanges": [ - null, - "" - ], - "Bank requested reserve (%1$s) for %2$s.": [ - null, - "" - ], - "Started to withdraw %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Merchant %1$s offered contract %2$s.": [ - null, - "" - ], - "Withdrew %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Paid %1$s to merchant %2$s. %3$s (%4$s)": [ - null, - "" - ], - "Merchant %1$s gave a refund over %2$s.": [ - null, - "" - ], - "tip": [ - null, - "" - ], - "Merchant %1$s gave a %2$s of %3$s.": [ - null, - "" - ], - "You did not accept the tip yet.": [ - null, - "" - ], - "Unknown event (%1$s)": [ - null, - "" - ], - "Error: could not retrieve event history": [ - null, - "" - ], - "Your wallet has no events recorded.": [ - null, - "" - ], - "Wire to bank account": [ - null, - "" - ], - "Confirm": [ - null, - "" - ], - "Cancel": [ - null, - "" - ], - "Withdrawal fees:": [ - null, - "" - ], - "Rounding loss:": [ - null, - "" - ], - "Earliest expiration (for deposit): %1$s": [ - null, - "" - ], - "# Coins": [ - null, - "" - ], - "Value": [ - null, - "" - ], - "Withdraw Fee": [ - null, - "" - ], - "Refresh Fee": [ - null, - "" - ], - "Deposit Fee": [ - null, - "" - ], - "Invalid Wire": [ - null, - "" - ], - "Invalid Test Wire Detail": [ - null, - "" - ], - "Test Wire Acct #%1$s on %2$s": [ - null, - "" - ], - "Unknown Wire Detail": [ - null, - "" - ] + } } } }; @@ -1287,311 +71,7 @@ strings['sv'] = { "domain": "messages", "plural_forms": "nplurals=2; plural=(n != 1);", "lang": "" - }, - "Operation": [ - null, - "" - ], - "time (ms/op)": [ - null, - "" - ], - "show more details": [ - null, - "visa mer" - ], - "Accepted exchanges:": [ - null, - "Accepterade tjänsteleverantörer:" - ], - "Exchanges in the wallet:": [ - null, - "Tjänsteleverantörer i plånboken:" - ], - "You have insufficient funds of the requested currency in your wallet.": [ - null, - "plånboken" - ], - "You do not have any funds from an exchange that is accepted by this merchant. None of the exchanges accepted by the merchant is known to your wallet.": [ - null, - "plånboken" - ], - "Confirm payment": [ - null, - "Godkän betalning" - ], - "Submitting payment": [ - null, - "Bekräftar betalning" - ], - "You already paid for this, clicking \"Confirm payment\" will not cost money again.": [ - null, - "Du har redan betalat för det här, om du trycker \"Godkän betalning\" debiteras du inte igen" - ], - "Aborting payment ...": [ - null, - "" - ], - "Payment aborted!": [ - null, - "" - ], - "Retry Payment": [ - null, - "" - ], - "Abort Payment": [ - null, - "" - ], - "The merchant %1$s offers you to purchase:": [ - null, - "Säljaren %1$s erbjuder följande:" - ], - "The total price is %1$s (plus %2$s fees).": [ - null, - "Det totala priset är %1$s (plus %2$s avgifter).\n" - ], - "The total price is %1$s.": [ - null, - "Det totala priset är %1$s." - ], - "Select": [ - null, - "Välj" - ], - "Error: URL may not be relative": [ - null, - "" - ], - "Invalid exchange URL (%1$s)": [ - null, - "" - ], - "The exchange is trusted by the wallet.": [ - null, - "" - ], - "The exchange is audited by a trusted auditor.": [ - null, - "" - ], - "Warning: The exchange is neither directly trusted nor audited by a trusted auditor. If you withdraw from this exchange, it will be trusted in the future.": [ - null, - "" - ], - "Using exchange provider %1$s. The exchange provider will charge %2$s in fees.": [ - null, - "" - ], - "Waiting for a response from %1$s %2$s": [ - null, - "" - ], - "Information about fees will be available when an exchange provider is selected.": [ - null, - "" - ], - "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has a higher, incompatible protocol version (%3$s).": [ - null, - "tjänsteleverantörer plånboken" - ], - "The chosen exchange (protocol version %1$s might be outdated.%2$s The exchange has a lower, incompatible protocol version than your wallet (protocol version %3$s).": [ - null, - "tjänsteleverantörer plånboken" - ], - "Accept fees and withdraw": [ - null, - "Acceptera avgifter och utbetala" - ], - "Change Exchange Provider": [ - null, - "Ändra tjänsteleverantörer" - ], - "Please select an exchange. You can review the details before after your selection.": [ - null, - "" - ], - "Select %1$s": [ - null, - "Välj %1$s" - ], - "You are about to withdraw %1$s from your bank account into your wallet.": [ - null, - "Du är på väg att ta ut\n %1$s från ditt bankkonto till din plånbok.\n" - ], - "Oops, something went wrong. The wallet responded with error status (%1$s).": [ - null, - "plånboken" - ], - "Checking URL, please wait ...": [ - null, - "" - ], - "Can't parse amount: %1$s": [ - null, - "" - ], - "Can't parse wire_types: %1$s": [ - null, - "" - ], - "Fatal error: \"%1$s\".": [ - null, - "" - ], - "Balance": [ - null, - "Balans" - ], - "History": [ - null, - "Historia" - ], - "Debug": [ - null, - "" - ], - "help": [ - null, - "hjälp" - ], - "You have no balance to show. Need some %1$s getting started?": [ - null, - "Du har ingen balans att visa. Behöver du\n %1$s att börja?\n" - ], - "%1$s incoming": [ - null, - "%1$s inkommande" - ], - "%1$s being spent": [ - null, - "" - ], - "Error: could not retrieve balance information.": [ - null, - "" - ], - "Payback": [ - null, - "Återbetalning" - ], - "Return Electronic Cash to Bank Account": [ - null, - "Återlämna elektroniska pengar till bank konto" - ], - "Manage Trusted Auditors and Exchanges": [ - null, - "" - ], - "Bank requested reserve (%1$s) for %2$s.": [ - null, - "" - ], - "Started to withdraw %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Merchant %1$s offered contract %2$s.": [ - null, - "Säljaren %1$s erbjöd kontrakt %2$s.\n" - ], - "Withdrew %1$s from %2$s (%3$s).": [ - null, - "" - ], - "Paid %1$s to merchant %2$s. %3$s (%4$s)": [ - null, - "" - ], - "Merchant %1$s gave a refund over %2$s.": [ - null, - "Säljaren %1$sgav en återbetalning på %2$s.\n" - ], - "tip": [ - null, - "" - ], - "Merchant %1$s gave a %2$s of %3$s.": [ - null, - "Säljaren %1$sgav en återbetalning på %2$s.\n" - ], - "You did not accept the tip yet.": [ - null, - "" - ], - "Unknown event (%1$s)": [ - null, - "" - ], - "Error: could not retrieve event history": [ - null, - "" - ], - "Your wallet has no events recorded.": [ - null, - "plånboken" - ], - "Wire to bank account": [ - null, - "Övervisa till bank konto" - ], - "Confirm": [ - null, - "Bekräfta" - ], - "Cancel": [ - null, - "Avbryt" - ], - "Withdrawal fees:": [ - null, - "Utbetalnings avgifter:" - ], - "Rounding loss:": [ - null, - "" - ], - "Earliest expiration (for deposit): %1$s": [ - null, - "" - ], - "# Coins": [ - null, - "# Mynt" - ], - "Value": [ - null, - "Värde" - ], - "Withdraw Fee": [ - null, - "Utbetalnings avgift" - ], - "Refresh Fee": [ - null, - "Återhämtnings avgift" - ], - "Deposit Fee": [ - null, - "Depostitions avgift" - ], - "Invalid Wire": [ - null, - "" - ], - "Invalid Test Wire Detail": [ - null, - "" - ], - "Test Wire Acct #%1$s on %2$s": [ - null, - "" - ], - "Unknown Wire Detail": [ - null, - "" - ] + } } } }; diff --git a/src/i18n/sv.po b/src/i18n/sv.po index 890505c07..656ef13fc 100644 --- a/src/i18n/sv.po +++ b/src/i18n/sv.po @@ -27,411 +27,151 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, fuzzy, c-format -msgid "show more details" -msgstr "visa mer" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "Accepterade tjänsteleverantörer:" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "Tjänsteleverantörer i plånboken:" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "plånboken" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "plånboken" - -#: src/webex/pages/confirm-contract.tsx:322 -#, c-format -msgid "Confirm payment" -msgstr "Godkän betalning" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "Bekräftar betalning" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" -"Du har redan betalat för det här, om du trycker \"Godkän betalning\" " -"debiteras du inte igen" - -#: src/webex/pages/confirm-contract.tsx:357 -#, c-format -msgid "Aborting payment ..." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, c-format -msgid "Retry Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:365 -#, c-format -msgid "Abort Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:374 -#, fuzzy, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "Säljaren %1$s erbjuder följande:" - -#: src/webex/pages/confirm-contract.tsx:383 -#, fuzzy, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "Det totala priset är %1$s (plus %2$s avgifter).\n" - -#: src/webex/pages/confirm-contract.tsx:387 -#, fuzzy, c-format -msgid "The total price is %1$s." -msgstr "Det totala priset är %1$s." - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "Välj" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" +#, fuzzy +#~ msgid "show more details" +#~ msgstr "visa mer" -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" +#~ msgid "Accepted exchanges:" +#~ msgstr "Accepterade tjänsteleverantörer:" -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" +#~ msgid "Exchanges in the wallet:" +#~ msgstr "Tjänsteleverantörer i plånboken:" -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" +#~ msgid "" +#~ "You have insufficient funds of the requested currency in your wallet." +#~ msgstr "plånboken" -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" +#~ msgid "" +#~ "You do not have any funds from an exchange that is accepted by this " +#~ "merchant. None of the exchanges accepted by the merchant is known to your " +#~ "wallet." +#~ msgstr "plånboken" -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" +#~ msgid "Confirm payment" +#~ msgstr "Godkän betalning" -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" +#~ msgid "Submitting payment" +#~ msgstr "Bekräftar betalning" -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, fuzzy, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "tjänsteleverantörer plånboken" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, fuzzy, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "tjänsteleverantörer plånboken" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "Acceptera avgifter och utbetala" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "Ändra tjänsteleverantörer" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" +#~ msgid "" +#~ "You already paid for this, clicking \"Confirm payment\" will not cost " +#~ "money again." +#~ msgstr "" +#~ "Du har redan betalat för det här, om du trycker \"Godkän betalning\" " +#~ "debiteras du inte igen" -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, fuzzy, c-format -msgid "Select %1$s" -msgstr "Välj %1$s" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, fuzzy, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" -"Du är på väg att ta ut\n" -" %1$s från ditt bankkonto till din plånbok.\n" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "plånboken" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" +#, fuzzy +#~ msgid "The merchant %1$s offers you to purchase:" +#~ msgstr "Säljaren %1$s erbjuder följande:" -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" +#, fuzzy +#~ msgid "The total price is %1$s (plus %2$s fees)." +#~ msgstr "Det totala priset är %1$s (plus %2$s avgifter).\n" -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" +#, fuzzy +#~ msgid "The total price is %1$s." +#~ msgstr "Det totala priset är %1$s." -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "Balans" +#~ msgid "Select" +#~ msgstr "Välj" -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "Historia" +#, fuzzy +#~ msgid "" +#~ "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange " +#~ "has a higher, incompatible protocol version (%3$s)." +#~ msgstr "tjänsteleverantörer plånboken" -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "" +#, fuzzy +#~ msgid "" +#~ "The chosen exchange (protocol version %1$s might be outdated.%2$s The " +#~ "exchange has a lower, incompatible protocol version than your wallet " +#~ "(protocol version %3$s)." +#~ msgstr "tjänsteleverantörer plånboken" -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "hjälp" +#~ msgid "Accept fees and withdraw" +#~ msgstr "Acceptera avgifter och utbetala" -#: src/webex/pages/popup.tsx:256 -#, fuzzy, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "" -"Du har ingen balans att visa. Behöver du\n" -" %1$s att börja?\n" +#~ msgid "Change Exchange Provider" +#~ msgstr "Ändra tjänsteleverantörer" -#: src/webex/pages/popup.tsx:273 -#, fuzzy, c-format -msgid "%1$s incoming" -msgstr "%1$s inkommande" +#, fuzzy +#~ msgid "Select %1$s" +#~ msgstr "Välj %1$s" -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" +#, fuzzy +#~ msgid "" +#~ "You are about to withdraw %1$s from your bank account into your wallet." +#~ msgstr "" +#~ "Du är på väg att ta ut\n" +#~ " %1$s från ditt bankkonto till din plånbok.\n" -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" +#~ msgid "" +#~ "Oops, something went wrong. The wallet responded with error status (%1$s)." +#~ msgstr "plånboken" -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "Återbetalning" +#~ msgid "Balance" +#~ msgstr "Balans" -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "Återlämna elektroniska pengar till bank konto" +#~ msgid "History" +#~ msgstr "Historia" -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" +#~ msgid "help" +#~ msgstr "hjälp" -#: src/webex/pages/popup.tsx:354 -#, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "" +#, fuzzy +#~ msgid "You have no balance to show. Need some %1$s getting started?" +#~ msgstr "" +#~ "Du har ingen balans att visa. Behöver du\n" +#~ " %1$s att börja?\n" -#: src/webex/pages/popup.tsx:364 -#, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "" +#, fuzzy +#~ msgid "%1$s incoming" +#~ msgstr "%1$s inkommande" -#: src/webex/pages/popup.tsx:373 -#, fuzzy, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "Säljaren %1$s erbjöd kontrakt %2$s.\n" +#~ msgid "Payback" +#~ msgstr "Återbetalning" -#: src/webex/pages/popup.tsx:384 -#, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "" +#~ msgid "Return Electronic Cash to Bank Account" +#~ msgstr "Återlämna elektroniska pengar till bank konto" -#: src/webex/pages/popup.tsx:394 -#, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "" +#, fuzzy +#~ msgid "Merchant %1$s offered contract %2$s." +#~ msgstr "Säljaren %1$s erbjöd kontrakt %2$s.\n" -#: src/webex/pages/popup.tsx:404 -#, fuzzy, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n" +#, fuzzy +#~ msgid "Merchant %1$s gave a refund over %2$s." +#~ msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n" -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" +#, fuzzy +#~ msgid "Merchant %1$s gave a %2$s of %3$s." +#~ msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n" -#: src/webex/pages/popup.tsx:418 -#, fuzzy, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n" +#~ msgid "Your wallet has no events recorded." +#~ msgstr "plånboken" -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" +#~ msgid "Wire to bank account" +#~ msgstr "Övervisa till bank konto" -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" +#~ msgid "Confirm" +#~ msgstr "Bekräfta" -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" +#~ msgid "Cancel" +#~ msgstr "Avbryt" -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "plånboken" - -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "Övervisa till bank konto" - -#: src/webex/pages/return-coins.tsx:173 -#, c-format -msgid "Confirm" -msgstr "Bekräfta" - -#: src/webex/pages/return-coins.tsx:176 -#, c-format -msgid "Cancel" -msgstr "Avbryt" - -#: src/webex/renderHtml.tsx:225 -#, c-format -msgid "Withdrawal fees:" -msgstr "Utbetalnings avgifter:" - -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" +#~ msgid "Withdrawal fees:" +#~ msgstr "Utbetalnings avgifter:" -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" +#~ msgid "# Coins" +#~ msgstr "# Mynt" -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "# Mynt" - -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "Värde" - -#: src/webex/renderHtml.tsx:235 -#, c-format -msgid "Withdraw Fee" -msgstr "Utbetalnings avgift" - -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "Återhämtnings avgift" - -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "Depostitions avgift" - -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" +#~ msgid "Value" +#~ msgstr "Värde" -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" +#~ msgid "Withdraw Fee" +#~ msgstr "Utbetalnings avgift" -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" +#~ msgid "Refresh Fee" +#~ msgstr "Återhämtnings avgift" -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" +#~ msgid "Deposit Fee" +#~ msgstr "Depostitions avgift" diff --git a/src/i18n/taler-wallet-webex.pot b/src/i18n/taler-wallet-webex.pot index f097767a8..e69de29bb 100644 --- a/src/i18n/taler-wallet-webex.pot +++ b/src/i18n/taler-wallet-webex.pot @@ -1,431 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\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" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/webex/pages/benchmark.tsx:58 -#, c-format -msgid "Operation" -msgstr "" - -#: src/webex/pages/benchmark.tsx:59 -#, c-format -msgid "time (ms/op)" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:78 -#, c-format -msgid "show more details" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:92 -#, c-format -msgid "Accepted exchanges:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:97 -#, c-format -msgid "Exchanges in the wallet:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:219 -#, c-format -msgid "You have insufficient funds of the requested currency in your wallet." -msgstr "" - -#. tslint:disable-next-line:max-line-length -#: src/webex/pages/confirm-contract.tsx:221 -#, c-format -msgid "" -"You do not have any funds from an exchange that is accepted by this " -"merchant. None of the exchanges accepted by the merchant is known to your " -"wallet." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:322 -#, c-format -msgid "Confirm payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:332 -#, c-format -msgid "Submitting payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:343 -#, c-format -msgid "" -"You already paid for this, clicking \"Confirm payment\" will not cost money " -"again." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:357 -#, c-format -msgid "Aborting payment ..." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:359 -#, c-format -msgid "Payment aborted!" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:362 -#, c-format -msgid "Retry Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:365 -#, c-format -msgid "Abort Payment" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:374 -#, c-format -msgid "The merchant %1$s offers you to purchase:" -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:383 -#, c-format -msgid "The total price is %1$s (plus %2$s fees)." -msgstr "" - -#: src/webex/pages/confirm-contract.tsx:387 -#, c-format -msgid "The total price is %1$s." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:128 -#, c-format -msgid "Select" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:145 -#, c-format -msgid "Error: URL may not be relative" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:160 -#, c-format -msgid "Invalid exchange URL (%1$s)" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:210 -#, c-format -msgid "The exchange is trusted by the wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:216 -#, c-format -msgid "The exchange is audited by a trusted auditor." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:222 -#, c-format -msgid "" -"Warning: The exchange is neither directly trusted nor audited by a trusted " -"auditor. If you withdraw from this exchange, it will be trusted in the " -"future." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:231 -#, c-format -msgid "" -"Using exchange provider %1$s. The exchange provider will charge %2$s in fees." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:243 -#, c-format -msgid "Waiting for a response from %1$s %2$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:260 -#, c-format -msgid "" -"Information about fees will be available when an exchange provider is " -"selected." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:279 -#, c-format -msgid "" -"Your wallet (protocol version %1$s) might be outdated.%2$s The exchange has " -"a higher, incompatible protocol version (%3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:290 -#, c-format -msgid "" -"The chosen exchange (protocol version %1$s might be outdated.%2$s The " -"exchange has a lower, incompatible protocol version than your wallet " -"(protocol version %3$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:309 -#, c-format -msgid "Accept fees and withdraw" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:314 -#, c-format -msgid "Change Exchange Provider" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:335 -#, c-format -msgid "" -"Please select an exchange. You can review the details before after your " -"selection." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:341 -#: src/webex/pages/confirm-create-reserve.tsx:353 -#, c-format -msgid "Select %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:370 -#, c-format -msgid "You are about to withdraw %1$s from your bank account into your wallet." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:455 -#, c-format -msgid "" -"Oops, something went wrong. The wallet responded with error status (%1$s)." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:464 -#, c-format -msgid "Checking URL, please wait ..." -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:478 -#, c-format -msgid "Can't parse amount: %1$s" -msgstr "" - -#: src/webex/pages/confirm-create-reserve.tsx:485 -#, c-format -msgid "Can't parse wire_types: %1$s" -msgstr "" - -#. #-#-#-#-# - (PACKAGE VERSION) #-#-#-#-# -#. TODO:generic error reporting function or component. -#: src/webex/pages/confirm-create-reserve.tsx:511 src/webex/pages/tip.tsx:180 -#, c-format -msgid "Fatal error: \"%1$s\"." -msgstr "" - -#: src/webex/pages/popup.tsx:165 -#, c-format -msgid "Balance" -msgstr "" - -#: src/webex/pages/popup.tsx:168 -#, c-format -msgid "History" -msgstr "" - -#: src/webex/pages/popup.tsx:171 -#, c-format -msgid "Debug" -msgstr "" - -#: src/webex/pages/popup.tsx:251 -#, c-format -msgid "help" -msgstr "" - -#: src/webex/pages/popup.tsx:256 -#, c-format -msgid "You have no balance to show. Need some %1$s getting started?" -msgstr "" - -#: src/webex/pages/popup.tsx:273 -#, c-format -msgid "%1$s incoming" -msgstr "" - -#: src/webex/pages/popup.tsx:286 -#, c-format -msgid "%1$s being spent" -msgstr "" - -#: src/webex/pages/popup.tsx:313 -#, c-format -msgid "Error: could not retrieve balance information." -msgstr "" - -#: src/webex/pages/popup.tsx:340 -#, c-format -msgid "Payback" -msgstr "" - -#: src/webex/pages/popup.tsx:341 -#, c-format -msgid "Return Electronic Cash to Bank Account" -msgstr "" - -#: src/webex/pages/popup.tsx:342 -#, c-format -msgid "Manage Trusted Auditors and Exchanges" -msgstr "" - -#: src/webex/pages/popup.tsx:354 -#, c-format -msgid "Bank requested reserve (%1$s) for %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:364 -#, c-format -msgid "Started to withdraw %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:373 -#, c-format -msgid "Merchant %1$s offered contract %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:384 -#, c-format -msgid "Withdrew %1$s from %2$s (%3$s)." -msgstr "" - -#: src/webex/pages/popup.tsx:394 -#, c-format -msgid "Paid %1$s to merchant %2$s. %3$s (%4$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:404 -#, c-format -msgid "Merchant %1$s gave a refund over %2$s." -msgstr "" - -#: src/webex/pages/popup.tsx:414 -#, c-format -msgid "tip" -msgstr "" - -#: src/webex/pages/popup.tsx:418 -#, c-format -msgid "Merchant %1$s gave a %2$s of %3$s." -msgstr "" - -#: src/webex/pages/popup.tsx:422 -#, c-format -msgid "You did not accept the tip yet." -msgstr "" - -#: src/webex/pages/popup.tsx:427 -#, c-format -msgid "Unknown event (%1$s)" -msgstr "" - -#: src/webex/pages/popup.tsx:470 -#, c-format -msgid "Error: could not retrieve event history" -msgstr "" - -#: src/webex/pages/popup.tsx:495 -#, c-format -msgid "Your wallet has no events recorded." -msgstr "" - -#: src/webex/pages/return-coins.tsx:105 -#, c-format -msgid "Wire to bank account" -msgstr "" - -#: src/webex/pages/return-coins.tsx:173 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/webex/pages/return-coins.tsx:176 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/webex/renderHtml.tsx:225 -#, c-format -msgid "Withdrawal fees:" -msgstr "" - -#: src/webex/renderHtml.tsx:226 -#, c-format -msgid "Rounding loss:" -msgstr "" - -#: src/webex/renderHtml.tsx:227 -#, c-format -msgid "Earliest expiration (for deposit): %1$s" -msgstr "" - -#: src/webex/renderHtml.tsx:233 -#, c-format -msgid "# Coins" -msgstr "" - -#: src/webex/renderHtml.tsx:234 -#, c-format -msgid "Value" -msgstr "" - -#: src/webex/renderHtml.tsx:235 -#, c-format -msgid "Withdraw Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:236 -#, c-format -msgid "Refresh Fee" -msgstr "" - -#: src/webex/renderHtml.tsx:237 -#, c-format -msgid "Deposit Fee" -msgstr "" - -#: src/wire.ts:38 -#, c-format -msgid "Invalid Wire" -msgstr "" - -#: src/wire.ts:43 src/wire.ts:46 -#, c-format -msgid "Invalid Test Wire Detail" -msgstr "" - -#: src/wire.ts:48 -#, c-format -msgid "Test Wire Acct #%1$s on %2$s" -msgstr "" - -#: src/wire.ts:50 -#, c-format -msgid "Unknown Wire Detail" -msgstr "" diff --git a/tooling/README b/tooling/README deleted file mode 100644 index dd14496a5..000000000 --- a/tooling/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory contains NPM packages that are used by the wallet. - -At some point they should be published to the registry, right now we don't -bother and simply add them to the top-level wallet project via file URL. - -Due to this, the JavaScript files compiled from TypeScript are currently -checked into git. diff --git a/tooling/pogen/.gitignore b/tooling/pogen/.gitignore deleted file mode 100644 index 3c3629e64..000000000 --- a/tooling/pogen/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/tooling/pogen/dumpTree.ts b/tooling/pogen/dumpTree.ts deleted file mode 100644 index af25caf32..000000000 --- a/tooling/pogen/dumpTree.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - This file is part of TALER - (C) 2016 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see - */ - - -/** - * Print the syntax tree of a TypeScript program. - * - * @author Florian Dold - */ - -"use strict"; - -import { readFileSync } from "fs"; -import { execSync } from "child_process"; -import * as ts from "typescript"; - - -export function processFile(sourceFile: ts.SourceFile) { - processNode(sourceFile); - - function processNode(node: ts.Node, level=0) { - let indent = ""; - for (let i = 0; i < level; i++) { - indent = indent + " "; - } - console.log(indent + ts.SyntaxKind[node.kind]); - ts.forEachChild(node, (n) => processNode(n, level+1)); - } -} - -const fileNames = process.argv.slice(2); - -fileNames.forEach(fileName => { - let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES2016, /*setParentNodes */ true); - processFile(sourceFile); -}); diff --git a/tooling/pogen/example/messages.po b/tooling/pogen/example/messages.po deleted file mode 100644 index 1addae3f2..000000000 --- a/tooling/pogen/example/messages.po +++ /dev/null @@ -1,107 +0,0 @@ -# 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-01-27 01:51+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" - -#: example/test.ts:3 -#, csharp-format -msgid "Hello1, World" -msgstr "" - -#: example/test.ts:4 -#, csharp-format -msgid "Hello2, 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 -msgid "Hello5, World" -msgstr "" - -#: example/test.ts:13 -#, csharp-format -msgid "Hello6,{0} 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}" -msgstr "" - -#: example/test.ts:21 -#, csharp-format -msgid "{0}Hello8,{1} World{2}" -msgstr "" - -#. -#. This one has a multi line comment. -#. It has multiple lines, and a leading empty line. -#: example/test.ts:28 -#, csharp-format -msgid "Hello9,\" '\" World" -msgstr "" - -#: example/test.ts:32 -#, csharp-format -msgid "" -"Hello10\n" -" ,\" '\" Wo\n" -" rld" -msgstr "" - -#: example/test.ts:37 -#, csharp-format -msgid "" -"Hello11 this is a long long string\n" -"it will go over multiple lines and in the pofile\n" -"it should be wrapped and stuff" -msgstr "" - -#. This is a single line comment -#: example/test.ts:42 -#, csharp-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 " -"adsf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf " -"asdf" -msgstr "" - -#: example/test.ts:42 -#, csharp-format -msgid "This message appears twice" -msgstr "" - -#: example/test.ts:45 -#, csharp-format -msgid "This message appears twice" -msgstr "" - diff --git a/tooling/pogen/example/test.ts b/tooling/pogen/example/test.ts deleted file mode 100644 index d7d5d88d6..000000000 --- a/tooling/pogen/example/test.ts +++ /dev/null @@ -1,63 +0,0 @@ -declare var i18n: any; - -console.log(i18n`Hello1, World`); -console.log(i18n.foo()`Hello2, World`); -console.log(i18n.foo()`Hello3, World`); - - -/* This is a comment and should be included */ -console.log(i18n().foo()`Hello4, World`); - - -console.log(i18n.foo`Hello5, World`); -console.log(i18n.foo`Hello6,${123} World`); - -/* -This one has a multi line comment. -It has multiple lines, and a trailing empty line. - -*/ -console.log(/*lol*/i18n.foo`Hello7,${123} World${42}`); - - -i18n.plural(i18n`one ${"foo"}`, i18`many ${"bar"}`); - -i18n.plural(i18n.foo`one bla ${"foo"}`, i18.foo`many bla ${"bar"}`); - -let x = 42; - -i18n.plural(i18n`I have ${x} apple`, i18n`I have ${x} apples`); - -console.log(i18n`${"foo"}Hello8,${123} World${42}`); - -/* - -This one has a multi line comment. -It has multiple lines, and a leading empty line. -*/ -console.log(i18n`Hello9," '" World`); - -// Comments with space inbetween do not count - -console.log(i18n`Hello10 - ," '" Wo - rld`); - - -console.log(i18n`Hello11 this is a long long string -it will go over multiple lines and in the pofile -it should be wrapped and stuff`); - -// This is a single line comment -console.log(i18n`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 adsf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf`); - -function foo(...args: any[]) { -} - -console.log(foo`Another string, must be excluded`); - - -// First occurence -console.log(i18n`This message appears twice`); -// Second occurence -console.log(i18n`This message appears twice`); diff --git a/tooling/pogen/example/test2.tsx b/tooling/pogen/example/test2.tsx deleted file mode 100644 index 4133f86fb..000000000 --- a/tooling/pogen/example/test2.tsx +++ /dev/null @@ -1,15 +0,0 @@ -let x = foo -{bar} {" foo "} baz - - -let y = ( - - - singular form - second line - - - plural form - - -); diff --git a/tooling/pogen/package.json b/tooling/pogen/package.json deleted file mode 100644 index 7b8b5008f..000000000 --- a/tooling/pogen/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "pogen", - "version": "1.0.0", - "main": "pogen.js", - "author": "Florian Dold", - "license": "GPL-2.0+", - "scripts": { - "build": "tsc" - }, - "devDependencies": { - "typescript": "^2.2.2" - } -} diff --git a/tooling/pogen/pogen.js b/tooling/pogen/pogen.js deleted file mode 100644 index 203ed442c..000000000 --- a/tooling/pogen/pogen.js +++ /dev/null @@ -1,347 +0,0 @@ -/* - This file is part of TALER - (C) 2016 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see - */ -/** - * Generate .po file from list of source files. - * - * Note that duplicate message IDs are NOT merged, to get the same output as - * you would from xgettext, just run msguniq. - * - * @author Florian Dold - */ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var fs_1 = require("fs"); -var ts = require("typescript"); -function wordwrap(str, width) { - if (width === void 0) { width = 80; } - var regex = '.{1,' + width + '}(\\s|$)|\\S+(\\s|$)'; - return str.match(RegExp(regex, 'g')); -} -function processFile(sourceFile) { - processNode(sourceFile); - var lastTokLine = 0; - var preLastTokLine = 0; - function getTemplate(node) { - switch (node.kind) { - case ts.SyntaxKind.FirstTemplateToken: - return node.text; - case ts.SyntaxKind.TemplateExpression: - var te = node; - var textFragments = [te.head.text]; - for (var _i = 0, _a = te.templateSpans; _i < _a.length; _i++) { - var tsp = _a[_i]; - textFragments.push("%" + ((textFragments.length - 1) / 2 + 1) + "$s"); - textFragments.push(tsp.literal.text.replace(/%/g, "%%")); - } - return textFragments.join(''); - default: - return "(pogen.ts: unable to parse)"; - } - } - function getComment(node) { - var lc = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); - var lastComments; - for (var l = preLastTokLine; l < lastTokLine; l++) { - var pos = ts.getPositionOfLineAndCharacter(sourceFile, l, 0); - var comments = ts.getTrailingCommentRanges(sourceFile.text, pos); - if (comments) { - lastComments = comments; - } - } - if (!lastComments) { - return; - } - var candidate = lastComments[lastComments.length - 1]; - var candidateEndLine = ts.getLineAndCharacterOfPosition(sourceFile, candidate.end).line; - if (candidateEndLine != lc.line - 1) { - return; - } - var text = sourceFile.text.slice(candidate.pos, candidate.end); - switch (candidate.kind) { - case ts.SyntaxKind.SingleLineCommentTrivia: - // Remove comment leader - text = text.replace(/^[/][/]\s*/, ""); - break; - case ts.SyntaxKind.MultiLineCommentTrivia: - // Remove comment leader and trailer, - // handling white space just like xgettext. - text = text - .replace(/^[/][*](\s*?\n|\s*)?/, "") - .replace(/(\n[ \t]*?)?[*][/]$/, ""); - break; - } - return text; - } - function getPath(node) { - switch (node.kind) { - case ts.SyntaxKind.PropertyAccessExpression: - var pae = node; - return Array.prototype.concat(getPath(pae.expression), [pae.name.text]); - case ts.SyntaxKind.Identifier: - var id = node; - return [id.text]; - } - return ["(other)"]; - } - function arrayEq(a1, a2) { - if (a1.length != a2.length) { - return false; - } - for (var i = 0; i < a1.length; i++) { - if (a1[i] != a2[i]) { - return false; - } - } - return true; - } - function processTaggedTemplateExpression(tte) { - var lc = ts.getLineAndCharacterOfPosition(sourceFile, tte.pos); - if (lc.line != lastTokLine) { - preLastTokLine = lastTokLine; - lastTokLine = lc.line; - } - var path = getPath(tte.tag); - var res = { - path: path, - line: lc.line, - comment: getComment(tte), - template: getTemplate(tte.template).replace(/"/g, '\\"'), - }; - return res; - } - function formatMsgComment(line, comment) { - if (comment) { - for (var _i = 0, _a = comment.split('\n'); _i < _a.length; _i++) { - var cl = _a[_i]; - console.log("#. " + cl); - } - } - console.log("#: " + sourceFile.fileName + ":" + (line + 1)); - console.log("#, c-format"); - } - function formatMsgLine(head, msg) { - // Do escaping, wrap break at newlines - var parts = msg - .match(/(.*\n|.+$)/g) - .map(function (x) { return x.replace(/\n/g, '\\n'); }) - .map(function (p) { return wordwrap(p); }) - .reduce(function (a, b) { return a.concat(b); }); - if (parts.length == 1) { - console.log(head + " \"" + parts[0] + "\""); - } - else { - console.log(head + " \"\""); - for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { - var p = parts_1[_i]; - console.log("\"" + p + "\""); - } - } - } - function getJsxElementPath(node) { - var path; - var process = function (childNode) { - switch (childNode.kind) { - case ts.SyntaxKind.JsxOpeningElement: - { - var e = childNode; - return path = getPath(e.tagName); - } - default: - break; - } - }; - ts.forEachChild(node, process); - return path; - } - function translateJsxExpression(node, h) { - switch (node.kind) { - case ts.SyntaxKind.StringLiteral: - { - var e = node; - return e.text; - } - default: - return "%" + h[0]++ + "$s"; - } - } - function trim(s) { - return s.replace(/^[ \n\t]*/, "").replace(/[ \n\t]*$/, ""); - } - function getJsxContent(node) { - var fragments = []; - var holeNum = [1]; - var process = function (childNode) { - switch (childNode.kind) { - case ts.SyntaxKind.JsxText: - { - var e = childNode; - var s = e.getFullText(); - var t = s.split("\n").map(trim).join(" "); - if (s[0] === " ") { - t = " " + t; - } - if (s[s.length - 1] === " ") { - t = t + " "; - } - fragments.push(t); - } - case ts.SyntaxKind.JsxOpeningElement: - break; - case ts.SyntaxKind.JsxElement: - fragments.push("%" + holeNum[0]++ + "$s"); - break; - case ts.SyntaxKind.JsxExpression: - { - var e = childNode; - fragments.push(translateJsxExpression(e.expression, holeNum)); - break; - } - case ts.SyntaxKind.JsxClosingElement: - break; - default: - var lc = ts.getLineAndCharacterOfPosition(childNode.getSourceFile(), childNode.getStart()); - console.error("unrecognized syntax in JSX Element " + ts.SyntaxKind[childNode.kind] + " (" + childNode.getSourceFile().fileName + ":" + (lc.line + 1) + ":" + (lc.character + 1)); - break; - } - }; - ts.forEachChild(node, process); - return fragments.join("").trim().replace(/ +/g, " "); - } - function getJsxSingular(node) { - var res; - var process = function (childNode) { - switch (childNode.kind) { - case ts.SyntaxKind.JsxElement: - { - var path = getJsxElementPath(childNode); - if (arrayEq(path, ["i18n", "TranslateSingular"])) { - res = getJsxContent(childNode); - } - } - default: - break; - } - }; - ts.forEachChild(node, process); - return res; - } - function getJsxPlural(node) { - var res; - var process = function (childNode) { - switch (childNode.kind) { - case ts.SyntaxKind.JsxElement: - { - var path = getJsxElementPath(childNode); - if (arrayEq(path, ["i18n", "TranslatePlural"])) { - res = getJsxContent(childNode); - } - } - default: - break; - } - }; - ts.forEachChild(node, process); - return res; - } - function processNode(node) { - switch (node.kind) { - case ts.SyntaxKind.JsxElement: - var path = getJsxElementPath(node); - if (arrayEq(path, ["i18n", "Translate"])) { - var content = getJsxContent(node); - var line = ts.getLineAndCharacterOfPosition(sourceFile, node.pos).line; - var comment = getComment(node); - formatMsgComment(line, comment); - formatMsgLine("msgid", content); - console.log("msgstr \"\""); - console.log(); - return; - } - if (arrayEq(path, ["i18n", "TranslateSwitch"])) { - var line = ts.getLineAndCharacterOfPosition(sourceFile, node.pos).line; - var comment = getComment(node); - formatMsgComment(line, comment); - var singularForm = getJsxSingular(node); - if (!singularForm) { - console.error("singular form missing"); - process.exit(1); - } - var pluralForm = getJsxPlural(node); - if (!pluralForm) { - console.error("plural form missing"); - process.exit(1); - } - formatMsgLine("msgid", singularForm); - formatMsgLine("msgid_plural", pluralForm); - console.log("msgstr[0] \"\""); - console.log("msgstr[1] \"\""); - console.log(); - return; - } - break; - case ts.SyntaxKind.CallExpression: - { - // might be i18n.plural(i18n[.X]`...`, i18n[.X]`...`) - var ce = node; - var path_1 = getPath(ce.expression); - if (!arrayEq(path_1, ["i18n", "plural"])) { - break; - } - if (ce.arguments[0].kind != ts.SyntaxKind.TaggedTemplateExpression) { - break; - } - if (ce.arguments[1].kind != ts.SyntaxKind.TaggedTemplateExpression) { - break; - } - var line = ts.getLineAndCharacterOfPosition(sourceFile, ce.pos).line; - var t1 = processTaggedTemplateExpression(ce.arguments[0]); - var t2 = processTaggedTemplateExpression(ce.arguments[1]); - var comment = getComment(ce); - formatMsgComment(line, comment); - formatMsgLine("msgid", t1.template); - formatMsgLine("msgid_plural", t2.template); - console.log("msgstr[0] \"\""); - console.log("msgstr[1] \"\""); - console.log(); - // Important: no processing for child i18n expressions here - return; - } - case ts.SyntaxKind.TaggedTemplateExpression: - { - var tte = node; - var _a = processTaggedTemplateExpression(tte), comment = _a.comment, template = _a.template, line = _a.line, path_2 = _a.path; - if (path_2[0] != "i18n") { - break; - } - formatMsgComment(line, comment); - formatMsgLine("msgid", template); - console.log("msgstr \"\""); - console.log(); - break; - } - } - ts.forEachChild(node, processNode); - } -} -exports.processFile = processFile; -var fileNames = process.argv.slice(2); -console.log("# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the PACKAGE package.\n# FIRST AUTHOR , YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: PACKAGE VERSION\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2016-11-23 00:00+0100\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: FULL NAME \\n\"\n\"Language-Team: LANGUAGE \\n\"\n\"Language: \\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\""); -console.log(); -fileNames.sort(); -fileNames.forEach(function (fileName) { - var sourceFile = ts.createSourceFile(fileName, fs_1.readFileSync(fileName).toString(), ts.ScriptTarget.ES2016, /*setParentNodes */ true); - processFile(sourceFile); -}); diff --git a/tooling/pogen/pogen.ts b/tooling/pogen/pogen.ts deleted file mode 100644 index 98ecdf785..000000000 --- a/tooling/pogen/pogen.ts +++ /dev/null @@ -1,398 +0,0 @@ -/* - This file is part of TALER - (C) 2016 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see - */ - - -/** - * Generate .po file from list of source files. - * - * Note that duplicate message IDs are NOT merged, to get the same output as - * you would from xgettext, just run msguniq. - * - * @author Florian Dold - */ - -"use strict"; - -import {readFileSync} from "fs"; -import * as ts from "typescript"; - - -function wordwrap(str: string, width: number = 80): string[] { - var regex = '.{1,' + width + '}(\\s|$)|\\S+(\\s|$)'; - return str.match(RegExp(regex, 'g')); -} - -export function processFile(sourceFile: ts.SourceFile) { - processNode(sourceFile); - let lastTokLine = 0; - let preLastTokLine = 0; - - function getTemplate(node: ts.Node): string { - switch (node.kind) { - case ts.SyntaxKind.FirstTemplateToken: - return (node).text; - case ts.SyntaxKind.TemplateExpression: - let te = node; - let textFragments = [te.head.text]; - for (let tsp of te.templateSpans) { - textFragments.push(`%${(textFragments.length-1)/2+1}$s`); - textFragments.push(tsp.literal.text.replace(/%/g, "%%")); - } - return textFragments.join(''); - default: - return "(pogen.ts: unable to parse)"; - } - } - - function getComment(node: ts.Node): string { - let lc = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); - let lastComments; - for (let l = preLastTokLine; l < lastTokLine; l++) { - let pos = ts.getPositionOfLineAndCharacter(sourceFile, l, 0); - let comments = ts.getTrailingCommentRanges(sourceFile.text, pos); - if (comments) { - lastComments = comments; - } - } - if (!lastComments) { - return; - } - let candidate = lastComments[lastComments.length-1]; - let candidateEndLine = ts.getLineAndCharacterOfPosition(sourceFile, candidate.end).line; - if (candidateEndLine != lc.line - 1) { - return; - } - let text = sourceFile.text.slice(candidate.pos, candidate.end); - switch (candidate.kind) { - case ts.SyntaxKind.SingleLineCommentTrivia: - // Remove comment leader - text = text.replace(/^[/][/]\s*/, ""); - break; - case ts.SyntaxKind.MultiLineCommentTrivia: - // Remove comment leader and trailer, - // handling white space just like xgettext. - text = text - .replace(/^[/][*](\s*?\n|\s*)?/, "") - .replace(/(\n[ \t]*?)?[*][/]$/, ""); - break; - } - return text; - } - - function getPath(node: ts.Node): string[] { - switch (node.kind) { - case ts.SyntaxKind.PropertyAccessExpression: - let pae = node; - return Array.prototype.concat(getPath(pae.expression), [pae.name.text]); - case ts.SyntaxKind.Identifier: - let id = node; - return [id.text]; - } - return ["(other)"]; - } - - function arrayEq(a1: T[], a2: T[]) { - if (a1.length != a2.length) { - return false; - } - for (let i = 0; i < a1.length; i++) { - if (a1[i] != a2[i]) { - return false; - } - } - return true; - } - - interface TemplateResult { - comment: string; - path: string[]; - template: string; - line: number; - } - - function processTaggedTemplateExpression(tte: ts.TaggedTemplateExpression): TemplateResult { - let lc = ts.getLineAndCharacterOfPosition(sourceFile, tte.pos); - if (lc.line != lastTokLine) { - preLastTokLine = lastTokLine; - lastTokLine = lc.line; - } - let path = getPath(tte.tag) - let res: TemplateResult = { - path, - line: lc.line, - comment: getComment(tte), - template: getTemplate(tte.template).replace(/"/g, '\\"'), - }; - return res; - } - - function formatMsgComment(line: number, comment?: string) { - if (comment) { - for (let cl of comment.split('\n')) { - console.log(`#. ${cl}`); - } - } - console.log(`#: ${sourceFile.fileName}:${line+1}`); - console.log(`#, c-format`); - } - - function formatMsgLine(head: string, msg: string) { - // Do escaping, wrap break at newlines - let parts = msg - .match(/(.*\n|.+$)/g) - .map((x) => x.replace(/\n/g, '\\n')) - .map((p) => wordwrap(p)) - .reduce((a,b) => a.concat(b)); - if (parts.length == 1) { - console.log(`${head} "${parts[0]}"`); - } else { - console.log(`${head} ""`); - for (let p of parts) { - console.log(`"${p}"`); - } - } - } - - interface JsxProcessingContext { - - } - - function getJsxElementPath(node: ts.Node) { - let path; - let process = (childNode) => { - switch (childNode.kind) { - case ts.SyntaxKind.JsxOpeningElement: - { - let e = childNode as ts.JsxOpeningElement; - return path = getPath(e.tagName); - } - default: - break; - } - }; - ts.forEachChild(node, process); - return path; - } - - function translateJsxExpression(node: ts.Node, h) { - switch (node.kind) { - case ts.SyntaxKind.StringLiteral: - { - let e = node as ts.StringLiteral; - return e.text; - } - default: - return `%${h[0]++}$s`; - } - } - - function trim(s) { - return s.replace(/^[ \n\t]*/, "").replace(/[ \n\t]*$/, ""); - } - - function getJsxContent(node: ts.Node) { - let fragments = []; - let holeNum = [1]; - let process = (childNode) => { - switch (childNode.kind) { - case ts.SyntaxKind.JsxText: - { - let e = childNode as ts.JsxText; - let s = e.getFullText(); - let t = s.split("\n").map(trim).join(" "); - if (s[0] === " ") { - t = " " + t; - } - if (s[s.length - 1] === " ") { - t = t + " "; - } - fragments.push(t); - } - case ts.SyntaxKind.JsxOpeningElement: - break; - case ts.SyntaxKind.JsxElement: - fragments.push(`%${holeNum[0]++}$s`); - break; - case ts.SyntaxKind.JsxExpression: - { - let e = childNode as ts.JsxExpression; - fragments.push(translateJsxExpression(e.expression, holeNum)); - break; - } - case ts.SyntaxKind.JsxClosingElement: - break; - default: - let lc = ts.getLineAndCharacterOfPosition(childNode.getSourceFile(), childNode.getStart()); - console.error(`unrecognized syntax in JSX Element ${ts.SyntaxKind[childNode.kind]} (${childNode.getSourceFile().fileName}:${lc.line+1}:${lc.character+1}`); - break; - } - }; - ts.forEachChild(node, process); - return fragments.join("").trim().replace(/ +/g, " "); - } - - function getJsxSingular(node: ts.Node) { - let res; - let process = (childNode) => { - switch (childNode.kind) { - case ts.SyntaxKind.JsxElement: - { - let path = getJsxElementPath(childNode); - if (arrayEq(path, ["i18n", "TranslateSingular"])) { - res = getJsxContent(childNode); - } - } - default: - break; - } - }; - ts.forEachChild(node, process); - return res; - } - - function getJsxPlural(node: ts.Node) { - let res; - let process = (childNode) => { - switch (childNode.kind) { - case ts.SyntaxKind.JsxElement: - { - let path = getJsxElementPath(childNode); - if (arrayEq(path, ["i18n", "TranslatePlural"])) { - res = getJsxContent(childNode); - } - } - default: - break; - } - }; - ts.forEachChild(node, process); - return res; - } - - - function processNode(node: ts.Node) { - switch (node.kind) { - case ts.SyntaxKind.JsxElement: - let path = getJsxElementPath(node); - if (arrayEq(path, ["i18n", "Translate"])) { - let content = getJsxContent(node); - let {line} = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); - let comment = getComment(node); - formatMsgComment(line, comment); - formatMsgLine("msgid", content); - console.log(`msgstr ""`); - console.log(); - return; - } - if (arrayEq(path, ["i18n", "TranslateSwitch"])) { - let {line} = ts.getLineAndCharacterOfPosition(sourceFile, node.pos); - let comment = getComment(node); - formatMsgComment(line, comment); - let singularForm = getJsxSingular(node); - if (!singularForm) { - console.error("singular form missing"); - process.exit(1); - } - let pluralForm = getJsxPlural(node); - if (!pluralForm) { - console.error("plural form missing"); - process.exit(1); - } - formatMsgLine("msgid", singularForm); - formatMsgLine("msgid_plural", pluralForm); - console.log(`msgstr[0] ""`); - console.log(`msgstr[1] ""`); - console.log(); - return; - } - break; - case ts.SyntaxKind.CallExpression: - { - // might be i18n.plural(i18n[.X]`...`, i18n[.X]`...`) - let ce = node; - let path = getPath(ce.expression); - if (!arrayEq(path, ["i18n", "plural"])) { - break; - } - if (ce.arguments[0].kind != ts.SyntaxKind.TaggedTemplateExpression) { - break; - } - if (ce.arguments[1].kind != ts.SyntaxKind.TaggedTemplateExpression) { - break; - } - let {line} = ts.getLineAndCharacterOfPosition(sourceFile, ce.pos); - let t1 = processTaggedTemplateExpression(ce.arguments[0]); - let t2 = processTaggedTemplateExpression(ce.arguments[1]); - let comment = getComment(ce); - - formatMsgComment(line, comment); - formatMsgLine("msgid", t1.template); - formatMsgLine("msgid_plural", t2.template); - console.log(`msgstr[0] ""`); - console.log(`msgstr[1] ""`); - console.log(); - - // Important: no processing for child i18n expressions here - return; - } - case ts.SyntaxKind.TaggedTemplateExpression: - { - let tte = node; - let {comment, template, line, path} = processTaggedTemplateExpression(tte); - if (path[0] != "i18n") { - break; - } - formatMsgComment(line, comment); - formatMsgLine("msgid", template); - console.log(`msgstr ""`); - console.log(); - break; - } - } - - ts.forEachChild(node, processNode); - } -} - -const fileNames = process.argv.slice(2); - -console.log( -`# 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"`); -console.log() - -fileNames.sort(); - -fileNames.forEach(fileName => { - let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES2016, /*setParentNodes */ true); - processFile(sourceFile); -}); diff --git a/tooling/pogen/tsconfig.json b/tooling/pogen/tsconfig.json deleted file mode 100644 index 3d2b2c002..000000000 --- a/tooling/pogen/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "noImplicitAny": false, - "sourceMap": false - }, - "files": [ - "pogen.ts" - ] -} diff --git a/tooling/pogen/yarn.lock b/tooling/pogen/yarn.lock deleted file mode 100644 index e5947ed7a..000000000 --- a/tooling/pogen/yarn.lock +++ /dev/null @@ -1,7 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -typescript@^2.2.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.3.tgz#9639f3c3b40148e8ca97fe08a51dd1891bb6be22" diff --git a/yarn.lock b/yarn.lock index db7eb9941..fe0b0331f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -114,7 +114,7 @@ dependencies: moment "*" -"@types/node@*": +"@types/node@*", "@types/node@^11.12.0": version "11.12.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-11.12.0.tgz#ec5594728811dc2797e42396cfcdf786f2052c12" integrity sha512-Lg00egj78gM+4aE0Erw05cuDbvX9sLJbaaPwwRtdCdAMnIudqrQZ0oZX98Ek0yiSK/A2nubHgJfvII/rTT2Dwg== @@ -5763,8 +5763,12 @@ plur@^2.0.0: gettext-parser "2.0.0" gettext-to-messageformat "^0.3.0" -"pogen@file:tooling/pogen": - version "1.0.0" +pogen@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pogen/-/pogen-0.0.1.tgz#7c7751dc3963c292a3255169014599dde917e462" + integrity sha512-aLfPEE2G4nXyPFnZCI+AYsq1Lvyb5b6A3+1ejJeNOY2jovk3SjSGDy1oIBeWCSaosEQD3ITQe7gBiG8tbnBGpg== + dependencies: + "@types/node" "^11.12.0" posix-character-classes@^0.1.0: version "0.1.1" -- cgit v1.2.3