Ejemplo n.º 1
0
 protected function translate($str)
 {
     static $map = array('DeliveryZone.ID' => '_delivery_zone_ID', 'ShippingService.isFinal' => '_disable_other_services');
     static $rangeMap = array('ShippingService.deliveryTimeMinDays' => array('_expected_delivery_time', 0), 'ShippingService.deliveryTimeMaxDays' => array('_expected_delivery_time', 1), 'ShippingRate.weightRangeStart' => array('_weight_range', 0), 'ShippingRate.weightRangeEnd' => array('_weight_range', 1), 'ShippingRate.subtotalRangeStart' => array('_subtotal_range', 0), 'ShippingRate.subtotalRangeEnd' => array('_subtotal_range', 1));
     $translated = parent::translate($str);
     if ($translated == $str) {
         if (isset($map[$str])) {
             $translated = parent::translate($map[$str]);
         } elseif (isset($rangeMap[$str])) {
             $t = $rangeMap[$str];
             $translated = parent::translate($t[0]) . ' (' . strtolower(parent::translate($t[1] ? '_to' : '_from')) . ')';
         } else {
             $orig = $str;
             $str = array_pop(explode('.', $str));
             $str = '_' . strtolower(preg_replace('/[A-Z]/', '_\\0', $str));
             $translated = parent::translate($str);
             if ($translated == $str) {
                 $translated = $orig;
             }
         }
     }
     return $translated;
 }