refactor(ivy): update the compiler to emit $localize
tags (#31609)
This commit changes the Angular compiler (ivy-only) to generate `$localize` tagged strings for component templates that use `i18n` attributes. BREAKING CHANGE Since `$localize` is a global function, it must be included in any applications that use i18n. This is achieved by importing the `@angular/localize` package into an appropriate bundle, where it will be executed before the renderer needs to call `$localize`. For CLI based projects, this is best done in the `polyfills.ts` file. ```ts import '@angular/localize'; ``` For non-CLI applications this could be added as a script to the index.html file or another suitable script file. PR Close #31609
This commit is contained in:

committed by
Misko Hevery

parent
b21397bde9
commit
fa79f51645
@ -1,3 +1,17 @@
|
||||
import "rxjs";
|
||||
|
||||
import "rxjs/operators";
|
||||
|
||||
const __globalThis = "undefined" !== typeof globalThis && globalThis;
|
||||
|
||||
const __window = "undefined" !== typeof window && window;
|
||||
|
||||
const __self = "undefined" !== typeof self && "undefined" !== typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && self;
|
||||
|
||||
const __global = "undefined" !== typeof global && global;
|
||||
|
||||
const _global = __globalThis || __global || __window || __self;
|
||||
|
||||
if (ngDevMode) _global.$localize = _global.$localize || function() {
|
||||
throw new Error("The global function `$localize` is missing. Please add `import '@angular/localize';` to your polyfills.ts file.");
|
||||
};
|
||||
|
@ -3,3 +3,17 @@ import "tslib";
|
||||
import "rxjs";
|
||||
|
||||
import "rxjs/operators";
|
||||
|
||||
var __globalThis = "undefined" !== typeof globalThis && globalThis;
|
||||
|
||||
var __window = "undefined" !== typeof window && window;
|
||||
|
||||
var __self = "undefined" !== typeof self && "undefined" !== typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && self;
|
||||
|
||||
var __global = "undefined" !== typeof global && global;
|
||||
|
||||
var _global = __globalThis || __global || __window || __self;
|
||||
|
||||
if (ngDevMode) _global.$localize = _global.$localize || function() {
|
||||
throw new Error("The global function `$localize` is missing. Please add `import '@angular/localize';` to your polyfills.ts file.");
|
||||
};
|
||||
|
Reference in New Issue
Block a user