Invited a test proofreader (my fake account) into project and it seems I can access anyway all languages, without being invited for all of them. Is it a bug or there’s a logical explanation?
Yes, because it’s a proofreader user
Have you tried enabled moderated project join?
It should create a 3rd sub-role, blocked, so let’s say if you invite John into project, for each language he will be one of those, or all of those: proofreader/translator/blocked.
When using this, you can simply block John for all languages and keep a proofreader for 1 only.