Import Drupal module translation .po files on installationImport Drupal module translation .po files on installation

<?php

/**
 * Helper function to (re)import all module's translations.
 *
 * @param $module_name (string)
 *   - Machine name of the module.
 */
function _ys_module_import_translations($module_name) {
  require_once 
'includes/locale.inc';
  
$languages language_list();

  
// Try to allocate enough time to parse and import the data.
  
drupal_set_time_limit(240);

  foreach (
file_scan_directory(drupal_get_path('module'$module_name), '/.*\.po/') as $file) {
    
$langcode = @end(explode('.'$file->name));

    
// Get strings from file (returns on failure after a partial import, or on success)
    
$status _locale_import_read_po('db-store'$fileLOCALE_IMPORT_OVERWRITE$langcode);
    if (
$status === FALSE) {
      
// Error messages are set in _locale_import_read_po().
      
continue;
    }

    
// Get status information on import process.
    
list($headerdone$additions$updates$deletes$skips) = _locale_import_one_string('db-report');

    if (!
$headerdone) {
      
drupal_set_message(t('The translation file %filename appears to have a missing or malformed header.', array('%filename' => $file->filename)), 'error');
    }

    
drupal_set_message(t('The translation was successfully imported. There are %number newly created translated strings, %update strings were updated and %delete strings were removed.', array('%number' => $additions'%update' => $updates'%delete' => $deletes)));
    
watchdog('locale''Imported %file into %locale: %number new strings added, %update updated and %delete removed.', array('%file' => $file->filename'%locale' => $langcode'%number' => $additions'%update' => $updates'%delete' => $deletes));

    if (
$skips) {
      
$skip_message format_plural($skips'One translation string was skipped because it contains disallowed HTML.''@count translation strings were skipped because they contain disallowed HTML.');
      
drupal_set_message($skip_message);
      
watchdog('locale'$skip_messageNULLWATCHDOG_WARNING);
    }
    
_locale_invalidate_js($langcode);
  }

  
// Clear cache and force refresh of JavaScript translations.
  
cache_clear_all('locale:''cache'TRUE);

  
// Rebuild the menu, strings may have changed.
  
menu_rebuild();
}

?>

Reactie toevoegen

Ververs Geef de karakters in die u in de afbeelding ziet. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.