getEntity(); $node_lang_code = $node->language()->getId(); // $distrib = $node->get('field_distributor')->referencedEntities(); // $manuf = $node->get('field_manufacturer')->referencedEntities(); $companies = array_merge($node->get('field_distributor')->referencedEntities(), $node->get('field_manufacturer')->referencedEntities()); $country_codes = []; foreach ($companies as $term) { $address = $term->get('field_public_address')->first(); if ($address) { $country_code = $address->getCountryCode(); if (!in_array($country_code, $country_codes)){ $country_codes[] = $country_code; } } } if (count($country_codes)) { $full_country_list = \Drupal::service('country_manager')->getList(); foreach ($country_codes as $i => $country_code) { /** Drupal\Core\StringTranslation\TranslatableMarkup **/ $country_name = $full_country_list[$country_code]; // $country_name->options['langcode'] = $this->langcode; // $lang = \Drupal::languageManager()->getCurrentLanguage()->getId(); $untranslated = $country_name->getUntranslatedString(); // $translated = $country_name->render(['langcode' => $node_lang_code]); $translated = t($untranslated, [], ['langcode'=>$node_lang_code]); // $this->list[$i] = $this->createItem($i, "lang: $lang, node:$node_lang_code, $untranslated, $translated"); $this->list[$i] = $this->createItem($i, $translated); } } } }