source: sipes/modules_contrib/views/plugins/views_plugin_localization_core.inc @ a8b1f3f

stableversion-3.0
Last change on this file since a8b1f3f was 65dadeb, checked in by José Gregorio Puentes <jpuentes@…>, 8 años ago

se agregaron los archivos de la nueva version del modulo

  • Propiedad mode establecida a 100644
File size: 2.7 KB
Línea 
1<?php
2
3/**
4 * @file
5 * Contains the Drupal core localization plugin.
6 */
7
8/**
9 * Localization plugin to pass translatable strings through t().
10 *
11 * @ingroup views_localization_plugins
12 */
13class views_plugin_localization_core extends views_plugin_localization {
14
15  /**
16   * Translate a string.
17   *
18   * @param $string
19   *   The string to be translated.
20   * @param $keys
21   *   An array of keys to identify the string. Generally constructed from
22   *   view name, display_id, and a property, e.g., 'header'.
23   * @param $format
24   *   The input format of the string. This is optional.
25   */
26  function translate_string($string, $keys = array(), $format = '') {
27    return t($string);
28  }
29
30  /**
31   * Save a string for translation.
32   *
33   * @param $string
34   *   The string to be translated.
35   * @param $keys
36   *   An array of keys to identify the string. Generally constructed from
37   *   view name, display_id, and a property, e.g., 'header'.
38   * @param $format
39   *   The input format of the string. This is optional.
40   */
41  function save_string($string, $keys = array(), $format = '') {
42    global $language;
43
44    // If the current language is 'en', we need to reset the language
45    // in order to trigger an update.
46    // TODO: add test for number of languages.
47    if ($language->language == 'en') {
48      $changed = TRUE;
49      $languages = language_list();
50      $cached_language = $language;
51      unset($languages['en']);
52      if (!empty($languages)) {
53        $language = current($languages);
54      }
55    }
56
57    t($string);
58
59    if (isset($cached_language)) {
60      $language = $cached_language;
61    }
62    return TRUE;
63  }
64
65  /**
66   * Delete a string.
67   *
68   * Deletion is not supported.
69   *
70   * @param $source
71   *   Full data for the string to be translated.
72   */
73  function delete($source) {
74    return FALSE;
75  }
76
77  /**
78   * Collect strings to be exported to code.
79   *
80   * String identifiers are not supported so strings are anonymously in an array.
81   *
82   * @param $source
83   *   Full data for the string to be translated.
84   */
85  function export($source) {
86    if (!empty($source['value'])) {
87      $this->export_strings[] = $source['value'];
88    }
89  }
90
91  /**
92   * Render any collected exported strings to code.
93   *
94   * @param $indent
95   *   An optional indentation for prettifying nested code.
96   */
97  function export_render($indent = '  ') {
98    $output = '';
99    if (!empty($this->export_strings)) {
100      $this->export_strings = array_unique($this->export_strings);
101      $output = $indent . '$translatables[\'' . $this->view->name . '\'] = array(' . "\n";
102      foreach ($this->export_strings as $string) {
103        $output .= $indent . "  t('" . str_replace("'", "\'", $string) . "'),\n";
104      }
105      $output .= $indent . ");\n";
106    }
107    return $output;
108  }
109}
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.