@parhelia/localization 0.1.11565 → 0.1.11576

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.
package/README.md CHANGED
@@ -1,33 +1,33 @@
1
- # @parhelia/localization
2
-
3
- Localization and translation features for Parhelia visual editor.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install @parhelia/localization
9
- ```
10
-
11
- ## Usage
12
-
13
- ```typescript
14
- import { LocalizeItemDialog, TranslationSidebar } from '@parhelia/localization';
15
- import '@parhelia/localization/styles.css';
16
- ```
17
-
18
- ## Features
19
-
20
- - Translation wizard
21
- - Localization setup
22
- - Translation center
23
- - Multi-language content management
24
- - Version creation for localized content
25
-
26
- ## License
27
-
28
- See LICENSE file for details.
29
-
30
- ## Documentation
31
-
32
- For complete documentation, visit [https://parhelia.ai](https://parhelia.ai)
33
-
1
+ # @parhelia/localization
2
+
3
+ Localization and translation features for Parhelia visual editor.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @parhelia/localization
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { LocalizeItemDialog, TranslationSidebar } from '@parhelia/localization';
15
+ import '@parhelia/localization/styles.css';
16
+ ```
17
+
18
+ ## Features
19
+
20
+ - Translation wizard
21
+ - Localization setup
22
+ - Translation center
23
+ - Multi-language content management
24
+ - Version creation for localized content
25
+
26
+ ## License
27
+
28
+ See LICENSE file for details.
29
+
30
+ ## Documentation
31
+
32
+ For complete documentation, visit [https://parhelia.ai](https://parhelia.ai)
33
+
@@ -1 +1 @@
1
- {"version":3,"file":"LocalizeItemUtils.d.ts","sourceRoot":"","sources":["../src/LocalizeItemUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,qBAAqB,EACjC,WAAW,EAAE,eAAe,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,iBAAiB,CAAC,CA2G5B;AAGD,eAAO,MAAM,mBAAmB,GAAU,eAAe,MAAM,EAAE,EAAE,mBAAmB,iBAAiB,EAAE,EAAE,WAAW,MAAM,EAAE,MAAM,QAAQ,EAAE,qBAAqB,MAAM,+BA0BxK,CAAC"}
1
+ {"version":3,"file":"LocalizeItemUtils.d.ts","sourceRoot":"","sources":["../src/LocalizeItemUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,qBAAqB,EACjC,WAAW,EAAE,eAAe,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAyH5B;AAGD,eAAO,MAAM,mBAAmB,GAAU,eAAe,MAAM,EAAE,EAAE,mBAAmB,iBAAiB,EAAE,EAAE,WAAW,MAAM,EAAE,MAAM,QAAQ,EAAE,qBAAqB,MAAM,+BA0BxK,CAAC"}
@@ -33,7 +33,22 @@ export async function performDefaultTranslation(wizardData, editContext, predefi
33
33
  throw error;
34
34
  }
35
35
  // Prepare batch metadata including service-specific custom data
36
- let batchMetadata = wizardData.metadata || null;
36
+ // Start with wizardData.metadata as an object
37
+ let metadataObj = {};
38
+ if (wizardData.metadata) {
39
+ if (typeof wizardData.metadata === 'string') {
40
+ try {
41
+ metadataObj = JSON.parse(wizardData.metadata);
42
+ }
43
+ catch {
44
+ // Invalid JSON, ignore
45
+ }
46
+ }
47
+ else if (typeof wizardData.metadata === 'object') {
48
+ metadataObj = { ...wizardData.metadata };
49
+ }
50
+ }
51
+ // Merge service-specific custom data (e.g., custom prompts for OpenAI)
37
52
  if (wizardData.serviceCustomData && wizardData.serviceCustomData.size > 0) {
38
53
  const serviceData = wizardData.serviceCustomData.get(wizardData.translationProvider);
39
54
  if (serviceData && serviceData.enableCustomPrompt) {
@@ -52,22 +67,21 @@ export async function performDefaultTranslation(wizardData, editContext, predefi
52
67
  finalCustomPrompt = rawCustomPrompt;
53
68
  }
54
69
  }
55
- // Merge service-specific custom data into batch metadata
56
- const metadataObj = batchMetadata ? (typeof batchMetadata === 'string' ? JSON.parse(batchMetadata) : batchMetadata) : {};
57
70
  metadataObj.serviceCustomData = {
58
71
  [wizardData.translationProvider]: {
59
72
  enableCustomPrompt: serviceData.enableCustomPrompt,
60
73
  customPrompt: finalCustomPrompt
61
74
  }
62
75
  };
63
- batchMetadata = JSON.stringify(metadataObj);
64
76
  }
65
77
  }
78
+ // Serialize metadata to JSON string (or undefined if empty)
79
+ const batchMetadata = Object.keys(metadataObj).length > 0 ? JSON.stringify(metadataObj) : undefined;
66
80
  const batchResult = await requestBatchTranslation({
67
81
  sessionId: editContext.sessionId,
68
82
  batchId,
69
83
  provider: wizardData.translationProvider,
70
- batchMetadata: batchMetadata,
84
+ batchMetadata,
71
85
  languageMappings,
72
86
  itemIds,
73
87
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parhelia/localization",
3
- "version": "0.1.11565",
3
+ "version": "0.1.11576",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"