@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
71 lines (70 loc) • 2.87 kB
TypeScript
import { CrowdinApi, PaginationOptions, PatchRequest, ResponseList, ResponseObject } from '../core';
/**
* Crowdin supports more than 300 world languages and custom languages created in the system.
*
* Use API to get the list of all supported languages and retrieve additional details (e.g. text direction, internal code) on specific language.
*/
export declare class Languages extends CrowdinApi {
/**
* @param options optional pagination parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.languages.getMany
*/
listSupportedLanguages(options?: PaginationOptions): Promise<ResponseList<LanguagesModel.Language>>;
/**
* @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.languages.getMany
*/
listSupportedLanguages(limit?: number, offset?: number): Promise<ResponseList<LanguagesModel.Language>>;
/**
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.languages.post
*/
addCustomLanguage(request: LanguagesModel.AddLanguageRequest): Promise<ResponseObject<LanguagesModel.Language>>;
/**
* @param languageId language identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.languages.get
*/
getLanguage(languageId: string): Promise<ResponseObject<LanguagesModel.Language>>;
/**
* @param languageId language identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.languages.delete
*/
deleteCustomLanguage(languageId: string): Promise<void>;
/**
* @param languageId language identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.languages.patch
*/
editCustomLanguage(languageId: string, request: PatchRequest[]): Promise<ResponseObject<LanguagesModel.Language>>;
}
export declare namespace LanguagesModel {
interface Language {
id: string;
name: string;
editorCode: string;
twoLettersCode: string;
threeLettersCode: string;
locale: string;
androidCode: string;
osxCode: string;
osxLocale: string;
pluralCategoryNames: string[];
pluralRules: string;
pluralExamples: string[];
textDirection: TextDirection;
dialectOf: string;
}
interface AddLanguageRequest {
name: string;
code: string;
localeCode: string;
textDirection: TextDirection;
pluralCategoryNames: string[];
threeLettersCode: string;
twoLettersCode?: string;
dialectOf?: string;
}
type TextDirection = 'ltr' | 'rtl';
}