Your original question sounds like the user can change the language of the entire page. If that's true, then WCAG 3.1.1 Language of Page is more applicable in that if the user chooses a language for the entire page, then you should specify the
lang attribute on the main <html> element (but UX StackExchange is about usability and not programming so I don't want to dive too deep into that).
If you also have non-Spanish words on the page, then each of those elements would need their own
lang attribute, which is where WCAG 3.1.2 Language of Parts comes into play.
<p>Hola! Bienvenido a nuestro sitio web.</p>
<p lang="en">To contact us...</p>
(The above is a contrived example and I don't speak Spanish so it could be grammatically incorrect. If the entire page were in Spanish, I wouldn't expect a "contact us" message in English, but it shows how WCAG 3.1.2 Language of Parts is applicable.)
Getting back to your question:
...can we use English for titles, alt etc or should we adapt according to the language selected ?
If the user changes the language of the page, I would expect everything to be translated, including the page title, the
title (tooltip) attribute on all elements, the alt text for images, the
aria-label for all elements, etc. How would it help a Spanish speaker to leave those elements in English?
As mentioned above, if there are elements that really need to remain in English, they'll need the