Я забыл упомянуть, что изменение rtl с div
не будет работать, я проверил, что перед тем, как задавать вопрос, единственный способ правильно переключить тему - это добавить ее в <html>
, и вы можете проверить это попробовав его на CoreUI Free Angular 2+ Admin Template , что я и использую.
Мне удалось решить это
switchLanguage(language: string) {
this.translate.use(language);
if (language !== 'ar' && document.getElementsByTagName('html')[0].hasAttribute('dir')) {
document.getElementsByTagName('html')[0].removeAttribute('dir');
} else if (language === 'ar' && !document.getElementsByTagName('html')[0].hasAttribute('dir')) {
document.getElementsByTagName('html')[0].setAttribute('dir', 'rtl');
}
localStorage.setItem('lang', language);
}
Если у кого-нибудь есть лучшее решение, дайте мне знать, я возьму голос и, конечно, приму ваше.