diff --git a/src/Element/WebformTermSelect.php b/src/Element/WebformTermSelect.php
index e6c5f61..3cb607a 100644
--- a/src/Element/WebformTermSelect.php
+++ b/src/Element/WebformTermSelect.php
@@ -45,6 +45,7 @@ public static function processSelect(&$element, FormStateInterface $form_state,
    * {@inheritdoc}
    */
   public static function setOptions(array &$element) {
+    $language = \Drupal::languageManager()->getCurrentLanguage()->getId();
     if (!empty($element['#options'])) {
       return;
     }
@@ -60,7 +61,7 @@ public static function setOptions(array &$element) {
 
     /** @var \Drupal\taxonomy\TermStorageInterface $taxonomy_storage */
     $taxonomy_storage = \Drupal::entityTypeManager()->getStorage('taxonomy_term');
-    $tree = $taxonomy_storage->loadTree($element['#vocabulary']);
+    $tree = $taxonomy_storage->loadTree($element['#vocabulary'], 0, NULL, TRUE);
 
     $options = [];
     if (!empty($element['#breadcrumb'])) {
@@ -68,16 +69,32 @@ public static function setOptions(array &$element) {
       $element += ['#breadcrumb_delimiter' => ' › '];
       $breadcrumb = [];
       foreach ($tree as $item) {
-        $breadcrumb[$item->depth] = $item->name;
+        if ($item->isTranslatable()) {
+          if ($item->hasTranslation($language)) {
+            $item = $item->getTranslation($language);
+          }
+          else {
+            continue;
+          }
+        }
+        $breadcrumb[$item->depth] = $item->getName();
         $breadcrumb = array_slice($breadcrumb, 0, $item->depth + 1);
-        $options[$item->tid] = implode($element['#breadcrumb_delimiter'], $breadcrumb);
+        $options[$item->id()] = implode($element['#breadcrumb_delimiter'], $breadcrumb);
       }
     }
     else {
       $element += ['#tree_delimiter' => '-'];
       // Build hierarchical term tree.
       foreach ($tree as $item) {
-        $options[$item->tid] = str_repeat($element['#tree_delimiter'], $item->depth) . $item->name;
+        if ($item->isTranslatable()) {
+          if ($item->hasTranslation($language)) {
+            $item = $item->getTranslation($language);
+          }
+          else {
+            continue;
+          }
+        }
+        $options[$item->id()] = str_repeat($element['#tree_delimiter'], $item->depth) . $item->getName();
       }
     }
     $element['#options'] = $options;