Multilingual

Get current language id

Get current language id

\Drupal::languageManager()->getCurrentLanguage()->getId();

Add t() to classes (services, controllers, etc)

use Drupal\Core\StringTranslation\StringTranslationTrait;
class MyClass {
use StringTranslationTrait;
}

Entity translations

Get translation

$node = \Drupal::entityTypeManager()->getStorage('node')->load(23);
if ($node->hasTranslation($languageId)) {
$translated = $node->getTranslation($languageId);
}

Add translation

if (!$entity->hasTranslation('fr')) {
$translation = $entity->addTranslation('fr', [
'field_foo' => 'Bonjour'
]);
}