class views_plugin_localization
The base plugin to handle localization of Views strings.
Hierarchy
- class \views_object
- class \views_plugin
- class \views_plugin_localization
- class \views_plugin
Expanded class hierarchy of views_plugin_localization
Related topics
1 string reference to 'views_plugin_localization'
- views_views_plugins in includes/
plugins.inc - Implements hook_views_plugins().
File
- plugins/
views_plugin_localization.inc, line 19 - Contains the base class for views localization plugins.
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
Name | Modifiers | Type | Description |
---|---|---|---|
views_object:: |
function | Views handlers use a special construct function so that we can more easily construct them with variable arguments. | |
views_object:: |
function | ||
views_object:: |
function | ||
views_object:: |
function | ||
views_object:: |
function | Always exports the option, regardless of the default value. | |
views_object:: |
function | Set default options on this object. Called by the constructor in a complex chain to deal with backward compatibility. | |
views_object:: |
function | Information about options for all kinds of purposes will be held here. @code 'option_name' => array( | |
views_object:: |
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:: |
function | Let the handler know what its full definition is. | |
views_object:: |
function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
function | Unpack a single option definition. | |
views_object:: |
function | Unpacks each handler to store translatable texts. | |
views_object:: |
function | ||
views_plugin:: |
function | Provide a list of additional theme functions for the theme information page | |
views_plugin:: |
function | Provide a form to edit options for this plugin. | |
views_plugin:: |
function | Handle any special handling on the validate form. | |
views_plugin:: |
function | Validate the options form. | |
views_plugin:: |
function | Return the human readable name of the display. | |
views_plugin:: |
function | Add anything to the query that we might need to. | |
views_plugin:: |
function | Returns the summary of the settings in the display. | |
views_plugin:: |
function | Provide a full list of possible theme templates used by this style. | |
views_plugin:: |
function | Validate that the plugin is correct and can be saved. | |
views_plugin_localization:: |
function | Delete a string. | |
views_plugin_localization:: |
function | Collect strings to be exported to code. | |
views_plugin_localization:: |
function | Render any collected exported strings to code. | |
views_plugin_localization:: |
function | Initialize the plugin. | |
views_plugin_localization:: |
function | Invoke hook_translation_pre_process() or hook_translation_post_process(). | |
views_plugin_localization:: |
function | ||
views_plugin_localization:: |
function | Save string source for translation. | |
views_plugin_localization:: |
function | Save a string for translation | |
views_plugin_localization:: |
function | Translate a string / text with format | |
views_plugin_localization:: |
function | Translate a string. |