Update dependency @ngx-translate/core to v18 #87

Open
renovate-bot Bot wants to merge 1 commits from renovate/ngx-translate-core-18.x into main
pull from: renovate/ngx-translate-core-18.x

This PR contains the following updates:

Package Change Age Confidence
@ngx-translate/core ^17.0.0 → ^18.0.0 age confidence

Release Notes

ngx-translate/core (@​ngx-translate/core)

v18.0.0

Compare Source

@ngx-translate/core@18.0.0 and @ngx-translate/http-loader@18.0.0 are now stable on npm (latest).

v18 is the major API-cleanup release: standalone providers everywhere, signal-based internals, the default → fallback rename finalized, and the deprecated surface removed. It also resolves three long-standing semantic gotchas and baselines the workspace on Angular 22 / TypeScript 6.0.

Highlights

  • Standalone-first setup. TranslateModule is gone — use provideTranslateService() / provideChildTranslateService() (works in standalone and NgModule apps).
  • New *translateBlock="let t" structural directive for cleaner template translations.
  • New isLoading: Signal<boolean> — true while any use() load is in flight; read it for language-switching spinners.
  • Isolated subtrees are now truly isolated — own events, lookups, and language state.
  • Angular 18–22 supported (16 and 17 dropped); built and tested against Angular 18/19/20/21/22.

Breaking changes — required edits

TranslateModule removed. Replace TranslateModule.forRoot({...}) / forChild({...}) with provideTranslateService({...}) / provideChildTranslateService({...}). The pipe, directive, and service are standalone.

Deprecated default* symbols removed — rename:

Removed Replacement
defaultLang fallbackLang
setDefaultLang() setFallbackLang()
getDefaultLang() getFallbackLang()
onDefaultLangChange onFallbackLangChange
DefaultLangChangeEvent FallbackLangChangeEvent
langs getLangs()
setValue() (util) insertValue()

Also removed: useDefaultLang and defaultLanguage config fields (along with TranslateModule).

Deprecated (still works, warns once): using element text content as a key (<span translate>Hello</span>). Use [translate]="'KEY'", the translate pipe, or *translateBlock. It will be removed next major.

Potentially breaking — low impact (behavior changes)

  • A failed use() no longer mutates state. On loader failure, currentLang() / lastUseLanguage stay at the prior value instead of switching to the failed language. Use isLoading() or the returned Observable's error channel to drive switching UI.
  • Isolated subtrees no longer see ancestor translationChange$ events, nor borrow keys from outer scopes. Isolation now means own events + own lookups + own language state. If you wanted shared translations with subtree-scoped state, use provideChildTranslateService({ extend: true }).
  • instant() "unloaded language" warning is deduplicated per isolated subtree (was once per service instance).
  • ITranslateService gains isLoading: Signal<boolean>. If you mock it via implements/extends ITranslateService, add isLoading = signal(false).asReadonly(). See the "Mocking TranslateService" recipe in the README.
  • Loader errors are now logged instead of silently swallowed.

Migration

Full step-by-step guide: https://ngx-translate.org → Getting Started → Migration Guide.


Angular compatibility: 18, 19, 20, 21, 22 · TypeScript: 6.0 · RxJS: ≥7


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@ngx-translate/core](https://github.com/ngx-translate/core) | [`^17.0.0` → `^18.0.0`](https://renovatebot.com/diffs/npm/@ngx-translate%2fcore/17.0.0/18.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@ngx-translate%2fcore/18.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ngx-translate%2fcore/17.0.0/18.0.0?slim=true) | --- ### Release Notes <details> <summary>ngx-translate/core (@&#8203;ngx-translate/core)</summary> ### [`v18.0.0`](https://github.com/ngx-translate/core/releases/tag/v18.0.0) [Compare Source](https://github.com/ngx-translate/core/compare/v17.0.0...v18.0.0) `@ngx-translate/core@18.0.0` and `@ngx-translate/http-loader@18.0.0` are now stable on npm (`latest`). v18 is the **major API-cleanup release**: standalone providers everywhere, signal-based internals, the `default` → `fallback` rename finalized, and the deprecated surface removed. It also resolves three long-standing semantic gotchas and baselines the workspace on Angular 22 / TypeScript 6.0. #### Highlights - **Standalone-first setup.** `TranslateModule` is gone — use `provideTranslateService()` / `provideChildTranslateService()` (works in standalone *and* NgModule apps). - **New `*translateBlock="let t"` structural directive** for cleaner template translations. - **New `isLoading: Signal<boolean>`** — true while any `use()` load is in flight; read it for language-switching spinners. - **Isolated subtrees are now truly isolated** — own events, lookups, and language state. - **Angular 18–22 supported** (16 and 17 dropped); built and tested against Angular 18/19/20/21/22. #### Breaking changes — required edits **`TranslateModule` removed.** Replace `TranslateModule.forRoot({...})` / `forChild({...})` with `provideTranslateService({...})` / `provideChildTranslateService({...})`. The pipe, directive, and service are standalone. **Deprecated `default*` symbols removed — rename:** | Removed | Replacement | | ------------------------ | ------------------------- | | `defaultLang` | `fallbackLang` | | `setDefaultLang()` | `setFallbackLang()` | | `getDefaultLang()` | `getFallbackLang()` | | `onDefaultLangChange` | `onFallbackLangChange` | | `DefaultLangChangeEvent` | `FallbackLangChangeEvent` | | `langs` | `getLangs()` | | `setValue()` (util) | `insertValue()` | Also removed: `useDefaultLang` and `defaultLanguage` config fields (along with `TranslateModule`). **Deprecated (still works, warns once):** using element text content as a key (`<span translate>Hello</span>`). Use `[translate]="'KEY'"`, the `translate` pipe, or `*translateBlock`. It will be removed next major. #### Potentially breaking — low impact (behavior changes) - **A failed `use()` no longer mutates state.** On loader failure, `currentLang()` / `lastUseLanguage` stay at the prior value instead of switching to the failed language. Use `isLoading()` or the returned Observable's error channel to drive switching UI. - **Isolated subtrees no longer see ancestor `translationChange$` events, nor borrow keys from outer scopes.** Isolation now means own events + own lookups + own language state. If you wanted shared translations with subtree-scoped state, use `provideChildTranslateService({ extend: true })`. - **`instant()` "unloaded language" warning is deduplicated per isolated subtree** (was once per service instance). - **`ITranslateService` gains `isLoading: Signal<boolean>`.** If you mock it via `implements`/`extends ITranslateService`, add `isLoading = signal(false).asReadonly()`. See the "Mocking TranslateService" recipe in the README. - Loader errors are now **logged** instead of silently swallowed. #### Migration Full step-by-step guide: **<https://ngx-translate.org>** → Getting Started → [Migration Guide](https://ngx-translate.org/getting-started/migration-guide/#_top). *** **Angular compatibility:** 18, 19, 20, 21, 22 · **TypeScript:** 6.0 · **RxJS:** ≥7 </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNzguMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE3OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==-->
renovate-bot Bot force-pushed renovate/ngx-translate-core-18.x from 970cce823f to 80cba5bc1e 2026-10-26 10:34:15 +01:00 Compare
renovate-bot Bot force-pushed renovate/ngx-translate-core-18.x from 80cba5bc1e to 3b0133b8ff 2026-10-27 12:16:59 +01:00 Compare
renovate-bot Bot force-pushed renovate/ngx-translate-core-18.x from 3b0133b8ff to 1f7f915834 2026-10-27 14:27:49 +01:00 Compare
renovate-bot Bot added 1 commit 2026-11-02 01:37:25 +01:00
Update dependency @ngx-translate/core to v18
renovate/stability-days Updates have met minimum release age requirement
4e237beff9
renovate-bot Bot force-pushed renovate/ngx-translate-core-18.x from 1f7f915834 to 4e237beff9 2026-11-02 01:37:25 +01:00 Compare
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ngx-translate-core-18.x:renovate/ngx-translate-core-18.x
git checkout renovate/ngx-translate-core-18.x
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bb_if_produktiv/psitrail#87