locale_refresh_cache

Versions
4.6 – 5
locale_refresh_cache()

Refreshes database stored cache of translations.

We only store short strings to improve performance and consume less memory.

▾ 3 functions call locale_refresh_cache()

locale in modules/locale/locale.module
Provides interface translation services.
_locale_string_delete in includes/locale.inc
Delete a language string.
_locale_string_edit_submit in includes/locale.inc
Process string editing form submissions. Saves all translations of one string submitted from a form.

Code

modules/locale/locale.module, line 224

<?php
function locale_refresh_cache() {
  $languages = locale_supported_languages();

  foreach (array_keys($languages['name']) as $locale) {
    $result = db_query("SELECT s.source, t.translation, t.locale FROM {locales_source} s INNER JOIN {locales_target} t ON s.lid = t.lid WHERE t.locale = '%s' AND LENGTH(s.source) < 75", $locale);
    $t = array();
    while ($data = db_fetch_object($result)) {
      $t[$data->source] = (empty($data->translation) ? TRUE : $data->translation);
    }
    cache_set("locale:$locale", 'cache', serialize($t));
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.