UNPKG

@crowdin/crowdin-api-client

Version:
238 lines (237 loc) 9.64 kB
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; } }