/**
  * Returns localized title for a holiday
  *
  * @param string $internalName internal name for holiday
  * @param string $locale       locale setting to be used by this method
  *
  * @access   public
  * @return   string  title on success, otherwise a PEAR_Error object
  * @throws   object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  * @throws   object PEAR_Error DATE_HOLIDAYS_TITLE_UNAVAILABLE
  */
 function getHolidayTitle($internalName, $locale = null)
 {
     if (!in_array($internalName, $this->_internalNames)) {
         $msg = 'Invalid internal name: ' . $internalName;
         return Date_Holidays::raiseError(DATE_HOLIDAYS_INVALID_INTERNAL_NAME, $msg);
     }
     if (is_null($locale)) {
         $locale = $this->_findBestLocale($this->_locale);
     } else {
         $locale = $this->_findBestLocale($locale);
     }
     if (!isset($this->_titles[$locale][$internalName])) {
         if (Date_Holidays::staticGetProperty('DIE_ON_MISSING_LOCALE')) {
             $err = DATE_HOLIDAYS_TITLE_UNAVAILABLE;
             $msg = 'The internal name (' . $internalName . ') ' . 'for the holiday was correct but no ' . 'localized title could be found';
             return Date_Holidays::raiseError($err, $msg);
         }
     }
     if (isset($this->_titles[$locale][$internalName])) {
         return $this->_titles[$locale][$internalName];
     } else {
         return $this->_titles['C'][$internalName];
     }
 }