hybridtm 0.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 (87) hide show
  1. package/LICENSE +233 -0
  2. package/README.md +116 -0
  3. package/dist/batchimporter.d.ts +22 -0
  4. package/dist/batchimporter.js +203 -0
  5. package/dist/batchimporter.js.map +1 -0
  6. package/dist/constants.d.ts +15 -0
  7. package/dist/constants.js +16 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/debug-progress.d.ts +12 -0
  10. package/dist/debug-progress.js +49 -0
  11. package/dist/debug-progress.js.map +1 -0
  12. package/dist/hybridtm.d.ts +66 -0
  13. package/dist/hybridtm.js +912 -0
  14. package/dist/hybridtm.js.map +1 -0
  15. package/dist/hybridtmFactory.d.ts +43 -0
  16. package/dist/hybridtmFactory.js +165 -0
  17. package/dist/hybridtmFactory.js.map +1 -0
  18. package/dist/importOptions.d.ts +21 -0
  19. package/dist/importOptions.js +24 -0
  20. package/dist/importOptions.js.map +1 -0
  21. package/dist/index.d.ts +25 -0
  22. package/dist/index.js +22 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/langEntry.d.ts +64 -0
  25. package/dist/langEntry.js +13 -0
  26. package/dist/langEntry.js.map +1 -0
  27. package/dist/match.d.ts +22 -0
  28. package/dist/match.js +38 -0
  29. package/dist/match.js.map +1 -0
  30. package/dist/matchQuality.d.ts +16 -0
  31. package/dist/matchQuality.js +83 -0
  32. package/dist/matchQuality.js.map +1 -0
  33. package/dist/ngramIndex.d.ts +31 -0
  34. package/dist/ngramIndex.js +132 -0
  35. package/dist/ngramIndex.js.map +1 -0
  36. package/dist/ngrams.d.ts +21 -0
  37. package/dist/ngrams.js +73 -0
  38. package/dist/ngrams.js.map +1 -0
  39. package/dist/pendingEntry.d.ts +24 -0
  40. package/dist/pendingEntry.js +13 -0
  41. package/dist/pendingEntry.js.map +1 -0
  42. package/dist/progressProvider.d.ts +17 -0
  43. package/dist/progressProvider.js +14 -0
  44. package/dist/progressProvider.js.map +1 -0
  45. package/dist/searchFilters.d.ts +24 -0
  46. package/dist/searchFilters.js +13 -0
  47. package/dist/searchFilters.js.map +1 -0
  48. package/dist/simplexlifftest.d.ts +1 -0
  49. package/dist/simplexlifftest.js +23 -0
  50. package/dist/simplexlifftest.js.map +1 -0
  51. package/dist/test-import.d.ts +12 -0
  52. package/dist/test-import.js +101 -0
  53. package/dist/test-import.js.map +1 -0
  54. package/dist/test-progress-fix.d.ts +1 -0
  55. package/dist/test-progress-fix.js +32 -0
  56. package/dist/test-progress-fix.js.map +1 -0
  57. package/dist/test-progress.d.ts +12 -0
  58. package/dist/test-progress.js +32 -0
  59. package/dist/test-progress.js.map +1 -0
  60. package/dist/tests/vectorSimilarityComparison.d.ts +12 -0
  61. package/dist/tests/vectorSimilarityComparison.js +153 -0
  62. package/dist/tests/vectorSimilarityComparison.js.map +1 -0
  63. package/dist/tmxhandler.d.ts +61 -0
  64. package/dist/tmxhandler.js +347 -0
  65. package/dist/tmxhandler.js.map +1 -0
  66. package/dist/tmxreader.d.ts +25 -0
  67. package/dist/tmxreader.js +51 -0
  68. package/dist/tmxreader.js.map +1 -0
  69. package/dist/tmxtest.d.ts +16 -0
  70. package/dist/tmxtest.js +316 -0
  71. package/dist/tmxtest.js.map +1 -0
  72. package/dist/utils.d.ts +17 -0
  73. package/dist/utils.js +49 -0
  74. package/dist/utils.js.map +1 -0
  75. package/dist/vectorSimilarityTester.d.ts +56 -0
  76. package/dist/vectorSimilarityTester.js +164 -0
  77. package/dist/vectorSimilarityTester.js.map +1 -0
  78. package/dist/xliffhandler.d.ts +67 -0
  79. package/dist/xliffhandler.js +522 -0
  80. package/dist/xliffhandler.js.map +1 -0
  81. package/dist/xliffreader.d.ts +25 -0
  82. package/dist/xliffreader.js +50 -0
  83. package/dist/xliffreader.js.map +1 -0
  84. package/dist/xlifftest.d.ts +54 -0
  85. package/dist/xlifftest.js +245 -0
  86. package/dist/xlifftest.js.map +1 -0
  87. package/package.json +33 -0
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /*******************************************************************************
3
+ * Copyright (c) 2025 Maxprograms.
4
+ *
5
+ * This program and the accompanying materials
6
+ * are made available under the terms of the Eclipse Public License 1.0
7
+ * which accompanies this distribution, and is available at
8
+ * https://www.eclipse.org/org/documents/epl-v10.html
9
+ *
10
+ * Contributors:
11
+ * Maxprograms - initial API and implementation
12
+ *******************************************************************************/
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.VectorSimilarityTester = void 0;
15
+ const transformers_1 = require("@xenova/transformers");
16
+ class VectorSimilarityTester {
17
+ static DEFAULT_MODEL = 'Xenova/LaBSE';
18
+ embedder = null;
19
+ modelName;
20
+ constructor(modelName = VectorSimilarityTester.DEFAULT_MODEL) {
21
+ this.modelName = modelName;
22
+ }
23
+ static manhattanSimilarity(vecA, vecB) {
24
+ if (vecA.length !== vecB.length) {
25
+ throw new Error('Vectors must have the same length');
26
+ }
27
+ let sumAbsDiff = 0;
28
+ for (let i = 0; i < vecA.length; i++) {
29
+ sumAbsDiff += Math.abs(vecA[i] - vecB[i]);
30
+ }
31
+ return Math.exp(-sumAbsDiff / vecA.length);
32
+ }
33
+ static cosineSimilarity(vecA, vecB) {
34
+ if (vecA.length !== vecB.length) {
35
+ throw new Error('Vectors must have the same length');
36
+ }
37
+ let dotProduct = 0;
38
+ let normA = 0;
39
+ let normB = 0;
40
+ for (let i = 0; i < vecA.length; i++) {
41
+ const a = vecA[i];
42
+ const b = vecB[i];
43
+ dotProduct += a * b;
44
+ normA += a * a;
45
+ normB += b * b;
46
+ }
47
+ if (normA === 0 || normB === 0) {
48
+ return 0;
49
+ }
50
+ return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
51
+ }
52
+ static buildResult(label, manhattanScore, cosineScore) {
53
+ const cosineMinusManhattan = cosineScore - manhattanScore;
54
+ const absoluteDifference = Math.abs(cosineMinusManhattan);
55
+ return {
56
+ label,
57
+ manhattanScore,
58
+ cosineScore,
59
+ cosineMinusManhattan,
60
+ absoluteDifference,
61
+ manhattanPercent: Math.round(manhattanScore * 100),
62
+ cosinePercent: Math.round(cosineScore * 100)
63
+ };
64
+ }
65
+ async ensureEmbedder() {
66
+ if (this.embedder) {
67
+ return;
68
+ }
69
+ this.embedder = await (0, transformers_1.pipeline)('feature-extraction', this.modelName);
70
+ }
71
+ async embed(text) {
72
+ await this.ensureEmbedder();
73
+ if (!this.embedder) {
74
+ throw new Error('Failed to initialize embedder');
75
+ }
76
+ const result = await this.embedder(text, {
77
+ pooling: 'mean',
78
+ normalize: true
79
+ });
80
+ return Array.from(result.data);
81
+ }
82
+ static compareVectors(input) {
83
+ const manhattanScore = VectorSimilarityTester.manhattanSimilarity(input.sourceVector, input.targetVector);
84
+ const cosineScore = VectorSimilarityTester.cosineSimilarity(input.sourceVector, input.targetVector);
85
+ return VectorSimilarityTester.buildResult(input.label, manhattanScore, cosineScore);
86
+ }
87
+ async compareTexts(inputs) {
88
+ if (inputs.length === 0) {
89
+ return [];
90
+ }
91
+ const cache = new Map();
92
+ const getEmbedding = async (text) => {
93
+ const normalized = text || '';
94
+ const cached = cache.get(normalized);
95
+ if (cached) {
96
+ return cached;
97
+ }
98
+ const embedding = await this.embed(normalized);
99
+ cache.set(normalized, embedding);
100
+ return embedding;
101
+ };
102
+ const results = [];
103
+ for (const input of inputs) {
104
+ const sourceEmbedding = await getEmbedding(input.sourceText);
105
+ const targetEmbedding = await getEmbedding(input.targetText);
106
+ const comparison = VectorSimilarityTester.buildResult(input.label, VectorSimilarityTester.manhattanSimilarity(sourceEmbedding, targetEmbedding), VectorSimilarityTester.cosineSimilarity(sourceEmbedding, targetEmbedding));
107
+ results.push({
108
+ ...comparison,
109
+ sourceText: input.sourceText,
110
+ targetText: input.targetText
111
+ });
112
+ }
113
+ return results;
114
+ }
115
+ static summarize(results) {
116
+ if (results.length === 0) {
117
+ return {
118
+ averageManhattan: 0,
119
+ averageCosine: 0,
120
+ averageAbsoluteDifference: 0,
121
+ maxAbsoluteDifference: 0,
122
+ minAbsoluteDifference: 0
123
+ };
124
+ }
125
+ let sumManhattan = 0;
126
+ let sumCosine = 0;
127
+ let sumAbs = 0;
128
+ let maxAbs = Number.NEGATIVE_INFINITY;
129
+ let minAbs = Number.POSITIVE_INFINITY;
130
+ for (const result of results) {
131
+ sumManhattan += result.manhattanScore;
132
+ sumCosine += result.cosineScore;
133
+ sumAbs += result.absoluteDifference;
134
+ if (result.absoluteDifference > maxAbs) {
135
+ maxAbs = result.absoluteDifference;
136
+ }
137
+ if (result.absoluteDifference < minAbs) {
138
+ minAbs = result.absoluteDifference;
139
+ }
140
+ }
141
+ return {
142
+ averageManhattan: sumManhattan / results.length,
143
+ averageCosine: sumCosine / results.length,
144
+ averageAbsoluteDifference: sumAbs / results.length,
145
+ maxAbsoluteDifference: maxAbs,
146
+ minAbsoluteDifference: minAbs
147
+ };
148
+ }
149
+ static formatResults(results) {
150
+ if (results.length === 0) {
151
+ return 'No comparison data available.';
152
+ }
153
+ const lines = results.map(function (result, index) {
154
+ const label = result.label || 'pair-' + (index + 1);
155
+ const manhattanPercent = result.manhattanPercent.toString().padStart(3, ' ');
156
+ const cosinePercent = result.cosinePercent.toString().padStart(3, ' ');
157
+ const delta = result.cosineMinusManhattan.toFixed(4);
158
+ return label + ': manhattan=' + manhattanPercent + '% cosine=' + cosinePercent + '% delta=' + delta;
159
+ });
160
+ return lines.join('\n');
161
+ }
162
+ }
163
+ exports.VectorSimilarityTester = VectorSimilarityTester;
164
+ //# sourceMappingURL=vectorSimilarityTester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorSimilarityTester.js","sourceRoot":"","sources":["../ts/vectorSimilarityTester.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;iFAUiF;;;AAEjF,uDAAmF;AAqCnF,MAAa,sBAAsB;IAE/B,MAAM,CAAU,aAAa,GAAW,cAAc,CAAC;IAE/C,QAAQ,GAAqC,IAAI,CAAC;IACzC,SAAS,CAAS;IAEnC,YAAY,YAAoB,sBAAsB,CAAC,aAAa;QAChE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,IAAc,EAAE,IAAc;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,GAAW,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAc,EAAE,IAAc;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,GAAW,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACb,CAAC;QAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,KAAyB,EAAE,cAAsB,EAAE,WAAmB;QAC7F,MAAM,oBAAoB,GAAW,WAAW,GAAG,cAAc,CAAC;QAClE,MAAM,kBAAkB,GAAW,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO;YACH,KAAK;YACL,cAAc;YACd,WAAW;YACX,oBAAoB;YACpB,kBAAkB;YAClB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;YAClD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;SAC/C,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,uBAAQ,EAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,IAAY;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC7C,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,KAA4B;QACrD,MAAM,cAAc,GAAW,sBAAsB,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAClH,MAAM,WAAW,GAAW,sBAAsB,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5G,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAA6B;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAA0B,IAAI,GAAG,EAAoB,CAAC;QAEjE,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAqB,EAAE;YAC3D,MAAM,UAAU,GAAW,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,MAAM,GAAyB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,MAAM,SAAS,GAAa,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzD,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACjC,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,eAAe,GAAa,MAAM,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,eAAe,GAAa,MAAM,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,UAAU,GAA2B,sBAAsB,CAAC,WAAW,CACzE,KAAK,CAAC,KAAK,EACX,sBAAsB,CAAC,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC,EAC5E,sBAAsB,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,CAC5E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC;gBACT,GAAG,UAAU;gBACb,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC/B,CAAC,CAAC;QACP,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAAiC;QACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACH,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;gBAChB,yBAAyB,EAAE,CAAC;gBAC5B,qBAAqB,EAAE,CAAC;gBACxB,qBAAqB,EAAE,CAAC;aAC3B,CAAC;QACN,CAAC;QAED,IAAI,YAAY,GAAW,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAW,CAAC,CAAC;QAC1B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAI,MAAM,GAAW,MAAM,CAAC,iBAAiB,CAAC;QAC9C,IAAI,MAAM,GAAW,MAAM,CAAC,iBAAiB,CAAC;QAE9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,YAAY,IAAI,MAAM,CAAC,cAAc,CAAC;YACtC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;YAChC,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC;YACpC,IAAI,MAAM,CAAC,kBAAkB,GAAG,MAAM,EAAE,CAAC;gBACrC,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACvC,CAAC;YACD,IAAI,MAAM,CAAC,kBAAkB,GAAG,MAAM,EAAE,CAAC;gBACrC,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACvC,CAAC;QACL,CAAC;QAED,OAAO;YACH,gBAAgB,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM;YAC/C,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM;YACzC,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM;YAClD,qBAAqB,EAAE,MAAM;YAC7B,qBAAqB,EAAE,MAAM;SAChC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAiC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,+BAA+B,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAa,OAAO,CAAC,GAAG,CAAC,UAAS,MAA8B,EAAE,KAAa;YACtF,MAAM,KAAK,GAAW,MAAM,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrF,MAAM,aAAa,GAAW,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/E,MAAM,KAAK,GAAW,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO,KAAK,GAAG,cAAc,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,KAAK,CAAC;QACxG,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;;AAjLL,wDAkLC"}
@@ -0,0 +1,67 @@
1
+ /*******************************************************************************
2
+ * Copyright (c) 2025-2026 Maxprograms.
3
+ *
4
+ * This program and the accompanying materials
5
+ * are made available under the terms of the Eclipse License 1.0
6
+ * which accompanies this distribution, and is available at
7
+ * https://www.eclipse.org/org/documents/epl-v10.html
8
+ *
9
+ * Contributors:
10
+ * Maxprograms - initial API and implementation
11
+ *******************************************************************************/
12
+ import { Catalog, CData, ContentHandler, Grammar, XMLAttribute, XMLElement } from "typesxml";
13
+ import { ImportOptions } from './importOptions.js';
14
+ export declare class XLIFFHandler implements ContentHandler {
15
+ inCdData: boolean;
16
+ currentCData: CData;
17
+ stack: Array<XMLElement>;
18
+ srcLang: string;
19
+ tgtLang: string;
20
+ original: string;
21
+ fileId: string;
22
+ private writeStream;
23
+ private readonly completionPromise;
24
+ private entryCount;
25
+ private readonly options;
26
+ constructor(tempFilePath: string, options?: ImportOptions);
27
+ setGrammar(grammar: Grammar | undefined): void;
28
+ getEntryCount(): number;
29
+ waitForCompletion(): Promise<void>;
30
+ initialize(): void;
31
+ setCatalog(catalog: Catalog): void;
32
+ startDocument(): void;
33
+ endDocument(): void;
34
+ xmlDeclaration(version: string, encoding: string, standalone: string | undefined): void;
35
+ startElement(name: string, atts: Array<XMLAttribute>): void;
36
+ endElement(name: string): void;
37
+ internalSubset(declaration: string): void;
38
+ characters(ch: string): void;
39
+ ignorableWhitespace(ch: string): void;
40
+ comment(ch: string): void;
41
+ processingInstruction(target: string, data: string): void;
42
+ startCDATA(): void;
43
+ endCDATA(): void;
44
+ startDTD(name: string, publicId: string, systemId: string): void;
45
+ endDTD(): void;
46
+ skippedEntity(name: string): void;
47
+ processUnit(unit: XMLElement): void;
48
+ private buildSegments;
49
+ private buildSegmentData;
50
+ private buildSingleSegment;
51
+ private writeSegmentEntries;
52
+ private applySegmentPosition;
53
+ private writeMergedEntry;
54
+ private writeEntry;
55
+ private hasMetadata;
56
+ private appendElementContent;
57
+ private extractMetadata;
58
+ private assignMetadataString;
59
+ private readAttribute;
60
+ private readSubState;
61
+ private collectNotes;
62
+ private collectMetadataProperties;
63
+ private getStateRank;
64
+ private getStateRankFromOption;
65
+ private isTranslationState;
66
+ getGrammar(): Grammar | undefined;
67
+ }