У вас будет AuthGuard, который будет контролировать доступ к разделам и можно написать директиву, которая будет контролировать показ UI на странице. Пусть директива будет называться, к примеру, "hasAuth" и будет иметь такое содержимое:
@Directive({ selector: '[hasAuth]' })
export class HasAuthDirective implements OnInit {
constructor(private _viewContainer: ViewContainerRef, private _template: TemplateRef<any>) { }
ngOnInit(): void {
this._checkAuth(/*ваше определение аутентификации типа boolean*/);
}
private _checkAuth(isAuth: boolean): void {
if (isAuth) {
this._viewContainer.createEmbeddedView(this._template);
} else {
this._viewContainer.clear();
}
}
}
И в шаблоне, где нужно показать/скрыть кнопку или другой UI в зависимости от того, прошел ли пользователей аутентификацию, просто добавляем созданную нами директиву:
<button *hasAuth>Редактировать статью</button>
Набросал мини пример -
ссылка
Что касается "локализации". Так же нет ничего сложного. Рекомендую использовать
ngx-translate. В принципе, там есть вся необходимая информация по вопросам "как этим пользоваться".