@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
JavaScript
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=