UNPKG

@ogs-gmbh/ngx-translate

Version:

A lightweight, REST-based Angular i18n library designed for seamless internationalization with minimal setup. It supports dynamic language switching & flexible translation management via RESTful APIs.

24 lines 3.52 kB
import { Injectable, inject } from "@angular/core"; import { TranslationStoreService } from "../services/translation-store.service"; import * as i0 from "@angular/core"; export class TranslationInterceptor { _translationStoreService = inject(TranslationStoreService); intercept(httpRequest, httpHandler) { const currentLocale = this._translationStoreService.getCurrentLocale(); const clonedHttpRequest = httpRequest.clone({ setHeaders: { language: currentLocale.value } }); return httpHandler.handle(clonedHttpRequest); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationInterceptor, providedIn: "root" }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationInterceptor, decorators: [{ type: Injectable, args: [{ providedIn: "root" }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJjZXB0b3JzL3RyYW5zbGF0aW9uLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUtoRixNQUFNLE9BQU8sc0JBQXNCO0lBQ2hCLHdCQUF3QixHQUE0QixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUU5RixTQUFTLENBQUUsV0FBMkMsRUFBRSxXQUFrQztRQUMvRixNQUFNLGFBQWEsR0FBaUIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckYsTUFBTSxpQkFBaUIsR0FBeUIsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNoRSxVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLO2FBQzlCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQzt3R0FaVSxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZUNvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9jb25maWcudHlwZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblN0b3JlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1zdG9yZS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0aW9uU3RvcmVTZXJ2aWNlOiBUcmFuc2xhdGlvblN0b3JlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGlvblN0b3JlU2VydmljZSk7XG5cbiAgcHVibGljIGludGVyY2VwdCAoaHR0cFJlcXVlc3Q6IFJlYWRvbmx5PEh0dHBSZXF1ZXN0PHVua25vd24+PiwgaHR0cEhhbmRsZXI6IFJlYWRvbmx5PEh0dHBIYW5kbGVyPik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgY29uc3QgY3VycmVudExvY2FsZTogTG9jYWxlQ29uZmlnID0gdGhpcy5fdHJhbnNsYXRpb25TdG9yZVNlcnZpY2UuZ2V0Q3VycmVudExvY2FsZSgpO1xuICAgIGNvbnN0IGNsb25lZEh0dHBSZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiA9IGh0dHBSZXF1ZXN0LmNsb25lKHtcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRMb2NhbGUudmFsdWVcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBodHRwSGFuZGxlci5oYW5kbGUoY2xvbmVkSHR0cFJlcXVlc3QpO1xuICB9XG59XG4iXX0=