@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.
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js +115 -8
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js +20 -20
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js +588 -0
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js +614 -0
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js +582 -682
- package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js +115 -8
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js +20 -20
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js.map +1 -1
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js +555 -619
- package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js +115 -8
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js +14 -14
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js +588 -0
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js +614 -0
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js +84 -0
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/tasks.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js +578 -680
- package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js +115 -8
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js +14 -14
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js +84 -0
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/tasks.js.map +1 -1
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js +552 -618
- package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2001,549 +2001,11 @@ exports.translationsProperties = [
|
|
|
2001
2001
|
}
|
|
2002
2002
|
},
|
|
2003
2003
|
{
|
|
2004
|
-
displayName: '
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
type: 'multiOptions',
|
|
2008
|
-
default: [],
|
|
2009
|
-
description: 'Set of languages to which auto-translation should be applied. Get via [List Supported Languages](#operation/api.languages.getMany)',
|
|
2010
|
-
routing: {
|
|
2011
|
-
send: {
|
|
2012
|
-
property: 'languageIds',
|
|
2013
|
-
propertyInDotNotation: false,
|
|
2014
|
-
type: 'body',
|
|
2015
|
-
value: '={{ $value }}'
|
|
2016
|
-
}
|
|
2017
|
-
},
|
|
2018
|
-
displayOptions: {
|
|
2019
|
-
show: {
|
|
2020
|
-
resource: [
|
|
2021
|
-
'translations'
|
|
2022
|
-
],
|
|
2023
|
-
operation: [
|
|
2024
|
-
'api.projects.pre-translations.post'
|
|
2025
|
-
]
|
|
2026
|
-
}
|
|
2027
|
-
},
|
|
2028
|
-
typeOptions: {
|
|
2029
|
-
loadOptionsMethod: 'getLanguagesMulti'
|
|
2030
|
-
}
|
|
2031
|
-
},
|
|
2032
|
-
{
|
|
2033
|
-
displayName: 'File Ids',
|
|
2034
|
-
name: 'fileIds',
|
|
2035
|
-
type: 'multiOptions',
|
|
2036
|
-
default: [],
|
|
2037
|
-
description: 'Files array that should be translated\n\n__Note:__ Required unless `directoryIds` or `branchIds` is set',
|
|
2038
|
-
routing: {
|
|
2039
|
-
send: {
|
|
2040
|
-
property: 'fileIds',
|
|
2041
|
-
propertyInDotNotation: false,
|
|
2042
|
-
type: 'body',
|
|
2043
|
-
value: '={{ $value }}'
|
|
2044
|
-
}
|
|
2045
|
-
},
|
|
2046
|
-
displayOptions: {
|
|
2047
|
-
show: {
|
|
2048
|
-
resource: [
|
|
2049
|
-
'translations'
|
|
2050
|
-
],
|
|
2051
|
-
operation: [
|
|
2052
|
-
'api.projects.pre-translations.post'
|
|
2053
|
-
]
|
|
2054
|
-
}
|
|
2055
|
-
},
|
|
2056
|
-
typeOptions: {
|
|
2057
|
-
loadOptionsMethod: 'getProjectFilesMulti',
|
|
2058
|
-
loadOptionsDependsOn: [
|
|
2059
|
-
'projectId'
|
|
2060
|
-
]
|
|
2061
|
-
}
|
|
2062
|
-
},
|
|
2063
|
-
{
|
|
2064
|
-
displayName: 'Directory Ids',
|
|
2065
|
-
name: 'directoryIds',
|
|
2066
|
-
type: 'multiOptions',
|
|
2067
|
-
default: [],
|
|
2068
|
-
description: 'Directories array that should be translated. Includes all nested files',
|
|
2069
|
-
routing: {
|
|
2070
|
-
send: {
|
|
2071
|
-
property: 'directoryIds',
|
|
2072
|
-
propertyInDotNotation: false,
|
|
2073
|
-
type: 'body',
|
|
2074
|
-
value: '={{ $value }}'
|
|
2075
|
-
}
|
|
2076
|
-
},
|
|
2077
|
-
displayOptions: {
|
|
2078
|
-
show: {
|
|
2079
|
-
resource: [
|
|
2080
|
-
'translations'
|
|
2081
|
-
],
|
|
2082
|
-
operation: [
|
|
2083
|
-
'api.projects.pre-translations.post'
|
|
2084
|
-
]
|
|
2085
|
-
}
|
|
2086
|
-
},
|
|
2087
|
-
typeOptions: {
|
|
2088
|
-
loadOptionsMethod: 'getProjectDirectoriesMulti',
|
|
2089
|
-
loadOptionsDependsOn: [
|
|
2090
|
-
'projectId'
|
|
2091
|
-
]
|
|
2092
|
-
}
|
|
2093
|
-
},
|
|
2094
|
-
{
|
|
2095
|
-
displayName: 'Branch Ids',
|
|
2096
|
-
name: 'branchIds',
|
|
2097
|
-
type: 'multiOptions',
|
|
2098
|
-
default: [],
|
|
2099
|
-
description: 'Branches array that should be translated. Includes all nested files',
|
|
2100
|
-
routing: {
|
|
2101
|
-
send: {
|
|
2102
|
-
property: 'branchIds',
|
|
2103
|
-
propertyInDotNotation: false,
|
|
2104
|
-
type: 'body',
|
|
2105
|
-
value: '={{ $value }}'
|
|
2106
|
-
}
|
|
2107
|
-
},
|
|
2108
|
-
displayOptions: {
|
|
2109
|
-
show: {
|
|
2110
|
-
resource: [
|
|
2111
|
-
'translations'
|
|
2112
|
-
],
|
|
2113
|
-
operation: [
|
|
2114
|
-
'api.projects.pre-translations.post'
|
|
2115
|
-
]
|
|
2116
|
-
}
|
|
2117
|
-
},
|
|
2118
|
-
typeOptions: {
|
|
2119
|
-
loadOptionsMethod: 'getBranchesMulti',
|
|
2120
|
-
loadOptionsDependsOn: [
|
|
2121
|
-
'projectId'
|
|
2122
|
-
]
|
|
2123
|
-
}
|
|
2124
|
-
},
|
|
2125
|
-
{
|
|
2126
|
-
displayName: 'Method',
|
|
2127
|
-
name: 'method',
|
|
2128
|
-
type: 'options',
|
|
2129
|
-
default: '',
|
|
2130
|
-
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',
|
|
2131
|
-
options: [
|
|
2132
|
-
{
|
|
2133
|
-
name: '-',
|
|
2134
|
-
value: ''
|
|
2135
|
-
},
|
|
2136
|
-
{
|
|
2137
|
-
name: 'tm',
|
|
2138
|
-
value: 'tm'
|
|
2139
|
-
},
|
|
2140
|
-
{
|
|
2141
|
-
name: 'mt',
|
|
2142
|
-
value: 'mt'
|
|
2143
|
-
},
|
|
2144
|
-
{
|
|
2145
|
-
name: 'ai',
|
|
2146
|
-
value: 'ai'
|
|
2147
|
-
}
|
|
2148
|
-
],
|
|
2149
|
-
routing: {
|
|
2150
|
-
send: {
|
|
2151
|
-
property: 'method',
|
|
2152
|
-
propertyInDotNotation: false,
|
|
2153
|
-
type: 'body',
|
|
2154
|
-
value: '={{ $value || undefined }}'
|
|
2155
|
-
}
|
|
2156
|
-
},
|
|
2157
|
-
displayOptions: {
|
|
2158
|
-
show: {
|
|
2159
|
-
resource: [
|
|
2160
|
-
'translations'
|
|
2161
|
-
],
|
|
2162
|
-
operation: [
|
|
2163
|
-
'api.projects.pre-translations.post'
|
|
2164
|
-
]
|
|
2165
|
-
}
|
|
2166
|
-
}
|
|
2167
|
-
},
|
|
2168
|
-
{
|
|
2169
|
-
displayName: 'Priority',
|
|
2170
|
-
name: 'priority',
|
|
2171
|
-
type: 'options',
|
|
2172
|
-
default: '',
|
|
2173
|
-
description: undefined,
|
|
2174
|
-
options: [
|
|
2175
|
-
{
|
|
2176
|
-
name: '-',
|
|
2177
|
-
value: ''
|
|
2178
|
-
},
|
|
2179
|
-
{
|
|
2180
|
-
name: 'low',
|
|
2181
|
-
value: 'low'
|
|
2182
|
-
},
|
|
2183
|
-
{
|
|
2184
|
-
name: 'normal',
|
|
2185
|
-
value: 'normal'
|
|
2186
|
-
},
|
|
2187
|
-
{
|
|
2188
|
-
name: 'high',
|
|
2189
|
-
value: 'high'
|
|
2190
|
-
}
|
|
2191
|
-
],
|
|
2192
|
-
routing: {
|
|
2193
|
-
send: {
|
|
2194
|
-
property: 'priority',
|
|
2195
|
-
propertyInDotNotation: false,
|
|
2196
|
-
type: 'body',
|
|
2197
|
-
value: '={{ $value || undefined }}'
|
|
2198
|
-
}
|
|
2199
|
-
},
|
|
2200
|
-
displayOptions: {
|
|
2201
|
-
show: {
|
|
2202
|
-
resource: [
|
|
2203
|
-
'translations'
|
|
2204
|
-
],
|
|
2205
|
-
operation: [
|
|
2206
|
-
'api.projects.pre-translations.post'
|
|
2207
|
-
]
|
|
2208
|
-
}
|
|
2209
|
-
}
|
|
2210
|
-
},
|
|
2211
|
-
{
|
|
2212
|
-
displayName: 'Engine Id',
|
|
2213
|
-
name: 'engineId',
|
|
2214
|
-
type: 'options',
|
|
2215
|
-
default: '',
|
|
2216
|
-
description: 'Machine Translation engine Identifier. Read more about how to get the [MT engine identifier](https://support.crowdin.com/configuring-machine-translation-engines#mt-engine-ids).',
|
|
2217
|
-
routing: {
|
|
2218
|
-
send: {
|
|
2219
|
-
property: 'engineId',
|
|
2220
|
-
propertyInDotNotation: false,
|
|
2221
|
-
type: 'body',
|
|
2222
|
-
value: '={{ typeof $value === \'number\' ? $value : undefined }}'
|
|
2223
|
-
}
|
|
2224
|
-
},
|
|
2225
|
-
displayOptions: {
|
|
2226
|
-
show: {
|
|
2227
|
-
resource: [
|
|
2228
|
-
'translations'
|
|
2229
|
-
],
|
|
2230
|
-
operation: [
|
|
2231
|
-
'api.projects.pre-translations.post'
|
|
2232
|
-
]
|
|
2233
|
-
}
|
|
2234
|
-
},
|
|
2235
|
-
typeOptions: {
|
|
2236
|
-
loadOptionsMethod: 'getMTEngines'
|
|
2237
|
-
}
|
|
2238
|
-
},
|
|
2239
|
-
{
|
|
2240
|
-
displayName: 'Ai Prompt Id',
|
|
2241
|
-
name: 'aiPromptId',
|
|
2242
|
-
type: 'options',
|
|
2243
|
-
default: '',
|
|
2244
|
-
description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
|
|
2245
|
-
routing: {
|
|
2246
|
-
send: {
|
|
2247
|
-
property: 'aiPromptId',
|
|
2248
|
-
propertyInDotNotation: false,
|
|
2249
|
-
type: 'body',
|
|
2250
|
-
value: '={{ typeof $value === \'number\' ? $value : undefined }}'
|
|
2251
|
-
}
|
|
2252
|
-
},
|
|
2253
|
-
displayOptions: {
|
|
2254
|
-
show: {
|
|
2255
|
-
resource: [
|
|
2256
|
-
'translations'
|
|
2257
|
-
],
|
|
2258
|
-
operation: [
|
|
2259
|
-
'api.projects.pre-translations.post'
|
|
2260
|
-
]
|
|
2261
|
-
}
|
|
2262
|
-
},
|
|
2263
|
-
typeOptions: {
|
|
2264
|
-
loadOptionsMethod: 'getAiPrompts'
|
|
2265
|
-
}
|
|
2266
|
-
},
|
|
2267
|
-
{
|
|
2268
|
-
displayName: 'Auto Approve Option',
|
|
2269
|
-
name: 'autoApproveOption',
|
|
2270
|
-
type: 'options',
|
|
2271
|
-
default: '',
|
|
2272
|
-
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',
|
|
2273
|
-
options: [
|
|
2274
|
-
{
|
|
2275
|
-
name: '-',
|
|
2276
|
-
value: ''
|
|
2277
|
-
},
|
|
2278
|
-
{
|
|
2279
|
-
name: 'all',
|
|
2280
|
-
value: 'all'
|
|
2281
|
-
},
|
|
2282
|
-
{
|
|
2283
|
-
name: 'exceptAutoSubstituted',
|
|
2284
|
-
value: 'exceptAutoSubstituted'
|
|
2285
|
-
},
|
|
2286
|
-
{
|
|
2287
|
-
name: 'perfectMatchApprovedOnly',
|
|
2288
|
-
value: 'perfectMatchApprovedOnly'
|
|
2289
|
-
},
|
|
2290
|
-
{
|
|
2291
|
-
name: 'perfectMatchOnly',
|
|
2292
|
-
value: 'perfectMatchOnly'
|
|
2293
|
-
},
|
|
2294
|
-
{
|
|
2295
|
-
name: 'none',
|
|
2296
|
-
value: 'none'
|
|
2297
|
-
}
|
|
2298
|
-
],
|
|
2299
|
-
routing: {
|
|
2300
|
-
send: {
|
|
2301
|
-
property: 'autoApproveOption',
|
|
2302
|
-
propertyInDotNotation: false,
|
|
2303
|
-
type: 'body',
|
|
2304
|
-
value: '={{ $value || undefined }}'
|
|
2305
|
-
}
|
|
2306
|
-
},
|
|
2307
|
-
displayOptions: {
|
|
2308
|
-
show: {
|
|
2309
|
-
resource: [
|
|
2310
|
-
'translations'
|
|
2311
|
-
],
|
|
2312
|
-
operation: [
|
|
2313
|
-
'api.projects.pre-translations.post'
|
|
2314
|
-
]
|
|
2315
|
-
}
|
|
2316
|
-
}
|
|
2317
|
-
},
|
|
2318
|
-
{
|
|
2319
|
-
displayName: 'Duplicate Translations',
|
|
2320
|
-
name: 'duplicateTranslations',
|
|
2321
|
-
type: 'boolean',
|
|
2322
|
-
default: false,
|
|
2323
|
-
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).',
|
|
2324
|
-
routing: {
|
|
2325
|
-
send: {
|
|
2326
|
-
property: 'duplicateTranslations',
|
|
2327
|
-
propertyInDotNotation: false,
|
|
2328
|
-
type: 'body',
|
|
2329
|
-
value: '={{ $value }}'
|
|
2330
|
-
}
|
|
2331
|
-
},
|
|
2332
|
-
displayOptions: {
|
|
2333
|
-
show: {
|
|
2334
|
-
resource: [
|
|
2335
|
-
'translations'
|
|
2336
|
-
],
|
|
2337
|
-
operation: [
|
|
2338
|
-
'api.projects.pre-translations.post'
|
|
2339
|
-
]
|
|
2340
|
-
}
|
|
2341
|
-
}
|
|
2342
|
-
},
|
|
2343
|
-
{
|
|
2344
|
-
displayName: 'Skip Approved Translations',
|
|
2345
|
-
name: 'skipApprovedTranslations',
|
|
2346
|
-
type: 'boolean',
|
|
2347
|
-
default: false,
|
|
2348
|
-
description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.',
|
|
2349
|
-
routing: {
|
|
2350
|
-
send: {
|
|
2351
|
-
property: 'skipApprovedTranslations',
|
|
2352
|
-
propertyInDotNotation: false,
|
|
2353
|
-
type: 'body',
|
|
2354
|
-
value: '={{ $value }}'
|
|
2355
|
-
}
|
|
2356
|
-
},
|
|
2357
|
-
displayOptions: {
|
|
2358
|
-
show: {
|
|
2359
|
-
resource: [
|
|
2360
|
-
'translations'
|
|
2361
|
-
],
|
|
2362
|
-
operation: [
|
|
2363
|
-
'api.projects.pre-translations.post'
|
|
2364
|
-
]
|
|
2365
|
-
}
|
|
2366
|
-
}
|
|
2367
|
-
},
|
|
2368
|
-
{
|
|
2369
|
-
displayName: 'Scope',
|
|
2370
|
-
name: 'scope',
|
|
2371
|
-
type: 'options',
|
|
2372
|
-
default: '',
|
|
2373
|
-
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`.',
|
|
2374
|
-
options: [
|
|
2375
|
-
{
|
|
2376
|
-
name: '-',
|
|
2377
|
-
value: ''
|
|
2378
|
-
},
|
|
2379
|
-
{
|
|
2380
|
-
name: 'untranslated',
|
|
2381
|
-
value: 'untranslated'
|
|
2382
|
-
},
|
|
2383
|
-
{
|
|
2384
|
-
name: 'translated',
|
|
2385
|
-
value: 'translated'
|
|
2386
|
-
},
|
|
2387
|
-
{
|
|
2388
|
-
name: 'all',
|
|
2389
|
-
value: 'all'
|
|
2390
|
-
}
|
|
2391
|
-
],
|
|
2392
|
-
routing: {
|
|
2393
|
-
send: {
|
|
2394
|
-
property: 'scope',
|
|
2395
|
-
propertyInDotNotation: false,
|
|
2396
|
-
type: 'body',
|
|
2397
|
-
value: '={{ $value || undefined }}'
|
|
2398
|
-
}
|
|
2399
|
-
},
|
|
2400
|
-
displayOptions: {
|
|
2401
|
-
show: {
|
|
2402
|
-
resource: [
|
|
2403
|
-
'translations'
|
|
2404
|
-
],
|
|
2405
|
-
operation: [
|
|
2406
|
-
'api.projects.pre-translations.post'
|
|
2407
|
-
]
|
|
2408
|
-
}
|
|
2409
|
-
}
|
|
2410
|
-
},
|
|
2411
|
-
{
|
|
2412
|
-
displayName: 'Translation Modified Before',
|
|
2413
|
-
name: 'dateTime:translationModifiedBefore',
|
|
2414
|
-
type: 'dateTime',
|
|
2415
|
-
default: '',
|
|
2416
|
-
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`.',
|
|
2417
|
-
routing: {
|
|
2418
|
-
send: {
|
|
2419
|
-
property: 'translationModifiedBefore',
|
|
2420
|
-
propertyInDotNotation: false,
|
|
2421
|
-
type: 'body',
|
|
2422
|
-
value: '={{ $value || undefined }}'
|
|
2423
|
-
}
|
|
2424
|
-
},
|
|
2425
|
-
displayOptions: {
|
|
2426
|
-
show: {
|
|
2427
|
-
resource: [
|
|
2428
|
-
'translations'
|
|
2429
|
-
],
|
|
2430
|
-
operation: [
|
|
2431
|
-
'api.projects.pre-translations.post'
|
|
2432
|
-
]
|
|
2433
|
-
}
|
|
2434
|
-
},
|
|
2435
|
-
placeholder: '2026-01-01T00:00:00+00:00'
|
|
2436
|
-
},
|
|
2437
|
-
{
|
|
2438
|
-
displayName: 'Replace Translations Option',
|
|
2439
|
-
name: 'replaceTranslationsOption',
|
|
2440
|
-
type: 'options',
|
|
2441
|
-
default: '',
|
|
2442
|
-
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`).',
|
|
2443
|
-
options: [
|
|
2444
|
-
{
|
|
2445
|
-
name: '-',
|
|
2446
|
-
value: ''
|
|
2447
|
-
},
|
|
2448
|
-
{
|
|
2449
|
-
name: 'none',
|
|
2450
|
-
value: 'none'
|
|
2451
|
-
},
|
|
2452
|
-
{
|
|
2453
|
-
name: 'autoTranslated',
|
|
2454
|
-
value: 'autoTranslated'
|
|
2455
|
-
},
|
|
2456
|
-
{
|
|
2457
|
-
name: 'all',
|
|
2458
|
-
value: 'all'
|
|
2459
|
-
}
|
|
2460
|
-
],
|
|
2461
|
-
routing: {
|
|
2462
|
-
send: {
|
|
2463
|
-
property: 'replaceTranslationsOption',
|
|
2464
|
-
propertyInDotNotation: false,
|
|
2465
|
-
type: 'body',
|
|
2466
|
-
value: '={{ $value || undefined }}'
|
|
2467
|
-
}
|
|
2468
|
-
},
|
|
2469
|
-
displayOptions: {
|
|
2470
|
-
show: {
|
|
2471
|
-
resource: [
|
|
2472
|
-
'translations'
|
|
2473
|
-
],
|
|
2474
|
-
operation: [
|
|
2475
|
-
'api.projects.pre-translations.post'
|
|
2476
|
-
]
|
|
2477
|
-
}
|
|
2478
|
-
}
|
|
2479
|
-
},
|
|
2480
|
-
{
|
|
2481
|
-
displayName: 'Reset Approval Status',
|
|
2482
|
-
name: 'resetApprovalStatus',
|
|
2483
|
-
type: 'boolean',
|
|
2484
|
-
default: false,
|
|
2485
|
-
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`.',
|
|
2486
|
-
routing: {
|
|
2487
|
-
send: {
|
|
2488
|
-
property: 'resetApprovalStatus',
|
|
2489
|
-
propertyInDotNotation: false,
|
|
2490
|
-
type: 'body',
|
|
2491
|
-
value: '={{ $value }}'
|
|
2492
|
-
}
|
|
2493
|
-
},
|
|
2494
|
-
displayOptions: {
|
|
2495
|
-
show: {
|
|
2496
|
-
resource: [
|
|
2497
|
-
'translations'
|
|
2498
|
-
],
|
|
2499
|
-
operation: [
|
|
2500
|
-
'api.projects.pre-translations.post'
|
|
2501
|
-
]
|
|
2502
|
-
}
|
|
2503
|
-
}
|
|
2504
|
-
},
|
|
2505
|
-
{
|
|
2506
|
-
displayName: 'Translate With Perfect Match Only',
|
|
2507
|
-
name: 'translateWithPerfectMatchOnly',
|
|
2508
|
-
type: 'boolean',
|
|
2509
|
-
default: false,
|
|
2510
|
-
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',
|
|
2511
|
-
routing: {
|
|
2512
|
-
send: {
|
|
2513
|
-
property: 'translateWithPerfectMatchOnly',
|
|
2514
|
-
propertyInDotNotation: false,
|
|
2515
|
-
type: 'body',
|
|
2516
|
-
value: '={{ $value }}'
|
|
2517
|
-
}
|
|
2518
|
-
},
|
|
2519
|
-
displayOptions: {
|
|
2520
|
-
show: {
|
|
2521
|
-
resource: [
|
|
2522
|
-
'translations'
|
|
2523
|
-
],
|
|
2524
|
-
operation: [
|
|
2525
|
-
'api.projects.pre-translations.post'
|
|
2526
|
-
]
|
|
2527
|
-
}
|
|
2528
|
-
}
|
|
2529
|
-
},
|
|
2530
|
-
{
|
|
2531
|
-
displayName: 'Fallback Languages',
|
|
2532
|
-
name: 'fallbackLanguages',
|
|
2533
|
-
type: 'fixedCollection',
|
|
2004
|
+
displayName: 'Body',
|
|
2005
|
+
name: '_body',
|
|
2006
|
+
description: 'Select configuration type',
|
|
2534
2007
|
default: {},
|
|
2535
|
-
|
|
2536
|
-
routing: {
|
|
2537
|
-
send: {
|
|
2538
|
-
property: 'fallbackLanguages',
|
|
2539
|
-
propertyInDotNotation: false,
|
|
2540
|
-
type: 'body',
|
|
2541
|
-
value: '={{ $value.fields || undefined }}',
|
|
2542
|
-
preSend: [
|
|
2543
|
-
preSend_1.normalizeFieldBody
|
|
2544
|
-
]
|
|
2545
|
-
}
|
|
2546
|
-
},
|
|
2008
|
+
type: 'fixedCollection',
|
|
2547
2009
|
displayOptions: {
|
|
2548
2010
|
show: {
|
|
2549
2011
|
resource: [
|
|
@@ -2554,139 +2016,602 @@ exports.translationsProperties = [
|
|
|
2554
2016
|
]
|
|
2555
2017
|
}
|
|
2556
2018
|
},
|
|
2557
|
-
placeholder: 'Add Field',
|
|
2558
2019
|
options: [
|
|
2559
2020
|
{
|
|
2560
|
-
displayName: '
|
|
2561
|
-
name: '
|
|
2021
|
+
displayName: 'By Files',
|
|
2022
|
+
name: '_byFiles',
|
|
2023
|
+
values: [
|
|
2024
|
+
{
|
|
2025
|
+
displayName: 'Language Ids',
|
|
2026
|
+
name: 'languageIds',
|
|
2027
|
+
type: 'multiOptions',
|
|
2028
|
+
typeOptions: {
|
|
2029
|
+
loadOptionsMethod: 'getLanguagesMulti'
|
|
2030
|
+
},
|
|
2031
|
+
default: [],
|
|
2032
|
+
description: 'Set of languages to which auto-translation should be applied. Get via [List Supported Languages](#operation/api.languages.getMany)',
|
|
2033
|
+
required: true
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
displayName: 'File Ids',
|
|
2037
|
+
name: 'fileIds',
|
|
2038
|
+
type: 'multiOptions',
|
|
2039
|
+
typeOptions: {
|
|
2040
|
+
loadOptionsMethod: 'getProjectFilesMulti',
|
|
2041
|
+
loadOptionsDependsOn: [
|
|
2042
|
+
'projectId'
|
|
2043
|
+
]
|
|
2044
|
+
},
|
|
2045
|
+
default: [],
|
|
2046
|
+
description: 'Files array that should be translated\n\n__Note:__ Required unless `directoryIds` or `branchIds` is set'
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
displayName: 'Directory Ids',
|
|
2050
|
+
name: 'directoryIds',
|
|
2051
|
+
type: 'multiOptions',
|
|
2052
|
+
typeOptions: {
|
|
2053
|
+
loadOptionsMethod: 'getProjectDirectoriesMulti',
|
|
2054
|
+
loadOptionsDependsOn: [
|
|
2055
|
+
'projectId'
|
|
2056
|
+
]
|
|
2057
|
+
},
|
|
2058
|
+
default: [],
|
|
2059
|
+
description: 'Directories array that should be translated. Includes all nested files'
|
|
2060
|
+
},
|
|
2061
|
+
{
|
|
2062
|
+
displayName: 'Branch Ids',
|
|
2063
|
+
name: 'branchIds',
|
|
2064
|
+
type: 'multiOptions',
|
|
2065
|
+
typeOptions: {
|
|
2066
|
+
loadOptionsMethod: 'getBranchesMulti',
|
|
2067
|
+
loadOptionsDependsOn: [
|
|
2068
|
+
'projectId'
|
|
2069
|
+
]
|
|
2070
|
+
},
|
|
2071
|
+
default: [],
|
|
2072
|
+
description: 'Branches array that should be translated. Includes all nested files'
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
displayName: 'Label Ids',
|
|
2076
|
+
name: 'labelIds',
|
|
2077
|
+
type: 'multiOptions',
|
|
2078
|
+
typeOptions: {
|
|
2079
|
+
loadOptionsMethod: 'getProjectLabelsMulti',
|
|
2080
|
+
loadOptionsDependsOn: [
|
|
2081
|
+
'projectId'
|
|
2082
|
+
]
|
|
2083
|
+
},
|
|
2084
|
+
default: [],
|
|
2085
|
+
description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)'
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
displayName: 'Exclude Label Ids',
|
|
2089
|
+
name: 'excludeLabelIds',
|
|
2090
|
+
type: 'multiOptions',
|
|
2091
|
+
typeOptions: {
|
|
2092
|
+
loadOptionsMethod: 'getProjectLabelsMulti',
|
|
2093
|
+
loadOptionsDependsOn: [
|
|
2094
|
+
'projectId'
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2097
|
+
default: [],
|
|
2098
|
+
description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)'
|
|
2099
|
+
},
|
|
2100
|
+
{
|
|
2101
|
+
displayName: 'Method',
|
|
2102
|
+
name: 'method',
|
|
2103
|
+
type: 'options',
|
|
2104
|
+
default: '',
|
|
2105
|
+
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',
|
|
2106
|
+
options: [
|
|
2107
|
+
{
|
|
2108
|
+
name: '-',
|
|
2109
|
+
value: ''
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
name: 'tm',
|
|
2113
|
+
value: 'tm'
|
|
2114
|
+
},
|
|
2115
|
+
{
|
|
2116
|
+
name: 'mt',
|
|
2117
|
+
value: 'mt'
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
name: 'ai',
|
|
2121
|
+
value: 'ai'
|
|
2122
|
+
}
|
|
2123
|
+
],
|
|
2124
|
+
placeholder: 'mt'
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
displayName: 'Priority',
|
|
2128
|
+
name: 'priority',
|
|
2129
|
+
type: 'options',
|
|
2130
|
+
default: '',
|
|
2131
|
+
description: undefined,
|
|
2132
|
+
options: [
|
|
2133
|
+
{
|
|
2134
|
+
name: '-',
|
|
2135
|
+
value: ''
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
name: 'low',
|
|
2139
|
+
value: 'low'
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
name: 'normal',
|
|
2143
|
+
value: 'normal'
|
|
2144
|
+
},
|
|
2145
|
+
{
|
|
2146
|
+
name: 'high',
|
|
2147
|
+
value: 'high'
|
|
2148
|
+
}
|
|
2149
|
+
]
|
|
2150
|
+
},
|
|
2151
|
+
{
|
|
2152
|
+
displayName: 'Engine Id',
|
|
2153
|
+
name: 'engineId',
|
|
2154
|
+
type: 'options',
|
|
2155
|
+
default: '',
|
|
2156
|
+
description: 'Machine Translation engine Identifier. Read more about how to get the [MT engine identifier](https://support.crowdin.com/configuring-machine-translation-engines#mt-engine-ids).',
|
|
2157
|
+
typeOptions: {
|
|
2158
|
+
loadOptionsMethod: 'getMTEngines'
|
|
2159
|
+
}
|
|
2160
|
+
},
|
|
2161
|
+
{
|
|
2162
|
+
displayName: 'Ai Prompt Id',
|
|
2163
|
+
name: 'aiPromptId',
|
|
2164
|
+
type: 'options',
|
|
2165
|
+
default: '',
|
|
2166
|
+
description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
|
|
2167
|
+
typeOptions: {
|
|
2168
|
+
loadOptionsMethod: 'getAiPrompts'
|
|
2169
|
+
}
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
displayName: 'Auto Approve Option',
|
|
2173
|
+
name: 'autoApproveOption',
|
|
2174
|
+
type: 'options',
|
|
2175
|
+
default: '',
|
|
2176
|
+
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',
|
|
2177
|
+
options: [
|
|
2178
|
+
{
|
|
2179
|
+
name: '-',
|
|
2180
|
+
value: ''
|
|
2181
|
+
},
|
|
2182
|
+
{
|
|
2183
|
+
name: 'all',
|
|
2184
|
+
value: 'all'
|
|
2185
|
+
},
|
|
2186
|
+
{
|
|
2187
|
+
name: 'exceptAutoSubstituted',
|
|
2188
|
+
value: 'exceptAutoSubstituted'
|
|
2189
|
+
},
|
|
2190
|
+
{
|
|
2191
|
+
name: 'perfectMatchApprovedOnly',
|
|
2192
|
+
value: 'perfectMatchApprovedOnly'
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
name: 'perfectMatchOnly',
|
|
2196
|
+
value: 'perfectMatchOnly'
|
|
2197
|
+
},
|
|
2198
|
+
{
|
|
2199
|
+
name: 'none',
|
|
2200
|
+
value: 'none'
|
|
2201
|
+
}
|
|
2202
|
+
]
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
displayName: 'Duplicate Translations',
|
|
2206
|
+
name: 'duplicateTranslations',
|
|
2207
|
+
type: 'boolean',
|
|
2208
|
+
default: false,
|
|
2209
|
+
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).'
|
|
2210
|
+
},
|
|
2211
|
+
{
|
|
2212
|
+
displayName: 'Skip Approved Translations',
|
|
2213
|
+
name: 'skipApprovedTranslations',
|
|
2214
|
+
type: 'boolean',
|
|
2215
|
+
default: false,
|
|
2216
|
+
description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.'
|
|
2217
|
+
},
|
|
2218
|
+
{
|
|
2219
|
+
displayName: 'Scope',
|
|
2220
|
+
name: 'scope',
|
|
2221
|
+
type: 'options',
|
|
2222
|
+
default: '',
|
|
2223
|
+
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`.',
|
|
2224
|
+
options: [
|
|
2225
|
+
{
|
|
2226
|
+
name: '-',
|
|
2227
|
+
value: ''
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
name: 'untranslated',
|
|
2231
|
+
value: 'untranslated'
|
|
2232
|
+
},
|
|
2233
|
+
{
|
|
2234
|
+
name: 'translated',
|
|
2235
|
+
value: 'translated'
|
|
2236
|
+
},
|
|
2237
|
+
{
|
|
2238
|
+
name: 'all',
|
|
2239
|
+
value: 'all'
|
|
2240
|
+
}
|
|
2241
|
+
]
|
|
2242
|
+
},
|
|
2243
|
+
{
|
|
2244
|
+
displayName: 'Translation Modified Before',
|
|
2245
|
+
name: 'dateTime:translationModifiedBefore',
|
|
2246
|
+
type: 'dateTime',
|
|
2247
|
+
default: '',
|
|
2248
|
+
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`.',
|
|
2249
|
+
placeholder: '2026-01-01T00:00:00+00:00'
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
displayName: 'Translation Modified After',
|
|
2253
|
+
name: 'dateTime:translationModifiedAfter',
|
|
2254
|
+
type: 'dateTime',
|
|
2255
|
+
default: '',
|
|
2256
|
+
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`.',
|
|
2257
|
+
placeholder: '2026-01-01T00:00:00+00:00'
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
displayName: 'Replace Translations Option',
|
|
2261
|
+
name: 'replaceTranslationsOption',
|
|
2262
|
+
type: 'options',
|
|
2263
|
+
default: '',
|
|
2264
|
+
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`).',
|
|
2265
|
+
options: [
|
|
2266
|
+
{
|
|
2267
|
+
name: '-',
|
|
2268
|
+
value: ''
|
|
2269
|
+
},
|
|
2270
|
+
{
|
|
2271
|
+
name: 'none',
|
|
2272
|
+
value: 'none'
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
name: 'autoTranslated',
|
|
2276
|
+
value: 'autoTranslated'
|
|
2277
|
+
},
|
|
2278
|
+
{
|
|
2279
|
+
name: 'all',
|
|
2280
|
+
value: 'all'
|
|
2281
|
+
}
|
|
2282
|
+
]
|
|
2283
|
+
},
|
|
2284
|
+
{
|
|
2285
|
+
displayName: 'Reset Approval Status',
|
|
2286
|
+
name: 'resetApprovalStatus',
|
|
2287
|
+
type: 'boolean',
|
|
2288
|
+
default: false,
|
|
2289
|
+
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`.'
|
|
2290
|
+
},
|
|
2291
|
+
{
|
|
2292
|
+
displayName: 'Translate With Perfect Match Only',
|
|
2293
|
+
name: 'translateWithPerfectMatchOnly',
|
|
2294
|
+
type: 'boolean',
|
|
2295
|
+
default: false,
|
|
2296
|
+
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'
|
|
2297
|
+
},
|
|
2298
|
+
{
|
|
2299
|
+
displayName: 'Fallback Languages',
|
|
2300
|
+
name: 'fallbackLanguages',
|
|
2301
|
+
type: 'fixedCollection',
|
|
2302
|
+
default: {},
|
|
2303
|
+
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',
|
|
2304
|
+
placeholder: 'Add Field',
|
|
2305
|
+
options: [
|
|
2306
|
+
{
|
|
2307
|
+
displayName: 'Fields',
|
|
2308
|
+
name: 'fields',
|
|
2309
|
+
values: [
|
|
2310
|
+
{
|
|
2311
|
+
displayName: 'Language Id',
|
|
2312
|
+
name: 'languageId',
|
|
2313
|
+
type: 'options',
|
|
2314
|
+
typeOptions: {
|
|
2315
|
+
loadOptionsMethod: 'getLanguages'
|
|
2316
|
+
},
|
|
2317
|
+
default: '',
|
|
2318
|
+
description: undefined
|
|
2319
|
+
}
|
|
2320
|
+
]
|
|
2321
|
+
}
|
|
2322
|
+
]
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
displayName: 'Source Language Id',
|
|
2326
|
+
name: 'sourceLanguageId',
|
|
2327
|
+
type: 'options',
|
|
2328
|
+
default: '',
|
|
2329
|
+
description: 'Source language identifier. Get via [Project Target Languages](#operation/api.projects.get)',
|
|
2330
|
+
typeOptions: {
|
|
2331
|
+
loadOptionsMethod: 'getLanguages'
|
|
2332
|
+
}
|
|
2333
|
+
},
|
|
2334
|
+
{
|
|
2335
|
+
displayName: 'Custom Instruction',
|
|
2336
|
+
name: 'customInstruction',
|
|
2337
|
+
type: 'string',
|
|
2338
|
+
default: '',
|
|
2339
|
+
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'
|
|
2340
|
+
}
|
|
2341
|
+
]
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
displayName: 'By Task',
|
|
2345
|
+
name: '_byTask',
|
|
2562
2346
|
values: [
|
|
2563
2347
|
{
|
|
2564
|
-
displayName: '
|
|
2565
|
-
name: '
|
|
2348
|
+
displayName: 'Task Id',
|
|
2349
|
+
name: 'taskId',
|
|
2350
|
+
type: 'options',
|
|
2351
|
+
default: '',
|
|
2352
|
+
description: 'Task Identifier. Get via [List Tasks](#operation/api.projects.tasks.getMany)',
|
|
2353
|
+
required: true,
|
|
2354
|
+
typeOptions: {
|
|
2355
|
+
loadOptionsMethod: 'getProjectTasks',
|
|
2356
|
+
loadOptionsDependsOn: [
|
|
2357
|
+
'projectId'
|
|
2358
|
+
]
|
|
2359
|
+
}
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
displayName: 'Method',
|
|
2363
|
+
name: 'method',
|
|
2364
|
+
type: 'options',
|
|
2365
|
+
default: '',
|
|
2366
|
+
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',
|
|
2367
|
+
options: [
|
|
2368
|
+
{
|
|
2369
|
+
name: '-',
|
|
2370
|
+
value: ''
|
|
2371
|
+
},
|
|
2372
|
+
{
|
|
2373
|
+
name: 'tm',
|
|
2374
|
+
value: 'tm'
|
|
2375
|
+
},
|
|
2376
|
+
{
|
|
2377
|
+
name: 'mt',
|
|
2378
|
+
value: 'mt'
|
|
2379
|
+
},
|
|
2380
|
+
{
|
|
2381
|
+
name: 'ai',
|
|
2382
|
+
value: 'ai'
|
|
2383
|
+
}
|
|
2384
|
+
],
|
|
2385
|
+
placeholder: 'mt'
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
displayName: 'Priority',
|
|
2389
|
+
name: 'priority',
|
|
2390
|
+
type: 'options',
|
|
2391
|
+
default: '',
|
|
2392
|
+
description: undefined,
|
|
2393
|
+
options: [
|
|
2394
|
+
{
|
|
2395
|
+
name: '-',
|
|
2396
|
+
value: ''
|
|
2397
|
+
},
|
|
2398
|
+
{
|
|
2399
|
+
name: 'low',
|
|
2400
|
+
value: 'low'
|
|
2401
|
+
},
|
|
2402
|
+
{
|
|
2403
|
+
name: 'normal',
|
|
2404
|
+
value: 'normal'
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
name: 'high',
|
|
2408
|
+
value: 'high'
|
|
2409
|
+
}
|
|
2410
|
+
]
|
|
2411
|
+
},
|
|
2412
|
+
{
|
|
2413
|
+
displayName: 'Engine Id',
|
|
2414
|
+
name: 'engineId',
|
|
2415
|
+
type: 'options',
|
|
2416
|
+
default: '',
|
|
2417
|
+
description: 'Machine Translation engine Identifier. Read more about how to get the [MT engine identifier](https://support.crowdin.com/configuring-machine-translation-engines#mt-engine-ids).',
|
|
2418
|
+
typeOptions: {
|
|
2419
|
+
loadOptionsMethod: 'getMTEngines'
|
|
2420
|
+
}
|
|
2421
|
+
},
|
|
2422
|
+
{
|
|
2423
|
+
displayName: 'Ai Prompt Id',
|
|
2424
|
+
name: 'aiPromptId',
|
|
2425
|
+
type: 'options',
|
|
2426
|
+
default: '',
|
|
2427
|
+
description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)',
|
|
2428
|
+
typeOptions: {
|
|
2429
|
+
loadOptionsMethod: 'getAiPrompts'
|
|
2430
|
+
}
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
displayName: 'Auto Approve Option',
|
|
2434
|
+
name: 'autoApproveOption',
|
|
2435
|
+
type: 'options',
|
|
2436
|
+
default: '',
|
|
2437
|
+
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',
|
|
2438
|
+
options: [
|
|
2439
|
+
{
|
|
2440
|
+
name: '-',
|
|
2441
|
+
value: ''
|
|
2442
|
+
},
|
|
2443
|
+
{
|
|
2444
|
+
name: 'all',
|
|
2445
|
+
value: 'all'
|
|
2446
|
+
},
|
|
2447
|
+
{
|
|
2448
|
+
name: 'exceptAutoSubstituted',
|
|
2449
|
+
value: 'exceptAutoSubstituted'
|
|
2450
|
+
},
|
|
2451
|
+
{
|
|
2452
|
+
name: 'perfectMatchApprovedOnly',
|
|
2453
|
+
value: 'perfectMatchApprovedOnly'
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
name: 'perfectMatchOnly',
|
|
2457
|
+
value: 'perfectMatchOnly'
|
|
2458
|
+
},
|
|
2459
|
+
{
|
|
2460
|
+
name: 'none',
|
|
2461
|
+
value: 'none'
|
|
2462
|
+
}
|
|
2463
|
+
]
|
|
2464
|
+
},
|
|
2465
|
+
{
|
|
2466
|
+
displayName: 'Duplicate Translations',
|
|
2467
|
+
name: 'duplicateTranslations',
|
|
2468
|
+
type: 'boolean',
|
|
2469
|
+
default: false,
|
|
2470
|
+
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).'
|
|
2471
|
+
},
|
|
2472
|
+
{
|
|
2473
|
+
displayName: 'Skip Approved Translations',
|
|
2474
|
+
name: 'skipApprovedTranslations',
|
|
2475
|
+
type: 'boolean',
|
|
2476
|
+
default: false,
|
|
2477
|
+
description: 'Skip strings that already have approved translations. Default is `false`.\n\n__Note:__ Cannot be used together with `resetApprovalStatus`.'
|
|
2478
|
+
},
|
|
2479
|
+
{
|
|
2480
|
+
displayName: 'Scope',
|
|
2481
|
+
name: 'scope',
|
|
2482
|
+
type: 'options',
|
|
2483
|
+
default: '',
|
|
2484
|
+
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`.',
|
|
2485
|
+
options: [
|
|
2486
|
+
{
|
|
2487
|
+
name: '-',
|
|
2488
|
+
value: ''
|
|
2489
|
+
},
|
|
2490
|
+
{
|
|
2491
|
+
name: 'untranslated',
|
|
2492
|
+
value: 'untranslated'
|
|
2493
|
+
},
|
|
2494
|
+
{
|
|
2495
|
+
name: 'translated',
|
|
2496
|
+
value: 'translated'
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
name: 'all',
|
|
2500
|
+
value: 'all'
|
|
2501
|
+
}
|
|
2502
|
+
]
|
|
2503
|
+
},
|
|
2504
|
+
{
|
|
2505
|
+
displayName: 'Translation Modified Before',
|
|
2506
|
+
name: 'dateTime:translationModifiedBefore',
|
|
2507
|
+
type: 'dateTime',
|
|
2508
|
+
default: '',
|
|
2509
|
+
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`.',
|
|
2510
|
+
placeholder: '2026-01-01T00:00:00+00:00'
|
|
2511
|
+
},
|
|
2512
|
+
{
|
|
2513
|
+
displayName: 'Translation Modified After',
|
|
2514
|
+
name: 'dateTime:translationModifiedAfter',
|
|
2515
|
+
type: 'dateTime',
|
|
2516
|
+
default: '',
|
|
2517
|
+
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`.',
|
|
2518
|
+
placeholder: '2026-01-01T00:00:00+00:00'
|
|
2519
|
+
},
|
|
2520
|
+
{
|
|
2521
|
+
displayName: 'Replace Translations Option',
|
|
2522
|
+
name: 'replaceTranslationsOption',
|
|
2523
|
+
type: 'options',
|
|
2524
|
+
default: '',
|
|
2525
|
+
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`).',
|
|
2526
|
+
options: [
|
|
2527
|
+
{
|
|
2528
|
+
name: '-',
|
|
2529
|
+
value: ''
|
|
2530
|
+
},
|
|
2531
|
+
{
|
|
2532
|
+
name: 'none',
|
|
2533
|
+
value: 'none'
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
name: 'autoTranslated',
|
|
2537
|
+
value: 'autoTranslated'
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
name: 'all',
|
|
2541
|
+
value: 'all'
|
|
2542
|
+
}
|
|
2543
|
+
]
|
|
2544
|
+
},
|
|
2545
|
+
{
|
|
2546
|
+
displayName: 'Reset Approval Status',
|
|
2547
|
+
name: 'resetApprovalStatus',
|
|
2548
|
+
type: 'boolean',
|
|
2549
|
+
default: false,
|
|
2550
|
+
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`.'
|
|
2551
|
+
},
|
|
2552
|
+
{
|
|
2553
|
+
displayName: 'Translate With Perfect Match Only',
|
|
2554
|
+
name: 'translateWithPerfectMatchOnly',
|
|
2555
|
+
type: 'boolean',
|
|
2556
|
+
default: false,
|
|
2557
|
+
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'
|
|
2558
|
+
},
|
|
2559
|
+
{
|
|
2560
|
+
displayName: 'Fallback Languages',
|
|
2561
|
+
name: 'fallbackLanguages',
|
|
2562
|
+
type: 'fixedCollection',
|
|
2563
|
+
default: {},
|
|
2564
|
+
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',
|
|
2565
|
+
placeholder: 'Add Field',
|
|
2566
|
+
options: [
|
|
2567
|
+
{
|
|
2568
|
+
displayName: 'Fields',
|
|
2569
|
+
name: 'fields',
|
|
2570
|
+
values: [
|
|
2571
|
+
{
|
|
2572
|
+
displayName: 'Language Id',
|
|
2573
|
+
name: 'languageId',
|
|
2574
|
+
type: 'options',
|
|
2575
|
+
typeOptions: {
|
|
2576
|
+
loadOptionsMethod: 'getLanguages'
|
|
2577
|
+
},
|
|
2578
|
+
default: '',
|
|
2579
|
+
description: undefined
|
|
2580
|
+
}
|
|
2581
|
+
]
|
|
2582
|
+
}
|
|
2583
|
+
]
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
displayName: 'Source Language Id',
|
|
2587
|
+
name: 'sourceLanguageId',
|
|
2566
2588
|
type: 'options',
|
|
2589
|
+
default: '',
|
|
2590
|
+
description: 'Source language identifier. Get via [Project Target Languages](#operation/api.projects.get)',
|
|
2567
2591
|
typeOptions: {
|
|
2568
2592
|
loadOptionsMethod: 'getLanguages'
|
|
2569
|
-
}
|
|
2593
|
+
}
|
|
2594
|
+
},
|
|
2595
|
+
{
|
|
2596
|
+
displayName: 'Custom Instruction',
|
|
2597
|
+
name: 'customInstruction',
|
|
2598
|
+
type: 'string',
|
|
2570
2599
|
default: '',
|
|
2571
|
-
description:
|
|
2600
|
+
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'
|
|
2572
2601
|
}
|
|
2573
2602
|
]
|
|
2574
2603
|
}
|
|
2575
|
-
]
|
|
2576
|
-
},
|
|
2577
|
-
{
|
|
2578
|
-
displayName: 'Label Ids',
|
|
2579
|
-
name: 'labelIds',
|
|
2580
|
-
type: 'multiOptions',
|
|
2581
|
-
default: [],
|
|
2582
|
-
description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)',
|
|
2604
|
+
],
|
|
2583
2605
|
routing: {
|
|
2584
2606
|
send: {
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
type: 'body',
|
|
2588
|
-
value: '={{ $value }}'
|
|
2589
|
-
}
|
|
2590
|
-
},
|
|
2591
|
-
displayOptions: {
|
|
2592
|
-
show: {
|
|
2593
|
-
resource: [
|
|
2594
|
-
'translations'
|
|
2607
|
+
preSend: [
|
|
2608
|
+
preSend_1.normalizeRootBody
|
|
2595
2609
|
],
|
|
2596
|
-
|
|
2597
|
-
'api.projects.pre-translations.post'
|
|
2598
|
-
]
|
|
2599
|
-
}
|
|
2600
|
-
},
|
|
2601
|
-
typeOptions: {
|
|
2602
|
-
loadOptionsMethod: 'getProjectLabelsMulti',
|
|
2603
|
-
loadOptionsDependsOn: [
|
|
2604
|
-
'projectId'
|
|
2605
|
-
]
|
|
2606
|
-
}
|
|
2607
|
-
},
|
|
2608
|
-
{
|
|
2609
|
-
displayName: 'Exclude Label Ids',
|
|
2610
|
-
name: 'excludeLabelIds',
|
|
2611
|
-
type: 'multiOptions',
|
|
2612
|
-
default: [],
|
|
2613
|
-
description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)',
|
|
2614
|
-
routing: {
|
|
2615
|
-
send: {
|
|
2616
|
-
property: 'excludeLabelIds',
|
|
2610
|
+
property: '_body',
|
|
2617
2611
|
propertyInDotNotation: false,
|
|
2618
2612
|
type: 'body',
|
|
2619
2613
|
value: '={{ $value }}'
|
|
2620
2614
|
}
|
|
2621
|
-
},
|
|
2622
|
-
displayOptions: {
|
|
2623
|
-
show: {
|
|
2624
|
-
resource: [
|
|
2625
|
-
'translations'
|
|
2626
|
-
],
|
|
2627
|
-
operation: [
|
|
2628
|
-
'api.projects.pre-translations.post'
|
|
2629
|
-
]
|
|
2630
|
-
}
|
|
2631
|
-
},
|
|
2632
|
-
typeOptions: {
|
|
2633
|
-
loadOptionsMethod: 'getProjectLabelsMulti',
|
|
2634
|
-
loadOptionsDependsOn: [
|
|
2635
|
-
'projectId'
|
|
2636
|
-
]
|
|
2637
|
-
}
|
|
2638
|
-
},
|
|
2639
|
-
{
|
|
2640
|
-
displayName: 'Source Language Id',
|
|
2641
|
-
name: 'sourceLanguageId',
|
|
2642
|
-
type: 'options',
|
|
2643
|
-
default: '',
|
|
2644
|
-
description: 'Source language identifier. Get via [Project Target Languages](#operation/api.projects.get)',
|
|
2645
|
-
routing: {
|
|
2646
|
-
send: {
|
|
2647
|
-
property: 'sourceLanguageId',
|
|
2648
|
-
propertyInDotNotation: false,
|
|
2649
|
-
type: 'body',
|
|
2650
|
-
value: '={{ $value || undefined }}'
|
|
2651
|
-
}
|
|
2652
|
-
},
|
|
2653
|
-
displayOptions: {
|
|
2654
|
-
show: {
|
|
2655
|
-
resource: [
|
|
2656
|
-
'translations'
|
|
2657
|
-
],
|
|
2658
|
-
operation: [
|
|
2659
|
-
'api.projects.pre-translations.post'
|
|
2660
|
-
]
|
|
2661
|
-
}
|
|
2662
|
-
},
|
|
2663
|
-
typeOptions: {
|
|
2664
|
-
loadOptionsMethod: 'getLanguages'
|
|
2665
|
-
}
|
|
2666
|
-
},
|
|
2667
|
-
{
|
|
2668
|
-
displayName: 'Custom Instruction',
|
|
2669
|
-
name: 'customInstruction',
|
|
2670
|
-
type: 'string',
|
|
2671
|
-
default: '',
|
|
2672
|
-
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',
|
|
2673
|
-
routing: {
|
|
2674
|
-
send: {
|
|
2675
|
-
property: 'customInstruction',
|
|
2676
|
-
propertyInDotNotation: false,
|
|
2677
|
-
type: 'body',
|
|
2678
|
-
value: '={{ $value || undefined }}'
|
|
2679
|
-
}
|
|
2680
|
-
},
|
|
2681
|
-
displayOptions: {
|
|
2682
|
-
show: {
|
|
2683
|
-
resource: [
|
|
2684
|
-
'translations'
|
|
2685
|
-
],
|
|
2686
|
-
operation: [
|
|
2687
|
-
'api.projects.pre-translations.post'
|
|
2688
|
-
]
|
|
2689
|
-
}
|
|
2690
2615
|
}
|
|
2691
2616
|
},
|
|
2692
2617
|
{
|
|
@@ -4451,31 +4376,6 @@ exports.translationsProperties = [
|
|
|
4451
4376
|
value: 'finished'
|
|
4452
4377
|
}
|
|
4453
4378
|
]
|
|
4454
|
-
},
|
|
4455
|
-
{
|
|
4456
|
-
displayName: 'Priority',
|
|
4457
|
-
name: 'priority',
|
|
4458
|
-
type: 'options',
|
|
4459
|
-
default: '',
|
|
4460
|
-
description: 'Value for /priority',
|
|
4461
|
-
options: [
|
|
4462
|
-
{
|
|
4463
|
-
name: '-',
|
|
4464
|
-
value: ''
|
|
4465
|
-
},
|
|
4466
|
-
{
|
|
4467
|
-
name: 'low',
|
|
4468
|
-
value: 'low'
|
|
4469
|
-
},
|
|
4470
|
-
{
|
|
4471
|
-
name: 'normal',
|
|
4472
|
-
value: 'normal'
|
|
4473
|
-
},
|
|
4474
|
-
{
|
|
4475
|
-
name: 'high',
|
|
4476
|
-
value: 'high'
|
|
4477
|
-
}
|
|
4478
|
-
]
|
|
4479
4379
|
}
|
|
4480
4380
|
],
|
|
4481
4381
|
routing: {
|