We need to grant access to languages based on role (ex. the role for English and Spanish language) so that user with these roles will have access to specific languages.
There two special access permissions for languages.
Language Read and Language Write.
To see them in the Security Editor/Access Viewer click Columns and then tick them in the list. Then you can set security permissions per language items (below /sitecore/system/languages/).