Open endlacer opened 2 months ago
The translate pipe, does already have caching. The pure pipe does caching at the "angular" level, while translate pipe does it inside the transform.
Async pipe is also a unpure pipe, and they do caching too, so it's fine I guess, and won't make a difference.
This is interesting, thank you!
Shameless plug https://justangular.com/blog/async-pipe-is-not-pure
Current behavior
The ngx-translate package currently provides an impure Angular pipe for translations. This results in thousands of function calls, especially on pages with numerous pipe calls for translations/internationalization. This behavior can lead to performance issues, particularly on complex or data-heavy pages.
Expected behavior
The package should provide a pure version of the translation pipe. This would significantly reduce the number of function calls and improve performance, especially on pages with many translated elements.
What is the motivation / use case for changing the behavior?
The primary motivation is to improve performance in Angular applications using ngx-translate, especially those with a large number of translated elements. By reducing the number of function calls, we can potentially see significant performance improvements, particularly on complex or data-heavy pages.
How do you think that we should implement this?
This approach would provide a performance-optimized option for users who are willing to manage change detection themselves, while still keeping the current functionality available for those who prefer it.