@crowdin/n8n-nodes-crowdin 0.24.0 → 0.26.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 (39) hide show
  1. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js +115 -8
  2. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js.map +1 -1
  3. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js +20 -20
  4. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js.map +1 -1
  5. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js +588 -0
  6. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js.map +1 -1
  7. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js +614 -0
  8. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js.map +1 -1
  9. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js +582 -682
  10. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js.map +1 -1
  11. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js +115 -8
  12. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js.map +1 -1
  13. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js +20 -20
  14. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js.map +1 -1
  15. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js +555 -619
  16. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js.map +1 -1
  17. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js +115 -8
  18. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js.map +1 -1
  19. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js +14 -14
  20. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js.map +1 -1
  21. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js +588 -0
  22. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js.map +1 -1
  23. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js +614 -0
  24. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js.map +1 -1
  25. package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js +84 -0
  26. package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js.map +1 -1
  27. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js +578 -680
  28. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js.map +1 -1
  29. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js +115 -8
  30. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js.map +1 -1
  31. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js +14 -14
  32. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js.map +1 -1
  33. package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js +84 -0
  34. package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js.map +1 -1
  35. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js +552 -618
  36. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js.map +1 -1
  37. package/dist/package.json +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +1 -1
@@ -2027,255 +2027,11 @@ exports.translationsProperties = [
2027
2027
  }
2028
2028
  },
2029
2029
  {
2030
- displayName: 'Language Ids',
2031
- required: true,
2032
- name: 'languageIds',
2033
- type: 'multiOptions',
2034
- default: [],
2035
- description: 'Set of languages to which auto-translation should be applied. Get via [List Supported Languages](#operation/api.languages.getMany)',
2036
- routing: {
2037
- send: {
2038
- property: 'languageIds',
2039
- propertyInDotNotation: false,
2040
- type: 'body',
2041
- value: '={{ $value }}'
2042
- }
2043
- },
2044
- displayOptions: {
2045
- show: {
2046
- resource: [
2047
- 'translations'
2048
- ],
2049
- operation: [
2050
- 'api.projects.pre-translations.post'
2051
- ]
2052
- }
2053
- },
2054
- typeOptions: {
2055
- loadOptionsMethod: 'getLanguagesMulti'
2056
- }
2057
- },
2058
- {
2059
- displayName: 'File Ids',
2060
- name: 'fileIds',
2061
- type: 'multiOptions',
2062
- default: [],
2063
- description: 'Files array that should be translated\n\n__Note:__ Required unless `directoryIds` or `branchIds` is set',
2064
- routing: {
2065
- send: {
2066
- property: 'fileIds',
2067
- propertyInDotNotation: false,
2068
- type: 'body',
2069
- value: '={{ $value }}'
2070
- }
2071
- },
2072
- displayOptions: {
2073
- show: {
2074
- resource: [
2075
- 'translations'
2076
- ],
2077
- operation: [
2078
- 'api.projects.pre-translations.post'
2079
- ]
2080
- }
2081
- },
2082
- typeOptions: {
2083
- loadOptionsMethod: 'getProjectFilesMulti',
2084
- loadOptionsDependsOn: [
2085
- 'projectId'
2086
- ]
2087
- }
2088
- },
2089
- {
2090
- displayName: 'Directory Ids',
2091
- name: 'directoryIds',
2092
- type: 'multiOptions',
2093
- default: [],
2094
- description: 'Directories array that should be translated. Includes all nested files',
2095
- routing: {
2096
- send: {
2097
- property: 'directoryIds',
2098
- propertyInDotNotation: false,
2099
- type: 'body',
2100
- value: '={{ $value }}'
2101
- }
2102
- },
2103
- displayOptions: {
2104
- show: {
2105
- resource: [
2106
- 'translations'
2107
- ],
2108
- operation: [
2109
- 'api.projects.pre-translations.post'
2110
- ]
2111
- }
2112
- },
2113
- typeOptions: {
2114
- loadOptionsMethod: 'getProjectDirectoriesMulti',
2115
- loadOptionsDependsOn: [
2116
- 'projectId'
2117
- ]
2118
- }
2119
- },
2120
- {
2121
- displayName: 'Branch Ids',
2122
- name: 'branchIds',
2123
- type: 'multiOptions',
2124
- default: [],
2125
- description: 'Branches array that should be translated. Includes all nested files',
2126
- routing: {
2127
- send: {
2128
- property: 'branchIds',
2129
- propertyInDotNotation: false,
2130
- type: 'body',
2131
- value: '={{ $value }}'
2132
- }
2133
- },
2134
- displayOptions: {
2135
- show: {
2136
- resource: [
2137
- 'translations'
2138
- ],
2139
- operation: [
2140
- 'api.projects.pre-translations.post'
2141
- ]
2142
- }
2143
- },
2144
- typeOptions: {
2145
- loadOptionsMethod: 'getBranchesMulti',
2146
- loadOptionsDependsOn: [
2147
- 'projectId'
2148
- ]
2149
- }
2150
- },
2151
- {
2152
- displayName: 'Method',
2153
- name: 'method',
2154
- type: 'options',
2155
- default: '',
2156
- description: 'Defines auto-translation method. Available values:\n- \'tm\' – auto-translation via Translation Memory\n- \'mt\' – auto-translation via Machine Translation. \'mt\' should be used with `engineId` parameter\n- \'ai\' – auto-translation via AI. \'ai\' should be used with `aiPromptId` parameter',
2157
- options: [
2158
- {
2159
- name: '-',
2160
- value: ''
2161
- },
2162
- {
2163
- name: 'tm',
2164
- value: 'tm'
2165
- },
2166
- {
2167
- name: 'mt',
2168
- value: 'mt'
2169
- },
2170
- {
2171
- name: 'ai',
2172
- value: 'ai'
2173
- }
2174
- ],
2175
- routing: {
2176
- send: {
2177
- property: 'method',
2178
- propertyInDotNotation: false,
2179
- type: 'body',
2180
- value: '={{ $value || undefined }}'
2181
- }
2182
- },
2183
- displayOptions: {
2184
- show: {
2185
- resource: [
2186
- 'translations'
2187
- ],
2188
- operation: [
2189
- 'api.projects.pre-translations.post'
2190
- ]
2191
- }
2192
- }
2193
- },
2194
- {
2195
- displayName: 'Priority',
2196
- name: 'priority',
2197
- type: 'options',
2198
- default: '',
2199
- description: undefined,
2200
- options: [
2201
- {
2202
- name: '-',
2203
- value: ''
2204
- },
2205
- {
2206
- name: 'low',
2207
- value: 'low'
2208
- },
2209
- {
2210
- name: 'normal',
2211
- value: 'normal'
2212
- },
2213
- {
2214
- name: 'high',
2215
- value: 'high'
2216
- }
2217
- ],
2218
- routing: {
2219
- send: {
2220
- property: 'priority',
2221
- propertyInDotNotation: false,
2222
- type: 'body',
2223
- value: '={{ $value || undefined }}'
2224
- }
2225
- },
2226
- displayOptions: {
2227
- show: {
2228
- resource: [
2229
- 'translations'
2230
- ],
2231
- operation: [
2232
- 'api.projects.pre-translations.post'
2233
- ]
2234
- }
2235
- }
2236
- },
2237
- {
2238
- displayName: 'Engine Id',
2239
- name: 'engineId',
2240
- type: 'options',
2241
- default: '',
2242
- description: 'Machine Translation engine Identifier. Get via [List MTs](#operation/api.mts.getMany)',
2243
- routing: {
2244
- send: {
2245
- property: 'engineId',
2246
- propertyInDotNotation: false,
2247
- type: 'body',
2248
- value: '={{ typeof $value === \'number\' ? $value : undefined }}'
2249
- }
2250
- },
2251
- displayOptions: {
2252
- show: {
2253
- resource: [
2254
- 'translations'
2255
- ],
2256
- operation: [
2257
- 'api.projects.pre-translations.post'
2258
- ]
2259
- }
2260
- },
2261
- typeOptions: {
2262
- loadOptionsMethod: 'getMTEngines'
2263
- }
2264
- },
2265
- {
2266
- displayName: 'Ai Prompt Id',
2267
- name: 'aiPromptId',
2268
- type: 'options',
2269
- default: '',
2270
- description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
2271
- routing: {
2272
- send: {
2273
- property: 'aiPromptId',
2274
- propertyInDotNotation: false,
2275
- type: 'body',
2276
- value: '={{ typeof $value === \'number\' ? $value : undefined }}'
2277
- }
2278
- },
2030
+ displayName: 'Body',
2031
+ name: '_body',
2032
+ description: 'Select configuration type',
2033
+ default: {},
2034
+ type: 'fixedCollection',
2279
2035
  displayOptions: {
2280
2036
  show: {
2281
2037
  resource: [
@@ -2286,431 +2042,598 @@ exports.translationsProperties = [
2286
2042
  ]
2287
2043
  }
2288
2044
  },
2289
- typeOptions: {
2290
- loadOptionsMethod: 'getAiPrompts'
2291
- }
2292
- },
2293
- {
2294
- displayName: 'Auto Approve Option',
2295
- name: 'autoApproveOption',
2296
- type: 'options',
2297
- default: '',
2298
- description: 'Defines which translations added by TM auto-translation should be auto-approved. Available values:\n- \'all\' – all\n- \'perfectMatchOnly\' – with perfect TM match\n- \'exceptAutoSubstituted\' – all (skip auto-substituted suggestions)\n- \'perfectMatchApprovedOnly\' - with perfect TM match (approved previously)\n- \'none\' – no auto-approve',
2299
2045
  options: [
2300
2046
  {
2301
- name: '-',
2302
- value: ''
2303
- },
2304
- {
2305
- name: 'all',
2306
- value: 'all'
2307
- },
2308
- {
2309
- name: 'exceptAutoSubstituted',
2310
- value: 'exceptAutoSubstituted'
2311
- },
2312
- {
2313
- name: 'perfectMatchApprovedOnly',
2314
- value: 'perfectMatchApprovedOnly'
2315
- },
2316
- {
2317
- name: 'perfectMatchOnly',
2318
- value: 'perfectMatchOnly'
2319
- },
2320
- {
2321
- name: 'none',
2322
- value: 'none'
2323
- }
2324
- ],
2325
- routing: {
2326
- send: {
2327
- property: 'autoApproveOption',
2328
- propertyInDotNotation: false,
2329
- type: 'body',
2330
- value: '={{ $value || undefined }}'
2331
- }
2332
- },
2333
- displayOptions: {
2334
- show: {
2335
- resource: [
2336
- 'translations'
2337
- ],
2338
- operation: [
2339
- 'api.projects.pre-translations.post'
2340
- ]
2341
- }
2342
- }
2343
- },
2344
- {
2345
- displayName: 'Duplicate Translations',
2346
- name: 'duplicateTranslations',
2347
- type: 'boolean',
2348
- default: false,
2349
- description: 'Adds translations even if the same translation already exists. Default is `false`.\n\n__Note:__ Cannot be used when `replaceTranslationsOption` is `all` (replacing all translations already overrides duplicate handling).',
2350
- routing: {
2351
- send: {
2352
- property: 'duplicateTranslations',
2353
- propertyInDotNotation: false,
2354
- type: 'body',
2355
- value: '={{ $value }}'
2356
- }
2357
- },
2358
- displayOptions: {
2359
- show: {
2360
- resource: [
2361
- 'translations'
2362
- ],
2363
- operation: [
2364
- 'api.projects.pre-translations.post'
2365
- ]
2366
- }
2367
- }
2368
- },
2369
- {
2370
- displayName: 'Skip Approved Translations',
2371
- name: 'skipApprovedTranslations',
2372
- type: 'boolean',
2373
- default: false,
2374
- description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.',
2375
- routing: {
2376
- send: {
2377
- property: 'skipApprovedTranslations',
2378
- propertyInDotNotation: false,
2379
- type: 'body',
2380
- value: '={{ $value }}'
2381
- }
2382
- },
2383
- displayOptions: {
2384
- show: {
2385
- resource: [
2386
- 'translations'
2387
- ],
2388
- operation: [
2389
- 'api.projects.pre-translations.post'
2390
- ]
2391
- }
2392
- }
2393
- },
2394
- {
2395
- displayName: 'Scope',
2396
- name: 'scope',
2397
- type: 'options',
2398
- default: '',
2399
- description: 'Which strings to apply auto-translation to. Default is `untranslated`. Available values:\n- \'untranslated\' – strings without an existing translation (default)\n- \'translated\' – strings that already have a translation (re-translation)\n- \'all\' – both untranslated and translated strings\n\n__Note:__ Cannot be used together with the deprecated `translateUntranslatedOnly`.',
2400
- options: [
2401
- {
2402
- name: '-',
2403
- value: ''
2404
- },
2405
- {
2406
- name: 'untranslated',
2407
- value: 'untranslated'
2408
- },
2409
- {
2410
- name: 'translated',
2411
- value: 'translated'
2412
- },
2413
- {
2414
- name: 'all',
2415
- value: 'all'
2416
- }
2417
- ],
2418
- routing: {
2419
- send: {
2420
- property: 'scope',
2421
- propertyInDotNotation: false,
2422
- type: 'body',
2423
- value: '={{ $value || undefined }}'
2424
- }
2425
- },
2426
- displayOptions: {
2427
- show: {
2428
- resource: [
2429
- 'translations'
2430
- ],
2431
- operation: [
2432
- 'api.projects.pre-translations.post'
2433
- ]
2434
- }
2435
- }
2436
- },
2437
- {
2438
- displayName: 'Translation Modified Before',
2439
- name: 'dateTime:translationModifiedBefore',
2440
- type: 'dateTime',
2441
- default: '',
2442
- description: 'Re-translates only if a string\'s current translation was modified prior to this date. Useful after modifying contextual resources like screenshots, style guides, or glossaries.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2443
- routing: {
2444
- send: {
2445
- property: 'translationModifiedBefore',
2446
- propertyInDotNotation: false,
2447
- type: 'body',
2448
- value: '={{ $value || undefined }}'
2449
- }
2450
- },
2451
- displayOptions: {
2452
- show: {
2453
- resource: [
2454
- 'translations'
2455
- ],
2456
- operation: [
2457
- 'api.projects.pre-translations.post'
2458
- ]
2459
- }
2460
- },
2461
- placeholder: '2026-01-01T00:00:00+00:00'
2462
- },
2463
- {
2464
- displayName: 'Replace Translations Option',
2465
- name: 'replaceTranslationsOption',
2466
- type: 'options',
2467
- default: '',
2468
- description: 'Defines whether to replace existing translations with new auto-translations. Default is `none`. Available values:\n- \'none\' – add the new translation alongside existing ones (default)\n- \'autoTranslated\' – replace auto-generated translations (TM, MT, AI). Human translations are kept\n- \'all\' – replace all existing translations\n\n__Note:__ Values other than `none` require `scope` to be `translated` or `all` (cannot be combined with `scope: "untranslated"` or `translateUntranslatedOnly: true`).',
2469
- options: [
2470
- {
2471
- name: '-',
2472
- value: ''
2473
- },
2474
- {
2475
- name: 'none',
2476
- value: 'none'
2477
- },
2478
- {
2479
- name: 'autoTranslated',
2480
- value: 'autoTranslated'
2481
- },
2482
- {
2483
- name: 'all',
2484
- value: 'all'
2485
- }
2486
- ],
2487
- routing: {
2488
- send: {
2489
- property: 'replaceTranslationsOption',
2490
- propertyInDotNotation: false,
2491
- type: 'body',
2492
- value: '={{ $value || undefined }}'
2493
- }
2494
- },
2495
- displayOptions: {
2496
- show: {
2497
- resource: [
2498
- 'translations'
2499
- ],
2500
- operation: [
2501
- 'api.projects.pre-translations.post'
2502
- ]
2503
- }
2504
- }
2505
- },
2506
- {
2507
- displayName: 'Reset Approval Status',
2508
- name: 'resetApprovalStatus',
2509
- type: 'boolean',
2510
- default: false,
2511
- description: 'Removes approval on existing translations when applying auto-translations. Default is `false`.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used together with `skipApprovedTranslations`, `autoApproveOption` (any value other than `none`), or when `replaceTranslationsOption` is `all` (replaced translations lose approval automatically). Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2512
- routing: {
2513
- send: {
2514
- property: 'resetApprovalStatus',
2515
- propertyInDotNotation: false,
2516
- type: 'body',
2517
- value: '={{ $value }}'
2518
- }
2519
- },
2520
- displayOptions: {
2521
- show: {
2522
- resource: [
2523
- 'translations'
2524
- ],
2525
- operation: [
2526
- 'api.projects.pre-translations.post'
2527
- ]
2528
- }
2529
- }
2530
- },
2531
- {
2532
- displayName: 'Minimum Match Ratio',
2533
- name: 'minimumMatchRatio',
2534
- type: 'number',
2535
- default: 0,
2536
- description: 'Add translation when TM match is greater or equal to minimum match ratio. This argument will be ignored if `translateWithPerfectMatchOnly` is set.\n\n__Note:__ Works only with TM auto-translation method',
2537
- routing: {
2538
- send: {
2539
- property: 'minimumMatchRatio',
2540
- propertyInDotNotation: false,
2541
- type: 'body',
2542
- value: '={{ $value !== 0 ? $value : undefined }}'
2543
- }
2544
- },
2545
- displayOptions: {
2546
- show: {
2547
- resource: [
2548
- 'translations'
2549
- ],
2550
- operation: [
2551
- 'api.projects.pre-translations.post'
2552
- ]
2553
- }
2554
- },
2555
- placeholder: '100'
2556
- },
2557
- {
2558
- displayName: 'Translate With Perfect Match Only',
2559
- name: 'translateWithPerfectMatchOnly',
2560
- type: 'boolean',
2561
- default: false,
2562
- description: 'Applies auto-translation only for the strings with perfect match (source text and contextual information are identical)\n\n__Note:__ Works only with TM auto-translation method',
2563
- routing: {
2564
- send: {
2565
- property: 'translateWithPerfectMatchOnly',
2566
- propertyInDotNotation: false,
2567
- type: 'body',
2568
- value: '={{ $value }}'
2569
- }
2570
- },
2571
- displayOptions: {
2572
- show: {
2573
- resource: [
2574
- 'translations'
2575
- ],
2576
- operation: [
2577
- 'api.projects.pre-translations.post'
2578
- ]
2579
- }
2580
- }
2581
- },
2582
- {
2583
- displayName: 'Fallback Languages',
2584
- name: 'fallbackLanguages',
2585
- type: 'fixedCollection',
2586
- default: {},
2587
- description: 'Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Auto-Translation',
2588
- routing: {
2589
- send: {
2590
- property: 'fallbackLanguages',
2591
- propertyInDotNotation: false,
2592
- type: 'body',
2593
- value: '={{ $value.fields || undefined }}',
2594
- preSend: [
2595
- preSend_1.normalizeFieldBody
2596
- ]
2597
- }
2598
- },
2599
- displayOptions: {
2600
- show: {
2601
- resource: [
2602
- 'translations'
2603
- ],
2604
- operation: [
2605
- 'api.projects.pre-translations.post'
2047
+ displayName: 'By Files',
2048
+ name: '_byFiles',
2049
+ values: [
2050
+ {
2051
+ displayName: 'Language Ids',
2052
+ name: 'languageIds',
2053
+ type: 'multiOptions',
2054
+ typeOptions: {
2055
+ loadOptionsMethod: 'getLanguagesMulti'
2056
+ },
2057
+ default: [],
2058
+ description: 'Set of languages to which auto-translation should be applied. Get via [List Supported Languages](#operation/api.languages.getMany)',
2059
+ required: true
2060
+ },
2061
+ {
2062
+ displayName: 'File Ids',
2063
+ name: 'fileIds',
2064
+ type: 'multiOptions',
2065
+ typeOptions: {
2066
+ loadOptionsMethod: 'getProjectFilesMulti',
2067
+ loadOptionsDependsOn: [
2068
+ 'projectId'
2069
+ ]
2070
+ },
2071
+ default: [],
2072
+ description: 'Files array that should be translated\n\n__Note:__ Required unless `directoryIds` or `branchIds` is set'
2073
+ },
2074
+ {
2075
+ displayName: 'Directory Ids',
2076
+ name: 'directoryIds',
2077
+ type: 'multiOptions',
2078
+ typeOptions: {
2079
+ loadOptionsMethod: 'getProjectDirectoriesMulti',
2080
+ loadOptionsDependsOn: [
2081
+ 'projectId'
2082
+ ]
2083
+ },
2084
+ default: [],
2085
+ description: 'Directories array that should be translated. Includes all nested files'
2086
+ },
2087
+ {
2088
+ displayName: 'Branch Ids',
2089
+ name: 'branchIds',
2090
+ type: 'multiOptions',
2091
+ typeOptions: {
2092
+ loadOptionsMethod: 'getBranchesMulti',
2093
+ loadOptionsDependsOn: [
2094
+ 'projectId'
2095
+ ]
2096
+ },
2097
+ default: [],
2098
+ description: 'Branches array that should be translated. Includes all nested files'
2099
+ },
2100
+ {
2101
+ displayName: 'Label Ids',
2102
+ name: 'labelIds',
2103
+ type: 'multiOptions',
2104
+ typeOptions: {
2105
+ loadOptionsMethod: 'getProjectLabelsMulti',
2106
+ loadOptionsDependsOn: [
2107
+ 'projectId'
2108
+ ]
2109
+ },
2110
+ default: [],
2111
+ description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)'
2112
+ },
2113
+ {
2114
+ displayName: 'Exclude Label Ids',
2115
+ name: 'excludeLabelIds',
2116
+ type: 'multiOptions',
2117
+ typeOptions: {
2118
+ loadOptionsMethod: 'getProjectLabelsMulti',
2119
+ loadOptionsDependsOn: [
2120
+ 'projectId'
2121
+ ]
2122
+ },
2123
+ default: [],
2124
+ description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)'
2125
+ },
2126
+ {
2127
+ displayName: 'Method',
2128
+ name: 'method',
2129
+ type: 'options',
2130
+ default: '',
2131
+ description: 'Defines auto-translation method. Available values:\n- \'tm\' – auto-translation via Translation Memory\n- \'mt\' – auto-translation via Machine Translation. \'mt\' should be used with `engineId` parameter\n- \'ai\' – auto-translation via AI. \'ai\' should be used with `aiPromptId` parameter',
2132
+ options: [
2133
+ {
2134
+ name: '-',
2135
+ value: ''
2136
+ },
2137
+ {
2138
+ name: 'tm',
2139
+ value: 'tm'
2140
+ },
2141
+ {
2142
+ name: 'mt',
2143
+ value: 'mt'
2144
+ },
2145
+ {
2146
+ name: 'ai',
2147
+ value: 'ai'
2148
+ }
2149
+ ],
2150
+ placeholder: 'mt'
2151
+ },
2152
+ {
2153
+ displayName: 'Priority',
2154
+ name: 'priority',
2155
+ type: 'options',
2156
+ default: '',
2157
+ description: undefined,
2158
+ options: [
2159
+ {
2160
+ name: '-',
2161
+ value: ''
2162
+ },
2163
+ {
2164
+ name: 'low',
2165
+ value: 'low'
2166
+ },
2167
+ {
2168
+ name: 'normal',
2169
+ value: 'normal'
2170
+ },
2171
+ {
2172
+ name: 'high',
2173
+ value: 'high'
2174
+ }
2175
+ ]
2176
+ },
2177
+ {
2178
+ displayName: 'Engine Id',
2179
+ name: 'engineId',
2180
+ type: 'options',
2181
+ default: '',
2182
+ description: 'Machine Translation engine Identifier. Get via [List MTs](#operation/api.mts.getMany)',
2183
+ typeOptions: {
2184
+ loadOptionsMethod: 'getMTEngines'
2185
+ }
2186
+ },
2187
+ {
2188
+ displayName: 'Ai Prompt Id',
2189
+ name: 'aiPromptId',
2190
+ type: 'options',
2191
+ default: '',
2192
+ description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
2193
+ typeOptions: {
2194
+ loadOptionsMethod: 'getAiPrompts'
2195
+ }
2196
+ },
2197
+ {
2198
+ displayName: 'Auto Approve Option',
2199
+ name: 'autoApproveOption',
2200
+ type: 'options',
2201
+ default: '',
2202
+ description: 'Defines which translations added by TM auto-translation should be auto-approved. Available values:\n- \'all\' – all\n- \'perfectMatchOnly\' – with perfect TM match\n- \'exceptAutoSubstituted\' – all (skip auto-substituted suggestions)\n- \'perfectMatchApprovedOnly\' - with perfect TM match (approved previously)\n- \'none\' – no auto-approve',
2203
+ options: [
2204
+ {
2205
+ name: '-',
2206
+ value: ''
2207
+ },
2208
+ {
2209
+ name: 'all',
2210
+ value: 'all'
2211
+ },
2212
+ {
2213
+ name: 'exceptAutoSubstituted',
2214
+ value: 'exceptAutoSubstituted'
2215
+ },
2216
+ {
2217
+ name: 'perfectMatchApprovedOnly',
2218
+ value: 'perfectMatchApprovedOnly'
2219
+ },
2220
+ {
2221
+ name: 'perfectMatchOnly',
2222
+ value: 'perfectMatchOnly'
2223
+ },
2224
+ {
2225
+ name: 'none',
2226
+ value: 'none'
2227
+ }
2228
+ ]
2229
+ },
2230
+ {
2231
+ displayName: 'Duplicate Translations',
2232
+ name: 'duplicateTranslations',
2233
+ type: 'boolean',
2234
+ default: false,
2235
+ description: 'Adds translations even if the same translation already exists. Default is `false`.\n\n__Note:__ Cannot be used when `replaceTranslationsOption` is `all` (replacing all translations already overrides duplicate handling).'
2236
+ },
2237
+ {
2238
+ displayName: 'Skip Approved Translations',
2239
+ name: 'skipApprovedTranslations',
2240
+ type: 'boolean',
2241
+ default: false,
2242
+ description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.'
2243
+ },
2244
+ {
2245
+ displayName: 'Scope',
2246
+ name: 'scope',
2247
+ type: 'options',
2248
+ default: '',
2249
+ description: 'Which strings to apply auto-translation to. Default is `untranslated`. Available values:\n- \'untranslated\' – strings without an existing translation (default)\n- \'translated\' – strings that already have a translation (re-translation)\n- \'all\' – both untranslated and translated strings\n\n__Note:__ Cannot be used together with the deprecated `translateUntranslatedOnly`.',
2250
+ options: [
2251
+ {
2252
+ name: '-',
2253
+ value: ''
2254
+ },
2255
+ {
2256
+ name: 'untranslated',
2257
+ value: 'untranslated'
2258
+ },
2259
+ {
2260
+ name: 'translated',
2261
+ value: 'translated'
2262
+ },
2263
+ {
2264
+ name: 'all',
2265
+ value: 'all'
2266
+ }
2267
+ ]
2268
+ },
2269
+ {
2270
+ displayName: 'Translation Modified Before',
2271
+ name: 'dateTime:translationModifiedBefore',
2272
+ type: 'dateTime',
2273
+ default: '',
2274
+ description: 'Re-translates only if a string\'s current translation was modified prior to this date. Useful after modifying contextual resources like screenshots, style guides, or glossaries.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2275
+ placeholder: '2026-01-01T00:00:00+00:00'
2276
+ },
2277
+ {
2278
+ displayName: 'Translation Modified After',
2279
+ name: 'dateTime:translationModifiedAfter',
2280
+ type: 'dateTime',
2281
+ default: '',
2282
+ description: 'Re-translates only if a string\'s current translation was modified after this date. Can be combined with `translationModifiedBefore` to define a date range.\n\n__Note:__ Cannot be later than `translationModifiedBefore`. Requires `scope` to be `translated` or `all`. Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2283
+ placeholder: '2026-01-01T00:00:00+00:00'
2284
+ },
2285
+ {
2286
+ displayName: 'Replace Translations Option',
2287
+ name: 'replaceTranslationsOption',
2288
+ type: 'options',
2289
+ default: '',
2290
+ description: 'Defines whether to replace existing translations with new auto-translations. Default is `none`. Available values:\n- \'none\' – add the new translation alongside existing ones (default)\n- \'autoTranslated\' – replace auto-generated translations (TM, MT, AI). Human translations are kept\n- \'all\' – replace all existing translations\n\n__Note:__ Values other than `none` require `scope` to be `translated` or `all` (cannot be combined with `scope: "untranslated"` or `translateUntranslatedOnly: true`).',
2291
+ options: [
2292
+ {
2293
+ name: '-',
2294
+ value: ''
2295
+ },
2296
+ {
2297
+ name: 'none',
2298
+ value: 'none'
2299
+ },
2300
+ {
2301
+ name: 'autoTranslated',
2302
+ value: 'autoTranslated'
2303
+ },
2304
+ {
2305
+ name: 'all',
2306
+ value: 'all'
2307
+ }
2308
+ ]
2309
+ },
2310
+ {
2311
+ displayName: 'Reset Approval Status',
2312
+ name: 'resetApprovalStatus',
2313
+ type: 'boolean',
2314
+ default: false,
2315
+ description: 'Removes approval on existing translations when applying auto-translations. Default is `false`.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used together with `skipApprovedTranslations`, `autoApproveOption` (any value other than `none`), or when `replaceTranslationsOption` is `all` (replaced translations lose approval automatically). Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.'
2316
+ },
2317
+ {
2318
+ displayName: 'Minimum Match Ratio',
2319
+ name: 'minimumMatchRatio',
2320
+ type: 'number',
2321
+ default: 0,
2322
+ description: 'Add translation when TM match is greater or equal to minimum match ratio. This argument will be ignored if `translateWithPerfectMatchOnly` is set.\n\n__Note:__ Works only with TM auto-translation method',
2323
+ placeholder: '100'
2324
+ },
2325
+ {
2326
+ displayName: 'Translate With Perfect Match Only',
2327
+ name: 'translateWithPerfectMatchOnly',
2328
+ type: 'boolean',
2329
+ default: false,
2330
+ description: 'Applies auto-translation only for the strings with perfect match (source text and contextual information are identical)\n\n__Note:__ Works only with TM auto-translation method'
2331
+ },
2332
+ {
2333
+ displayName: 'Fallback Languages',
2334
+ name: 'fallbackLanguages',
2335
+ type: 'fixedCollection',
2336
+ default: {},
2337
+ description: 'Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Auto-Translation',
2338
+ placeholder: 'Add Field',
2339
+ options: [
2340
+ {
2341
+ displayName: 'Fields',
2342
+ name: 'fields',
2343
+ values: [
2344
+ {
2345
+ displayName: 'Language Id',
2346
+ name: 'languageId',
2347
+ type: 'options',
2348
+ typeOptions: {
2349
+ loadOptionsMethod: 'getLanguages'
2350
+ },
2351
+ default: '',
2352
+ description: undefined
2353
+ }
2354
+ ]
2355
+ }
2356
+ ]
2357
+ },
2358
+ {
2359
+ displayName: 'Custom Instruction',
2360
+ name: 'customInstruction',
2361
+ type: 'string',
2362
+ default: '',
2363
+ description: 'Custom instruction for AI auto-translation. This instruction will be appended to the AI prompt text.\n\n__Note:__ Available only for AI auto-translation method'
2364
+ }
2606
2365
  ]
2607
- }
2608
- },
2609
- placeholder: 'Add Field',
2610
- options: [
2366
+ },
2611
2367
  {
2612
- displayName: 'Fields',
2613
- name: 'fields',
2368
+ displayName: 'By Task',
2369
+ name: '_byTask',
2614
2370
  values: [
2615
2371
  {
2616
- displayName: 'Language Id',
2617
- name: 'languageId',
2372
+ displayName: 'Task Id',
2373
+ name: 'taskId',
2618
2374
  type: 'options',
2375
+ default: '',
2376
+ description: 'Task Identifier. Get via [List Tasks](#operation/api.projects.tasks.getMany)',
2377
+ required: true,
2619
2378
  typeOptions: {
2620
- loadOptionsMethod: 'getLanguages'
2621
- },
2379
+ loadOptionsMethod: 'getProjectTasks',
2380
+ loadOptionsDependsOn: [
2381
+ 'projectId'
2382
+ ]
2383
+ }
2384
+ },
2385
+ {
2386
+ displayName: 'Method',
2387
+ name: 'method',
2388
+ type: 'options',
2389
+ default: '',
2390
+ description: 'Defines auto-translation method. Available values:\n- \'tm\' – auto-translation via Translation Memory\n- \'mt\' – auto-translation via Machine Translation. \'mt\' should be used with `engineId` parameter\n- \'ai\' – auto-translation via AI. \'ai\' should be used with `aiPromptId` parameter',
2391
+ options: [
2392
+ {
2393
+ name: '-',
2394
+ value: ''
2395
+ },
2396
+ {
2397
+ name: 'tm',
2398
+ value: 'tm'
2399
+ },
2400
+ {
2401
+ name: 'mt',
2402
+ value: 'mt'
2403
+ },
2404
+ {
2405
+ name: 'ai',
2406
+ value: 'ai'
2407
+ }
2408
+ ],
2409
+ placeholder: 'mt'
2410
+ },
2411
+ {
2412
+ displayName: 'Priority',
2413
+ name: 'priority',
2414
+ type: 'options',
2415
+ default: '',
2416
+ description: undefined,
2417
+ options: [
2418
+ {
2419
+ name: '-',
2420
+ value: ''
2421
+ },
2422
+ {
2423
+ name: 'low',
2424
+ value: 'low'
2425
+ },
2426
+ {
2427
+ name: 'normal',
2428
+ value: 'normal'
2429
+ },
2430
+ {
2431
+ name: 'high',
2432
+ value: 'high'
2433
+ }
2434
+ ]
2435
+ },
2436
+ {
2437
+ displayName: 'Engine Id',
2438
+ name: 'engineId',
2439
+ type: 'options',
2440
+ default: '',
2441
+ description: 'Machine Translation engine Identifier. Get via [List MTs](#operation/api.mts.getMany)',
2442
+ typeOptions: {
2443
+ loadOptionsMethod: 'getMTEngines'
2444
+ }
2445
+ },
2446
+ {
2447
+ displayName: 'Ai Prompt Id',
2448
+ name: 'aiPromptId',
2449
+ type: 'options',
2450
+ default: '',
2451
+ description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
2452
+ typeOptions: {
2453
+ loadOptionsMethod: 'getAiPrompts'
2454
+ }
2455
+ },
2456
+ {
2457
+ displayName: 'Auto Approve Option',
2458
+ name: 'autoApproveOption',
2459
+ type: 'options',
2460
+ default: '',
2461
+ description: 'Defines which translations added by TM auto-translation should be auto-approved. Available values:\n- \'all\' – all\n- \'perfectMatchOnly\' – with perfect TM match\n- \'exceptAutoSubstituted\' – all (skip auto-substituted suggestions)\n- \'perfectMatchApprovedOnly\' - with perfect TM match (approved previously)\n- \'none\' – no auto-approve',
2462
+ options: [
2463
+ {
2464
+ name: '-',
2465
+ value: ''
2466
+ },
2467
+ {
2468
+ name: 'all',
2469
+ value: 'all'
2470
+ },
2471
+ {
2472
+ name: 'exceptAutoSubstituted',
2473
+ value: 'exceptAutoSubstituted'
2474
+ },
2475
+ {
2476
+ name: 'perfectMatchApprovedOnly',
2477
+ value: 'perfectMatchApprovedOnly'
2478
+ },
2479
+ {
2480
+ name: 'perfectMatchOnly',
2481
+ value: 'perfectMatchOnly'
2482
+ },
2483
+ {
2484
+ name: 'none',
2485
+ value: 'none'
2486
+ }
2487
+ ]
2488
+ },
2489
+ {
2490
+ displayName: 'Duplicate Translations',
2491
+ name: 'duplicateTranslations',
2492
+ type: 'boolean',
2493
+ default: false,
2494
+ description: 'Adds translations even if the same translation already exists. Default is `false`.\n\n__Note:__ Cannot be used when `replaceTranslationsOption` is `all` (replacing all translations already overrides duplicate handling).'
2495
+ },
2496
+ {
2497
+ displayName: 'Skip Approved Translations',
2498
+ name: 'skipApprovedTranslations',
2499
+ type: 'boolean',
2500
+ default: false,
2501
+ description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.'
2502
+ },
2503
+ {
2504
+ displayName: 'Scope',
2505
+ name: 'scope',
2506
+ type: 'options',
2507
+ default: '',
2508
+ description: 'Which strings to apply auto-translation to. Default is `untranslated`. Available values:\n- \'untranslated\' – strings without an existing translation (default)\n- \'translated\' – strings that already have a translation (re-translation)\n- \'all\' – both untranslated and translated strings\n\n__Note:__ Cannot be used together with the deprecated `translateUntranslatedOnly`.',
2509
+ options: [
2510
+ {
2511
+ name: '-',
2512
+ value: ''
2513
+ },
2514
+ {
2515
+ name: 'untranslated',
2516
+ value: 'untranslated'
2517
+ },
2518
+ {
2519
+ name: 'translated',
2520
+ value: 'translated'
2521
+ },
2522
+ {
2523
+ name: 'all',
2524
+ value: 'all'
2525
+ }
2526
+ ]
2527
+ },
2528
+ {
2529
+ displayName: 'Translation Modified Before',
2530
+ name: 'dateTime:translationModifiedBefore',
2531
+ type: 'dateTime',
2532
+ default: '',
2533
+ description: 'Re-translates only if a string\'s current translation was modified prior to this date. Useful after modifying contextual resources like screenshots, style guides, or glossaries.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2534
+ placeholder: '2026-01-01T00:00:00+00:00'
2535
+ },
2536
+ {
2537
+ displayName: 'Translation Modified After',
2538
+ name: 'dateTime:translationModifiedAfter',
2539
+ type: 'dateTime',
2540
+ default: '',
2541
+ description: 'Re-translates only if a string\'s current translation was modified after this date. Can be combined with `translationModifiedBefore` to define a date range.\n\n__Note:__ Cannot be later than `translationModifiedBefore`. Requires `scope` to be `translated` or `all`. Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.',
2542
+ placeholder: '2026-01-01T00:00:00+00:00'
2543
+ },
2544
+ {
2545
+ displayName: 'Replace Translations Option',
2546
+ name: 'replaceTranslationsOption',
2547
+ type: 'options',
2548
+ default: '',
2549
+ description: 'Defines whether to replace existing translations with new auto-translations. Default is `none`. Available values:\n- \'none\' – add the new translation alongside existing ones (default)\n- \'autoTranslated\' – replace auto-generated translations (TM, MT, AI). Human translations are kept\n- \'all\' – replace all existing translations\n\n__Note:__ Values other than `none` require `scope` to be `translated` or `all` (cannot be combined with `scope: "untranslated"` or `translateUntranslatedOnly: true`).',
2550
+ options: [
2551
+ {
2552
+ name: '-',
2553
+ value: ''
2554
+ },
2555
+ {
2556
+ name: 'none',
2557
+ value: 'none'
2558
+ },
2559
+ {
2560
+ name: 'autoTranslated',
2561
+ value: 'autoTranslated'
2562
+ },
2563
+ {
2564
+ name: 'all',
2565
+ value: 'all'
2566
+ }
2567
+ ]
2568
+ },
2569
+ {
2570
+ displayName: 'Reset Approval Status',
2571
+ name: 'resetApprovalStatus',
2572
+ type: 'boolean',
2573
+ default: false,
2574
+ description: 'Removes approval on existing translations when applying auto-translations. Default is `false`.\n\n__Note:__ Requires `scope` to be `translated` or `all`. Cannot be used together with `skipApprovedTranslations`, `autoApproveOption` (any value other than `none`), or when `replaceTranslationsOption` is `all` (replaced translations lose approval automatically). Cannot be used with `scope: "untranslated"` or `translateUntranslatedOnly: true`.'
2575
+ },
2576
+ {
2577
+ displayName: 'Minimum Match Ratio',
2578
+ name: 'minimumMatchRatio',
2579
+ type: 'number',
2580
+ default: 0,
2581
+ description: 'Add translation when TM match is greater or equal to minimum match ratio. This argument will be ignored if `translateWithPerfectMatchOnly` is set.\n\n__Note:__ Works only with TM auto-translation method',
2582
+ placeholder: '100'
2583
+ },
2584
+ {
2585
+ displayName: 'Translate With Perfect Match Only',
2586
+ name: 'translateWithPerfectMatchOnly',
2587
+ type: 'boolean',
2588
+ default: false,
2589
+ description: 'Applies auto-translation only for the strings with perfect match (source text and contextual information are identical)\n\n__Note:__ Works only with TM auto-translation method'
2590
+ },
2591
+ {
2592
+ displayName: 'Fallback Languages',
2593
+ name: 'fallbackLanguages',
2594
+ type: 'fixedCollection',
2595
+ default: {},
2596
+ description: 'Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Auto-Translation',
2597
+ placeholder: 'Add Field',
2598
+ options: [
2599
+ {
2600
+ displayName: 'Fields',
2601
+ name: 'fields',
2602
+ values: [
2603
+ {
2604
+ displayName: 'Language Id',
2605
+ name: 'languageId',
2606
+ type: 'options',
2607
+ typeOptions: {
2608
+ loadOptionsMethod: 'getLanguages'
2609
+ },
2610
+ default: '',
2611
+ description: undefined
2612
+ }
2613
+ ]
2614
+ }
2615
+ ]
2616
+ },
2617
+ {
2618
+ displayName: 'Custom Instruction',
2619
+ name: 'customInstruction',
2620
+ type: 'string',
2622
2621
  default: '',
2623
- description: undefined
2622
+ description: 'Custom instruction for AI auto-translation. This instruction will be appended to the AI prompt text.\n\n__Note:__ Available only for AI auto-translation method'
2624
2623
  }
2625
2624
  ]
2626
2625
  }
2627
- ]
2628
- },
2629
- {
2630
- displayName: 'Label Ids',
2631
- name: 'labelIds',
2632
- type: 'multiOptions',
2633
- default: [],
2634
- description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)',
2626
+ ],
2635
2627
  routing: {
2636
2628
  send: {
2637
- property: 'labelIds',
2638
- propertyInDotNotation: false,
2639
- type: 'body',
2640
- value: '={{ $value }}'
2641
- }
2642
- },
2643
- displayOptions: {
2644
- show: {
2645
- resource: [
2646
- 'translations'
2629
+ preSend: [
2630
+ preSend_1.normalizeRootBody
2647
2631
  ],
2648
- operation: [
2649
- 'api.projects.pre-translations.post'
2650
- ]
2651
- }
2652
- },
2653
- typeOptions: {
2654
- loadOptionsMethod: 'getProjectLabelsMulti',
2655
- loadOptionsDependsOn: [
2656
- 'projectId'
2657
- ]
2658
- }
2659
- },
2660
- {
2661
- displayName: 'Exclude Label Ids',
2662
- name: 'excludeLabelIds',
2663
- type: 'multiOptions',
2664
- default: [],
2665
- description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)',
2666
- routing: {
2667
- send: {
2668
- property: 'excludeLabelIds',
2632
+ property: '_body',
2669
2633
  propertyInDotNotation: false,
2670
2634
  type: 'body',
2671
2635
  value: '={{ $value }}'
2672
2636
  }
2673
- },
2674
- displayOptions: {
2675
- show: {
2676
- resource: [
2677
- 'translations'
2678
- ],
2679
- operation: [
2680
- 'api.projects.pre-translations.post'
2681
- ]
2682
- }
2683
- },
2684
- typeOptions: {
2685
- loadOptionsMethod: 'getProjectLabelsMulti',
2686
- loadOptionsDependsOn: [
2687
- 'projectId'
2688
- ]
2689
- }
2690
- },
2691
- {
2692
- displayName: 'Custom Instruction',
2693
- name: 'customInstruction',
2694
- type: 'string',
2695
- default: '',
2696
- description: 'Custom instruction for AI auto-translation. This instruction will be appended to the AI prompt text.\n\n__Note:__ Available only for AI auto-translation method',
2697
- routing: {
2698
- send: {
2699
- property: 'customInstruction',
2700
- propertyInDotNotation: false,
2701
- type: 'body',
2702
- value: '={{ $value || undefined }}'
2703
- }
2704
- },
2705
- displayOptions: {
2706
- show: {
2707
- resource: [
2708
- 'translations'
2709
- ],
2710
- operation: [
2711
- 'api.projects.pre-translations.post'
2712
- ]
2713
- }
2714
2637
  }
2715
2638
  },
2716
2639
  {
@@ -4561,31 +4484,6 @@ exports.translationsProperties = [
4561
4484
  value: 'finished'
4562
4485
  }
4563
4486
  ]
4564
- },
4565
- {
4566
- displayName: 'Priority',
4567
- name: 'priority',
4568
- type: 'options',
4569
- default: '',
4570
- description: 'Value for /priority',
4571
- options: [
4572
- {
4573
- name: '-',
4574
- value: ''
4575
- },
4576
- {
4577
- name: 'low',
4578
- value: 'low'
4579
- },
4580
- {
4581
- name: 'normal',
4582
- value: 'normal'
4583
- },
4584
- {
4585
- name: 'high',
4586
- value: 'high'
4587
- }
4588
- ]
4589
4487
  }
4590
4488
  ],
4591
4489
  routing: {