У меня есть простые ключи перевода, такие как login-page.login
.
При построении в AOT перевод отображается неправильно, вместо этого отображается ключ fr.login-page.login
. Я не нашел, почему AOT добавил префикс lang.
Очевидно, что в JIT все работает прекрасно. И в обоих режимах (AOT и JIT) я вижу, что файлы перевода загружаются на ваше усмотрение, я являюсь файлом перевода для компонентов, и каждый файл находится в области действия в поставщике компонентов. Вот мой конфигурационный файл transloco:
provideTranslocoConfig({
availableLangs: ['en', 'fr'],
reRenderOnLangChange: true,
defaultLang: 'fr',
fallbackLang: 'en',
missingHandler: {
useFallbackTranslation: true,
logMissingKey: false,
},
prodMode: environment.production,
flatten: {
aot: environment.production,
},
}),
РЕДАКТИРОВАТЬ Я проверил во время выполнения, у меня есть: this.translocoService.availableLangs
-> []
Хотя: this.translocoService.lang.getValue()
-> "fr"
Когда я проверяю this.translocoService.translations
, у меня есть весь мой перевод "fr".
Наконец, если я пытаюсь this.translocoService.translate('login-page.login')
, он регистрируется как ошибка Missing translation for 'fr.login-page.login'
.
EDIT Когда я запускаю проект в JIT, translocoService.config возвращает конфигурацию, которую я установил. Но когда я включаю AOT, translocoService.config просто полон конфигураций по умолчанию, все настройки проекта исчезли ...