Conversation
…ion for projects that have a lot of roots The new class doesn't use a MutationObserver which has performance problems when observing a lot of nodes. Therefore it's up to the users to call `translateFragment` or `translateElements` at the right moment. It also doesn't check if a newly connected root overlaps with the previously connected roots because of the quadratic behavior of this check. It's up to the users of the library to take care about that. The possible drawback is to possibly translate the same elements twice when the locale change, which is a small drawback compared to the quadratic behavior. The previously existing DOMLocalization is now based on MiniDOMLocalization, but otherwise doesn't change its API or behavior, so this change shouldn't be breaking for existing users.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an alternative to #671, as a way to fix #648 for us. It's probably less scary because it doesn't change the shape or behavior of
DOMLocalizationitself.The new class doesn't use a
MutationObserverwhich has performance problems when observing a lot of nodes. Therefore it's up to the users to calltranslateFragmentortranslateElementsat the right moment.It also doesn't check if a newly connected root overlaps with the previously connected roots because of the quadratic behavior of this check. It's up to the users of the library to take care about that. The possible drawback is to possibly translate the same elements twice when the locale change, which is a small drawback compared to the quadratic behavior.
The previously existing
DOMLocalizationis now based onMiniDOMLocalization, but otherwise doesn't change its API or behavior, so this change shouldn't be breaking for existing users.