You are here

public function SearchApiSavedSearchesSettings::getTranslatedOption in Search API Saved Searches 7

Gets the translated value of an option via i18n string translations.

Parameters

$property: The name of the property stored in the options, as declared for i18n; e.g. "mail.notify.title".

$langcode: (optional) The language code of the language to which the value should be translated. If set to NULL, the default display language is being used.

Return value

The raw, translated property value; or the raw, un-translated value if no translation is available.

See also

SearchApiSavedSearchesSettingsI18nController

File

./search_api_saved_searches.settings_entity.inc, line 89
Contains the entity class for stored "Saved searches" settings of search indexes.

Class

SearchApiSavedSearchesSettings
Class representing "Saved searches" settings.

Code

public function getTranslatedOption($property, $langcode = NULL) {
  $value = drupal_array_get_nested_value($this->options, explode('.', $property));
  if (isset($value) && module_exists('search_api_saved_searches_i18n') && function_exists('i18n_string')) {
    $name = 'search_api_saved_searches:search_api_saved_searches_settings:' . $this
      ->identifier() . ':' . $property;
    if (is_array($value)) {

      // Handle arrays of values, i.e. interval_options.
      foreach ($value as $key => $data) {
        $value[$key] = i18n_string($name . ".{$key}", $data, array(
          'langcode' => $langcode,
          'sanitize' => FALSE,
        ));
      }
      return $value;
    }
    else {
      return i18n_string($name, $value, array(
        'langcode' => $langcode,
        'sanitize' => FALSE,
      ));
    }
  }
  return $value;
}