fix(ivy): i18n - use MessageId for matching translations (#32594)

As discussed in https://hackmd.io/33M5Wb-JT7-0fneA0JuHPA `SourceMessage`
strings are not sufficient for matching translations.

This commit updates `@angular/localize` to use `MessageId`s for translation
matching instead.

Also the run-time translation will now log a warning to the console if a
translation is missing.

BREAKING CHANGE:

Translations (loaded via the `loadTranslations()` function) must now use
`MessageId` for the translation key rather than the previous `SourceMessage`
string.

PR Close #32594
This commit is contained in:
Pete Bacon Darwin
2019-09-13 12:46:05 +01:00
committed by Andrew Kushnir
parent 870d189433
commit 357aa4a097
10 changed files with 288 additions and 47 deletions

View File

@ -1,3 +1,3 @@
export declare function clearTranslations(): void;
export declare function loadTranslations(translations: Record<TranslationKey, TargetMessage>): void;
export declare function loadTranslations(translations: Record<MessageId, TargetMessage>): void;