
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
51 lines
2.3 KiB
TypeScript
51 lines
2.3 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
/**
|
|
* @module
|
|
* @description
|
|
* Entry point from which you should import all public core APIs.
|
|
*/
|
|
export * from './metadata';
|
|
export * from './version';
|
|
export {TypeDecorator} from './util/decorators';
|
|
export * from './di';
|
|
export {createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, createPlatformFactory, NgProbeToken} from './application_ref';
|
|
export {enableProdMode, isDevMode} from './util/is_dev_mode';
|
|
export {APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER} from './application_tokens';
|
|
export {APP_INITIALIZER, ApplicationInitStatus} from './application_init';
|
|
export * from './zone';
|
|
export * from './render';
|
|
export * from './linker';
|
|
export {DebugElement, DebugEventListener, DebugNode, asNativeElements, getDebugNode, Predicate} from './debug/debug_node';
|
|
export {GetTestability, Testability, TestabilityRegistry, setTestabilityGetter} from './testability/testability';
|
|
export * from './change_detection';
|
|
export * from './platform_core_providers';
|
|
export {TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID, MissingTranslationStrategy} from './i18n/tokens';
|
|
export {ApplicationModule} from './application_module';
|
|
export {wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, WtfScopeFn} from './profile/profile';
|
|
export {AbstractType, Type} from './interface/type';
|
|
export {EventEmitter} from './event_emitter';
|
|
export {ErrorHandler} from './error_handler';
|
|
export * from './core_private_export';
|
|
export * from './core_render3_private_export';
|
|
export {SecurityContext} from './sanitization/security';
|
|
export {Sanitizer} from './sanitization/sanitizer';
|
|
export * from './codegen_private_exports';
|
|
|
|
import {global} from './util/global';
|
|
if (ngDevMode) {
|
|
// This helper is to give a reasonable error message to people upgrading to v9 that have not yet
|
|
// installed `@angular/localize` in their app.
|
|
// tslint:disable-next-line: no-toplevel-property-access
|
|
global.$localize = global.$localize || function() {
|
|
throw new Error(
|
|
'The global function `$localize` is missing. Please add `import \'@angular/localize\';` to your polyfills.ts file.');
|
|
};
|
|
}
|