Error when translatable
I had to set the fieldWidget to hidden.

 //langcode
        $fields['langcode'] = BaseFieldDefinition::create('language')
            -&gt;setLabel(t('Language'))
            -&gt;setTranslatable(true)
            -&gt;setDescription(t('The redirect language code.'))
            -&gt;setDisplayOptions('form', array(
                'type' =&gt; 'language_select',
                'weight' =&gt; 2,
            ));


Also I used Drupal's language configuration settings to enable the multilanguage feature for the entity.

The only missing bit is the language translation interface that you can use with nodes.