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'
]);
}