locale_batch_by_language
- Versions
- 6 – 7
locale_batch_by_language($langcode, $finished = NULL, $skip = array())
Prepare a batch to import translations for all enabled modules in a given language.
Parameters
$langcode Language code to import translations for.
$finished Optional finished callback for the batch.
$skip Array of component names to skip. Used in the installer for the second pass import, when most components are already imported.
Return value
A batch structure or FALSE if no files found.
Related topics
Code
includes/locale.inc, line 2505
<?php
function locale_batch_by_language($langcode, $finished = NULL, $skip = array()) {
// Collect all files to import for all enabled modules and themes.
$files = array();
$components = array();
$query = "SELECT name, filename FROM {system} WHERE status = 1";
if (count($skip)) {
$query .= " AND name NOT IN (". db_placeholders($skip, 'varchar') .")";
}
$result = db_query($query, $skip);
while ($component = db_fetch_object($result)) {
// Collect all files for all components, names as $langcode.po or
// with names ending with $langcode.po. This allows for filenames
// like node-module.de.po to let translators use small files and
// be able to import in smaller chunks.
$files = array_merge($files, file_scan_directory(dirname($component->filename) .'/translations', '(^|\.)'. $langcode .'\.po$', array('.', '..', 'CVS'), 0, FALSE));
$components[] = $component->name;
}
return _locale_batch_build($files, $finished, $components);
}
?>Login or register to post comments 