@lokalise/polyglot-sdk 22.0.0 → 22.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 (31) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/sdk/schemas/common/pluralFormSchemas.d.ts +28 -0
  5. package/dist/sdk/schemas/common/pluralFormSchemas.js +48 -0
  6. package/dist/sdk/schemas/common/pluralFormSchemas.js.map +1 -0
  7. package/dist/sdk/schemas/common/translationContextSchemas.d.ts +6 -6
  8. package/dist/sdk/schemas/common/translationContextSchemas.js +3 -2
  9. package/dist/sdk/schemas/common/translationContextSchemas.js.map +1 -1
  10. package/dist/sdk/schemas/lqa/commonSchemas.d.ts +24 -0
  11. package/dist/sdk/schemas/lqa/commonSchemas.js +11 -2
  12. package/dist/sdk/schemas/lqa/commonSchemas.js.map +1 -1
  13. package/dist/sdk/schemas/lqa/lqaAsyncSchemas.d.ts +52 -6
  14. package/dist/sdk/schemas/lqa/lqaAsyncSchemas.js +3 -0
  15. package/dist/sdk/schemas/lqa/lqaAsyncSchemas.js.map +1 -1
  16. package/dist/sdk/schemas/lqa/lqaSyncSchemas.d.ts +36 -6
  17. package/dist/sdk/schemas/lqa/lqaSyncSchemas.js +3 -0
  18. package/dist/sdk/schemas/lqa/lqaSyncSchemas.js.map +1 -1
  19. package/dist/sdk/schemas/translation/generateVariants.d.ts +6 -6
  20. package/dist/sdk/schemas/translation/rewriteTextSchemas.d.ts +12 -0
  21. package/dist/sdk/schemas/translation/sharedSchemas.d.ts +44 -0
  22. package/dist/sdk/schemas/translation/sharedSchemas.js +23 -14
  23. package/dist/sdk/schemas/translation/sharedSchemas.js.map +1 -1
  24. package/dist/sdk/schemas/translation/translateAsyncSchemas.d.ts +68 -6
  25. package/dist/sdk/schemas/translation/translateAsyncSchemas.js +3 -0
  26. package/dist/sdk/schemas/translation/translateAsyncSchemas.js.map +1 -1
  27. package/dist/sdk/schemas/translation/translateSyncSchemas.d.ts +40 -6
  28. package/dist/sdk/schemas/translation/translateSyncSchemas.js +3 -0
  29. package/dist/sdk/schemas/translation/translateSyncSchemas.js.map +1 -1
  30. package/dist/sdk/schemas/translation/translateTextSegmentSchemas.d.ts +6 -6
  31. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { PolyglotClient } from './sdk/PolyglotClient.ts';
7
7
  export * from './sdk/schemas/common/asyncRequestSchemas.ts';
8
8
  export * from './sdk/schemas/common/commonSchemas.ts';
9
9
  export * from './sdk/schemas/common/errorSchemas.ts';
10
+ export * from './sdk/schemas/common/pluralFormSchemas.ts';
10
11
  export type { FreeformStyleGuide, GlossaryTerm, StructuredStyleGuide, StyleGuideData, TextRewritingContext, TranslationContext, } from './sdk/schemas/common/translationContextSchemas.ts';
11
12
  export { isStructuredStyleGuide, TEXT_REWRITING_CONTEXT, TRANSLATION_CONTEXT_SCHEMA, } from './sdk/schemas/common/translationContextSchemas.ts';
12
13
  export * from './sdk/schemas/lqa/commonSchemas.ts';
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export { PolyglotClient } from "./sdk/PolyglotClient.js";
7
7
  export * from "./sdk/schemas/common/asyncRequestSchemas.js";
8
8
  export * from "./sdk/schemas/common/commonSchemas.js";
9
9
  export * from "./sdk/schemas/common/errorSchemas.js";
10
+ export * from "./sdk/schemas/common/pluralFormSchemas.js";
10
11
  export { isStructuredStyleGuide, TEXT_REWRITING_CONTEXT, TRANSLATION_CONTEXT_SCHEMA, } from "./sdk/schemas/common/translationContextSchemas.js";
11
12
  export * from "./sdk/schemas/lqa/commonSchemas.js";
12
13
  export * from "./sdk/schemas/lqa/lqaAsyncSchemas.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AASpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,mDAAmD,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAClD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,0DAA0D,CAAA;AAExE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,IAAI,6BAA6B,GAC3D,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA;AACpD,cAAc,2CAA2C,CAAA;AASzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,mDAAmD,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAClD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,0DAA0D,CAAA;AAExE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,IAAI,6BAA6B,GAC3D,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import type { ObjectValues } from '../../types/common.ts';
2
+ type ContentUnitLike = {
3
+ type: ContentUnitType;
4
+ segments: {
5
+ id?: string;
6
+ pluralForm?: CLDRPluralForm;
7
+ }[];
8
+ };
9
+ export declare const CLDRPluralForm: {
10
+ readonly ZERO: "zero";
11
+ readonly ONE: "one";
12
+ readonly TWO: "two";
13
+ readonly FEW: "few";
14
+ readonly MANY: "many";
15
+ readonly OTHER: "other";
16
+ };
17
+ export type CLDRPluralForm = ObjectValues<typeof CLDRPluralForm>;
18
+ export declare const ContentUnitType: {
19
+ readonly SEGMENTED: "segmented";
20
+ readonly PLURAL: "plural";
21
+ };
22
+ export type ContentUnitType = ObjectValues<typeof ContentUnitType>;
23
+ export declare const refinePluralFormRequiredInPluralUnit: readonly [(data: ContentUnitLike) => boolean, "pluralForm is required for all segments when type is \"plural\""];
24
+ export declare const refinePluralFormNotAllowedInSegmentedUnit: readonly [(data: ContentUnitLike) => boolean, "pluralForm is not allowed when type is \"segmented\""];
25
+ export declare const refinePluralFormsUniqueInPluralUnit: readonly [(data: ContentUnitLike) => boolean, "Duplicate pluralForm values are not allowed within the same plural Content Unit"];
26
+ export declare const refineOtherFormIsPresentInPluralUnit: readonly [(data: ContentUnitLike) => boolean, "Plural form `other` must be present in plural Content Unit"];
27
+ export declare const refineIdsUniqueInSegmentedUnit: readonly [(data: ContentUnitLike) => boolean, "Duplicate segment id values are not allowed within the same segmented Content Unit"];
28
+ export {};
@@ -0,0 +1,48 @@
1
+ export const CLDRPluralForm = {
2
+ ZERO: 'zero',
3
+ ONE: 'one',
4
+ TWO: 'two',
5
+ FEW: 'few',
6
+ MANY: 'many',
7
+ OTHER: 'other',
8
+ };
9
+ export const ContentUnitType = {
10
+ SEGMENTED: 'segmented',
11
+ PLURAL: 'plural',
12
+ };
13
+ export const refinePluralFormRequiredInPluralUnit = [
14
+ (data) => {
15
+ return (data.type !== ContentUnitType.PLURAL ||
16
+ data.segments.every((segment) => segment.pluralForm !== undefined));
17
+ },
18
+ 'pluralForm is required for all segments when type is "plural"',
19
+ ];
20
+ export const refinePluralFormNotAllowedInSegmentedUnit = [
21
+ (data) => {
22
+ return (data.type !== ContentUnitType.SEGMENTED ||
23
+ data.segments.every((segment) => segment.pluralForm === undefined));
24
+ },
25
+ 'pluralForm is not allowed when type is "segmented"',
26
+ ];
27
+ export const refinePluralFormsUniqueInPluralUnit = [
28
+ (data) => {
29
+ return (data.type !== ContentUnitType.PLURAL ||
30
+ new Set(data.segments.map(({ pluralForm }) => pluralForm)).size === data.segments.length);
31
+ },
32
+ 'Duplicate pluralForm values are not allowed within the same plural Content Unit',
33
+ ];
34
+ export const refineOtherFormIsPresentInPluralUnit = [
35
+ (data) => {
36
+ return (data.type !== ContentUnitType.PLURAL ||
37
+ data.segments.some(({ pluralForm }) => pluralForm === CLDRPluralForm.OTHER));
38
+ },
39
+ 'Plural form `other` must be present in plural Content Unit',
40
+ ];
41
+ export const refineIdsUniqueInSegmentedUnit = [
42
+ (data) => {
43
+ return (data.type !== ContentUnitType.SEGMENTED ||
44
+ new Set(data.segments.map(({ id }) => id)).size === data.segments.length);
45
+ },
46
+ 'Duplicate segment id values are not allowed within the same segmented Content Unit',
47
+ ];
48
+ //# sourceMappingURL=pluralFormSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluralFormSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/common/pluralFormSchemas.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAA;AAGV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAA;AAGV,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,CAAC,IAAqB,EAAE,EAAE;QACxB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CACnE,CAAA;IACH,CAAC;IACD,+DAA+D;CACvD,CAAA;AAEV,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,CAAC,IAAqB,EAAE,EAAE;QACxB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS;YACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CACnE,CAAA;IACH,CAAC;IACD,oDAAoD;CAC5C,CAAA;AAEV,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,CAAC,IAAqB,EAAE,EAAE;QACxB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;YACpC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzF,CAAA;IACH,CAAC;IACD,iFAAiF;CACzE,CAAA;AAEV,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,CAAC,IAAqB,EAAE,EAAE;QACxB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,KAAK,CAAC,CAC5E,CAAA;IACH,CAAC;IACD,4DAA4D;CACpD,CAAA;AAEV,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,CAAC,IAAqB,EAAE,EAAE;QACxB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS;YACvC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzE,CAAA;IACH,CAAC;IACD,oFAAoF;CAC5E,CAAA"}
@@ -107,12 +107,12 @@ export declare const TRANSLATION_CONTEXT_SCHEMA: z.ZodObject<{
107
107
  }, z.core.$strip>>>;
108
108
  }, z.core.$strip>>>;
109
109
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
110
- zero: "zero";
111
- one: "one";
112
- two: "two";
113
- few: "few";
114
- many: "many";
115
- other: "other";
110
+ readonly ZERO: "zero";
111
+ readonly ONE: "one";
112
+ readonly TWO: "two";
113
+ readonly FEW: "few";
114
+ readonly MANY: "many";
115
+ readonly OTHER: "other";
116
116
  }>>>;
117
117
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
118
118
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -2,6 +2,7 @@ import z from 'zod/v4';
2
2
  import { removeUnicodeNullCharacters } from "../../helpers/removeUnicodeNullCharacters.js";
3
3
  import { CONTENT_UNIT_DESCRIPTION_MAX_LENGTH } from "../translation/sharedSchemas.js";
4
4
  import { LOCALE_SCHEMA, TRANSLATION_EXAMPLES_SCHEMA } from "./commonSchemas.js";
5
+ import { CLDRPluralForm } from "./pluralFormSchemas.js";
5
6
  // ------------------------------------------
6
7
  // Style guide
7
8
  // ------------------------------------------
@@ -89,11 +90,11 @@ export const TRANSLATION_CONTEXT_SCHEMA = z
89
90
  styleGuide: STYLE_GUIDE_SCHEMA.optional(),
90
91
  glossary: z.array(GLOSSARY_TERM_SCHEMA).describe('List of glossary terms').optional(),
91
92
  targetPluralForms: z
92
- .array(z.enum(['zero', 'one', 'two', 'few', 'many', 'other']))
93
+ .array(z.enum(CLDRPluralForm))
93
94
  .nonempty()
94
95
  .optional()
95
96
  .refine((forms) => !forms || forms.length === new Set(forms).size, 'Plural forms must be unique')
96
- .refine((forms) => !forms || forms.includes('other'), 'The `other` form must be included')
97
+ .refine((forms) => !forms || forms.includes(CLDRPluralForm.OTHER), 'The `other` form must be included')
97
98
  .describe('A set of plural forms to be used in the target language. Make sure to always include `other` form'),
98
99
  translationExamples: TRANSLATION_EXAMPLES_SCHEMA.describe('This field is deprecated, please use "translationExamples" at the "segment" level instead. When defined, the translation will attempt to follow the provided sourceValue and translatedValue translation example'),
99
100
  })
@@ -1 +1 @@
1
- {"version":3,"file":"translationContextSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/common/translationContextSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translationContextSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/common/translationContextSchemas.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,14 @@ export declare const LQA_TRANSLATION_ID_SCHEMA: z.ZodString;
11
11
  export declare const LQA_CONTENT_UNIT_ID_SCHEMA: z.ZodString;
12
12
  export declare const LQA_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
13
13
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
14
+ pluralForm: z.ZodOptional<z.ZodEnum<{
15
+ readonly ZERO: "zero";
16
+ readonly ONE: "one";
17
+ readonly TWO: "two";
18
+ readonly FEW: "few";
19
+ readonly MANY: "many";
20
+ readonly OTHER: "other";
21
+ }>>;
14
22
  translations: z.ZodArray<z.ZodObject<{
15
23
  id: z.ZodString;
16
24
  locale: z.ZodString;
@@ -31,6 +39,7 @@ export declare const LQA_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
31
39
  locale: string;
32
40
  value: string;
33
41
  }[];
42
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
34
43
  tmMatch?: {
35
44
  sourceValue: string;
36
45
  translatedValue: string;
@@ -46,6 +55,7 @@ export declare const LQA_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
46
55
  locale: string;
47
56
  value: string;
48
57
  }[];
58
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
49
59
  tmMatch?: {
50
60
  sourceValue: string;
51
61
  translatedValue: string;
@@ -57,11 +67,23 @@ export declare const LQA_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
57
67
  }>>;
58
68
  export declare const LQA_CONTENT_UNIT_SCHEMA: z.ZodObject<{
59
69
  id: z.ZodString;
70
+ type: z.ZodDefault<z.ZodEnum<{
71
+ readonly SEGMENTED: "segmented";
72
+ readonly PLURAL: "plural";
73
+ }>>;
60
74
  context: z.ZodOptional<z.ZodObject<{
61
75
  description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
62
76
  }, z.core.$strip>>;
63
77
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
64
78
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
79
+ pluralForm: z.ZodOptional<z.ZodEnum<{
80
+ readonly ZERO: "zero";
81
+ readonly ONE: "one";
82
+ readonly TWO: "two";
83
+ readonly FEW: "few";
84
+ readonly MANY: "many";
85
+ readonly OTHER: "other";
86
+ }>>;
65
87
  translations: z.ZodArray<z.ZodObject<{
66
88
  id: z.ZodString;
67
89
  locale: z.ZodString;
@@ -82,6 +104,7 @@ export declare const LQA_CONTENT_UNIT_SCHEMA: z.ZodObject<{
82
104
  locale: string;
83
105
  value: string;
84
106
  }[];
107
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
85
108
  tmMatch?: {
86
109
  sourceValue: string;
87
110
  translatedValue: string;
@@ -97,6 +120,7 @@ export declare const LQA_CONTENT_UNIT_SCHEMA: z.ZodObject<{
97
120
  locale: string;
98
121
  value: string;
99
122
  }[];
123
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
100
124
  tmMatch?: {
101
125
  sourceValue: string;
102
126
  translatedValue: string;
@@ -2,6 +2,7 @@ import z from 'zod/v4';
2
2
  import { removeUnicodeNullCharacters } from "../../helpers/removeUnicodeNullCharacters.js";
3
3
  import { isSegmentUnderLengthLimit } from "../../validation/isSegmentUnderLengthLimit.js";
4
4
  import { CONTENT_ID_PROP_SCHEMA, LOCALE_SCHEMA, SEGMENT_VALUE_MAX_LENGTH_DEFAULT, TM_MATCH_SCHEMA, TRANSLATION_EXAMPLE_SCHEMA, } from "../common/commonSchemas.js";
5
+ import { CLDRPluralForm, ContentUnitType, refineIdsUniqueInSegmentedUnit, refineOtherFormIsPresentInPluralUnit, refinePluralFormNotAllowedInSegmentedUnit, refinePluralFormRequiredInPluralUnit, refinePluralFormsUniqueInPluralUnit, } from "../common/pluralFormSchemas.js";
5
6
  export const LqaIssueSeverityEnum = {
6
7
  NEUTRAL: 'neutral',
7
8
  MINOR: 'minor',
@@ -31,6 +32,7 @@ export const LQA_SEGMENT_SCHEMA = z
31
32
  .refine((value) => isSegmentUnderLengthLimit(value), `Too long segment value, max length is ${SEGMENT_VALUE_MAX_LENGTH_DEFAULT} characters`)
32
33
  .transform(removeUnicodeNullCharacters)
33
34
  .describe('Text content of the segment in source language'),
35
+ pluralForm: z.enum(CLDRPluralForm).optional(),
34
36
  translations: z
35
37
  .array(LQA_TRANSLATION_SCHEMA)
36
38
  .nonempty()
@@ -53,8 +55,10 @@ export const LQA_SEGMENT_SCHEMA = z
53
55
  }
54
56
  return segment;
55
57
  });
56
- export const LQA_CONTENT_UNIT_SCHEMA = z.object({
58
+ export const LQA_CONTENT_UNIT_SCHEMA = z
59
+ .object({
57
60
  id: LQA_CONTENT_UNIT_ID_SCHEMA,
61
+ type: z.enum(ContentUnitType).default(ContentUnitType.SEGMENTED),
58
62
  context: z
59
63
  .object({
60
64
  description: z
@@ -72,5 +76,10 @@ export const LQA_CONTENT_UNIT_SCHEMA = z.object({
72
76
  .max(LQA_CONTENT_UNIT_SEGMENTS_MAX_LENGTH)
73
77
  .describe('List of segments to be reviewed'),
74
78
  characterLimit: z.number().optional(),
75
- });
79
+ })
80
+ .refine(...refinePluralFormRequiredInPluralUnit)
81
+ .refine(...refinePluralFormNotAllowedInSegmentedUnit)
82
+ .refine(...refinePluralFormsUniqueInPluralUnit)
83
+ .refine(...refineOtherFormIsPresentInPluralUnit)
84
+ .refine(...refineIdsUniqueInSegmentedUnit);
76
85
  //# sourceMappingURL=commonSchemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/commonSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/commonSchemas.ts"],"names":[],"mappings":"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"}
@@ -52,12 +52,12 @@ export declare const LQA_ASYNC_BODY_SCHEMA: z.ZodObject<{
52
52
  }, z.core.$strip>>>;
53
53
  }, z.core.$strip>>>;
54
54
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
55
- zero: "zero";
56
- one: "one";
57
- two: "two";
58
- few: "few";
59
- many: "many";
60
- other: "other";
55
+ readonly ZERO: "zero";
56
+ readonly ONE: "one";
57
+ readonly TWO: "two";
58
+ readonly FEW: "few";
59
+ readonly MANY: "many";
60
+ readonly OTHER: "other";
61
61
  }>>>;
62
62
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
63
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -66,11 +66,23 @@ export declare const LQA_ASYNC_BODY_SCHEMA: z.ZodObject<{
66
66
  }, z.core.$strip>>;
67
67
  contentUnits: z.ZodArray<z.ZodObject<{
68
68
  id: z.ZodString;
69
+ type: z.ZodDefault<z.ZodEnum<{
70
+ readonly SEGMENTED: "segmented";
71
+ readonly PLURAL: "plural";
72
+ }>>;
69
73
  context: z.ZodOptional<z.ZodObject<{
70
74
  description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
71
75
  }, z.core.$strip>>;
72
76
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
73
77
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
78
+ pluralForm: z.ZodOptional<z.ZodEnum<{
79
+ readonly ZERO: "zero";
80
+ readonly ONE: "one";
81
+ readonly TWO: "two";
82
+ readonly FEW: "few";
83
+ readonly MANY: "many";
84
+ readonly OTHER: "other";
85
+ }>>;
74
86
  translations: z.ZodArray<z.ZodObject<{
75
87
  id: z.ZodString;
76
88
  locale: z.ZodString;
@@ -91,6 +103,7 @@ export declare const LQA_ASYNC_BODY_SCHEMA: z.ZodObject<{
91
103
  locale: string;
92
104
  value: string;
93
105
  }[];
106
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
94
107
  tmMatch?: {
95
108
  sourceValue: string;
96
109
  translatedValue: string;
@@ -106,6 +119,7 @@ export declare const LQA_ASYNC_BODY_SCHEMA: z.ZodObject<{
106
119
  locale: string;
107
120
  value: string;
108
121
  }[];
122
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
109
123
  tmMatch?: {
110
124
  sourceValue: string;
111
125
  translatedValue: string;
@@ -132,6 +146,14 @@ export declare const LQA_ASYNC_SUCCESS_SCHEMA: z.ZodObject<{
132
146
  polyglotRefId: z.ZodString;
133
147
  contentUnitId: z.ZodString;
134
148
  translationId: z.ZodString;
149
+ pluralForm: z.ZodOptional<z.ZodEnum<{
150
+ readonly ZERO: "zero";
151
+ readonly ONE: "one";
152
+ readonly TWO: "two";
153
+ readonly FEW: "few";
154
+ readonly MANY: "many";
155
+ readonly OTHER: "other";
156
+ }>>;
135
157
  suggestion: z.ZodOptional<z.ZodNullable<z.ZodString>>;
136
158
  issues: z.ZodArray<z.ZodObject<{
137
159
  category: z.ZodString;
@@ -151,6 +173,14 @@ export declare const LQA_ASYNC_SUCCESS_SCHEMA: z.ZodObject<{
151
173
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
152
174
  polyglotRefId: z.ZodString;
153
175
  contentUnitId: z.ZodString;
176
+ pluralForm: z.ZodOptional<z.ZodEnum<{
177
+ readonly ZERO: "zero";
178
+ readonly ONE: "one";
179
+ readonly TWO: "two";
180
+ readonly FEW: "few";
181
+ readonly MANY: "many";
182
+ readonly OTHER: "other";
183
+ }>>;
154
184
  translationId: z.ZodString;
155
185
  }, z.core.$strip>>>;
156
186
  }, z.core.$strip>;
@@ -161,6 +191,14 @@ export declare const LQA_ASYNC_CALLBACK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodOb
161
191
  polyglotRefId: z.ZodString;
162
192
  contentUnitId: z.ZodString;
163
193
  translationId: z.ZodString;
194
+ pluralForm: z.ZodOptional<z.ZodEnum<{
195
+ readonly ZERO: "zero";
196
+ readonly ONE: "one";
197
+ readonly TWO: "two";
198
+ readonly FEW: "few";
199
+ readonly MANY: "many";
200
+ readonly OTHER: "other";
201
+ }>>;
164
202
  suggestion: z.ZodOptional<z.ZodNullable<z.ZodString>>;
165
203
  issues: z.ZodArray<z.ZodObject<{
166
204
  category: z.ZodString;
@@ -180,6 +218,14 @@ export declare const LQA_ASYNC_CALLBACK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodOb
180
218
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
181
219
  polyglotRefId: z.ZodString;
182
220
  contentUnitId: z.ZodString;
221
+ pluralForm: z.ZodOptional<z.ZodEnum<{
222
+ readonly ZERO: "zero";
223
+ readonly ONE: "one";
224
+ readonly TWO: "two";
225
+ readonly FEW: "few";
226
+ readonly MANY: "many";
227
+ readonly OTHER: "other";
228
+ }>>;
183
229
  translationId: z.ZodString;
184
230
  }, z.core.$strip>>>;
185
231
  }, z.core.$strip>, z.ZodObject<{
@@ -1,6 +1,7 @@
1
1
  import z from 'zod/v4';
2
2
  import { ASYNC_REQUEST_SCHEMA, AsyncRequestCallbackStatusEnum, } from "../common/asyncRequestSchemas.js";
3
3
  import { AI_INTEGRATION_ENGINE_SCHEMA, COMMON_ERROR_RESPONSE_SCHEMA, COMMON_FAILED_OPERATION_CALLBACK_SCHEMA, COMMON_REQUEST_HEADERS_SCHEMA, LOCALE_SCHEMA, } from "../common/commonSchemas.js";
4
+ import { CLDRPluralForm } from "../common/pluralFormSchemas.js";
4
5
  import { TRANSLATION_CONTEXT_SCHEMA } from "../common/translationContextSchemas.js";
5
6
  import { LQA_CONTENT_UNIT_ID_SCHEMA, LQA_CONTENT_UNIT_SCHEMA, LQA_TRANSLATION_ID_SCHEMA, LqaIssueSeverityEnum, } from "./commonSchemas.js";
6
7
  export const LQA_CONTENT_UNITS_MAX_LENGTH = 50;
@@ -28,6 +29,7 @@ export const LQA_ASYNC_SUCCESS_SCHEMA = z.object({
28
29
  polyglotRefId: z.string(),
29
30
  contentUnitId: LQA_CONTENT_UNIT_ID_SCHEMA,
30
31
  translationId: LQA_TRANSLATION_ID_SCHEMA,
32
+ pluralForm: z.enum(CLDRPluralForm).optional(),
31
33
  suggestion: z.string().nullable().optional(),
32
34
  issues: z.array(z.object({
33
35
  category: z.string(),
@@ -40,6 +42,7 @@ export const LQA_ASYNC_SUCCESS_SCHEMA = z.object({
40
42
  .array(COMMON_ERROR_RESPONSE_SCHEMA.extend({
41
43
  polyglotRefId: z.string(),
42
44
  contentUnitId: LQA_CONTENT_UNIT_ID_SCHEMA,
45
+ pluralForm: z.enum(CLDRPluralForm).optional(),
43
46
  translationId: LQA_TRANSLATION_ID_SCHEMA,
44
47
  }))
45
48
  .optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"lqaAsyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/lqaAsyncSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,6BAA6B,EAC7B,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC/D,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IACpD,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,EAAE;SACV,GAAG,CAAC,4BAA4B,CAAC;SACjC,QAAQ,CACP,4KAA4K,CAC7K;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAA;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,QAAQ,CAAC,8DAA8D,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC;IACzD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC1C,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH;IACD,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,4BAA4B,CAAC,MAAM,CAAC;QAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,wBAAwB,EAAE,uCAAuC,CAAC,CAAC;KACjG,QAAQ,CAAC,wBAAwB,CAAC,CAAA"}
1
+ {"version":3,"file":"lqaAsyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/lqaAsyncSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,6BAA6B,EAC7B,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC/D,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IACpD,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,EAAE;SACV,GAAG,CAAC,4BAA4B,CAAC;SACjC,QAAQ,CACP,4KAA4K,CAC7K;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAA;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,QAAQ,CAAC,8DAA8D,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC;IACzD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC1C,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH;IACD,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,4BAA4B,CAAC,MAAM,CAAC;QAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;QAC7C,aAAa,EAAE,yBAAyB;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,wBAAwB,EAAE,uCAAuC,CAAC,CAAC;KACjG,QAAQ,CAAC,wBAAwB,CAAC,CAAA"}
@@ -41,12 +41,12 @@ export declare const LQA_SYNC_BODY_SCHEMA: z.ZodObject<{
41
41
  }, z.core.$strip>>>;
42
42
  }, z.core.$strip>>>;
43
43
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
44
- zero: "zero";
45
- one: "one";
46
- two: "two";
47
- few: "few";
48
- many: "many";
49
- other: "other";
44
+ readonly ZERO: "zero";
45
+ readonly ONE: "one";
46
+ readonly TWO: "two";
47
+ readonly FEW: "few";
48
+ readonly MANY: "many";
49
+ readonly OTHER: "other";
50
50
  }>>>;
51
51
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
52
52
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -61,11 +61,23 @@ export declare const LQA_SYNC_BODY_SCHEMA: z.ZodObject<{
61
61
  }>>;
62
62
  contentUnits: z.ZodArray<z.ZodObject<{
63
63
  id: z.ZodString;
64
+ type: z.ZodDefault<z.ZodEnum<{
65
+ readonly SEGMENTED: "segmented";
66
+ readonly PLURAL: "plural";
67
+ }>>;
64
68
  context: z.ZodOptional<z.ZodObject<{
65
69
  description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
66
70
  }, z.core.$strip>>;
67
71
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
68
72
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
73
+ pluralForm: z.ZodOptional<z.ZodEnum<{
74
+ readonly ZERO: "zero";
75
+ readonly ONE: "one";
76
+ readonly TWO: "two";
77
+ readonly FEW: "few";
78
+ readonly MANY: "many";
79
+ readonly OTHER: "other";
80
+ }>>;
69
81
  translations: z.ZodArray<z.ZodObject<{
70
82
  id: z.ZodString;
71
83
  locale: z.ZodString;
@@ -86,6 +98,7 @@ export declare const LQA_SYNC_BODY_SCHEMA: z.ZodObject<{
86
98
  locale: string;
87
99
  value: string;
88
100
  }[];
101
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
89
102
  tmMatch?: {
90
103
  sourceValue: string;
91
104
  translatedValue: string;
@@ -101,6 +114,7 @@ export declare const LQA_SYNC_BODY_SCHEMA: z.ZodObject<{
101
114
  locale: string;
102
115
  value: string;
103
116
  }[];
117
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
104
118
  tmMatch?: {
105
119
  sourceValue: string;
106
120
  translatedValue: string;
@@ -122,6 +136,14 @@ export declare const LQA_SYNC_RESPONSE_SCHEMA: z.ZodObject<{
122
136
  polyglotRefId: z.ZodString;
123
137
  contentUnitId: z.ZodString;
124
138
  translationId: z.ZodString;
139
+ pluralForm: z.ZodOptional<z.ZodEnum<{
140
+ readonly ZERO: "zero";
141
+ readonly ONE: "one";
142
+ readonly TWO: "two";
143
+ readonly FEW: "few";
144
+ readonly MANY: "many";
145
+ readonly OTHER: "other";
146
+ }>>;
125
147
  suggestion: z.ZodNullable<z.ZodString>;
126
148
  issues: z.ZodArray<z.ZodObject<{
127
149
  category: z.ZodString;
@@ -141,6 +163,14 @@ export declare const LQA_SYNC_RESPONSE_SCHEMA: z.ZodObject<{
141
163
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
142
164
  polyglotRefId: z.ZodString;
143
165
  contentUnitId: z.ZodString;
166
+ pluralForm: z.ZodOptional<z.ZodEnum<{
167
+ readonly ZERO: "zero";
168
+ readonly ONE: "one";
169
+ readonly TWO: "two";
170
+ readonly FEW: "few";
171
+ readonly MANY: "many";
172
+ readonly OTHER: "other";
173
+ }>>;
144
174
  translationId: z.ZodString;
145
175
  }, z.core.$strip>>>;
146
176
  }, z.core.$strip>;
@@ -1,5 +1,6 @@
1
1
  import z from 'zod/v4';
2
2
  import { AI_INTEGRATION_ENGINE_SCHEMA, COMMON_ERROR_RESPONSE_SCHEMA, COMMON_REQUEST_HEADERS_SCHEMA, LOCALE_SCHEMA, } from "../common/commonSchemas.js";
3
+ import { CLDRPluralForm } from "../common/pluralFormSchemas.js";
3
4
  import { TRANSLATION_CONTEXT_SCHEMA } from "../common/translationContextSchemas.js";
4
5
  import { LQA_CONTENT_UNIT_ID_SCHEMA, LQA_CONTENT_UNIT_SCHEMA, LQA_TRANSLATION_ID_SCHEMA, LqaIssueSeverityEnum, } from "./commonSchemas.js";
5
6
  const LQA_CONTENT_UNITS_MAX_LENGTH = 1;
@@ -21,6 +22,7 @@ export const LQA_SYNC_RESPONSE_SCHEMA = z
21
22
  polyglotRefId: z.string(),
22
23
  contentUnitId: LQA_CONTENT_UNIT_ID_SCHEMA,
23
24
  translationId: LQA_TRANSLATION_ID_SCHEMA,
25
+ pluralForm: z.enum(CLDRPluralForm).optional(),
24
26
  suggestion: z.string().nullable(),
25
27
  issues: z.array(z.object({
26
28
  category: z.string(),
@@ -33,6 +35,7 @@ export const LQA_SYNC_RESPONSE_SCHEMA = z
33
35
  .array(COMMON_ERROR_RESPONSE_SCHEMA.extend({
34
36
  polyglotRefId: z.string(),
35
37
  contentUnitId: LQA_CONTENT_UNIT_ID_SCHEMA,
38
+ pluralForm: z.enum(CLDRPluralForm).optional(),
36
39
  translationId: LQA_TRANSLATION_ID_SCHEMA,
37
40
  }))
38
41
  .optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"lqaSyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/lqaSyncSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IACpD,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,EAAE;SACV,GAAG,CAAC,4BAA4B,CAAC;SACjC,QAAQ,CACP,4KAA4K,CAC7K;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAA;AAEpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH;IACD,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,4BAA4B,CAAC,MAAM,CAAC;QAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC;KACD,QAAQ,CAAC,mCAAmC,CAAC,CAAA"}
1
+ {"version":3,"file":"lqaSyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/lqa/lqaSyncSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IACpD,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,EAAE;SACV,GAAG,CAAC,4BAA4B,CAAC;SACjC,QAAQ,CACP,4KAA4K,CAC7K;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAA;AAEpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH;IACD,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,4BAA4B,CAAC,MAAM,CAAC;QAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;QAC7C,aAAa,EAAE,yBAAyB;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC;KACD,QAAQ,CAAC,mCAAmC,CAAC,CAAA"}
@@ -40,12 +40,12 @@ export declare const GENERATE_VARIANTS_BODY_SCHEMA: z.ZodObject<{
40
40
  }, z.core.$strip>>>;
41
41
  }, z.core.$strip>>>;
42
42
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
43
- zero: "zero";
44
- one: "one";
45
- two: "two";
46
- few: "few";
47
- many: "many";
48
- other: "other";
43
+ readonly ZERO: "zero";
44
+ readonly ONE: "one";
45
+ readonly TWO: "two";
46
+ readonly FEW: "few";
47
+ readonly MANY: "many";
48
+ readonly OTHER: "other";
49
49
  }>>>;
50
50
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
51
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -310,12 +310,24 @@ export declare const REWRITE_TEXT_ASYNC_BODY_SCHEMA: z.ZodObject<{
310
310
  }, z.core.$strip>>;
311
311
  contentUnits: z.ZodArray<z.ZodObject<{
312
312
  id: z.ZodString;
313
+ type: z.ZodDefault<z.ZodEnum<{
314
+ readonly SEGMENTED: "segmented";
315
+ readonly PLURAL: "plural";
316
+ }>>;
313
317
  context: z.ZodOptional<z.ZodObject<{
314
318
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
315
319
  }, z.core.$strip>>;
316
320
  characterLimit: z.ZodOptional<z.ZodNumber>;
317
321
  segments: z.ZodArray<z.ZodObject<{
318
322
  id: z.ZodString;
323
+ pluralForm: z.ZodOptional<z.ZodEnum<{
324
+ readonly ZERO: "zero";
325
+ readonly ONE: "one";
326
+ readonly TWO: "two";
327
+ readonly FEW: "few";
328
+ readonly MANY: "many";
329
+ readonly OTHER: "other";
330
+ }>>;
319
331
  value: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
320
332
  }, z.core.$strip>>;
321
333
  }, z.core.$strip>>;
@@ -43,6 +43,14 @@ export declare const SEGMENT_WARNINGS_SCHEMA: z.ZodArray<z.ZodObject<{
43
43
  export declare const CONTENT_UNIT_DESCRIPTION_MAX_LENGTH = 32768;
44
44
  export declare const TRANSLATE_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
45
45
  id: z.ZodString;
46
+ pluralForm: z.ZodOptional<z.ZodEnum<{
47
+ readonly ZERO: "zero";
48
+ readonly ONE: "one";
49
+ readonly TWO: "two";
50
+ readonly FEW: "few";
51
+ readonly MANY: "many";
52
+ readonly OTHER: "other";
53
+ }>>;
46
54
  tmMatch: z.ZodOptional<z.ZodObject<{
47
55
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
48
56
  translatedValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -55,6 +63,7 @@ export declare const TRANSLATE_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
55
63
  }, z.core.$strip>, z.ZodTransform<{
56
64
  id: string;
57
65
  value: string;
66
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
58
67
  tmMatch?: {
59
68
  sourceValue: string;
60
69
  translatedValue: string;
@@ -66,6 +75,7 @@ export declare const TRANSLATE_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
66
75
  }, {
67
76
  id: string;
68
77
  value: string;
78
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
69
79
  tmMatch?: {
70
80
  sourceValue: string;
71
81
  translatedValue: string;
@@ -77,12 +87,24 @@ export declare const TRANSLATE_SEGMENT_SCHEMA: z.ZodPipe<z.ZodObject<{
77
87
  }>>;
78
88
  export declare const TRANSLATE_CONTENT_UNIT_SCHEMA: z.ZodObject<{
79
89
  id: z.ZodString;
90
+ type: z.ZodDefault<z.ZodEnum<{
91
+ readonly SEGMENTED: "segmented";
92
+ readonly PLURAL: "plural";
93
+ }>>;
80
94
  context: z.ZodOptional<z.ZodObject<{
81
95
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
82
96
  }, z.core.$strip>>;
83
97
  characterLimit: z.ZodOptional<z.ZodNumber>;
84
98
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
85
99
  id: z.ZodString;
100
+ pluralForm: z.ZodOptional<z.ZodEnum<{
101
+ readonly ZERO: "zero";
102
+ readonly ONE: "one";
103
+ readonly TWO: "two";
104
+ readonly FEW: "few";
105
+ readonly MANY: "many";
106
+ readonly OTHER: "other";
107
+ }>>;
86
108
  tmMatch: z.ZodOptional<z.ZodObject<{
87
109
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
88
110
  translatedValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -95,6 +117,7 @@ export declare const TRANSLATE_CONTENT_UNIT_SCHEMA: z.ZodObject<{
95
117
  }, z.core.$strip>, z.ZodTransform<{
96
118
  id: string;
97
119
  value: string;
120
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
98
121
  tmMatch?: {
99
122
  sourceValue: string;
100
123
  translatedValue: string;
@@ -106,6 +129,7 @@ export declare const TRANSLATE_CONTENT_UNIT_SCHEMA: z.ZodObject<{
106
129
  }, {
107
130
  id: string;
108
131
  value: string;
132
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
109
133
  tmMatch?: {
110
134
  sourceValue: string;
111
135
  translatedValue: string;
@@ -123,16 +147,36 @@ export type TranslateContentUnit = z.infer<typeof TRANSLATE_CONTENT_UNIT_SCHEMA>
123
147
  */
124
148
  export declare const REWRITE_SEGMENT_SCHEMA: z.ZodObject<{
125
149
  id: z.ZodString;
150
+ pluralForm: z.ZodOptional<z.ZodEnum<{
151
+ readonly ZERO: "zero";
152
+ readonly ONE: "one";
153
+ readonly TWO: "two";
154
+ readonly FEW: "few";
155
+ readonly MANY: "many";
156
+ readonly OTHER: "other";
157
+ }>>;
126
158
  value: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
127
159
  }, z.core.$strip>;
128
160
  export declare const REWRITE_CONTENT_UNIT_SCHEMA: z.ZodObject<{
129
161
  id: z.ZodString;
162
+ type: z.ZodDefault<z.ZodEnum<{
163
+ readonly SEGMENTED: "segmented";
164
+ readonly PLURAL: "plural";
165
+ }>>;
130
166
  context: z.ZodOptional<z.ZodObject<{
131
167
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
132
168
  }, z.core.$strip>>;
133
169
  characterLimit: z.ZodOptional<z.ZodNumber>;
134
170
  segments: z.ZodArray<z.ZodObject<{
135
171
  id: z.ZodString;
172
+ pluralForm: z.ZodOptional<z.ZodEnum<{
173
+ readonly ZERO: "zero";
174
+ readonly ONE: "one";
175
+ readonly TWO: "two";
176
+ readonly FEW: "few";
177
+ readonly MANY: "many";
178
+ readonly OTHER: "other";
179
+ }>>;
136
180
  value: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
137
181
  }, z.core.$strip>>;
138
182
  }, z.core.$strip>;
@@ -2,6 +2,7 @@ import z from 'zod/v4';
2
2
  import { removeUnicodeNullCharacters } from "../../helpers/removeUnicodeNullCharacters.js";
3
3
  import { getRequestSizeLimit, isRequestSizeUnderLimit } from "../../validation/requestSizeLimit.js";
4
4
  import { COMMON_ERROR_RESPONSE_SCHEMA, CONTENT_ID_PROP_SCHEMA, IntegrationEngineEnum, TM_MATCH_SCHEMA, TRANSLATION_EXAMPLES_SCHEMA, transformTmMatchToTranslationExamples, } from "../common/commonSchemas.js";
5
+ import { CLDRPluralForm, ContentUnitType, refineIdsUniqueInSegmentedUnit, refineOtherFormIsPresentInPluralUnit, refinePluralFormNotAllowedInSegmentedUnit, refinePluralFormRequiredInPluralUnit, refinePluralFormsUniqueInPluralUnit, } from "../common/pluralFormSchemas.js";
5
6
  export const refineDifferentSourceAndTargetLang = [
6
7
  (data) => {
7
8
  return data.sourceLocale !== data.targetLocale;
@@ -43,13 +44,16 @@ const CONTENT_UNIT_SEGMENTS_MAX_LENGTH = 1000; // context -> https://lokalise.sl
43
44
  export const TRANSLATE_SEGMENT_SCHEMA = z
44
45
  .object({
45
46
  id: CONTENT_ID_PROP_SCHEMA,
47
+ pluralForm: z.enum(CLDRPluralForm).optional(),
46
48
  tmMatch: TM_MATCH_SCHEMA,
47
49
  translationExamples: TRANSLATION_EXAMPLES_SCHEMA,
48
50
  value: z.string().min(1).transform(removeUnicodeNullCharacters),
49
51
  })
50
52
  .transform(transformTmMatchToTranslationExamples);
51
- export const TRANSLATE_CONTENT_UNIT_SCHEMA = z.object({
53
+ export const TRANSLATE_CONTENT_UNIT_SCHEMA = z
54
+ .object({
52
55
  id: CONTENT_ID_PROP_SCHEMA,
56
+ type: z.enum(ContentUnitType).default(ContentUnitType.SEGMENTED),
53
57
  context: z
54
58
  .object({
55
59
  description: z
@@ -60,21 +64,25 @@ export const TRANSLATE_CONTENT_UNIT_SCHEMA = z.object({
60
64
  })
61
65
  .optional(),
62
66
  characterLimit: z.number().optional(),
63
- segments: z
64
- .array(TRANSLATE_SEGMENT_SCHEMA)
65
- .nonempty()
66
- .max(CONTENT_UNIT_SEGMENTS_MAX_LENGTH)
67
- .refine(refineUniqueIds[0], refineUniqueIds[1]),
68
- });
67
+ segments: z.array(TRANSLATE_SEGMENT_SCHEMA).nonempty().max(CONTENT_UNIT_SEGMENTS_MAX_LENGTH),
68
+ })
69
+ .refine(...refinePluralFormRequiredInPluralUnit)
70
+ .refine(...refinePluralFormNotAllowedInSegmentedUnit)
71
+ .refine(...refinePluralFormsUniqueInPluralUnit)
72
+ .refine(...refineOtherFormIsPresentInPluralUnit)
73
+ .refine(...refineIdsUniqueInSegmentedUnit);
69
74
  /**
70
75
  * Text rewriting schemas
71
76
  */
72
77
  export const REWRITE_SEGMENT_SCHEMA = z.object({
73
78
  id: CONTENT_ID_PROP_SCHEMA,
79
+ pluralForm: z.enum(CLDRPluralForm).optional(),
74
80
  value: z.string().min(1).transform(removeUnicodeNullCharacters),
75
81
  });
76
- export const REWRITE_CONTENT_UNIT_SCHEMA = z.object({
82
+ export const REWRITE_CONTENT_UNIT_SCHEMA = z
83
+ .object({
77
84
  id: CONTENT_ID_PROP_SCHEMA,
85
+ type: z.enum(ContentUnitType).default(ContentUnitType.SEGMENTED),
78
86
  context: z
79
87
  .object({
80
88
  description: z
@@ -85,12 +93,13 @@ export const REWRITE_CONTENT_UNIT_SCHEMA = z.object({
85
93
  })
86
94
  .optional(),
87
95
  characterLimit: z.number().optional(),
88
- segments: z
89
- .array(REWRITE_SEGMENT_SCHEMA)
90
- .nonempty()
91
- .max(CONTENT_UNIT_SEGMENTS_MAX_LENGTH)
92
- .refine(...refineUniqueIds),
93
- });
96
+ segments: z.array(REWRITE_SEGMENT_SCHEMA).nonempty().max(CONTENT_UNIT_SEGMENTS_MAX_LENGTH),
97
+ })
98
+ .refine(...refinePluralFormRequiredInPluralUnit)
99
+ .refine(...refinePluralFormNotAllowedInSegmentedUnit)
100
+ .refine(...refinePluralFormsUniqueInPluralUnit)
101
+ .refine(...refineOtherFormIsPresentInPluralUnit)
102
+ .refine(...refineIdsUniqueInSegmentedUnit);
94
103
  /**
95
104
  * Variant generation
96
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sharedSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/sharedSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharedSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/sharedSchemas.ts"],"names":[],"mappings":"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"}
@@ -58,12 +58,12 @@ export declare const TRANSLATE_ASYNC_BODY_SCHEMA: z.ZodObject<{
58
58
  }, z.core.$strip>>>;
59
59
  }, z.core.$strip>>>;
60
60
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
61
- zero: "zero";
62
- one: "one";
63
- two: "two";
64
- few: "few";
65
- many: "many";
66
- other: "other";
61
+ readonly ZERO: "zero";
62
+ readonly ONE: "one";
63
+ readonly TWO: "two";
64
+ readonly FEW: "few";
65
+ readonly MANY: "many";
66
+ readonly OTHER: "other";
67
67
  }>>>;
68
68
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
69
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -73,12 +73,24 @@ export declare const TRANSLATE_ASYNC_BODY_SCHEMA: z.ZodObject<{
73
73
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
74
74
  contentUnits: z.ZodArray<z.ZodObject<{
75
75
  id: z.ZodString;
76
+ type: z.ZodDefault<z.ZodEnum<{
77
+ readonly SEGMENTED: "segmented";
78
+ readonly PLURAL: "plural";
79
+ }>>;
76
80
  context: z.ZodOptional<z.ZodObject<{
77
81
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
78
82
  }, z.core.$strip>>;
79
83
  characterLimit: z.ZodOptional<z.ZodNumber>;
80
84
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
81
85
  id: z.ZodString;
86
+ pluralForm: z.ZodOptional<z.ZodEnum<{
87
+ readonly ZERO: "zero";
88
+ readonly ONE: "one";
89
+ readonly TWO: "two";
90
+ readonly FEW: "few";
91
+ readonly MANY: "many";
92
+ readonly OTHER: "other";
93
+ }>>;
82
94
  tmMatch: z.ZodOptional<z.ZodObject<{
83
95
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
84
96
  translatedValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -91,6 +103,7 @@ export declare const TRANSLATE_ASYNC_BODY_SCHEMA: z.ZodObject<{
91
103
  }, z.core.$strip>, z.ZodTransform<{
92
104
  id: string;
93
105
  value: string;
106
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
94
107
  tmMatch?: {
95
108
  sourceValue: string;
96
109
  translatedValue: string;
@@ -102,6 +115,7 @@ export declare const TRANSLATE_ASYNC_BODY_SCHEMA: z.ZodObject<{
102
115
  }, {
103
116
  id: string;
104
117
  value: string;
118
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
105
119
  tmMatch?: {
106
120
  sourceValue: string;
107
121
  translatedValue: string;
@@ -125,6 +139,14 @@ export declare const TRANSLATE_ASYNC_V2_CALLBACK_SCHEMA: z.ZodObject<{
125
139
  data: z.ZodArray<z.ZodObject<{
126
140
  contentUnitId: z.ZodString;
127
141
  segmentId: z.ZodString;
142
+ pluralForm: z.ZodOptional<z.ZodEnum<{
143
+ readonly ZERO: "zero";
144
+ readonly ONE: "one";
145
+ readonly TWO: "two";
146
+ readonly FEW: "few";
147
+ readonly MANY: "many";
148
+ readonly OTHER: "other";
149
+ }>>;
128
150
  polyglotRefId: z.ZodString;
129
151
  integration: z.ZodString;
130
152
  translation: z.ZodString;
@@ -152,6 +174,14 @@ export declare const TRANSLATE_ASYNC_V2_CALLBACK_SCHEMA: z.ZodObject<{
152
174
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
153
175
  contentUnitId: z.ZodString;
154
176
  segmentId: z.ZodString;
177
+ pluralForm: z.ZodOptional<z.ZodEnum<{
178
+ readonly ZERO: "zero";
179
+ readonly ONE: "one";
180
+ readonly TWO: "two";
181
+ readonly FEW: "few";
182
+ readonly MANY: "many";
183
+ readonly OTHER: "other";
184
+ }>>;
155
185
  polyglotRefId: z.ZodString;
156
186
  integration: z.ZodString;
157
187
  }, z.core.$strip>>>;
@@ -161,6 +191,14 @@ export declare const TRANSLATE_ASYNC_SUCCESS_SCHEMA: z.ZodObject<{
161
191
  data: z.ZodArray<z.ZodObject<{
162
192
  contentUnitId: z.ZodString;
163
193
  segmentId: z.ZodString;
194
+ pluralForm: z.ZodOptional<z.ZodEnum<{
195
+ readonly ZERO: "zero";
196
+ readonly ONE: "one";
197
+ readonly TWO: "two";
198
+ readonly FEW: "few";
199
+ readonly MANY: "many";
200
+ readonly OTHER: "other";
201
+ }>>;
164
202
  polyglotRefId: z.ZodString;
165
203
  integration: z.ZodString;
166
204
  translation: z.ZodString;
@@ -188,6 +226,14 @@ export declare const TRANSLATE_ASYNC_SUCCESS_SCHEMA: z.ZodObject<{
188
226
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
189
227
  contentUnitId: z.ZodString;
190
228
  segmentId: z.ZodString;
229
+ pluralForm: z.ZodOptional<z.ZodEnum<{
230
+ readonly ZERO: "zero";
231
+ readonly ONE: "one";
232
+ readonly TWO: "two";
233
+ readonly FEW: "few";
234
+ readonly MANY: "many";
235
+ readonly OTHER: "other";
236
+ }>>;
191
237
  polyglotRefId: z.ZodString;
192
238
  integration: z.ZodString;
193
239
  }, z.core.$strip>>>;
@@ -198,6 +244,14 @@ export declare const TRANSLATE_ASYNC_CALLBACK_SCHEMA: z.ZodDiscriminatedUnion<[z
198
244
  data: z.ZodArray<z.ZodObject<{
199
245
  contentUnitId: z.ZodString;
200
246
  segmentId: z.ZodString;
247
+ pluralForm: z.ZodOptional<z.ZodEnum<{
248
+ readonly ZERO: "zero";
249
+ readonly ONE: "one";
250
+ readonly TWO: "two";
251
+ readonly FEW: "few";
252
+ readonly MANY: "many";
253
+ readonly OTHER: "other";
254
+ }>>;
201
255
  polyglotRefId: z.ZodString;
202
256
  integration: z.ZodString;
203
257
  translation: z.ZodString;
@@ -225,6 +279,14 @@ export declare const TRANSLATE_ASYNC_CALLBACK_SCHEMA: z.ZodDiscriminatedUnion<[z
225
279
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
226
280
  contentUnitId: z.ZodString;
227
281
  segmentId: z.ZodString;
282
+ pluralForm: z.ZodOptional<z.ZodEnum<{
283
+ readonly ZERO: "zero";
284
+ readonly ONE: "one";
285
+ readonly TWO: "two";
286
+ readonly FEW: "few";
287
+ readonly MANY: "many";
288
+ readonly OTHER: "other";
289
+ }>>;
228
290
  polyglotRefId: z.ZodString;
229
291
  integration: z.ZodString;
230
292
  }, z.core.$strip>>>;
@@ -2,6 +2,7 @@ import z from 'zod/v4';
2
2
  import { getRequestSizeLimit, isRequestSizeUnderLimit } from "../../validation/requestSizeLimit.js";
3
3
  import { ASYNC_REQUEST_SCHEMA, AsyncRequestCallbackStatusEnum, } from "../common/asyncRequestSchemas.js";
4
4
  import { COMMON_ERROR_RESPONSE_SCHEMA, COMMON_FAILED_OPERATION_CALLBACK_SCHEMA, COMMON_REQUEST_HEADERS_SCHEMA, CONTENT_ID_PROP_SCHEMA, FORCE_INTEGRATION_SCHEMA, LOCALE_SCHEMA, METADATA_SCHEMA, REAL_INTEGRATION_ENGINE_SCHEMA, refineIntegrationIsPresent, } from "../common/commonSchemas.js";
5
+ import { CLDRPluralForm } from "../common/pluralFormSchemas.js";
5
6
  import { TRANSLATION_CONTEXT_SCHEMA } from "../common/translationContextSchemas.js";
6
7
  import { LqaIssueSeverityEnum } from "../lqa/commonSchemas.js";
7
8
  import { refineDifferentSourceAndTargetLang, refineUniqueIds, SEGMENT_WARNINGS_SCHEMA, TRANSLATE_CONTENT_UNIT_SCHEMA, } from "./sharedSchemas.js";
@@ -54,6 +55,7 @@ export const TRANSLATE_ASYNC_V2_CALLBACK_SCHEMA = z
54
55
  data: z.array(z.object({
55
56
  contentUnitId: CONTENT_ID_PROP_SCHEMA,
56
57
  segmentId: CONTENT_ID_PROP_SCHEMA,
58
+ pluralForm: z.enum(CLDRPluralForm).optional(),
57
59
  polyglotRefId: z.string(),
58
60
  integration: z.string(),
59
61
  translation: z.string(),
@@ -72,6 +74,7 @@ export const TRANSLATE_ASYNC_V2_CALLBACK_SCHEMA = z
72
74
  .array(COMMON_ERROR_RESPONSE_SCHEMA.extend({
73
75
  contentUnitId: CONTENT_ID_PROP_SCHEMA,
74
76
  segmentId: CONTENT_ID_PROP_SCHEMA,
77
+ pluralForm: z.enum(CLDRPluralForm).optional(),
75
78
  polyglotRefId: z.string(),
76
79
  integration: z.string(),
77
80
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"translateAsyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/translateAsyncSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translateAsyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/translateAsyncSchemas.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,12 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
54
54
  }, z.core.$strip>>>;
55
55
  }, z.core.$strip>>>;
56
56
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
57
- zero: "zero";
58
- one: "one";
59
- two: "two";
60
- few: "few";
61
- many: "many";
62
- other: "other";
57
+ readonly ZERO: "zero";
58
+ readonly ONE: "one";
59
+ readonly TWO: "two";
60
+ readonly FEW: "few";
61
+ readonly MANY: "many";
62
+ readonly OTHER: "other";
63
63
  }>>>;
64
64
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
65
65
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -69,12 +69,24 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
69
69
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
70
70
  contentUnits: z.ZodArray<z.ZodObject<{
71
71
  id: z.ZodString;
72
+ type: z.ZodDefault<z.ZodEnum<{
73
+ readonly SEGMENTED: "segmented";
74
+ readonly PLURAL: "plural";
75
+ }>>;
72
76
  context: z.ZodOptional<z.ZodObject<{
73
77
  description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
74
78
  }, z.core.$strip>>;
75
79
  characterLimit: z.ZodOptional<z.ZodNumber>;
76
80
  segments: z.ZodArray<z.ZodPipe<z.ZodObject<{
77
81
  id: z.ZodString;
82
+ pluralForm: z.ZodOptional<z.ZodEnum<{
83
+ readonly ZERO: "zero";
84
+ readonly ONE: "one";
85
+ readonly TWO: "two";
86
+ readonly FEW: "few";
87
+ readonly MANY: "many";
88
+ readonly OTHER: "other";
89
+ }>>;
78
90
  tmMatch: z.ZodOptional<z.ZodObject<{
79
91
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
80
92
  translatedValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
@@ -87,6 +99,7 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
87
99
  }, z.core.$strip>, z.ZodTransform<{
88
100
  id: string;
89
101
  value: string;
102
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
90
103
  tmMatch?: {
91
104
  sourceValue: string;
92
105
  translatedValue: string;
@@ -98,6 +111,7 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
98
111
  }, {
99
112
  id: string;
100
113
  value: string;
114
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
101
115
  tmMatch?: {
102
116
  sourceValue: string;
103
117
  translatedValue: string;
@@ -113,9 +127,11 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
113
127
  targetLocale: string;
114
128
  contentUnits: {
115
129
  id: string;
130
+ type: "segmented" | "plural";
116
131
  segments: {
117
132
  id: string;
118
133
  value: string;
134
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
119
135
  tmMatch?: {
120
136
  sourceValue: string;
121
137
  translatedValue: string;
@@ -168,9 +184,11 @@ export declare const TRANSLATE_SYNC_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
168
184
  targetLocale: string;
169
185
  contentUnits: {
170
186
  id: string;
187
+ type: "segmented" | "plural";
171
188
  segments: {
172
189
  id: string;
173
190
  value: string;
191
+ pluralForm?: "zero" | "one" | "two" | "few" | "many" | "other" | undefined;
174
192
  tmMatch?: {
175
193
  sourceValue: string;
176
194
  translatedValue: string;
@@ -226,6 +244,14 @@ export declare const TRANSLATE_SYNC_RESPONSE_SCHEMA: z.ZodObject<{
226
244
  data: z.ZodArray<z.ZodObject<{
227
245
  contentUnitId: z.ZodString;
228
246
  segmentId: z.ZodString;
247
+ pluralForm: z.ZodOptional<z.ZodEnum<{
248
+ readonly ZERO: "zero";
249
+ readonly ONE: "one";
250
+ readonly TWO: "two";
251
+ readonly FEW: "few";
252
+ readonly MANY: "many";
253
+ readonly OTHER: "other";
254
+ }>>;
229
255
  integration: z.ZodString;
230
256
  translation: z.ZodString;
231
257
  polyglotRefId: z.ZodOptional<z.ZodString>;
@@ -242,6 +268,14 @@ export declare const TRANSLATE_SYNC_RESPONSE_SCHEMA: z.ZodObject<{
242
268
  details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
243
269
  contentUnitId: z.ZodString;
244
270
  segmentId: z.ZodString;
271
+ pluralForm: z.ZodOptional<z.ZodEnum<{
272
+ readonly ZERO: "zero";
273
+ readonly ONE: "one";
274
+ readonly TWO: "two";
275
+ readonly FEW: "few";
276
+ readonly MANY: "many";
277
+ readonly OTHER: "other";
278
+ }>>;
245
279
  integration: z.ZodString;
246
280
  }, z.core.$strip>>>;
247
281
  }, z.core.$strip>;
@@ -2,6 +2,7 @@ import z from 'zod/v4';
2
2
  import { getRequestSizeLimit, isRequestSizeUnderLimit } from "../../validation/requestSizeLimit.js";
3
3
  import { OWNER_ID_SCHEMA, TENANT_ID_SCHEMA } from "../common/asyncRequestSchemas.js";
4
4
  import { COMMON_ERROR_RESPONSE_SCHEMA, COMMON_REQUEST_HEADERS_SCHEMA, CONTENT_ID_PROP_SCHEMA, FORCE_INTEGRATION_SCHEMA, LOCALE_SCHEMA, METADATA_SCHEMA, REAL_INTEGRATION_ENGINE_SCHEMA, refineIntegrationIsPresent, } from "../common/commonSchemas.js";
5
+ import { CLDRPluralForm } from "../common/pluralFormSchemas.js";
5
6
  import { TRANSLATION_CONTEXT_SCHEMA } from "../common/translationContextSchemas.js";
6
7
  import { refineDifferentSourceAndTargetLang, refineUniqueIds, SEGMENT_WARNINGS_SCHEMA, TRANSLATE_CONTENT_UNIT_SCHEMA, } from "./sharedSchemas.js";
7
8
  // See https://lokalise.slack.com/archives/C05FLMT3GQK/p1730293588636539 for context
@@ -48,6 +49,7 @@ export const TRANSLATE_SYNC_RESPONSE_SCHEMA = z
48
49
  data: z.array(z.object({
49
50
  contentUnitId: CONTENT_ID_PROP_SCHEMA,
50
51
  segmentId: CONTENT_ID_PROP_SCHEMA,
52
+ pluralForm: z.enum(CLDRPluralForm).optional(),
51
53
  integration: z.string(),
52
54
  translation: z.string(),
53
55
  polyglotRefId: z.string().optional(),
@@ -57,6 +59,7 @@ export const TRANSLATE_SYNC_RESPONSE_SCHEMA = z
57
59
  .array(COMMON_ERROR_RESPONSE_SCHEMA.extend({
58
60
  contentUnitId: CONTENT_ID_PROP_SCHEMA,
59
61
  segmentId: CONTENT_ID_PROP_SCHEMA,
62
+ pluralForm: z.enum(CLDRPluralForm).optional(),
60
63
  integration: z.string(),
61
64
  }))
62
65
  .optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"translateSyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/translateSyncSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translateSyncSchemas.js","sourceRoot":"","sources":["../../../../src/sdk/schemas/translation/translateSyncSchemas.ts"],"names":[],"mappings":"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"}
@@ -53,12 +53,12 @@ export declare const TRANSLATE_TEXT_SEGMENT_BODY_SCHEMA: z.ZodPipe<z.ZodObject<{
53
53
  }, z.core.$strip>>>;
54
54
  }, z.core.$strip>>>;
55
55
  targetPluralForms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
56
- zero: "zero";
57
- one: "one";
58
- two: "two";
59
- few: "few";
60
- many: "many";
61
- other: "other";
56
+ readonly ZERO: "zero";
57
+ readonly ONE: "one";
58
+ readonly TWO: "two";
59
+ readonly FEW: "few";
60
+ readonly MANY: "many";
61
+ readonly OTHER: "other";
62
62
  }>>>;
63
63
  translationExamples: z.ZodOptional<z.ZodArray<z.ZodObject<{
64
64
  sourceValue: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/polyglot-sdk",
3
- "version": "22.0.0",
3
+ "version": "22.1.0",
4
4
  "author": {
5
5
  "name": "Lokalise",
6
6
  "url": "https://lokalise.com/"