I'm trying to check user access to node via this code:

 $node = Node::load($node_id);   
 $node->access('view', $account)

It seems it doesn't check if user has access to node translation or not and it check only for first language of node -when we create node for first time.

For example if node is created in English as published and later in french as unpublished node access returns which user has access. If I update English language to unpublished and french to published, node->access returns false;

So node_access doesn't consider translation? How we can check for translations too?

1 Answer 1


You can just call getTranslation like this:

$node_translation = $node->getTranslation('LANGCODE');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.