@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
238 lines (237 loc) • 9.64 kB
TypeScript
import { CrowdinApi, DownloadLink, PaginationOptions, PatchRequest, ResponseList, ResponseObject, Status } from '../core';
/**
* Translation Memory (TM) is a vault of translations that were previously made in other projects.
* Those translations can be reused to speed up the translation process.
* Every translation made in the project is automatically added to the project Translation Memory.
*
* Use API to create, upload, download, or remove specific TM.
* Translation Memory export and import are asynchronous operations and shall be completed with sequence of API methods.
*/
export declare class TranslationMemory extends CrowdinApi {
/**
* @param options optional paramerers for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.getMany
*/
listTm(options?: TranslationMemoryModel.ListTMsOptions): Promise<ResponseList<TranslationMemoryModel.TranslationMemory>>;
/**
* @param groupId group identifier
* @param limit maximum number of items to retrieve (default 25)
* @param offset starting offset in the collection (default 0)
* @deprecated optional parameters should be passed through an object
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.getMany
*/
listTm(groupId?: number, limit?: number, offset?: number): Promise<ResponseList<TranslationMemoryModel.TranslationMemory>>;
/**
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.post
*/
addTm(request: TranslationMemoryModel.AddTranslationMemoryRequest): Promise<ResponseObject<TranslationMemoryModel.TranslationMemory>>;
/**
* @param tmId tm identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.get
*/
getTm(tmId: number): Promise<ResponseObject<TranslationMemoryModel.TranslationMemory>>;
/**
* @param tmId tm identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.delete
*/
deleteTm(tmId: number): Promise<void>;
/**
* @param tmId tm identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.patch
*/
editTm(tmId: number, request: PatchRequest[]): Promise<ResponseObject<TranslationMemoryModel.TranslationMemory>>;
/**
* @param tmId tm identifier
* @param options optional paramerers for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.getMany
*/
listTmSegments(tmId: number, options?: TranslationMemoryModel.ListSegmentsOptions): Promise<ResponseList<TranslationMemoryModel.TMSegment>>;
/**
* @param tmId tm identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.post
*/
addTmSegment(tmId: number, request: TranslationMemoryModel.AddTMSegment): Promise<ResponseObject<TranslationMemoryModel.TMSegment>>;
/**
* @param tmId tm identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.clear
*/
clearTm(tmId: number): Promise<void>;
/**
* @param tmId tm identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.exports.post
*/
exportTm(tmId: number, request?: TranslationMemoryModel.ExportTranslationMemoryRequest): Promise<ResponseObject<Status<TranslationMemoryModel.ExportTranslationMemoryAttribute>>>;
/**
* @param tmId tm identifier
* @param exportId export identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.exports.get
*/
checkExportStatus(tmId: number, exportId: string): Promise<ResponseObject<Status<TranslationMemoryModel.ExportTranslationMemoryAttribute>>>;
/**
* @param tmId tm identifier
* @param exportId export identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.exports.download.download
*/
downloadTm(tmId: number, exportId: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param projectId project identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.tms.concordance.post
*/
concordanceSearch(projectId: number, request: TranslationMemoryModel.ConcordanceSearchRequest): Promise<ResponseList<TranslationMemoryModel.ConcordanceSearchResponse>>;
/**
* @param tmId tm identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.imports.post
*/
importTm(tmId: number, request: TranslationMemoryModel.ImportTranslationMemoryRequest): Promise<ResponseObject<Status<TranslationMemoryModel.ImportTranslationMemoryAttribute>>>;
/**
* @param tmId tm identifier
* @param importId import identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.imports.get
*/
checkImportStatus(tmId: number, importId: string): Promise<ResponseObject<Status<TranslationMemoryModel.ImportTranslationMemoryAttribute>>>;
/**
* @param tmId tm identifier
* @param segmentId segment identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.get
*/
getTmSegment(tmId: number, segmentId: number): Promise<ResponseObject<TranslationMemoryModel.TMSegment>>;
/**
* @param tmId tm identifier
* @param segmentId segment identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.delete
*/
deleteTmSegment(tmId: number, segmentId: number): Promise<void>;
/**
* @param tmId tm identifier
* @param segmentId segment identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.patch
*/
editTmSegment(tmId: number, segmentId: number, request: PatchRequest[]): Promise<ResponseObject<TranslationMemoryModel.TMSegment>>;
/**
* @deprecated
* @param tmId tm identifier
* @param segmentId segment identifier
* @param recordId record identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.records.delete
*/
deleteTmSegmentRecord(tmId: number, segmentId: number, recordId: number): Promise<void>;
/**
* @deprecated
* @param tmId tm identifier
* @param segmentId segment identifier
* @param recordId record identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.records.patch
*/
editTmSegmentRecord(tmId: number, segmentId: number, recordId: number, request: PatchRequest[]): Promise<ResponseObject<TranslationMemoryModel.TMSegment>>;
/**
* @deprecated
* @param tmId tm identifier
* @param segmentId segment identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.tms.segments.records.post
*/
addTmSegmentRecords(tmId: number, segmentId: number, request: TranslationMemoryModel.AddTMSegment): Promise<ResponseObject<TranslationMemoryModel.TMSegment>>;
}
export declare namespace TranslationMemoryModel {
interface TranslationMemory {
id: number;
groupId: number;
userId: number;
name: string;
languageId: string;
languageIds: string[];
segmentsCount: number;
defaultProjectIds: number[];
projectIds: number[];
createdAt: string;
webUrl: string;
}
interface AddTranslationMemoryRequest {
name: string;
languageId: string;
groupId?: number;
}
interface ConcordanceSearchRequest {
sourceLanguageId: string;
targetLanguageId: string;
autoSubstitution: boolean;
minRelevant: number;
expressions: string[];
/**
* @deprecated
*/
expression?: string;
}
interface ConcordanceSearchResponse {
tm: TranslationMemory;
recordId: number;
source: string;
target: string;
relevant: number;
substituted: string;
updatedAt: string;
}
interface ExportTranslationMemoryRequest {
sourceLanguageId?: number;
targetLanguageId?: number;
format?: Format;
}
interface ImportTranslationMemoryRequest {
storageId: number;
firstLineContainsHeader?: boolean;
scheme?: Scheme;
}
interface ExportTranslationMemoryAttribute {
sourceLanguageId: string;
targetLanguageId: string;
format: string;
}
interface ImportTranslationMemoryAttribute {
tmId: number;
storageId: number;
firstLineContainsHeader: number;
scheme: Scheme;
}
type Format = 'tmx' | 'csv' | 'xlsx';
interface Scheme {
[key: string]: number;
}
interface ListTMsOptions extends PaginationOptions {
groupId?: number;
userId?: number;
orderBy?: string;
}
interface ListSegmentsOptions extends PaginationOptions {
croql?: string;
orderBy?: string;
}
interface TMSegment {
id: number;
records: TMSegmentRecord[];
}
interface TMSegmentRecord {
id: number;
languageId: string;
text: string;
usageCount: number;
createdBy: number;
updatedBy: number;
createdAt: string;
updatedAt: string;
}
interface AddTMSegment {
records: AddTMSegmentRecord[];
}
interface AddTMSegmentRecord {
languageId: string;
text: string;
}
}