dfx-translate
Advanced tools
Comparing version 0.0.10 to 0.0.11
@@ -145,7 +145,27 @@ (function (global, factory) { | ||
} | ||
DfxTranslateModule.boot = function (configuration) { | ||
return DfxTranslateModule.setup(configuration); | ||
}; | ||
; | ||
DfxTranslateModule.config = function (configuration) { | ||
console.log('dfx-translate | DEPRECATED API USAGE; Please use DfxTranslateModule.setup(...)'); | ||
return DfxTranslateModule.setup(configuration); | ||
}; | ||
; | ||
DfxTranslateModule.setup = function (configuration) { | ||
console.log(configuration); | ||
return { | ||
ngModule: DfxTranslateModule, | ||
providers: [{ provide: TRANSLATE_CONFIG, useValue: configuration }] | ||
providers: [ | ||
{ | ||
provide: TRANSLATE_CONFIG, | ||
useValue: configuration | ||
}, | ||
{ | ||
provide: i0.APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
}; | ||
@@ -157,10 +177,3 @@ }; | ||
DfxTranslateModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0__namespace, type: DfxTranslateModule, declarations: [TranslatePipe], exports: [TranslatePipe] }); | ||
DfxTranslateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0__namespace, type: DfxTranslateModule, providers: [ | ||
{ | ||
provide: i0.APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] }); | ||
DfxTranslateModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0__namespace, type: DfxTranslateModule, providers: [] }); | ||
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0__namespace, type: DfxTranslateModule, decorators: [{ | ||
@@ -171,10 +184,3 @@ type: i0.NgModule, | ||
exports: [TranslatePipe], | ||
providers: [ | ||
{ | ||
provide: i0.APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
providers: [] | ||
}] | ||
@@ -181,0 +187,0 @@ }] }); |
@@ -7,7 +7,27 @@ import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||
export class DfxTranslateModule { | ||
static boot(configuration) { | ||
return DfxTranslateModule.setup(configuration); | ||
} | ||
; | ||
static config(configuration) { | ||
console.log('dfx-translate | DEPRECATED API USAGE; Please use DfxTranslateModule.setup(...)'); | ||
return DfxTranslateModule.setup(configuration); | ||
} | ||
; | ||
static setup(configuration) { | ||
console.log(configuration); | ||
return { | ||
ngModule: DfxTranslateModule, | ||
providers: [{ provide: TRANSLATE_CONFIG, useValue: configuration }] | ||
providers: [ | ||
{ | ||
provide: TRANSLATE_CONFIG, | ||
useValue: configuration | ||
}, | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
}; | ||
@@ -18,10 +38,3 @@ } | ||
DfxTranslateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, declarations: [TranslatePipe], exports: [TranslatePipe] }); | ||
DfxTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, providers: [ | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] }); | ||
DfxTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, providers: [] }); | ||
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, decorators: [{ | ||
@@ -32,10 +45,3 @@ type: NgModule, | ||
exports: [TranslatePipe], | ||
providers: [ | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
providers: [] | ||
}] | ||
@@ -46,2 +52,2 @@ }] }); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZ4LXRyYW5zbGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kZngtdHJhbnNsYXRlL3NyYy9saWIvZGZ4LXRyYW5zbGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7O0FBY3JFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUE4QjtRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQztTQUNsRSxDQUFDO0lBQ0osQ0FBQzs7K0dBUFUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBWGQsYUFBYSxhQUNsQixhQUFhO2dIQVVaLGtCQUFrQixhQVRsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLHFCQUFxQjtZQUNqQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Y7MkZBRVUsa0JBQWtCO2tCQVo5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7NEJBQ2pDLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDOzRCQUN4QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7QUFXRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsT0FBeUI7SUFDN0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCIuL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1RSQU5TTEFURV9DT05GSUcsIFRyYW5zbGF0ZUNvbmZpZ30gZnJvbSBcIi4vdHJhbnNsYXRlLmNvbmZpZ1wiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUcmFuc2xhdGVQaXBlXSxcbiAgZXhwb3J0czogW1RyYW5zbGF0ZVBpcGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiBzZXR1cFRyYW5zbGF0ZUZhY3RvcnksXG4gICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGZ4VHJhbnNsYXRlTW9kdWxlIHtcbiAgc3RhdGljIGNvbmZpZyhjb25maWd1cmF0aW9uOiBUcmFuc2xhdGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERmeFRyYW5zbGF0ZU1vZHVsZT4ge1xuICAgIGNvbnNvbGUubG9nKGNvbmZpZ3VyYXRpb24pO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGZ4VHJhbnNsYXRlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IFRSQU5TTEFURV9DT05GSUcsIHVzZVZhbHVlOiBjb25maWd1cmF0aW9ufV1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFRyYW5zbGF0ZUZhY3Rvcnkoc2VydmljZTogVHJhbnNsYXRlU2VydmljZSk6IEZ1bmN0aW9uIHtcbiAgcmV0dXJuICgpID0+IHNlcnZpY2UudXNlKCk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZ4LXRyYW5zbGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kZngtdHJhbnNsYXRlL3NyYy9saWIvZGZ4LXRyYW5zbGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7O0FBT3JFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUE4QjtRQUN4QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBOEI7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnRkFBZ0YsQ0FBQyxDQUFBO1FBQzdGLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUE4QjtRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixRQUFRLEVBQUUsYUFBYTtpQkFDeEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7b0JBQ2pDLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUN4QixLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OytHQTNCVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFKZCxhQUFhLGFBQ2xCLGFBQWE7Z0hBR1osa0JBQWtCLGFBRmxCLEVBQUU7MkZBRUYsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUUsRUFBRTtpQkFDZDs7QUErQkQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQXlCO0lBQzdELE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gJy4vdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiLi90cmFuc2xhdGUuc2VydmljZVwiO1xuaW1wb3J0IHtUUkFOU0xBVEVfQ09ORklHLCBUcmFuc2xhdGVDb25maWd9IGZyb20gXCIuL3RyYW5zbGF0ZS5jb25maWdcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJhbnNsYXRlUGlwZV0sXG4gIGV4cG9ydHM6IFtUcmFuc2xhdGVQaXBlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBEZnhUcmFuc2xhdGVNb2R1bGUge1xuICBzdGF0aWMgYm9vdChjb25maWd1cmF0aW9uOiBUcmFuc2xhdGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERmeFRyYW5zbGF0ZU1vZHVsZT4ge1xuICAgIHJldHVybiBEZnhUcmFuc2xhdGVNb2R1bGUuc2V0dXAoY29uZmlndXJhdGlvbik7XG4gIH07XG5cbiAgc3RhdGljIGNvbmZpZyhjb25maWd1cmF0aW9uOiBUcmFuc2xhdGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERmeFRyYW5zbGF0ZU1vZHVsZT4ge1xuICAgIGNvbnNvbGUubG9nKCdkZngtdHJhbnNsYXRlIHwgREVQUkVDQVRFRCBBUEkgVVNBR0U7IFBsZWFzZSB1c2UgRGZ4VHJhbnNsYXRlTW9kdWxlLnNldHVwKC4uLiknKVxuICAgIHJldHVybiBEZnhUcmFuc2xhdGVNb2R1bGUuc2V0dXAoY29uZmlndXJhdGlvbik7XG4gIH07XG5cbiAgc3RhdGljIHNldHVwKGNvbmZpZ3VyYXRpb246IFRyYW5zbGF0ZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGZ4VHJhbnNsYXRlTW9kdWxlPiB7XG4gICAgY29uc29sZS5sb2coY29uZmlndXJhdGlvbik7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEZnhUcmFuc2xhdGVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFRSQU5TTEFURV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ3VyYXRpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiBzZXR1cFRyYW5zbGF0ZUZhY3RvcnksXG4gICAgICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBUcmFuc2xhdGVGYWN0b3J5KHNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpOiBGdW5jdGlvbiB7XG4gIHJldHVybiAoKSA9PiBzZXJ2aWNlLnVzZSgpO1xufVxuIl19 |
import { InjectionToken } from "@angular/core"; | ||
export const TRANSLATE_CONFIG = new InjectionToken('TRANSLATE_CONFIG'); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2RmeC10cmFuc2xhdGUvc3JjL2xpYi90cmFuc2xhdGUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFPN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ2hELGtCQUFrQixDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGVDb25maWcge1xuICBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZyB8IG51bGw7XG4gIHVzZUxvY2FsU3RvcmFnZTogYm9vbGVhbiB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnVFJBTlNMQVRFX0NPTkZJRydcbik7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2RmeC10cmFuc2xhdGUvc3JjL2xpYi90cmFuc2xhdGUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFPN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ2hELGtCQUFrQixDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGVDb25maWcge1xuICBkZWZhdWx0TGFuZ3VhZ2U/OiBzdHJpbmcgfCBudWxsO1xuICB1c2VMb2NhbFN0b3JhZ2U/OiBib29sZWFuIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdUUkFOU0xBVEVfQ09ORklHJ1xuKTtcbiJdfQ== |
@@ -112,7 +112,27 @@ import * as i0 from '@angular/core'; | ||
class DfxTranslateModule { | ||
static boot(configuration) { | ||
return DfxTranslateModule.setup(configuration); | ||
} | ||
; | ||
static config(configuration) { | ||
console.log('dfx-translate | DEPRECATED API USAGE; Please use DfxTranslateModule.setup(...)'); | ||
return DfxTranslateModule.setup(configuration); | ||
} | ||
; | ||
static setup(configuration) { | ||
console.log(configuration); | ||
return { | ||
ngModule: DfxTranslateModule, | ||
providers: [{ provide: TRANSLATE_CONFIG, useValue: configuration }] | ||
providers: [ | ||
{ | ||
provide: TRANSLATE_CONFIG, | ||
useValue: configuration | ||
}, | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
}; | ||
@@ -123,10 +143,3 @@ } | ||
DfxTranslateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, declarations: [TranslatePipe], exports: [TranslatePipe] }); | ||
DfxTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, providers: [ | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] }); | ||
DfxTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, providers: [] }); | ||
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.0", ngImport: i0, type: DfxTranslateModule, decorators: [{ | ||
@@ -137,10 +150,3 @@ type: NgModule, | ||
exports: [TranslatePipe], | ||
providers: [ | ||
{ | ||
provide: APP_INITIALIZER, | ||
useFactory: setupTranslateFactory, | ||
deps: [TranslateService], | ||
multi: true | ||
}, | ||
] | ||
providers: [] | ||
}] | ||
@@ -147,0 +153,0 @@ }] }); |
@@ -7,3 +7,5 @@ import { ModuleWithProviders } from '@angular/core'; | ||
export declare class DfxTranslateModule { | ||
static boot(configuration: TranslateConfig): ModuleWithProviders<DfxTranslateModule>; | ||
static config(configuration: TranslateConfig): ModuleWithProviders<DfxTranslateModule>; | ||
static setup(configuration: TranslateConfig): ModuleWithProviders<DfxTranslateModule>; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<DfxTranslateModule, never>; | ||
@@ -10,0 +12,0 @@ static ɵmod: i0.ɵɵNgModuleDeclaration<DfxTranslateModule, [typeof i1.TranslatePipe], never, [typeof i1.TranslatePipe]>; |
import { InjectionToken } from "@angular/core"; | ||
export interface TranslateConfig { | ||
defaultLanguage: string | null; | ||
useLocalStorage: boolean | null; | ||
defaultLanguage?: string | null; | ||
useLocalStorage?: boolean | null; | ||
} | ||
export declare const TRANSLATE_CONFIG: InjectionToken<unknown>; |
{ | ||
"name": "dfx-translate", | ||
"version": "0.0.10", | ||
"version": "0.0.11", | ||
"private": false, | ||
@@ -19,2 +19,4 @@ "license": "MIT", | ||
"ng", | ||
"ng-translate", | ||
"ngx-translate", | ||
"autotranslation", | ||
@@ -25,3 +27,3 @@ "automation" | ||
"bugs": { | ||
"url": "https://gitlab.com/DatePoll/common/dfx-translate/issues" | ||
"url": "https://gitlab.com/DatePoll/common/dfx-translate/-/issues" | ||
}, | ||
@@ -28,0 +30,0 @@ "repository": { |
167
README.md
# dfx-translate | ||
A simple translation package for Angular 4 - 12. | ||
A simple translate package for Angular 4 - 12. | ||
### Features | ||
* inline html translations with pipelines | ||
* in-code translation with services | ||
* an easy-to-use json structure | ||
* auto-translation feature via https://github.com/LibreTranslate/LibreTranslate API integration | ||
## Usage | ||
## Setup | ||
### Installation | ||
```bash | ||
@@ -14,9 +17,8 @@ npm install dfx-translate@latest | ||
### Language file setup | ||
Language files **must** be saved in `src/assets/i18n/LANGUAGE_CODE.json`; Create the directory if it does not exist. | ||
```bash | ||
mkdir -p ./src/assets/i18n | ||
``` | ||
All of your language files are going to be stored in `src/assets/i18n/` folder. If there is no one in your project, | ||
create one. Depending on which primary language you want to write your application you can pick from **"Supported | ||
languages"**. | ||
Lets say you've picked **english** as your primary language, create an `en.json` file with following content: | ||
Choose a primary language, lets say you've picked **english**. Create an `en.json` file with following content: | ||
```json | ||
@@ -28,30 +30,23 @@ { | ||
``` | ||
Note: The json structure must always consist of a key and value pair. | ||
Now you want to translate `Welcome` into german. Create a `de.json` file with the content: | ||
#### Manual translation | ||
Choose an additional language, lets say you've picked **german**. Create an `de.json` file | ||
```json | ||
{ | ||
"WELCOME": "Willkommen" | ||
"WELCOME": "Willkomen", | ||
"WELCOME_SUBTEXT": "Fremder." | ||
} | ||
``` | ||
Note: You **do not** have to translate all strings if you are using the **auto-translate feature**. | ||
#### Auto translate not translated strings | ||
dfx-translate will take partially manual translated files into account, meaning it will only translate strings which | ||
weren't translated. Sadly you will need a LibreTranlsate instance or access to one for this feature to work. More at **Auto deep | ||
learning translation** | ||
#### Auto translation | ||
dfx-translate can translate the primary language into a whole new language and will take partially manual translated | ||
languages into account, meaning it will only translate strings which are not occurring in the manual created files | ||
located at `src/assets/i18n/LANGUAGE_CODE.json`. | ||
Read more below; | ||
### Registration in root (app) module | ||
This has to be done only once in your project. Please keep following infromation in mind. | ||
* The `defaultLanguage` property should be the same as your primary language. | ||
* There should not be an auto generated language file for your default / primary language. | ||
Use code values for the following properties from **"Supported languages"** | ||
property | description | default value | ||
--- | --- | --- | ||
defaultLanguage | Short name of default language | `en` | ||
useLocalStorage | Save selected languages as the preference into local storage | `true` | ||
This has to be done only once in the project. Ideal in `app.module.ts` | ||
```typescript | ||
@@ -64,3 +59,3 @@ import {DfxTranslateModule} from "dfx-translate"; | ||
... | ||
DfxTranslateModule.config({ | ||
DfxTranslateModule.setup({ | ||
configuration: { | ||
@@ -72,3 +67,2 @@ defaultLanguage: 'de', | ||
], | ||
providers: [...], | ||
bootstrap: [...] | ||
@@ -79,7 +73,12 @@ }) | ||
``` | ||
property | description | default value | ||
--- | --- | --- | ||
defaultLanguage | Short code of the primary language (identically to the file name) | `en` | ||
useLocalStorage | Saves selected languages as the preference into local storage | `true` | ||
### Switch language | ||
## Usage | ||
### Switching languages | ||
Language switching is as easy as one function call. | ||
Language switching is as easy as one function call. Just pass a code from **"Supported languages"** | ||
Note: The language code used has to exist as `src/assets/i18n/LANGUAGE_CODE.json` | ||
```typescript | ||
@@ -104,5 +103,3 @@ import {TranslateService} from "dfx-translate"; | ||
### Pipeline usage | ||
If you want to use the tranlsation pipe you have to import the `DfxTranslateModule` into your used module | ||
Import `DfxTranslateModule` into the module requiring the translation pipe. | ||
```typescript | ||
@@ -124,4 +121,3 @@ import {DfxTranslateModule} from "dfx-translate"; | ||
After that you can simple use the `tr` pipe in html | ||
Now you can use it with `tr` in html | ||
```angular2html | ||
@@ -133,5 +129,3 @@ <h1>{{'WELCOME' | tr}}</h1> | ||
### Service usage | ||
It's also easily possible to access translations via code with the `TranslatorService`: | ||
Access translations via code with `TranslateService` | ||
```typescript | ||
@@ -155,16 +149,54 @@ import {TranslateService} from "dfx-translate"; | ||
### Auto deep learning translation | ||
## Auto deep learning translation | ||
It's possible to translate not manual translated strings via | ||
https://github.com/LibreTranslate/LibreTranslate API. LibreTranslate is an open-source, self-hostable | ||
machine-translation service. | ||
It's possible to translate not manual translated strings via LibreTranslate API. LibreTranslate is an open source selfhostable machine-translation | ||
service. Visit https://github.com/LibreTranslate/LibreTranslate for more information. | ||
dfx-translate can translate the primary language into a whole new language and will take partially manual translated | ||
languages into account, meaning it will only translate strings which are not occurring in the manual created files | ||
located at src/assets/i18n/LANGUAGE_CODE.json. | ||
dfx-translate will take partially manual translated files into account. The command syntax is | ||
Command syntax: | ||
```bash | ||
node ./node_modules/dfx-translate/translation/generateTranslation.js {API_URL} {SOURCE_LANGUAGE_CODE} {TARGET_LANGUAGE_CODE} | ||
``` | ||
Note: You **never** have to auto-translate fully manual translated files | ||
For simplicity purposes I wrote a little shell script. Put this at the top / root level of your project | ||
in `languages.sh` | ||
### Supported languages | ||
LANGUAGE_CODE | name | ||
--- | --- | ||
en | English | ||
ar | Arabic | ||
zh | Chinese | ||
fr | French | ||
de | German | ||
hi | Hindi | ||
ga | Irish | ||
it | Italian | ||
ja | Japanese | ||
ko | Korean | ||
pt | Portuguese | ||
ru | Russian | ||
es | Spanish | ||
Note: Keep in mind that at least one of the fully manual translated files has to be in such a language for this feature | ||
to work. | ||
### Example | ||
* **Primary language: en**; **Fully translated language: de**; **Partially translated language: es**; **Not translated | ||
language: fr** | ||
```bash | ||
node ./node_modules/dfx-translate/translation/generateTranslation.js https://translate.abc.abc/translate en es | ||
node ./node_modules/dfx-translate/translation/generateTranslation.js https://translate.abc.abc/translate en fr | ||
``` | ||
Following files should be in `src/assets/i18n/` folder. | ||
* `en.json` - the primary language | ||
* `de.json` - additional language, fully manual translated | ||
* `es.json` - additional language, partially manual translated | ||
* `es_auto.json` - additional language, auto-translated missing strings of `es.json` compared to the primary language | ||
* `fr_auto.json` - additional language, completly auto-translated containing all translations | ||
### Simplifying | ||
For simplicity purposes I wrote a little shell script. Put this at the top / root level of the project | ||
```bash | ||
@@ -186,24 +218,21 @@ #!/usr/bin/env bash | ||
``` | ||
Now you only have to run this script. | ||
dfx-translate will put all auto generated properties in `src/assets/i18n/`. The file names will be something | ||
like `de_auto.json` or `en_auto.json`. | ||
## Development | ||
Everything important in this library is located in `projects/dfx-translate`, thats the "real" library. (following | ||
commands still have to be executed at the root level) | ||
Before an production build run | ||
### Dependency installation | ||
```bash | ||
npm install | ||
``` | ||
## Supported languages | ||
### Starting in development environment | ||
```bash | ||
npm run-script watch | ||
``` | ||
code | name | ||
--- | --- | ||
en | English | ||
ar | Arabic | ||
zh | Chinese | ||
fr | French | ||
de | German | ||
hi | Hindi | ||
ga | Irish | ||
it | Italian | ||
ja | Japanese | ||
ko | Korean | ||
pt | Portuguese | ||
ru | Russian | ||
es | Spanish | ||
### Building a production version | ||
```bash | ||
npm run-script build | ||
``` |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
77458
799
229