@esgettext/tools 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +196 -21
  2. package/dist/command.d.ts +11 -0
  3. package/dist/command.js +3 -0
  4. package/dist/command.js.map +1 -0
  5. package/dist/commands/convert.d.ts +24 -0
  6. package/dist/commands/convert.js +284 -0
  7. package/dist/commands/convert.js.map +1 -0
  8. package/dist/commands/install.d.ts +22 -0
  9. package/dist/commands/install.js +249 -0
  10. package/dist/commands/install.js.map +1 -0
  11. package/dist/commands/msgfmt-all.d.ts +20 -0
  12. package/dist/commands/msgfmt-all.js +200 -0
  13. package/dist/commands/msgfmt-all.js.map +1 -0
  14. package/dist/commands/msgmerge-all.d.ts +21 -0
  15. package/dist/commands/msgmerge-all.js +212 -0
  16. package/dist/commands/msgmerge-all.js.map +1 -0
  17. package/dist/{xgettext → commands/xgettext}/file-resolver.d.ts +1 -1
  18. package/dist/commands/xgettext/file-resolver.js +21 -0
  19. package/dist/commands/xgettext/file-resolver.js.map +1 -0
  20. package/dist/commands/xgettext/file-resolver.spec.js +22 -0
  21. package/dist/commands/xgettext/file-resolver.spec.js.map +1 -0
  22. package/dist/commands/xgettext/files-collector.js +39 -0
  23. package/dist/commands/xgettext/files-collector.js.map +1 -0
  24. package/dist/{xgettext → commands/xgettext}/files-collector.spec.js +39 -21
  25. package/dist/commands/xgettext/files-collector.spec.js.map +1 -0
  26. package/dist/commands/xgettext.d.ts +29 -0
  27. package/dist/commands/xgettext.js +525 -0
  28. package/dist/commands/xgettext.js.map +1 -0
  29. package/dist/commands/xgettext.spec.js +897 -0
  30. package/dist/commands/xgettext.spec.js.map +1 -0
  31. package/dist/configuration.d.ts +36 -0
  32. package/dist/configuration.js +261 -0
  33. package/dist/configuration.js.map +1 -0
  34. package/dist/esgettext-package-json.d.ts +15 -0
  35. package/dist/esgettext-package-json.js +3 -0
  36. package/dist/esgettext-package-json.js.map +1 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.js +84 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/package.d.ts +1 -0
  41. package/dist/package.js +10 -11
  42. package/dist/package.js.map +1 -1
  43. package/dist/parser/javascript.js +7 -27
  44. package/dist/parser/javascript.js.map +1 -1
  45. package/dist/parser/javascript.spec.js +271 -172
  46. package/dist/parser/javascript.spec.js.map +1 -1
  47. package/dist/parser/parser.js +159 -146
  48. package/dist/parser/parser.js.map +1 -1
  49. package/dist/parser/po.d.ts +1 -1
  50. package/dist/parser/po.js +111 -128
  51. package/dist/parser/po.js.map +1 -1
  52. package/dist/parser/po.spec.js +349 -159
  53. package/dist/parser/po.spec.js.map +1 -1
  54. package/dist/parser/typescript.js +8 -27
  55. package/dist/parser/typescript.js.map +1 -1
  56. package/dist/parser/typescript.spec.js +56 -41
  57. package/dist/parser/typescript.spec.js.map +1 -1
  58. package/dist/pot/catalog.js +98 -82
  59. package/dist/pot/catalog.js.map +1 -1
  60. package/dist/pot/catalog.spec.js +47 -43
  61. package/dist/pot/catalog.spec.js.map +1 -1
  62. package/dist/pot/entry.js +102 -114
  63. package/dist/pot/entry.js.map +1 -1
  64. package/dist/pot/entry.spec.js +255 -139
  65. package/dist/pot/entry.spec.js.map +1 -1
  66. package/dist/pot/keyword.js +57 -88
  67. package/dist/pot/keyword.js.map +1 -1
  68. package/dist/pot/keyword.spec.js +26 -26
  69. package/dist/pot/keyword.spec.js.map +1 -1
  70. package/package.json +36 -24
  71. package/bin/esgettext-install.js +0 -5
  72. package/bin/esgettext-mo2json.js +0 -5
  73. package/bin/esgettext-msgfmt-all.js +0 -5
  74. package/bin/esgettext-msgmerge-all.js +0 -5
  75. package/bin/esgettext-xgettext.js +0 -5
  76. package/dist/cli/getopt.d.ts +0 -34
  77. package/dist/cli/getopt.js +0 -150
  78. package/dist/cli/getopt.js.map +0 -1
  79. package/dist/cli/getopt.spec.d.ts +0 -1
  80. package/dist/cli/getopt.spec.js +0 -164
  81. package/dist/cli/getopt.spec.js.map +0 -1
  82. package/dist/cli/install.d.ts +0 -1
  83. package/dist/cli/install.js +0 -91
  84. package/dist/cli/install.js.map +0 -1
  85. package/dist/cli/mo2json-cli.d.ts +0 -1
  86. package/dist/cli/mo2json-cli.js +0 -48
  87. package/dist/cli/mo2json-cli.js.map +0 -1
  88. package/dist/cli/msgfmt-all.d.ts +0 -1
  89. package/dist/cli/msgfmt-all.js +0 -99
  90. package/dist/cli/msgfmt-all.js.map +0 -1
  91. package/dist/cli/msgmerge-all.d.ts +0 -1
  92. package/dist/cli/msgmerge-all.js +0 -85
  93. package/dist/cli/msgmerge-all.js.map +0 -1
  94. package/dist/cli/xgettext-cli.d.ts +0 -1
  95. package/dist/cli/xgettext-cli.js +0 -303
  96. package/dist/cli/xgettext-cli.js.map +0 -1
  97. package/dist/install/install.d.ts +0 -10
  98. package/dist/install/install.js +0 -157
  99. package/dist/install/install.js.map +0 -1
  100. package/dist/msgfmt-all/msgfmt-all.d.ts +0 -8
  101. package/dist/msgfmt-all/msgfmt-all.js +0 -142
  102. package/dist/msgfmt-all/msgfmt-all.js.map +0 -1
  103. package/dist/msgmerge-all/msgmerge-all.d.ts +0 -9
  104. package/dist/msgmerge-all/msgmerge-all.js +0 -157
  105. package/dist/msgmerge-all/msgmerge-all.js.map +0 -1
  106. package/dist/parser/__snapshots__/javascript.spec.js.snap +0 -56
  107. package/dist/parser/__snapshots__/po.spec.js.snap +0 -176
  108. package/dist/pot/__snapshots__/catalog.spec.js.snap +0 -591
  109. package/dist/xgettext/__snapshots__/xgettext.spec.js.snap +0 -462
  110. package/dist/xgettext/file-resolver.js +0 -23
  111. package/dist/xgettext/file-resolver.js.map +0 -1
  112. package/dist/xgettext/file-resolver.spec.js +0 -22
  113. package/dist/xgettext/file-resolver.spec.js.map +0 -1
  114. package/dist/xgettext/files-collector.js +0 -41
  115. package/dist/xgettext/files-collector.js.map +0 -1
  116. package/dist/xgettext/files-collector.spec.js.map +0 -1
  117. package/dist/xgettext/xgettext.d.ts +0 -16
  118. package/dist/xgettext/xgettext.js +0 -335
  119. package/dist/xgettext/xgettext.js.map +0 -1
  120. package/dist/xgettext/xgettext.spec.js +0 -743
  121. package/dist/xgettext/xgettext.spec.js.map +0 -1
  122. /package/dist/{xgettext → commands/xgettext}/file-resolver.spec.d.ts +0 -0
  123. /package/dist/{xgettext → commands/xgettext}/files-collector.d.ts +0 -0
  124. /package/dist/{xgettext → commands/xgettext}/files-collector.spec.d.ts +0 -0
  125. /package/dist/{xgettext → commands}/xgettext.spec.d.ts +0 -0
@@ -1,142 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MsgfmtAll = void 0;
40
- var fs_1 = require("fs");
41
- var child_process_1 = require("child_process");
42
- var runtime_1 = require("@esgettext/runtime");
43
- var jsonfile_1 = require("jsonfile");
44
- var gtx = runtime_1.Textdomain.getInstance('tools');
45
- var MsgfmtAll = (function () {
46
- function MsgfmtAll(options) {
47
- this.options = options;
48
- if (options._.length) {
49
- throw new Error(gtx._("no additional arguments allowed"));
50
- }
51
- var pkg = {};
52
- if (typeof options.packageJson !== 'undefined') {
53
- var filename = options.packageJson.length ? options.packageJson : 'package.json';
54
- var p = (0, jsonfile_1.readFileSync)(filename);
55
- if (p && p.esgettext) {
56
- pkg = p.esgettext;
57
- }
58
- }
59
- if (!options.locale) {
60
- options.locale = pkg.locales;
61
- }
62
- if (!options.locale || !options.locale.length) {
63
- throw new Error(gtx._("no locales given"));
64
- }
65
- if (typeof options.directory === 'undefined') {
66
- options.directory = '.';
67
- }
68
- this.locales = [];
69
- for (var i = 0; i < options.locale.length; ++i) {
70
- var locales = options.locale[i].split(/[ \t]*,[ \t]*/);
71
- for (var j = 0; j < locales.length; ++j) {
72
- this.locales.push(locales[j]);
73
- }
74
- }
75
- }
76
- MsgfmtAll.prototype.msgfmtLocale = function (locale) {
77
- return __awaiter(this, void 0, void 0, function () {
78
- var _this = this;
79
- return __generator(this, function (_a) {
80
- return [2, new Promise(function (resolve, reject) {
81
- var args = [];
82
- var poFile = _this.options.directory + '/' + locale + '.po';
83
- var moFile = _this.options.directory + '/' + locale + '.' + _this.options.format;
84
- if (_this.options.options) {
85
- for (var j = 0; j < _this.options.options.length; ++j) {
86
- args.push(_this.options.options[j]);
87
- }
88
- }
89
- args.push('-o', moFile, poFile);
90
- if (_this.options.verbose) {
91
- console.log(gtx._x("Compiling '{po}' into '{mo}'.", {
92
- po: poFile,
93
- mo: moFile,
94
- }));
95
- }
96
- try {
97
- var msgfmt = (0, child_process_1.spawn)(_this.options.msgfmt, args, {
98
- windowsHide: true,
99
- });
100
- msgfmt.stdout.on('data', function (data) { return process.stdout.write(data.toString()); });
101
- msgfmt.stderr.on('data', function (data) { return process.stderr.write(data.toString()); });
102
- msgfmt.on('close', function (code) {
103
- if (code) {
104
- (0, fs_1.unlinkSync)(moFile);
105
- resolve(1);
106
- }
107
- else {
108
- resolve(0);
109
- }
110
- });
111
- msgfmt.on('error', function (err) {
112
- throw new Error(gtx._x("Failed to run '{prg}': {err}", {
113
- prg: _this.options.msgfmt,
114
- err: err
115
- }));
116
- });
117
- }
118
- catch (err) {
119
- try {
120
- (0, fs_1.unlinkSync)(moFile);
121
- }
122
- catch (err1) {
123
- console.error(err1);
124
- }
125
- console.error(err);
126
- resolve(1);
127
- }
128
- })];
129
- });
130
- });
131
- };
132
- MsgfmtAll.prototype.run = function () {
133
- var _this = this;
134
- return new Promise(function (resolve) {
135
- _this.locales.reduce(function (promise, locale) { return promise.then(function () { return _this.msgfmtLocale(locale); }); }, Promise.resolve())
136
- .then(function () { return resolve(0); }, function () { return resolve(1); });
137
- });
138
- };
139
- return MsgfmtAll;
140
- }());
141
- exports.MsgfmtAll = MsgfmtAll;
142
- //# sourceMappingURL=msgfmt-all.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"msgfmt-all.js","sourceRoot":"","sources":["../../src/msgfmt-all/msgfmt-all.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { Options } from '../cli/getopt';
2
- export declare class MsgmergeAll {
3
- private readonly options;
4
- private readonly refPot;
5
- private readonly locales;
6
- constructor(options: Options);
7
- private msgmergeLocale;
8
- run(): Promise<number>;
9
- }
@@ -1,157 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MsgmergeAll = void 0;
40
- var fs_1 = require("fs");
41
- var child_process_1 = require("child_process");
42
- var path_1 = require("path");
43
- var runtime_1 = require("@esgettext/runtime");
44
- var jsonfile_1 = require("jsonfile");
45
- var gtx = runtime_1.Textdomain.getInstance('tools');
46
- var MsgmergeAll = (function () {
47
- function MsgmergeAll(options) {
48
- this.options = options;
49
- var pkg = {};
50
- if (typeof options.packageJson !== 'undefined') {
51
- var filename = options.packageJson.length ? options.packageJson : 'package.json';
52
- var p = (0, jsonfile_1.readFileSync)(filename);
53
- if (p && p.esgettext) {
54
- pkg = p.esgettext;
55
- }
56
- }
57
- if (typeof options.directory === 'undefined') {
58
- if (pkg.directory.length) {
59
- options.directory = pkg.directory;
60
- }
61
- else {
62
- options.directory = '.';
63
- }
64
- }
65
- if (!options._.length && pkg.textdomain.length) {
66
- options._.push((0, path_1.join)(options.directory, pkg.textdomain + '.pot'));
67
- }
68
- if (!options._.length) {
69
- throw new Error(gtx._("no input file given"));
70
- }
71
- else if (options._.length !== 1) {
72
- throw new Error(gtx._("exactly one input file is required"));
73
- }
74
- this.refPot = this.options._[0];
75
- if (!options.locale && pkg.locales) {
76
- options.locale = pkg.locales;
77
- }
78
- if (!options.locale || !options.locale.length) {
79
- throw new Error(gtx._("no locales given"));
80
- }
81
- this.locales = [];
82
- for (var i = 0; i < options.locale.length; ++i) {
83
- var locales = options.locale[i].split(/[ \t]*,[ \t]*/);
84
- for (var j = 0; j < locales.length; ++j) {
85
- this.locales.push(locales[j]);
86
- }
87
- }
88
- }
89
- MsgmergeAll.prototype.msgmergeLocale = function (locale) {
90
- return __awaiter(this, void 0, void 0, function () {
91
- var _this = this;
92
- return __generator(this, function (_a) {
93
- return [2, new Promise(function (resolve) {
94
- var args = [];
95
- var poFile = _this.options.directory + '/' + locale + '.po';
96
- var oldPoFile = _this.options.directory + '/' + locale + '.old.po';
97
- if (_this.options.options) {
98
- for (var j = 0; j < _this.options.options.length; ++j) {
99
- args.push(_this.options.options[j]);
100
- }
101
- }
102
- args.push(oldPoFile, _this.refPot, '-o', poFile);
103
- if (_this.options.verbose) {
104
- process.stdout.write(gtx._x("Merging '{pot}' into '{po}'.", {
105
- pot: _this.refPot,
106
- po: poFile,
107
- }));
108
- }
109
- try {
110
- (0, fs_1.renameSync)(poFile, oldPoFile);
111
- var msgmerge = (0, child_process_1.spawn)(_this.options.msgmerge, args, {
112
- windowsHide: true,
113
- });
114
- msgmerge.on('error', function (err) {
115
- throw new Error(gtx._x("Failed to run '{prg}': {err}", {
116
- prg: _this.options.msgmerge,
117
- err: err
118
- }));
119
- });
120
- msgmerge.stdout.on('data', function (data) { return process.stdout.write(data.toString()); });
121
- msgmerge.stderr.on('data', function (data) { return process.stderr.write(data.toString()); });
122
- msgmerge.on('close', function (code) {
123
- if (code) {
124
- (0, fs_1.renameSync)(oldPoFile, poFile);
125
- resolve(1);
126
- }
127
- else {
128
- (0, fs_1.unlinkSync)(oldPoFile);
129
- resolve(0);
130
- }
131
- });
132
- }
133
- catch (err) {
134
- try {
135
- (0, fs_1.renameSync)(oldPoFile, poFile);
136
- }
137
- catch (err1) {
138
- console.error(err1);
139
- }
140
- console.error(err);
141
- resolve(1);
142
- }
143
- })];
144
- });
145
- });
146
- };
147
- MsgmergeAll.prototype.run = function () {
148
- var _this = this;
149
- return new Promise(function (resolve) {
150
- _this.locales.reduce(function (promise, locale) { return promise.then(function () { return _this.msgmergeLocale(locale); }); }, Promise.resolve())
151
- .then(function () { return resolve(0); }, function () { return resolve(1); });
152
- });
153
- };
154
- return MsgmergeAll;
155
- }());
156
- exports.MsgmergeAll = MsgmergeAll;
157
- //# sourceMappingURL=msgmerge-all.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"msgmerge-all.js","sourceRoot":"","sources":["../../src/msgmerge-all/msgmerge-all.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`JavaScript parser comments should extract all kinds of comments 1`] = `
4
- "#. Single-line comment.
5
- #: example.js:3
6
- msgid "single line"
7
- msgstr ""
8
-
9
- #. Block comment.
10
- #: example.js:6
11
- msgid "block"
12
- msgstr ""
13
-
14
- #. Single-line
15
- #. and block combined.
16
- #: example.js:10
17
- msgid "single + block"
18
- msgstr ""
19
-
20
- #. Block
21
- #. and single-line combined.
22
- #: example.js:14
23
- msgid "block + single"
24
- msgstr ""
25
-
26
- #. But catch this.
27
- #: example.js:19
28
- msgid "only immediately preceding"
29
- msgstr ""
30
-
31
- #. Only for one string.
32
- #: example.js:22
33
- msgid "catcher"
34
- msgstr ""
35
-
36
- #: example.js:22
37
- msgid "loser"
38
- msgstr ""
39
- "
40
- `;
41
-
42
- exports[`JavaScript parser strings should extract all kinds of strings 1`] = `
43
- "#: example.js:3
44
- msgid "double-quoted string"
45
- msgstr ""
46
-
47
- #: example.js:6
48
- msgid "single-quoted string"
49
- msgstr ""
50
-
51
- #: example.js:9
52
- #, perl-brace-format
53
- msgid "Hello, {name}!"
54
- msgstr ""
55
- "
56
- `;
@@ -1,176 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`parse po files encoding should accept cp1252 1`] = `
4
- "# SOME DESCRIPTIVE TITLE
5
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
6
- # This file is distributed under the same license as the PACKAGE package.
7
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8
- #
9
- #, fuzzy
10
- msgid ""
11
- msgstr ""
12
- "Project-Id-Version: PACKAGE VERSION\\n"
13
- "Report-Msgid-Bugs-To: MSGID_BUGS_ADDRESS\\n"
14
- "POT-Creation-Date: 2020-04-23 08:50+0300\\n"
15
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
16
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
17
- "Language-Team: LANGUAGE <LL@li.org>\\n"
18
- "Language: \\n"
19
- "MIME-Version: 1.0\\n"
20
- "Content-Type: text/plain; charset=CHARSET\\n"
21
- "Content-Transfer-Encoding: 8bit\\n"
22
- "
23
- `;
24
-
25
- exports[`parse po files simple file should parse 1`] = `
26
- "# SOME DESCRIPTIVE TITLE
27
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
28
- # This file is distributed under the same license as the PACKAGE package.
29
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
30
- #
31
- # Translations for smell-o-vision.
32
- # Copyright (C) 2020 SmellOVision Inc.
33
- # This file is distributed under the same license as the smell-o-vision package.
34
- # John Doe <john.doe@example.com>, 2020.
35
- #
36
- #, fuzzy
37
- msgid ""
38
- msgstr ""
39
- "Project-Id-Version: PACKAGE VERSION\\n"
40
- "Report-Msgid-Bugs-To: MSGID_BUGS_ADDRESS\\n"
41
- "POT-Creation-Date: 2020-04-23 08:50+0300\\n"
42
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
43
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
44
- "Language-Team: LANGUAGE <LL@li.org>\\n"
45
- "Language: \\n"
46
- "MIME-Version: 1.0\\n"
47
- "Content-Type: text/plain; charset=CHARSET\\n"
48
- "Content-Transfer-Encoding: 8bit\\n"
49
-
50
- msgid "no comment"
51
- msgstr ""
52
-
53
- #, perl-brace-format, no-perl-format
54
- msgid "Hello, {name}!"
55
- msgstr ""
56
-
57
- #: src/example.ts:2304 src/other.ts:1303
58
- msgid "strawberry"
59
- msgstr ""
60
-
61
- msgid "One universe"
62
- msgid_plural "Parallel universes"
63
- msgstr[0] ""
64
- msgstr[1] ""
65
-
66
- msgctxt "escapes"
67
- msgid ""
68
- "\\\\\\a\\b\\t\\n"
69
- "\\v\\f\\r\\""
70
- msgstr ""
71
-
72
- msgid "Multi-line msgid"
73
- msgstr ""
74
-
75
- msgctxt "multi-line"
76
- msgid ""
77
- "Hello, world!\\n"
78
- msgstr ""
79
-
80
- msgid "One world"
81
- msgid_plural "Many worlds"
82
- msgstr[0] ""
83
- msgstr[1] ""
84
-
85
- msgid "The translation has to be discarded."
86
- msgstr ""
87
-
88
- msgid "And this one, too."
89
- msgid_plural "And these ones, too."
90
- msgstr[0] ""
91
- msgstr[1] ""
92
-
93
- #. . TRANSLATORS: This is the day of the week, not our star.
94
- #. . It is the abbreviation for Sunday.
95
- msgid "Sun"
96
- msgstr ""
97
- "
98
- `;
99
-
100
- exports[`parse po files warnings should warn about empty flags 1`] = `
101
- "# SOME DESCRIPTIVE TITLE
102
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
103
- # This file is distributed under the same license as the PACKAGE package.
104
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
105
- #
106
- #, fuzzy
107
- msgid ""
108
- msgstr ""
109
- "Project-Id-Version: PACKAGE VERSION\\n"
110
- "Report-Msgid-Bugs-To: MSGID_BUGS_ADDRESS\\n"
111
- "POT-Creation-Date: 2020-04-23 08:50+0300\\n"
112
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
113
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
114
- "Language-Team: LANGUAGE <LL@li.org>\\n"
115
- "Language: \\n"
116
- "MIME-Version: 1.0\\n"
117
- "Content-Type: text/plain; charset=CHARSET\\n"
118
- "Content-Transfer-Encoding: 8bit\\n"
119
-
120
- #, fuzzy, perl-brace-format
121
- msgid "Hello, {name}!"
122
- msgstr ""
123
- "
124
- `;
125
-
126
- exports[`parse po files warnings should warn about empty flags reading from standard input 1`] = `
127
- "# SOME DESCRIPTIVE TITLE
128
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
129
- # This file is distributed under the same license as the PACKAGE package.
130
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
131
- #
132
- #, fuzzy
133
- msgid ""
134
- msgstr ""
135
- "Project-Id-Version: PACKAGE VERSION\\n"
136
- "Report-Msgid-Bugs-To: MSGID_BUGS_ADDRESS\\n"
137
- "POT-Creation-Date: 2020-04-23 08:50+0300\\n"
138
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
139
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
140
- "Language-Team: LANGUAGE <LL@li.org>\\n"
141
- "Language: \\n"
142
- "MIME-Version: 1.0\\n"
143
- "Content-Type: text/plain; charset=CHARSET\\n"
144
- "Content-Transfer-Encoding: 8bit\\n"
145
-
146
- #, fuzzy, perl-brace-format
147
- msgid "Hello, {name}!"
148
- msgstr ""
149
- "
150
- `;
151
-
152
- exports[`parse po files warnings should warn about invalid references 1`] = `
153
- "# SOME DESCRIPTIVE TITLE
154
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
155
- # This file is distributed under the same license as the PACKAGE package.
156
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
157
- #
158
- #, fuzzy
159
- msgid ""
160
- msgstr ""
161
- "Project-Id-Version: PACKAGE VERSION\\n"
162
- "Report-Msgid-Bugs-To: MSGID_BUGS_ADDRESS\\n"
163
- "POT-Creation-Date: 2020-04-23 08:50+0300\\n"
164
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
165
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
166
- "Language-Team: LANGUAGE <LL@li.org>\\n"
167
- "Language: \\n"
168
- "MIME-Version: 1.0\\n"
169
- "Content-Type: text/plain; charset=CHARSET\\n"
170
- "Content-Transfer-Encoding: 8bit\\n"
171
-
172
- #: src/here.js:2304
173
- msgid "Hello, {name}!"
174
- msgstr ""
175
- "
176
- `;