function TermDevelGenerate::generateTermTranslation
Same name in other branches
- 4.x devel_generate/src/Plugin/DevelGenerate/TermDevelGenerate.php \Drupal\devel_generate\Plugin\DevelGenerate\TermDevelGenerate::generateTermTranslation()
Create translation for the given term.
Parameters
array $translate_language: Potential translate languages array.
\Drupal\taxonomy\TermInterface $term: Term to add translations to.
Return value
int Number of translations added.
1 call to TermDevelGenerate::generateTermTranslation()
- TermDevelGenerate::generateTerms in devel_generate/
src/ Plugin/ DevelGenerate/ TermDevelGenerate.php - Generates taxonomy terms for a list of given vocabularies.
File
-
devel_generate/
src/ Plugin/ DevelGenerate/ TermDevelGenerate.php, line 369
Class
- TermDevelGenerate
- Provides a TermDevelGenerate plugin.
Namespace
Drupal\devel_generate\Plugin\DevelGenerateCode
protected function generateTermTranslation(array $translate_language, TermInterface $term) : int {
if (is_null($this->contentTranslationManager)) {
return 0;
}
if (!$this->contentTranslationManager
->isEnabled('taxonomy_term', $term->bundle())) {
return 0;
}
if ($term->get('langcode')
->getLangcode() === LanguageInterface::LANGCODE_NOT_SPECIFIED || $term->get('langcode')
->getLangcode() === LanguageInterface::LANGCODE_NOT_APPLICABLE) {
return 0;
}
$num_translations = 0;
// Translate term to each target language.
$skip_languages = [
LanguageInterface::LANGCODE_NOT_SPECIFIED,
LanguageInterface::LANGCODE_NOT_APPLICABLE,
$term->get('langcode')
->getLangcode(),
];
foreach ($translate_language as $langcode) {
if (in_array($langcode, $skip_languages)) {
continue;
}
$translation_term = $term->addTranslation($langcode);
$translation_term->setName($term->getName() . ' (' . $langcode . ')');
$this->populateFields($translation_term);
$translation_term->save();
++$num_translations;
}
return $num_translations;
}