Drupal 8 - Créer la traduction d'une chaine de caractère dans le code

Dans un processus de déploiement, il est utile de gérer les traductions de chaînes de caractères dans le code, afin de pouvoir les déployer plus facilement.

Exemple avec cette fonction d'update à adapter en fonction de vos besoins :

/**
 * Création d'une traduction
 */
function mespronos_tweaks_update_8005() {
  $chaine = 'Forgotten password';
  $traduction = 'Mot de passe oublié';
  $storage = \Drupal::service('locale.storage');
  $string = $storage->findString(['source' => $chaine]);
  if ($string === NULL) {
    $string = new \Drupal\locale\SourceString();
    $string->setString($chaine);
    $string->setStorage($storage);
    $string->save();
  }

  $translation = $storage->createTranslation(array(
    'lid' => $string->lid,
    'language' => 'fr',
    'translation' => $traduction,
  ))->save();
}

Pour un exemple réel, il sera plus pratique de passer par un tableau associatif (à deux dimensions si l'on veut importer plusieurs langues) qui sera parcouru par un ou deux foreach.

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...