diff --git a/includes/webform_localization.i18n.inc b/includes/webform_localization.i18n.inc
index 3f36365..01a0c14 100644
--- a/includes/webform_localization.i18n.inc
+++ b/includes/webform_localization.i18n.inc
@@ -55,7 +55,12 @@ function _webform_localization_translate_component(&$element, $component) {
         // If property is array, we extract the key from the property.
         list ($property, $key) = explode('-', $property);
         if (isset($current_element['#' . $property][$key])) {
-          $current_element['#' . $property][$key] = webform_tt($name, $current_element['#' . $property][$key]);
+          $current_element['#' . $property][$key] = token_replace(
+            webform_tt(
+              $name,
+              $current_element['#' . $property][$key]
+            )
+          );
         }
       }
       else {
@@ -64,11 +69,21 @@ function _webform_localization_translate_component(&$element, $component) {
           $option_group = str_replace('/-', '', $name_list[4]);
           // If it's a element.
           if (isset($name_list[5])) {
-            $current_element['#' . $property][$option_group][$name_list[5]] = webform_tt($name, $current_element['#' . $property][$option_group][$name_list[5]]);
+            $current_element['#' . $property][$option_group][$name_list[5]] = token_replace(
+              webform_tt(
+                $name,
+                $current_element['#' . $property][$option_group][$name_list[5]]
+              )
+            );
           }
           else {
             // If it's a option group we translate the key.
-            $translated_option_group = webform_tt($name, $option_group);
+            $translated_option_group = token_replace(
+              webform_tt(
+                $name,
+                $option_group
+              )
+            );
             if ($translated_option_group != $option_group) {
               _webform_localization_array_key_replace($current_element['#' . $property], $option_group, $translated_option_group);
             }
@@ -77,12 +92,11 @@ function _webform_localization_translate_component(&$element, $component) {
         else {
           // Else we can treat the property as string.
           if (isset($current_element['#' . $property])) {
-            if ($property == 'markup' && $current_element['#type'] == 'markup') {
-              $current_element['#' . $property] = i18n_string($name, $current_element['#' . $property], array('format' => $current_element['#format']));
-            }
-            else {
-              $current_element['#' . $property] = webform_tt($name, $current_element['#' . $property]);
-            }
+            $current_element['#' . $property] = token_replace(
+              webform_tt(
+                $name, $current_element['#' . $property]
+              )
+            );
           }
         }
       }
