import { RequestContext } from '../../../api/common/request-context'; import { Translatable } from '../../../common/types/locale-types'; import { ConfigService } from '../../../config'; import { VendureEntity } from '../../../entity'; import { DeepTranslatableRelations } from '../utils/translate-entity'; /** * @description * The TranslatorService is used to translate entities into the current language. * * @example * ```ts * import { Injectable } from '\@nestjs/common'; * import { ID, Product, RequestContext, TransactionalConnection, TranslatorService } from '\@vendure/core'; * * \@Injectable() * export class ProductService { * * constructor(private connection: TransactionalConnection, * private translator: TranslatorService){} * * async findOne(ctx: RequestContext, productId: ID): Promise { * const product = await this.connection.findOneInChannel(ctx, Product, productId, ctx.channelId, { * relations: { * facetValues: { * facet: true, * } * } * }); * if (!product) { * return; * } * return this.translator.translate(product, ctx, ['facetValues', ['facetValues', 'facet']]); * } * } * ``` * * @docsCategory service-helpers */ export declare class TranslatorService { private configService; constructor(configService: ConfigService); translate(translatable: T, ctx: RequestContext, translatableRelations?: DeepTranslatableRelations): import("../../../common/types/locale-types").Translated; }