@taon-dev/i18n 0.0.6 → 21.0.15

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 (251) hide show
  1. package/bin/start.js +37 -37
  2. package/browser/package.json +1 -20
  3. package/browser-prod/package.json +2 -20
  4. package/lib/package.json +1 -1
  5. package/lib-prod/package.json +1 -1
  6. package/package.json +1 -1
  7. package/websql/package.json +1 -20
  8. package/websql-prod/package.json +2 -20
  9. package/VERIFIED-BUILD-DATA.jsonc +0 -5
  10. package/assets/shared/shared_folder_info.txt +0 -7
  11. package/browser/README.md +0 -24
  12. package/browser/fesm2022/i18n-browser.mjs +0 -1556
  13. package/browser/fesm2022/i18n-browser.mjs.map +0 -1
  14. package/browser/types/i18n-browser.d.ts +0 -194
  15. package/browser-prod/README.md +0 -24
  16. package/browser-prod/fesm2022/i18n-browser-prod.mjs +0 -1545
  17. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +0 -1
  18. package/browser-prod/types/i18n-browser-prod.d.ts +0 -188
  19. package/browser-prod.re-export.json +0 -1
  20. package/browser-prod.split-namespaces.json +0 -28
  21. package/cli.d.ts +0 -1
  22. package/cli.js +0 -8
  23. package/cli.js.map +0 -1
  24. package/html/app/main-page/main-page.container.html +0 -4
  25. package/html/assets/generated/pwa/html-pwa.html +0 -60
  26. package/html/imports.html +0 -3
  27. package/index.d.ts +0 -3
  28. package/index.js +0 -20
  29. package/index.js.map +0 -1
  30. package/lib/build-info._auto-generated_.d.ts +0 -24
  31. package/lib/build-info._auto-generated_.js +0 -30
  32. package/lib/build-info._auto-generated_.js.map +0 -1
  33. package/lib/env/env.angular-node-app.d.ts +0 -67
  34. package/lib/env/env.angular-node-app.js +0 -141
  35. package/lib/env/env.angular-node-app.js.map +0 -1
  36. package/lib/env/env.docs-webapp.d.ts +0 -67
  37. package/lib/env/env.docs-webapp.js +0 -141
  38. package/lib/env/env.docs-webapp.js.map +0 -1
  39. package/lib/env/env.electron-app.d.ts +0 -67
  40. package/lib/env/env.electron-app.js +0 -141
  41. package/lib/env/env.electron-app.js.map +0 -1
  42. package/lib/env/env.mobile-app.d.ts +0 -67
  43. package/lib/env/env.mobile-app.js +0 -141
  44. package/lib/env/env.mobile-app.js.map +0 -1
  45. package/lib/env/env.npm-lib-and-cli-tool.d.ts +0 -67
  46. package/lib/env/env.npm-lib-and-cli-tool.js +0 -141
  47. package/lib/env/env.npm-lib-and-cli-tool.js.map +0 -1
  48. package/lib/env/env.vscode-plugin.d.ts +0 -67
  49. package/lib/env/env.vscode-plugin.js +0 -141
  50. package/lib/env/env.vscode-plugin.js.map +0 -1
  51. package/lib/env/index.d.ts +0 -6
  52. package/lib/env/index.js +0 -23
  53. package/lib/env/index.js.map +0 -1
  54. package/lib/index._auto-generated_.d.ts +0 -11
  55. package/lib/index._auto-generated_.js +0 -33
  56. package/lib/index._auto-generated_.js.map +0 -1
  57. package/lib/index.d.ts +0 -4
  58. package/lib/index.js +0 -20
  59. package/lib/index.js.map +0 -1
  60. package/lib/start-cli.d.ts +0 -7
  61. package/lib/start-cli.js +0 -48
  62. package/lib/start-cli.js.map +0 -1
  63. package/lib/translate.directive.d.ts +0 -15
  64. package/lib/translate.pipe.d.ts +0 -10
  65. package/lib/translate.service.d.ts +0 -13
  66. package/lib/translation-manager.d.ts +0 -33
  67. package/lib/translation-manager.js +0 -119
  68. package/lib/translation-manager.js.map +0 -1
  69. package/lib/translation.d.ts +0 -44
  70. package/lib/translation.js +0 -253
  71. package/lib/translation.js.map +0 -1
  72. package/lib/translation.models.d.ts +0 -25
  73. package/lib/translation.models.js +0 -3
  74. package/lib/translation.models.js.map +0 -1
  75. package/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +0 -4
  76. package/lib/utils-i18n-extract-gettext-translate-from-html.js +0 -465
  77. package/lib/utils-i18n-extract-gettext-translate-from-html.js.map +0 -1
  78. package/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  79. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -282
  80. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  81. package/lib/utils-i18n-html.d.ts +0 -5
  82. package/lib/utils-i18n-html.js +0 -120
  83. package/lib/utils-i18n-html.js.map +0 -1
  84. package/lib/utils-i18n-html.test.d.ts +0 -1
  85. package/lib/utils-i18n-html.test.js +0 -82
  86. package/lib/utils-i18n-html.test.js.map +0 -1
  87. package/lib/utils-po-file.d.ts +0 -8
  88. package/lib/utils-po-file.js +0 -245
  89. package/lib/utils-po-file.js.map +0 -1
  90. package/lib/utils-po-file.test.d.ts +0 -1
  91. package/lib/utils-po-file.test.js +0 -239
  92. package/lib/utils-po-file.test.js.map +0 -1
  93. package/lib-esm/app/main-page/main-page.active.context.d.ts +0 -19
  94. package/lib-esm/app/main-page/main-page.active.context.js +0 -19
  95. package/lib-esm/app/main-page/main-page.active.context.js.map +0 -1
  96. package/lib-esm/app.d.ts +0 -3
  97. package/lib-esm/app.electron.d.ts +0 -1
  98. package/lib-esm/app.electron.js +0 -2
  99. package/lib-esm/app.electron.js.map +0 -1
  100. package/lib-esm/app.hosts.d.ts +0 -147
  101. package/lib-esm/app.hosts.js +0 -217
  102. package/lib-esm/app.hosts.js.map +0 -1
  103. package/lib-esm/app.js +0 -460
  104. package/lib-esm/app.js.map +0 -1
  105. package/lib-esm/app.vscode.d.ts +0 -9
  106. package/lib-esm/app.vscode.js +0 -37
  107. package/lib-esm/app.vscode.js.map +0 -1
  108. package/lib-esm/cli.d.ts +0 -1
  109. package/lib-esm/cli.js +0 -4
  110. package/lib-esm/cli.js.map +0 -1
  111. package/lib-esm/index.d.ts +0 -3
  112. package/lib-esm/index.js +0 -4
  113. package/lib-esm/index.js.map +0 -1
  114. package/lib-esm/lib/build-info._auto-generated_.d.ts +0 -24
  115. package/lib-esm/lib/build-info._auto-generated_.js +0 -27
  116. package/lib-esm/lib/build-info._auto-generated_.js.map +0 -1
  117. package/lib-esm/lib/env/env.angular-node-app.d.ts +0 -67
  118. package/lib-esm/lib/env/env.angular-node-app.js +0 -137
  119. package/lib-esm/lib/env/env.angular-node-app.js.map +0 -1
  120. package/lib-esm/lib/env/env.docs-webapp.d.ts +0 -67
  121. package/lib-esm/lib/env/env.docs-webapp.js +0 -137
  122. package/lib-esm/lib/env/env.docs-webapp.js.map +0 -1
  123. package/lib-esm/lib/env/env.electron-app.d.ts +0 -67
  124. package/lib-esm/lib/env/env.electron-app.js +0 -137
  125. package/lib-esm/lib/env/env.electron-app.js.map +0 -1
  126. package/lib-esm/lib/env/env.mobile-app.d.ts +0 -67
  127. package/lib-esm/lib/env/env.mobile-app.js +0 -137
  128. package/lib-esm/lib/env/env.mobile-app.js.map +0 -1
  129. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +0 -67
  130. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +0 -137
  131. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +0 -1
  132. package/lib-esm/lib/env/env.vscode-plugin.d.ts +0 -67
  133. package/lib-esm/lib/env/env.vscode-plugin.js +0 -137
  134. package/lib-esm/lib/env/env.vscode-plugin.js.map +0 -1
  135. package/lib-esm/lib/env/index.d.ts +0 -6
  136. package/lib-esm/lib/env/index.js +0 -7
  137. package/lib-esm/lib/env/index.js.map +0 -1
  138. package/lib-esm/lib/index._auto-generated_.d.ts +0 -8
  139. package/lib-esm/lib/index._auto-generated_.js +0 -17
  140. package/lib-esm/lib/index._auto-generated_.js.map +0 -1
  141. package/lib-esm/lib/index.d.ts +0 -4
  142. package/lib-esm/lib/index.js +0 -4
  143. package/lib-esm/lib/index.js.map +0 -1
  144. package/lib-esm/lib/start-cli.d.ts +0 -7
  145. package/lib-esm/lib/start-cli.js +0 -45
  146. package/lib-esm/lib/start-cli.js.map +0 -1
  147. package/lib-esm/lib/translation-manager.d.ts +0 -33
  148. package/lib-esm/lib/translation-manager.js +0 -115
  149. package/lib-esm/lib/translation-manager.js.map +0 -1
  150. package/lib-esm/lib/translation.d.ts +0 -43
  151. package/lib-esm/lib/translation.js +0 -249
  152. package/lib-esm/lib/translation.js.map +0 -1
  153. package/lib-esm/lib/translation.models.d.ts +0 -25
  154. package/lib-esm/lib/translation.models.js +0 -2
  155. package/lib-esm/lib/translation.models.js.map +0 -1
  156. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +0 -4
  157. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js +0 -462
  158. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js.map +0 -1
  159. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  160. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -280
  161. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  162. package/lib-esm/lib/utils-i18n-html.d.ts +0 -5
  163. package/lib-esm/lib/utils-i18n-html.js +0 -117
  164. package/lib-esm/lib/utils-i18n-html.js.map +0 -1
  165. package/lib-esm/lib/utils-i18n-html.test.d.ts +0 -1
  166. package/lib-esm/lib/utils-i18n-html.test.js +0 -80
  167. package/lib-esm/lib/utils-i18n-html.test.js.map +0 -1
  168. package/lib-esm/lib/utils-po-file.d.ts +0 -8
  169. package/lib-esm/lib/utils-po-file.js +0 -242
  170. package/lib-esm/lib/utils-po-file.js.map +0 -1
  171. package/lib-esm/lib/utils-po-file.test.d.ts +0 -1
  172. package/lib-esm/lib/utils-po-file.test.js +0 -237
  173. package/lib-esm/lib/utils-po-file.test.js.map +0 -1
  174. package/lib-prod/build-info._auto-generated_.d.ts +0 -24
  175. package/lib-prod/build-info._auto-generated_.js +0 -27
  176. package/lib-prod/build-info._auto-generated_.js.map +0 -1
  177. package/lib-prod/env/env.angular-node-app.d.ts +0 -67
  178. package/lib-prod/env/env.angular-node-app.js +0 -137
  179. package/lib-prod/env/env.angular-node-app.js.map +0 -1
  180. package/lib-prod/env/env.docs-webapp.d.ts +0 -67
  181. package/lib-prod/env/env.docs-webapp.js +0 -137
  182. package/lib-prod/env/env.docs-webapp.js.map +0 -1
  183. package/lib-prod/env/env.electron-app.d.ts +0 -67
  184. package/lib-prod/env/env.electron-app.js +0 -137
  185. package/lib-prod/env/env.electron-app.js.map +0 -1
  186. package/lib-prod/env/env.mobile-app.d.ts +0 -67
  187. package/lib-prod/env/env.mobile-app.js +0 -137
  188. package/lib-prod/env/env.mobile-app.js.map +0 -1
  189. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +0 -67
  190. package/lib-prod/env/env.npm-lib-and-cli-tool.js +0 -137
  191. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +0 -1
  192. package/lib-prod/env/env.vscode-plugin.d.ts +0 -67
  193. package/lib-prod/env/env.vscode-plugin.js +0 -137
  194. package/lib-prod/env/env.vscode-plugin.js.map +0 -1
  195. package/lib-prod/env/index.d.ts +0 -6
  196. package/lib-prod/env/index.js +0 -7
  197. package/lib-prod/env/index.js.map +0 -1
  198. package/lib-prod/index._auto-generated_.d.ts +0 -8
  199. package/lib-prod/index._auto-generated_.js +0 -17
  200. package/lib-prod/index._auto-generated_.js.map +0 -1
  201. package/lib-prod/index.d.ts +0 -4
  202. package/lib-prod/index.js +0 -4
  203. package/lib-prod/index.js.map +0 -1
  204. package/lib-prod/start-cli.d.ts +0 -7
  205. package/lib-prod/start-cli.js +0 -45
  206. package/lib-prod/start-cli.js.map +0 -1
  207. package/lib-prod/translation-manager.d.ts +0 -33
  208. package/lib-prod/translation-manager.js +0 -115
  209. package/lib-prod/translation-manager.js.map +0 -1
  210. package/lib-prod/translation.d.ts +0 -43
  211. package/lib-prod/translation.js +0 -249
  212. package/lib-prod/translation.js.map +0 -1
  213. package/lib-prod/translation.models.d.ts +0 -25
  214. package/lib-prod/translation.models.js +0 -2
  215. package/lib-prod/translation.models.js.map +0 -1
  216. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.d.ts +0 -2
  217. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js +0 -460
  218. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js.map +0 -1
  219. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  220. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js +0 -280
  221. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  222. package/lib-prod/utils-i18n-html.d.ts +0 -3
  223. package/lib-prod/utils-i18n-html.js +0 -114
  224. package/lib-prod/utils-i18n-html.js.map +0 -1
  225. package/lib-prod/utils-i18n-html.test.d.ts +0 -1
  226. package/lib-prod/utils-i18n-html.test.js +0 -80
  227. package/lib-prod/utils-i18n-html.test.js.map +0 -1
  228. package/lib-prod/utils-po-file.d.ts +0 -6
  229. package/lib-prod/utils-po-file.js +0 -236
  230. package/lib-prod/utils-po-file.js.map +0 -1
  231. package/lib-prod/utils-po-file.test.d.ts +0 -1
  232. package/lib-prod/utils-po-file.test.js +0 -237
  233. package/lib-prod/utils-po-file.test.js.map +0 -1
  234. package/lib-prod.re-export.json +0 -1
  235. package/lib-prod.split-namespaces.json +0 -28
  236. package/scss/app/main-page/main-page.container.scss +0 -3
  237. package/scss/global.scss +0 -94
  238. package/scss/index.scss +0 -2
  239. package/scss/lib/index.scss +0 -2
  240. package/scss/vars.scss +0 -7
  241. package/src.js +0 -4
  242. package/websql/README.md +0 -24
  243. package/websql/fesm2022/i18n-websql.mjs +0 -1556
  244. package/websql/fesm2022/i18n-websql.mjs.map +0 -1
  245. package/websql/types/i18n-websql.d.ts +0 -194
  246. package/websql-prod/README.md +0 -24
  247. package/websql-prod/fesm2022/i18n-websql-prod.mjs +0 -1545
  248. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +0 -1
  249. package/websql-prod/types/i18n-websql-prod.d.ts +0 -188
  250. package/websql-prod.re-export.json +0 -1
  251. package/websql-prod.split-namespaces.json +0 -28
@@ -1,242 +0,0 @@
1
- import { mkdirSync, writeFileSync } from 'fs'; // @backend
2
- import { join } from 'path';
3
- export var UtilsPoFile;
4
- (function (UtilsPoFile) {
5
- //#region generate po files
6
- function generatePoFiles(files, locales, destinationAbsFolderPath) {
7
- //#region @backendFunc
8
- mkdirSync(destinationAbsFolderPath, { recursive: true });
9
- for (const locale of locales) {
10
- const poContent = generatePoFileContent(files, locale);
11
- const poFilePath = join(destinationAbsFolderPath, `${locale}.po`);
12
- writeFileSync(poFilePath, poContent, 'utf8');
13
- }
14
- //#endregion
15
- }
16
- UtilsPoFile.generatePoFiles = generatePoFiles;
17
- //#endregion
18
- //#region generate po file content
19
- function generatePoFileContent(files, locale) {
20
- //#region @backendFunc
21
- const entries = new Map();
22
- for (const file of files) {
23
- for (const tag of file.tags) {
24
- const context = tag.context || '';
25
- const key = `${context}\u0004${tag.gettextString}`;
26
- let entry = entries.get(key);
27
- if (!entry) {
28
- entry = {
29
- msgid: tag.gettextString,
30
- context: tag.context,
31
- translation: tag.translation,
32
- refs: [],
33
- };
34
- entries.set(key, entry);
35
- }
36
- entry.refs.push(`${file.fileRelativePath}:${tag.lineNumber}`);
37
- }
38
- }
39
- const lines = [];
40
- lines.push('msgid ""');
41
- lines.push('msgstr ""');
42
- lines.push(`"Language: ${escapePoString(locale)}\\n"`);
43
- lines.push('"Content-Type: text/plain; charset=UTF-8\\n"');
44
- lines.push('"Content-Transfer-Encoding: 8bit\\n"');
45
- lines.push('');
46
- for (const entry of entries.values()) {
47
- for (const ref of entry.refs) {
48
- lines.push(`#: ${ref}`);
49
- }
50
- if (entry.context) {
51
- lines.push(`msgctxt "${escapePoString(entry.context)}"`);
52
- }
53
- lines.push(`msgid "${escapePoString(entry.msgid)}"`);
54
- lines.push(`msgstr "${entry.translation || ''}"`);
55
- lines.push('');
56
- }
57
- return lines.join('\n');
58
- //#endregion
59
- }
60
- UtilsPoFile.generatePoFileContent = generatePoFileContent;
61
- //#endregion
62
- //#region extract po to json
63
- function extractPoToJson(poFileContent) {
64
- //#region @backendFunc
65
- const entries = parsePoEntries(poFileContent);
66
- const filesMap = new Map();
67
- for (const entry of entries) {
68
- if (!entry.msgid)
69
- continue;
70
- for (const ref of entry.refs) {
71
- const parsedRef = parsePoRef(ref);
72
- if (!parsedRef)
73
- continue;
74
- let file = filesMap.get(parsedRef.fileAbsPath);
75
- if (!file) {
76
- file = {
77
- fileAbsPath: parsedRef.fileAbsPath,
78
- tags: [],
79
- };
80
- filesMap.set(parsedRef.fileAbsPath, file);
81
- }
82
- file.tags.push({
83
- lineNumber: parsedRef.lineNumber,
84
- gettextString: entry.msgid,
85
- context: entry.msgctxt,
86
- translation: entry.msgstr || undefined,
87
- });
88
- }
89
- }
90
- return [...filesMap.values()];
91
- //#endregion
92
- }
93
- UtilsPoFile.extractPoToJson = extractPoToJson;
94
- //#endregion
95
- //#region generate translation override interface
96
- function generateTranslationOverrideInterface(file, interfaceName, locale) {
97
- //#region @backendFunc
98
- const contexts = new Map();
99
- for (const tag of file.tags) {
100
- const context = tag.context ?? '';
101
- let arr = contexts.get(context);
102
- if (!arr) {
103
- arr = [];
104
- contexts.set(context, arr);
105
- }
106
- if (!arr.includes(tag.gettextString)) {
107
- arr.push(tag.gettextString);
108
- }
109
- }
110
- const lines = [];
111
- lines.push(`export interface ${interfaceName} {`);
112
- lines.push(` "${escapeTs(locale)}": {`);
113
- for (const [context, strings] of contexts) {
114
- lines.push(` "${escapeTs(context)}": {`);
115
- for (const text of strings.sort()) {
116
- lines.push(` "${escapeTs(text)}"?: string;`);
117
- }
118
- lines.push(` };`);
119
- lines.push('');
120
- }
121
- lines.push(` };`);
122
- lines.push(`}`);
123
- return lines.join('\n');
124
- //#endregion
125
- }
126
- UtilsPoFile.generateTranslationOverrideInterface = generateTranslationOverrideInterface;
127
- function escapeTs(value) {
128
- return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
129
- }
130
- //#endregion
131
- //#region merge gettext file
132
- function mergeGettextFile(jsonContent1FromTsHtml, json2ContentFromPoFileModifedByUser) {
133
- //#region @backendFunc
134
- const oldTagsByKey = new Map();
135
- for (const oldTag of json2ContentFromPoFileModifedByUser?.tags ?? []) {
136
- oldTagsByKey.set(getGettextTagKey(oldTag), oldTag);
137
- }
138
- return {
139
- fileAbsPath: jsonContent1FromTsHtml.fileAbsPath,
140
- fileRelativePath: jsonContent1FromTsHtml.fileRelativePath,
141
- isAppFile: jsonContent1FromTsHtml.isAppFile,
142
- tags: jsonContent1FromTsHtml.tags.map(sourceTag => {
143
- const oldTag = oldTagsByKey.get(getGettextTagKey(sourceTag));
144
- return {
145
- ...sourceTag,
146
- lineNumber: sourceTag.lineNumber,
147
- translation: oldTag?.translation || undefined,
148
- };
149
- }),
150
- };
151
- //#endregion
152
- }
153
- UtilsPoFile.mergeGettextFile = mergeGettextFile;
154
- //#endregion
155
- //#region models & helpers
156
- function getGettextTagKey(tag) {
157
- return `${tag.context ?? ''}\u0004${tag.gettextString}`;
158
- }
159
- function parsePoEntries(po) {
160
- //#region @backendFunc
161
- const lines = po.split(/\r?\n/);
162
- const entries = [];
163
- let current = { refs: [] };
164
- let activeField = null;
165
- const flush = () => {
166
- if (current.refs.length ||
167
- current.msgctxt !== undefined ||
168
- current.msgid !== undefined ||
169
- current.msgstr !== undefined) {
170
- entries.push(current);
171
- }
172
- current = { refs: [] };
173
- activeField = null;
174
- };
175
- for (const line of lines) {
176
- const trimmed = line.trim();
177
- if (!trimmed) {
178
- flush();
179
- continue;
180
- }
181
- if (trimmed.startsWith('#:')) {
182
- current.refs.push(...trimmed.slice(2).trim().split(/\s+/));
183
- activeField = null;
184
- continue;
185
- }
186
- if (trimmed.startsWith('msgctxt')) {
187
- current.msgctxt = readPoQuoted(trimmed.slice('msgctxt'.length).trim());
188
- activeField = 'msgctxt';
189
- continue;
190
- }
191
- if (trimmed.startsWith('msgid')) {
192
- current.msgid = readPoQuoted(trimmed.slice('msgid'.length).trim());
193
- activeField = 'msgid';
194
- continue;
195
- }
196
- if (trimmed.startsWith('msgstr')) {
197
- current.msgstr = readPoQuoted(trimmed.slice('msgstr'.length).trim());
198
- activeField = 'msgstr';
199
- continue;
200
- }
201
- if (trimmed.startsWith('"') && activeField) {
202
- current[activeField] =
203
- (current[activeField] ?? '') + readPoQuoted(trimmed);
204
- }
205
- }
206
- flush();
207
- // skip header
208
- return entries.filter(entry => !(entry.msgid === '' && !entry.refs.length));
209
- //#endregion
210
- }
211
- function parsePoRef(ref) {
212
- //#region @backendFunc
213
- const match = ref.match(/^(.+):(\d+)$/);
214
- if (!match)
215
- return null;
216
- return {
217
- fileAbsPath: match[1],
218
- lineNumber: Number(match[2]),
219
- };
220
- //#endregion
221
- }
222
- function escapePoString(value) {
223
- return value
224
- .replace(/\\/g, '\\\\')
225
- .replace(/"/g, '\\"')
226
- .replace(/\n/g, '\\n');
227
- }
228
- function readPoQuoted(value) {
229
- const match = value.match(/^"([\s\S]*)"$/);
230
- if (!match)
231
- return '';
232
- return unescapePoString(match[1]);
233
- }
234
- function unescapePoString(value) {
235
- return value
236
- .replace(/\\n/g, '\n')
237
- .replace(/\\"/g, '"')
238
- .replace(/\\\\/g, '\\');
239
- }
240
- //#endregion
241
- })(UtilsPoFile || (UtilsPoFile = {}));
242
- //# sourceMappingURL=utils-po-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-po-file.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,237 +0,0 @@
1
- import { UtilsPoFile } from './utils-po-file';
2
- describe('UtilsPoFile.extractPoToJson', () => {
3
- it('extracts translations from msgstr', () => {
4
- const po = `
5
- msgid ""
6
- msgstr ""
7
- "Language: pl-PL\\n"
8
- "Content-Type: text/plain; charset=UTF-8\\n"
9
-
10
- #: src/lib/test.html:8
11
- msgctxt "taon-ui"
12
- msgid "You purchased"
13
- msgstr "Kupiłeś"
14
-
15
- #: src/lib/test.html:9
16
- msgid "products"
17
- msgstr "produkty"
18
-
19
- #: src/lib/test.html:11
20
- msgid "You purchased [[ howMany ]] products"
21
- msgstr "Kupiłeś [[ howMany ]] produktów"
22
- `;
23
- expect(UtilsPoFile.extractPoToJson(po)).toEqual([
24
- {
25
- fileAbsPath: 'src/lib/test.html',
26
- tags: [
27
- {
28
- lineNumber: 8,
29
- gettextString: 'You purchased',
30
- context: 'taon-ui',
31
- translation: 'Kupiłeś',
32
- },
33
- {
34
- lineNumber: 9,
35
- gettextString: 'products',
36
- context: undefined,
37
- translation: 'produkty',
38
- },
39
- {
40
- lineNumber: 11,
41
- gettextString: 'You purchased [[ howMany ]] products',
42
- context: undefined,
43
- translation: 'Kupiłeś [[ howMany ]] produktów',
44
- },
45
- ],
46
- },
47
- ]);
48
- });
49
- it('keeps empty msgstr as undefined', () => {
50
- const po = `
51
- #: src/lib/test.html:1
52
- msgid "Hello"
53
- msgstr ""
54
- `;
55
- expect(UtilsPoFile.extractPoToJson(po)).toEqual([
56
- {
57
- fileAbsPath: 'src/lib/test.html',
58
- tags: [
59
- {
60
- lineNumber: 1,
61
- gettextString: 'Hello',
62
- context: undefined,
63
- translation: undefined,
64
- },
65
- ],
66
- },
67
- ]);
68
- });
69
- });
70
- describe('UtilsPoFile.mergeGettextFile', () => {
71
- it('keeps translations from old po json and refreshes line numbers from source', () => {
72
- const freshFromSource = {
73
- fileAbsPath: 'c:/project/src/lib/test.component.html',
74
- fileRelativePath: 'src/lib/test.component.html',
75
- isAppFile: false,
76
- tags: [
77
- {
78
- lineNumber: 20,
79
- gettextString: 'You purchased',
80
- context: 'taon-ui',
81
- },
82
- {
83
- lineNumber: 21,
84
- gettextString: 'products',
85
- },
86
- ],
87
- };
88
- const oldFromPo = {
89
- fileAbsPath: 'src/lib/test.component.html',
90
- tags: [
91
- {
92
- lineNumber: 8,
93
- gettextString: 'You purchased',
94
- context: 'taon-ui',
95
- translation: 'Kupiłeś',
96
- },
97
- {
98
- lineNumber: 9,
99
- gettextString: 'products',
100
- translation: 'produkty',
101
- },
102
- ],
103
- };
104
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
105
- fileAbsPath: 'c:/project/src/lib/test.component.html',
106
- fileRelativePath: 'src/lib/test.component.html',
107
- isAppFile: false,
108
- tags: [
109
- {
110
- lineNumber: 20,
111
- gettextString: 'You purchased',
112
- context: 'taon-ui',
113
- translation: 'Kupiłeś',
114
- },
115
- {
116
- lineNumber: 21,
117
- gettextString: 'products',
118
- translation: 'produkty',
119
- },
120
- ],
121
- });
122
- });
123
- it('returns fresh source tags when old po json does not exist', () => {
124
- const freshFromSource = {
125
- fileAbsPath: 'c:/project/src/lib/test.component.html',
126
- fileRelativePath: 'src/lib/test.component.html',
127
- isAppFile: false,
128
- tags: [
129
- {
130
- lineNumber: 1,
131
- gettextString: 'Hello',
132
- },
133
- ],
134
- };
135
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, null)).toEqual({
136
- fileAbsPath: 'c:/project/src/lib/test.component.html',
137
- fileRelativePath: 'src/lib/test.component.html',
138
- isAppFile: false,
139
- tags: [
140
- {
141
- lineNumber: 1,
142
- gettextString: 'Hello',
143
- translation: undefined,
144
- },
145
- ],
146
- });
147
- });
148
- it('does not keep translations for removed source strings', () => {
149
- const freshFromSource = {
150
- fileAbsPath: 'c:/project/src/lib/test.component.html',
151
- tags: [
152
- {
153
- lineNumber: 1,
154
- gettextString: 'Still exists',
155
- },
156
- ],
157
- };
158
- const oldFromPo = {
159
- fileAbsPath: 'src/lib/test.component.html',
160
- tags: [
161
- {
162
- lineNumber: 1,
163
- gettextString: 'Still exists',
164
- translation: 'Nadal istnieje',
165
- },
166
- {
167
- lineNumber: 2,
168
- gettextString: 'Removed',
169
- translation: 'Usunięte',
170
- },
171
- ],
172
- };
173
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
174
- fileAbsPath: 'c:/project/src/lib/test.component.html',
175
- fileRelativePath: undefined,
176
- isAppFile: undefined,
177
- tags: [
178
- {
179
- lineNumber: 1,
180
- gettextString: 'Still exists',
181
- translation: 'Nadal istnieje',
182
- },
183
- ],
184
- });
185
- });
186
- it('matches context and empty context separately', () => {
187
- const freshFromSource = {
188
- fileAbsPath: 'c:/project/src/lib/test.component.html',
189
- tags: [
190
- {
191
- lineNumber: 1,
192
- gettextString: 'Save',
193
- },
194
- {
195
- lineNumber: 2,
196
- gettextString: 'Save',
197
- context: 'admin',
198
- },
199
- ],
200
- };
201
- const oldFromPo = {
202
- fileAbsPath: 'src/lib/test.component.html',
203
- tags: [
204
- {
205
- lineNumber: 10,
206
- gettextString: 'Save',
207
- translation: 'Zapisz',
208
- },
209
- {
210
- lineNumber: 11,
211
- gettextString: 'Save',
212
- context: 'admin',
213
- translation: 'Zapisz admina',
214
- },
215
- ],
216
- };
217
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
218
- fileAbsPath: 'c:/project/src/lib/test.component.html',
219
- fileRelativePath: undefined,
220
- isAppFile: undefined,
221
- tags: [
222
- {
223
- lineNumber: 1,
224
- gettextString: 'Save',
225
- translation: 'Zapisz',
226
- },
227
- {
228
- lineNumber: 2,
229
- gettextString: 'Save',
230
- context: 'admin',
231
- translation: 'Zapisz admina',
232
- },
233
- ],
234
- });
235
- });
236
- });
237
- //# sourceMappingURL=utils-po-file.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-po-file.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Autogenerated by current cli tool
3
- */
4
- export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
5
- /**
6
- * This value can be change in taon.jsonc (appId)
7
- */
8
- export declare const APP_ID = "com.domain.example.i18n";
9
- /**
10
- * Autogenerated by current cli tool
11
- */
12
- export declare const BUILD_BASE_HREF = "";
13
- /**
14
- * This value can be change in taon.jsonc (overrideNpmName)
15
- */
16
- export declare const PROJECT_NPM_NAME = "@taon-dev/i18n";
17
- /**
18
- * Taon version from you project taon.json
19
- */
20
- export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
- /**
22
- * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
- */
24
- export declare const CURRENT_PACKAGE_VERSION = "0.0.6";
@@ -1,27 +0,0 @@
1
- // THIS FILE IS GENERATED - DO NOT MODIFY
2
- /**
3
- * Autogenerated by current cli tool
4
- */
5
- export const BUILD_FRAMEWORK_CLI_NAME = 'tnp';
6
- /**
7
- * This value can be change in taon.jsonc (appId)
8
- */
9
- export const APP_ID = 'com.domain.example.i18n';
10
- /**
11
- * Autogenerated by current cli tool
12
- */
13
- export const BUILD_BASE_HREF = '';
14
- /**
15
- * This value can be change in taon.jsonc (overrideNpmName)
16
- */
17
- export const PROJECT_NPM_NAME = '@taon-dev/i18n';
18
- /**
19
- * Taon version from you project taon.json
20
- */
21
- export const CURRENT_PACKAGE_TAON_VERSION = 'v21';
22
- /**
23
- * Autogenerated by current cli tool. Use *tnp release* to bump version.
24
- */
25
- export const CURRENT_PACKAGE_VERSION = '0.0.6';
26
- // THIS FILE IS GENERATED - DO NOT MODIFY
27
- //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAChD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAClD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAM/C,yCAAyC"}
@@ -1,67 +0,0 @@
1
- export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = "#fdebed";
2
- export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = "lds-default";
3
- export declare const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = "i18n.example.domain.com";
4
- export declare const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = "I 18 N";
5
- export declare const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;
6
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = "angular-node-app";
7
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = "__";
8
- export declare const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY: any;
9
- export declare const ENV_ANGULAR_NODE_APP_CONTAINER_END: any;
10
- export declare const ENV_ANGULAR_NODE_APP_CONTAINER_START: any;
11
- export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED: any;
12
- export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP: any;
13
- export declare const ENV_ANGULAR_NODE_APP_INIT_BRANDING: any;
14
- export declare const ENV_ANGULAR_NODE_APP_INIT_STRUCT: any;
15
- export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER: any;
16
- export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME: any;
17
- export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME: any;
18
- export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL: any;
19
- export declare const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS: any;
20
- export declare const ENV_ANGULAR_NODE_APP_BUILD_SSR: any;
21
- export declare const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL: any;
22
- export declare const ENV_ANGULAR_NODE_APP_BUILD_PROD: any;
23
- export declare const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH: any;
24
- export declare const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF: any;
25
- export declare const ENV_ANGULAR_NODE_APP_BUILD_WATCH: any;
26
- export declare const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE: any;
27
- export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER: any;
28
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY: any;
29
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES: any;
30
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY: any;
31
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE: any;
32
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS: any;
33
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY: any;
34
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS: any;
35
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE: any;
36
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE: any;
37
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS: any;
38
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS: any;
39
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES: any;
40
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION: any;
41
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE: any;
42
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER: any;
43
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY: any;
44
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL: any;
45
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE: any;
46
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG: any;
47
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME: any;
48
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP: any;
49
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH: any;
50
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY: any;
51
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH: any;
52
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION: any;
53
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES: any;
54
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING: any;
55
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS: any;
56
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH: any;
57
- export declare const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH: any;
58
- export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK: any;
59
- export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS: any;
60
- export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS: any;
61
- export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP: any;
62
- export declare const ENV_ANGULAR_NODE_APP_PURPOSE: any;
63
- export declare const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION: any;
64
- export declare const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS: any;
65
- export declare const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER: any;
66
- export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER: any;
67
- export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB: any;