class views_plugin_localization
Same name in other branches
- 7.x-3.x plugins/views_plugin_localization.inc \views_plugin_localization
The base plugin to handle localization of Views strings.
Hierarchy
- class \views_object
- class \views_plugin extends \views_object
- class \views_plugin_localization extends \views_plugin
- class \views_plugin extends \views_object
Expanded class hierarchy of views_plugin_localization
1 string reference to 'views_plugin_localization'
- views_views_plugins in includes/
plugins.inc - Implementation of hook_views_plugins
File
-
plugins/
views_plugin_localization.inc, line 13
View source
class views_plugin_localization extends views_plugin {
// Store for exported strings
var $export_strings = array();
var $translate = TRUE;
/**
* Initialize the plugin.
*
* @param $view
* The view object.
*/
function init(&$view) {
$this->view =& $view;
}
/**
* Translate a string / text with format
*
* The $source parameter is an array with the following elements:
* - value, source string
* - format, input format in case the text has some format to be applied
* - keys. An array of keys to identify the string. Generally constructed from
* view name, display_id, and a property, e.g., 'header'.
*
* @param $source
* Full data for the string to be translated.
*
* @return string
* Translated string / text
*/
function translate($source) {
// Allow other modules to make changes to the string before and after translation
$source['pre_process'] = $this->invoke_translation_process($source, 'pre');
$source['translation'] = $this->translate_string($source['value'], $source['keys'], $source['format']);
$source['post_process'] = $this->invoke_translation_process($source, 'post');
return $source['translation'];
}
/**
* Translate a string.
*
* @param $string
* The string to be translated.
* @param $keys
* An array of keys to identify the string. Generally constructed from
* view name, display_id, and a property, e.g., 'header'.
* @param $format
* The input format of the string. This is optional.
*/
function translate_string($string, $keys = array(), $format = '') {
}
/**
* Save string source for translation.
*
* @param $source
* Full data for the string to be translated.
*/
function save($source) {
// Allow other modules to make changes to the string before saving
$source['pre_process'] = $this->invoke_translation_process($source, 'pre');
$this->save_string($source['value'], $source['keys'], isset($source['format']) ? $source['format'] : '');
}
/**
* Save a string for translation
*
* @param $string
* The string to be translated.
* @param $keys
* An array of keys to identify the string. Generally constructed from
* view name, display_id, and a property, e.g., 'header'.
* @param $format
* The input format of the string. This is optional.
*/
function save_string($string, $keys = array(), $format = '') {
}
/**
* Delete a string.
*
* @param $source
* Full data for the string to be translated.
*/
function delete($source) {
}
/**
* Collect strings to be exported to code.
*
* @param $source
* Full data for the string to be translated.
*/
function export($source) {
}
/**
* Render any collected exported strings to code.
*
* @param $indent
* An optional indentation for prettifying nested code.
*/
function export_render($indent = ' ') {
}
/**
* Invoke hook_translation_pre_process() or hook_translation_post_process().
*
* Like node_invoke_nodeapi(), this function is needed to enable both passing
* by reference and fetching return values.
*/
function invoke_translation_process(&$value, $op) {
$return = array();
$hook = 'translation_' . $op . '_process';
foreach (module_implements($hook) as $module) {
$function = $module . '_' . $hook;
$result = $function($value);
if (isset($result)) {
$return[$module] = $result;
}
}
return $return;
}
function process_locale_strings($op) {
$this->view
->init_display();
foreach ($this->view->display as $display_id => $display) {
$translatable = array();
// Special handling for display title.
if (isset($display->display_title)) {
$translatable[] = array(
'value' => $display->display_title,
'keys' => array(
'display_title',
),
);
}
// Unpack handlers.
if (is_object($this->view->display[$display_id]->handler)) {
$this->view->display[$display_id]->handler
->unpack_translatables($translatable);
}
foreach ($translatable as $data) {
$data['keys'] = array_merge(array(
$this->view->name,
$display_id,
), $data['keys']);
switch ($op) {
case 'save':
$this->save($data);
break;
case 'delete':
$this->delete($data);
break;
case 'export':
$this->export($data);
break;
}
}
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
views_object::$definition | property | Handler's definition | |||
views_object::$options | property | Except for displays, options for the object will be held here. | 1 | ||
views_object::construct | function | Views handlers use a special construct function so that we can more easily construct them with variable arguments. |
6 | ||
views_object::destroy | function | 2 | |||
views_object::export_option | function | 1 | |||
views_object::export_options | function | ||||
views_object::options | function | Set default options on this object. Called by the constructor in a complex chain to deal with backward compatibility. |
1 | ||
views_object::option_definition | function | Information about options for all kinds of purposes will be held here. | 13 | ||
views_object::set_default_options | function | Set default options. For backward compatibility, it sends the options array; this is a feature that will likely disappear at some point. |
|||
views_object::set_definition | function | Let the handler know what its full definition is. | |||
views_object::unpack_options | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. |
|||
views_object::unpack_translatable | function | Unpack a single option definition. | |||
views_object::unpack_translatables | function | Unpacks each handler to store translatable texts. | |||
views_object::_set_option_defaults | function | ||||
views_plugin::$display | property | The current used views display. | |||
views_plugin::$plugin_type | property | The plugin type of this plugin, for example style or query. | |||
views_plugin::$view | property | The top object of a view. | Overrides views_object::$view | 1 | |
views_plugin::additional_theme_functions | function | Provide a list of additional theme functions for the theme information page | |||
views_plugin::options_form | function | Provide a form to edit options for this plugin. | 13 | ||
views_plugin::options_submit | function | Handle any special handling on the validate form. | 9 | ||
views_plugin::options_validate | function | Validate the options form. | 8 | ||
views_plugin::query | function | Add anything to the query that we might need to. | 7 | ||
views_plugin::theme_functions | function | Provide a full list of possible theme templates used by this style. | |||
views_plugin::validate | function | Validate that the plugin is correct and can be saved. | 2 | ||
views_plugin_localization::$export_strings | property | ||||
views_plugin_localization::$translate | property | 2 | |||
views_plugin_localization::delete | function | Delete a string. | 2 | ||
views_plugin_localization::export | function | Collect strings to be exported to code. | 1 | ||
views_plugin_localization::export_render | function | Render any collected exported strings to code. | 1 | ||
views_plugin_localization::init | function | Initialize the plugin. | |||
views_plugin_localization::invoke_translation_process | function | Invoke hook_translation_pre_process() or hook_translation_post_process(). | |||
views_plugin_localization::process_locale_strings | function | ||||
views_plugin_localization::save | function | Save string source for translation. | 1 | ||
views_plugin_localization::save_string | function | Save a string for translation | 1 | ||
views_plugin_localization::translate | function | Translate a string / text with format | 2 | ||
views_plugin_localization::translate_string | function | Translate a string. | 1 |