@taon-dev/i18n 21.0.34 → 21.0.42

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 (215) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/i18n-browser.mjs +43 -12
  3. package/browser/fesm2022/i18n-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/i18n-browser.d.ts +11 -7
  6. package/browser-prod/fesm2022/i18n-browser-prod.mjs +43 -12
  7. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/i18n-browser-prod.d.ts +11 -7
  10. package/full-dts/build-info._auto-generated_.d.ts +24 -0
  11. package/full-dts/env/env.angular-node-app.d.ts +68 -0
  12. package/full-dts/env/env.docs-webapp.d.ts +68 -0
  13. package/full-dts/env/env.electron-app.d.ts +68 -0
  14. package/full-dts/env/env.mobile-app.d.ts +68 -0
  15. package/full-dts/env/env.npm-lib-and-cli-tool.d.ts +68 -0
  16. package/full-dts/env/env.vscode-plugin.d.ts +68 -0
  17. package/full-dts/env/index.d.ts +6 -0
  18. package/full-dts/i18n/lib.translation.d.ts +4 -0
  19. package/full-dts/i18n/translation.ts.en-US.i18n.data.d.ts +17 -0
  20. package/full-dts/i18n/translation.ts.pl-PL.i18n.data.d.ts +17 -0
  21. package/full-dts/index._auto-generated_.d.ts +13 -0
  22. package/full-dts/index.d.ts +4 -0
  23. package/full-dts/local-translation.d.ts +67 -0
  24. package/full-dts/start-cli.d.ts +2 -0
  25. package/full-dts/translation-manager.d.ts +34 -0
  26. package/full-dts/translation.d.ts +48 -0
  27. package/full-dts/translation.models.d.ts +25 -0
  28. package/full-dts/utils-i18n-extract-gettext-translate-from-html.d.ts +4 -0
  29. package/full-dts/utils-i18n-extract-gettext-translate-from-html.test.d.ts +1 -0
  30. package/full-dts/utils-i18n-html.d.ts +9 -0
  31. package/full-dts/utils-i18n-html.test.d.ts +1 -0
  32. package/full-dts/utils-po-file-extracto-to-json.test.d.ts +1 -0
  33. package/full-dts/utils-po-file.d.ts +8 -0
  34. package/full-dts/utils-po-file.test.d.ts +1 -0
  35. package/lib/build-info._auto-generated_.d.ts +1 -1
  36. package/lib/build-info._auto-generated_.js +1 -1
  37. package/lib/env/env.angular-node-app.d.ts +1 -0
  38. package/lib/env/env.angular-node-app.js +6 -2
  39. package/lib/env/env.angular-node-app.js.map +1 -1
  40. package/lib/env/env.docs-webapp.d.ts +1 -0
  41. package/lib/env/env.docs-webapp.js +6 -2
  42. package/lib/env/env.docs-webapp.js.map +1 -1
  43. package/lib/env/env.electron-app.d.ts +1 -0
  44. package/lib/env/env.electron-app.js +6 -2
  45. package/lib/env/env.electron-app.js.map +1 -1
  46. package/lib/env/env.mobile-app.d.ts +1 -0
  47. package/lib/env/env.mobile-app.js +6 -2
  48. package/lib/env/env.mobile-app.js.map +1 -1
  49. package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  50. package/lib/env/env.npm-lib-and-cli-tool.js +6 -2
  51. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  52. package/lib/env/env.vscode-plugin.d.ts +1 -0
  53. package/lib/env/env.vscode-plugin.js +6 -2
  54. package/lib/env/env.vscode-plugin.js.map +1 -1
  55. package/lib/i18n/lib.translation.d.ts +2 -2
  56. package/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  57. package/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  58. package/lib/index._auto-generated_.d.ts +1 -4
  59. package/lib/local-translation.d.ts +2 -2
  60. package/lib/local-translation.js +3 -0
  61. package/lib/local-translation.js.map +1 -1
  62. package/lib/package.json +1 -1
  63. package/lib/translation-manager.d.ts +2 -2
  64. package/lib/translation.d.ts +8 -5
  65. package/lib/translation.js +5 -1
  66. package/lib/translation.js.map +1 -1
  67. package/lib/translation.models.d.ts +2 -2
  68. package/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +2 -2
  69. package/lib/utils-i18n-extract-gettext-translate-from-html.js +10 -1
  70. package/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  71. package/lib/utils-i18n-html.d.ts +2 -2
  72. package/lib/utils-i18n-html.js +13 -2
  73. package/lib/utils-i18n-html.js.map +1 -1
  74. package/lib/utils-po-file.d.ts +2 -2
  75. package/lib/utils-po-file.js +4 -5
  76. package/lib/utils-po-file.js.map +1 -1
  77. package/lib-esm/app/main-page/main-page.active.context.d.ts +0 -19
  78. package/lib-esm/app/main-page/main-page.active.context.js +1 -18
  79. package/lib-esm/app/main-page/main-page.active.context.js.map +1 -1
  80. package/lib-esm/app/main-page/main-page.container.js +2 -0
  81. package/lib-esm/app/main-page/main-page.container.js.map +1 -0
  82. package/lib-esm/app/main-page/main-page.routes.d.ts +0 -0
  83. package/lib-esm/app/main-page/main-page.routes.js +2 -0
  84. package/lib-esm/app/main-page/main-page.routes.js.map +1 -0
  85. package/lib-esm/app.d.ts +0 -3
  86. package/lib-esm/app.electron.d.ts +0 -1
  87. package/lib-esm/app.electron.js +1 -1
  88. package/lib-esm/app.electron.js.map +1 -1
  89. package/lib-esm/app.hosts.d.ts +0 -147
  90. package/lib-esm/app.hosts.js +1 -216
  91. package/lib-esm/app.hosts.js.map +1 -1
  92. package/lib-esm/app.js +1 -459
  93. package/lib-esm/app.js.map +1 -1
  94. package/lib-esm/app.vscode.js +1 -54
  95. package/lib-esm/app.vscode.js.map +1 -1
  96. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  97. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  98. package/lib-esm/lib/env/env.angular-node-app.d.ts +1 -0
  99. package/lib-esm/lib/env/env.angular-node-app.js +3 -0
  100. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -1
  101. package/lib-esm/lib/env/env.docs-webapp.d.ts +1 -0
  102. package/lib-esm/lib/env/env.docs-webapp.js +3 -0
  103. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -1
  104. package/lib-esm/lib/env/env.electron-app.d.ts +1 -0
  105. package/lib-esm/lib/env/env.electron-app.js +3 -0
  106. package/lib-esm/lib/env/env.electron-app.js.map +1 -1
  107. package/lib-esm/lib/env/env.mobile-app.d.ts +1 -0
  108. package/lib-esm/lib/env/env.mobile-app.js +3 -0
  109. package/lib-esm/lib/env/env.mobile-app.js.map +1 -1
  110. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  111. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +3 -0
  112. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  113. package/lib-esm/lib/env/env.vscode-plugin.d.ts +1 -0
  114. package/lib-esm/lib/env/env.vscode-plugin.js +3 -0
  115. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -1
  116. package/lib-esm/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  117. package/lib-esm/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  118. package/lib-esm/lib/local-translation.js +24 -14
  119. package/lib-esm/lib/local-translation.js.map +1 -1
  120. package/lib-esm/lib/translation.d.ts +4 -0
  121. package/lib-esm/lib/translation.js +5 -1
  122. package/lib-esm/lib/translation.js.map +1 -1
  123. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js +147 -103
  124. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  125. package/lib-esm/lib/utils-i18n-html.js +265 -158
  126. package/lib-esm/lib/utils-i18n-html.js.map +1 -1
  127. package/lib-esm/lib/utils-po-file.js +4 -5
  128. package/lib-esm/lib/utils-po-file.js.map +1 -1
  129. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  130. package/lib-prod/build-info._auto-generated_.js +1 -1
  131. package/lib-prod/env/env.angular-node-app.d.ts +1 -0
  132. package/lib-prod/env/env.angular-node-app.js +3 -0
  133. package/lib-prod/env/env.angular-node-app.js.map +1 -1
  134. package/lib-prod/env/env.docs-webapp.d.ts +1 -0
  135. package/lib-prod/env/env.docs-webapp.js +3 -0
  136. package/lib-prod/env/env.docs-webapp.js.map +1 -1
  137. package/lib-prod/env/env.electron-app.d.ts +1 -0
  138. package/lib-prod/env/env.electron-app.js +3 -0
  139. package/lib-prod/env/env.electron-app.js.map +1 -1
  140. package/lib-prod/env/env.mobile-app.d.ts +1 -0
  141. package/lib-prod/env/env.mobile-app.js +3 -0
  142. package/lib-prod/env/env.mobile-app.js.map +1 -1
  143. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  144. package/lib-prod/env/env.npm-lib-and-cli-tool.js +3 -0
  145. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
  146. package/lib-prod/env/env.vscode-plugin.d.ts +1 -0
  147. package/lib-prod/env/env.vscode-plugin.js +3 -0
  148. package/lib-prod/env/env.vscode-plugin.js.map +1 -1
  149. package/lib-prod/i18n/translation.ts.en-US.i18n.data.js +3 -3
  150. package/lib-prod/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  151. package/lib-prod/local-translation.js +3 -0
  152. package/lib-prod/local-translation.js.map +1 -1
  153. package/lib-prod/package.json +1 -1
  154. package/lib-prod/translation-manager.js.map +1 -1
  155. package/lib-prod/translation.d.ts +4 -0
  156. package/lib-prod/translation.js +5 -1
  157. package/lib-prod/translation.js.map +1 -1
  158. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js +10 -1
  159. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  160. package/lib-prod/utils-i18n-html.js +13 -2
  161. package/lib-prod/utils-i18n-html.js.map +1 -1
  162. package/lib-prod/utils-po-file.js +4 -5
  163. package/lib-prod/utils-po-file.js.map +1 -1
  164. package/package.json +1 -1
  165. package/src.d.ts +1 -1
  166. package/websql/fesm2022/i18n-websql.mjs +43 -12
  167. package/websql/fesm2022/i18n-websql.mjs.map +1 -1
  168. package/websql/package.json +1 -1
  169. package/websql/types/i18n-websql.d.ts +11 -7
  170. package/websql-prod/fesm2022/i18n-websql-prod.mjs +43 -12
  171. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
  172. package/websql-prod/package.json +1 -1
  173. package/websql-prod/types/i18n-websql-prod.d.ts +11 -7
  174. package/lib/translate.directive.d.ts +0 -16
  175. package/lib/translate.pipe.d.ts +0 -10
  176. package/lib/translate.service.d.ts +0 -7
  177. package/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  178. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -324
  179. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  180. package/lib/utils-i18n-html.test.d.ts +0 -1
  181. package/lib/utils-i18n-html.test.js +0 -182
  182. package/lib/utils-i18n-html.test.js.map +0 -1
  183. package/lib/utils-po-file-extracto-to-json.test.d.ts +0 -1
  184. package/lib/utils-po-file-extracto-to-json.test.js +0 -147
  185. package/lib/utils-po-file-extracto-to-json.test.js.map +0 -1
  186. package/lib/utils-po-file.test.d.ts +0 -1
  187. package/lib/utils-po-file.test.js +0 -241
  188. package/lib/utils-po-file.test.js.map +0 -1
  189. package/lib-esm/app.cloudflare.js +0 -4
  190. package/lib-esm/app.cloudflare.js.map +0 -1
  191. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  192. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -322
  193. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  194. package/lib-esm/lib/utils-i18n-html.test.d.ts +0 -1
  195. package/lib-esm/lib/utils-i18n-html.test.js +0 -180
  196. package/lib-esm/lib/utils-i18n-html.test.js.map +0 -1
  197. package/lib-esm/lib/utils-po-file-extracto-to-json.test.d.ts +0 -1
  198. package/lib-esm/lib/utils-po-file-extracto-to-json.test.js +0 -145
  199. package/lib-esm/lib/utils-po-file-extracto-to-json.test.js.map +0 -1
  200. package/lib-esm/lib/utils-po-file.test.d.ts +0 -1
  201. package/lib-esm/lib/utils-po-file.test.js +0 -239
  202. package/lib-esm/lib/utils-po-file.test.js.map +0 -1
  203. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  204. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js +0 -322
  205. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  206. package/lib-prod/utils-i18n-html.test.d.ts +0 -1
  207. package/lib-prod/utils-i18n-html.test.js +0 -180
  208. package/lib-prod/utils-i18n-html.test.js.map +0 -1
  209. package/lib-prod/utils-po-file-extracto-to-json.test.d.ts +0 -1
  210. package/lib-prod/utils-po-file-extracto-to-json.test.js +0 -145
  211. package/lib-prod/utils-po-file-extracto-to-json.test.js.map +0 -1
  212. package/lib-prod/utils-po-file.test.d.ts +0 -1
  213. package/lib-prod/utils-po-file.test.js +0 -239
  214. package/lib-prod/utils-po-file.test.js.map +0 -1
  215. /package/lib-esm/{app.cloudflare.d.ts → app/main-page/main-page.container.d.ts} +0 -0
@@ -1,180 +0,0 @@
1
- import { UtilsI18nHtml } from './utils-i18n-html';
2
- describe('UtilsI18nHtml.replaceTranslatePipieDirectiveTContext', () => {
3
- it('adds translate-t to translate directive', () => {
4
- const html = `
5
- <p translate>
6
- translation-app works!
7
- </p>
8
- `;
9
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`<p translate [translate-t]="t">`);
10
- });
11
- it('does not duplicate translate-t', () => {
12
- const html = `
13
- <p translate [translate-t]="t">
14
- translation-app works!
15
- </p>
16
- `;
17
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(html);
18
- });
19
- it('adds t to translate pipe', () => {
20
- const html = `
21
- {{ 'translation-app works!' | translate }}
22
- `;
23
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`{{ 'translation-app works!' | translate:t }}`);
24
- });
25
- it('does not modify translate pipe with existing args', () => {
26
- const html = `
27
- {{ 'translation-app works!' | translate:t }}
28
- {{ 'hello' | translate:t:{ a: 1 } }}
29
- `;
30
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(html);
31
- });
32
- it('handles directive and pipe together', () => {
33
- const html = `
34
- <code>
35
- <p
36
- translate>
37
- translation-app works!
38
- </p>
39
- </code>
40
- TRANSLATE PIPIE<br />
41
- <code> {{ 'translation-app works!' | translate }} </code>
42
- `;
43
- const result = UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html);
44
- expect(result).toContain(`translate [translate-t]="t">`);
45
- expect(result).toContain(`| translate:t`);
46
- });
47
- it('handles self closing tags', () => {
48
- const html = `<input translate />`;
49
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(`<input translate [translate-t]="t"/>`);
50
- });
51
- it('Should handle angular stuff', () => {
52
- const html = `
53
-
54
- <ng-template #loadingVideos>
55
- @if (stateService.isLoadingVideos$ | async) {
56
- <div class="p-4">
57
- <h3
58
- class="w-full"
59
- translate>
60
- Please wait...
61
- </h3>
62
- <mat-progress-bar mode="indeterminate" />
63
- </div>
64
- }
65
- </ng-template>
66
-
67
- `;
68
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).to.includes(`[translate-t]="t"`);
69
- });
70
- it('Should not replace when in class', () => {
71
- const html = ` <button
72
- mat-icon-button
73
- class="absolute right-4 top-1/2 z-20 -translate-y-1/2 text-white"
74
- (click)="next()">
75
- <mat-icon>chevron_right</mat-icon>
76
- </button>`;
77
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).to.be.eq(html);
78
- });
79
- it('handles @for block with translate directive', () => {
80
- const html = `
81
- @for (item of items; track item.id) {
82
- <span translate>Hello</span>
83
- }
84
- `;
85
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`<span translate [translate-t]="t">`);
86
- });
87
- it('handles @else block with translate directive', () => {
88
- const html = `
89
- @if (ready) {
90
- <p>Ready</p>
91
- } @else {
92
- <p translate>Loading</p>
93
- }
94
- `;
95
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`<p translate [translate-t]="t">`);
96
- });
97
- it('handles nested angular blocks', () => {
98
- const html = `
99
- @if (items.length) {
100
- @for (item of items; track item.id) {
101
- <h4 translate>{{ item.title }}</h4>
102
- }
103
- }
104
- `;
105
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`<h4 translate [translate-t]="t">`);
106
- });
107
- it('does not duplicate translate-t inside angular block', () => {
108
- const html = `
109
- @if (visible) {
110
- <p translate [translate-t]="t">Hello</p>
111
- }
112
- `;
113
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(html);
114
- });
115
- it('handles translate pipe inside @let', () => {
116
- const html = `
117
- @let title = 'Hello' | translate;
118
- <h1>{{ title }}</h1>
119
- `;
120
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toContain(`@let title = 'Hello' | translate:t;`);
121
- });
122
- it('does not touch translate-looking text in normal attributes', () => {
123
- const html = `
124
- <div
125
- data-test="translate"
126
- aria-label="please translate this"
127
- class="translate-x-4">
128
- </div>
129
- `;
130
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(html);
131
- });
132
- it('handles multiple translate directives', () => {
133
- const html = `
134
- <p translate>One</p>
135
- <span translate>Two</span>
136
- `;
137
- const result = UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html);
138
- expect(result.match(/\[translate-t\]="t"/g)?.length).toBe(2);
139
- });
140
- it('handles translate directive with other attributes after it', () => {
141
- const html = `<p translate class="text-lg">Hello</p>`;
142
- expect(UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(html)).toBe(`<p translate class="text-lg" [translate-t]="t">Hello</p>`);
143
- });
144
- const htmlAngularInlineComponent = `
145
- import { Component, OnInit } from "@angular/core";
146
- import { Translation } from "@taon-dev/i18n/src";
147
- import { Taon } from "taon/src";
148
- const t = Translation.for(Taon.__FILE_RELATIVE_PATH, Taon.LANG_IMPORT_MAP);
149
-
150
- @Component({
151
- selector: "selector-name",
152
- template: \`
153
- <mat-card-content>
154
- <h3 translate>Example hello world from backend API:</h3>
155
- {{ t.gettext("hello world from backend:") }}
156
- <strong>{{ hello$ | async }}</strong>
157
- </mat-card-content>
158
- \`,
159
- })
160
- export class NameComponent {
161
- t = t.for(this);
162
- signalText = this.t.signal.gettext('hello',null,'helo from component');
163
-
164
- }
165
-
166
- `;
167
- it('handle inline components template when explicite ', () => {
168
- const changed = UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(htmlAngularInlineComponent, {
169
- angularTsWithInlineHtml: true,
170
- });
171
- // console.log({ changed });
172
- expect(changed).to.includes(`translate [translate-t]="t"`);
173
- });
174
- it('handle inline components template when detection ', () => {
175
- const changed = UtilsI18nHtml.replaceTranslatePipieDirectiveTContext(htmlAngularInlineComponent);
176
- // console.log({ changed });
177
- expect(changed).to.includes(`translate [translate-t]="t"`);
178
- });
179
- });
180
- //# sourceMappingURL=utils-i18n-html.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-i18n-html.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,145 +0,0 @@
1
- import { UtilsPoFile } from "./utils-po-file";
2
- describe('UtilsPoFile.extractPoToJson', () => {
3
- it('extracts Poedit PO entries and ignores empty translations', () => {
4
- const poContent = `
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: \\\\n"
8
- "Language: de_DE\\\\n"
9
- "Content-Type: text/plain; charset=UTF-8\\\\n"
10
- "X-Generator: Poedit 3.9\\\\n"
11
-
12
- #: lib/gm-special-draw-api/gm-special-draw.model.ts
13
- msgid "13-er Ergebniswette"
14
- msgstr ""
15
-
16
- #: lib/gm-messages/gm-messages.ts
17
- msgid "Device not found"
18
- msgstr "Gerät nicht gefunden"
19
-
20
- #: lib/gm-messages/gm-messages.ts
21
- msgid "Discount amount exceeds minimum amount"
22
- msgstr " "
23
-
24
- #: lib/gm-messages/gm-messages.ts lib/gm-messages/gm-rpc-generated-errors.ts
25
- msgid "Data corrupted"
26
- msgstr "Daten beschädigt"
27
- `;
28
- const result = UtilsPoFile.extractPoToJson(poContent);
29
- expect(result).toEqual([
30
- {
31
- fileAbsPath: 'lib/gm-special-draw-api/gm-special-draw.model.ts',
32
- fileRelativePath: 'lib/gm-special-draw-api/gm-special-draw.model.ts',
33
- tags: [
34
- {
35
- lineNumber: 0,
36
- gettextString: '13-er Ergebniswette',
37
- context: undefined,
38
- translation: undefined,
39
- },
40
- ],
41
- },
42
- {
43
- fileAbsPath: 'lib/gm-messages/gm-messages.ts',
44
- fileRelativePath: 'lib/gm-messages/gm-messages.ts',
45
- tags: [
46
- {
47
- lineNumber: 0,
48
- gettextString: 'Device not found',
49
- context: undefined,
50
- translation: 'Gerät nicht gefunden',
51
- },
52
- {
53
- lineNumber: 0,
54
- gettextString: 'Discount amount exceeds minimum amount',
55
- context: undefined,
56
- translation: undefined,
57
- },
58
- {
59
- lineNumber: 0,
60
- gettextString: 'Data corrupted',
61
- context: undefined,
62
- translation: 'Daten beschädigt',
63
- },
64
- ],
65
- },
66
- {
67
- fileAbsPath: 'lib/gm-messages/gm-rpc-generated-errors.ts',
68
- fileRelativePath: 'lib/gm-messages/gm-rpc-generated-errors.ts',
69
- tags: [
70
- {
71
- lineNumber: 0,
72
- gettextString: 'Data corrupted',
73
- context: undefined,
74
- translation: 'Daten beschädigt',
75
- },
76
- ],
77
- },
78
- ]);
79
- });
80
- it('supports references containing line numbers', () => {
81
- const poContent = `
82
- #: lib/example.ts:15 lib/second.ts:31
83
- msgid "Device not found"
84
- msgstr "Gerät nicht gefunden"
85
- `;
86
- expect(UtilsPoFile.extractPoToJson(poContent)).toEqual([
87
- {
88
- fileAbsPath: 'lib/example.ts',
89
- fileRelativePath: 'lib/example.ts',
90
- tags: [
91
- {
92
- lineNumber: 15,
93
- gettextString: 'Device not found',
94
- context: undefined,
95
- translation: 'Gerät nicht gefunden',
96
- },
97
- ],
98
- },
99
- {
100
- fileAbsPath: 'lib/second.ts',
101
- fileRelativePath: 'lib/second.ts',
102
- tags: [
103
- {
104
- lineNumber: 31,
105
- gettextString: 'Device not found',
106
- context: undefined,
107
- translation: 'Gerät nicht gefunden',
108
- },
109
- ],
110
- },
111
- ]);
112
- });
113
- it('supports PO files containing UTF-8 BOM', () => {
114
- const poContent = '\uFEFF' +
115
- `
116
- msgid ""
117
- msgstr ""
118
- "Language: de_DE\\\\n"
119
-
120
- #: lib/example.ts:4
121
- msgid "Access prohibited"
122
- msgstr "Zugriff verboten"
123
- `;
124
- const result = UtilsPoFile.extractPoToJson(poContent);
125
- expect(result[0]?.tags[0]?.translation).toBe('Zugriff verboten');
126
- });
127
- it('escapes translations when generating PO content', () => {
128
- const result = UtilsPoFile.generatePoFileContent([
129
- {
130
- fileAbsPath: '/project/lib/example.ts',
131
- fileRelativePath: 'lib/example.ts',
132
- tags: [
133
- {
134
- lineNumber: 10,
135
- gettextString: 'Displayed "message"',
136
- translation: 'Eine "Nachricht"\\nmit neuer Zeile',
137
- },
138
- ],
139
- },
140
- ], 'de-DE');
141
- expect(result).toContain('msgid "Displayed \\"message\\""');
142
- expect(result).toContain('msgstr "Eine \\"Nachricht\\"\\\\nmit neuer Zeile"');
143
- });
144
- });
145
- //# sourceMappingURL=utils-po-file-extracto-to-json.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-po-file-extracto-to-json.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,239 +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
- fileRelativePath: 'src/lib/test.html',
27
- tags: [
28
- {
29
- lineNumber: 8,
30
- gettextString: 'You purchased',
31
- context: 'taon-ui',
32
- translation: 'Kupiłeś',
33
- },
34
- {
35
- lineNumber: 9,
36
- gettextString: 'products',
37
- context: undefined,
38
- translation: 'produkty',
39
- },
40
- {
41
- lineNumber: 11,
42
- gettextString: 'You purchased [[ howMany ]] products',
43
- context: undefined,
44
- translation: 'Kupiłeś [[ howMany ]] produktów',
45
- },
46
- ],
47
- },
48
- ]);
49
- });
50
- it('keeps empty msgstr as undefined', () => {
51
- const po = `
52
- #: src/lib/test.html:1
53
- msgid "Hello"
54
- msgstr ""
55
- `;
56
- expect(UtilsPoFile.extractPoToJson(po)).toEqual([
57
- {
58
- fileAbsPath: 'src/lib/test.html',
59
- fileRelativePath: 'src/lib/test.html',
60
- tags: [
61
- {
62
- lineNumber: 1,
63
- gettextString: 'Hello',
64
- context: undefined,
65
- translation: undefined,
66
- },
67
- ],
68
- },
69
- ]);
70
- });
71
- });
72
- describe('UtilsPoFile.mergeGettextFile', () => {
73
- it('keeps translations from old po json and refreshes line numbers from source', () => {
74
- const freshFromSource = {
75
- fileAbsPath: 'c:/project/src/lib/test.component.html',
76
- fileRelativePath: 'src/lib/test.component.html',
77
- isAppFile: false,
78
- tags: [
79
- {
80
- lineNumber: 20,
81
- gettextString: 'You purchased',
82
- context: 'taon-ui',
83
- },
84
- {
85
- lineNumber: 21,
86
- gettextString: 'products',
87
- },
88
- ],
89
- };
90
- const oldFromPo = {
91
- fileAbsPath: 'src/lib/test.component.html',
92
- tags: [
93
- {
94
- lineNumber: 8,
95
- gettextString: 'You purchased',
96
- context: 'taon-ui',
97
- translation: 'Kupiłeś',
98
- },
99
- {
100
- lineNumber: 9,
101
- gettextString: 'products',
102
- translation: 'produkty',
103
- },
104
- ],
105
- };
106
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
107
- fileAbsPath: 'c:/project/src/lib/test.component.html',
108
- fileRelativePath: 'src/lib/test.component.html',
109
- isAppFile: false,
110
- tags: [
111
- {
112
- lineNumber: 20,
113
- gettextString: 'You purchased',
114
- context: 'taon-ui',
115
- translation: 'Kupiłeś',
116
- },
117
- {
118
- lineNumber: 21,
119
- gettextString: 'products',
120
- translation: 'produkty',
121
- },
122
- ],
123
- });
124
- });
125
- it('returns fresh source tags when old po json does not exist', () => {
126
- const freshFromSource = {
127
- fileAbsPath: 'c:/project/src/lib/test.component.html',
128
- fileRelativePath: 'src/lib/test.component.html',
129
- isAppFile: false,
130
- tags: [
131
- {
132
- lineNumber: 1,
133
- gettextString: 'Hello',
134
- },
135
- ],
136
- };
137
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, null)).toEqual({
138
- fileAbsPath: 'c:/project/src/lib/test.component.html',
139
- fileRelativePath: 'src/lib/test.component.html',
140
- isAppFile: false,
141
- tags: [
142
- {
143
- lineNumber: 1,
144
- gettextString: 'Hello',
145
- translation: undefined,
146
- },
147
- ],
148
- });
149
- });
150
- it('does not keep translations for removed source strings', () => {
151
- const freshFromSource = {
152
- fileAbsPath: 'c:/project/src/lib/test.component.html',
153
- tags: [
154
- {
155
- lineNumber: 1,
156
- gettextString: 'Still exists',
157
- },
158
- ],
159
- };
160
- const oldFromPo = {
161
- fileAbsPath: 'src/lib/test.component.html',
162
- tags: [
163
- {
164
- lineNumber: 1,
165
- gettextString: 'Still exists',
166
- translation: 'Nadal istnieje',
167
- },
168
- {
169
- lineNumber: 2,
170
- gettextString: 'Removed',
171
- translation: 'Usunięte',
172
- },
173
- ],
174
- };
175
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
176
- fileAbsPath: 'c:/project/src/lib/test.component.html',
177
- fileRelativePath: undefined,
178
- isAppFile: undefined,
179
- tags: [
180
- {
181
- lineNumber: 1,
182
- gettextString: 'Still exists',
183
- translation: 'Nadal istnieje',
184
- },
185
- ],
186
- });
187
- });
188
- it('matches context and empty context separately', () => {
189
- const freshFromSource = {
190
- fileAbsPath: 'c:/project/src/lib/test.component.html',
191
- tags: [
192
- {
193
- lineNumber: 1,
194
- gettextString: 'Save',
195
- },
196
- {
197
- lineNumber: 2,
198
- gettextString: 'Save',
199
- context: 'admin',
200
- },
201
- ],
202
- };
203
- const oldFromPo = {
204
- fileAbsPath: 'src/lib/test.component.html',
205
- tags: [
206
- {
207
- lineNumber: 10,
208
- gettextString: 'Save',
209
- translation: 'Zapisz',
210
- },
211
- {
212
- lineNumber: 11,
213
- gettextString: 'Save',
214
- context: 'admin',
215
- translation: 'Zapisz admina',
216
- },
217
- ],
218
- };
219
- expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
220
- fileAbsPath: 'c:/project/src/lib/test.component.html',
221
- fileRelativePath: undefined,
222
- isAppFile: undefined,
223
- tags: [
224
- {
225
- lineNumber: 1,
226
- gettextString: 'Save',
227
- translation: 'Zapisz',
228
- },
229
- {
230
- lineNumber: 2,
231
- gettextString: 'Save',
232
- context: 'admin',
233
- translation: 'Zapisz admina',
234
- },
235
- ],
236
- });
237
- });
238
- });
239
- //# 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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"}