diff --git a/includes/locale.inc b/includes/locale.inc index ad8521fe28ded894629f942bea94bcdb55bbd764..8a79b3dc9546f235e7d221c8c0a4cb21b16c89f5 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -30,7 +30,7 @@ function _locale_add_language($code, $name, $onlylanguage = TRUE) { } drupal_set_message($message); - watchdog('locale', t('%locale language added.', array('%locale' => "<em>$code</em>"))); + watchdog('special', t('%language language (%locale) added.', array('%language' => "<em>$name</em>", '%locale' => "<em>$code</em>"))); } /** @@ -114,7 +114,7 @@ function _locale_admin_import_screen() { /** * Parses Gettext Portable Object file information and inserts into database * - * @param $file Name of local file to be imported + * @param $file Object contains properties of local file to be imported * @param $edit Language code * @param $mode should existing translations be replaced? */ @@ -132,7 +132,7 @@ function _locale_import_po($file, $lang, $mode) { // Check if we can get the strings from the file if (!($strings = _locale_import_read_po($file))) { - drupal_set_message(t('Translation file broken: Could not be read.'), 'error'); + drupal_set_message(t('Translation file %filename broken: Could not be read.', array('%filename' => "<em>$file->filename</em>")), 'error'); return FALSE; } @@ -145,7 +145,7 @@ function _locale_import_po($file, $lang, $mode) { $hdr = _locale_import_parse_header($header); // Get the plural formula - if ($hdr["Plural-Forms"] && $p = _locale_import_parse_plural_forms($hdr["Plural-Forms"])) { + if ($hdr["Plural-Forms"] && $p = _locale_import_parse_plural_forms($hdr["Plural-Forms"], $file->filename)) { list($nplurals, $plural) = $p; db_query("UPDATE {locales_meta} SET plurals = '%d', formula = '%s' WHERE locale = '%s'", $nplurals, $plural, $lang); } @@ -154,7 +154,7 @@ function _locale_import_po($file, $lang, $mode) { } } else { - drupal_set_message(t('Translation file broken.'), 'error'); + drupal_set_message(t('Translation file %filename broken: No header.', array('%filename' => "<em>$file->filename</em>")), 'error'); return FALSE; } @@ -257,21 +257,21 @@ function _locale_import_po($file, $lang, $mode) { menu_rebuild(); drupal_set_message(t('Translation successfully imported. %number translated strings added to language, %update strings updated.', array('%number' => $additions, '%update' => $updates))); - watchdog('locale', t('Translation imported into %locale, %number translated strings added to language, %update strings updated.', array('%locale' => "<em>$lang</em>", '%number' => $additions, '%update' => $updates))); + watchdog('special', t('Imported %file into %locale: %number new strings added and %update updated.', array('%file' => "<em>$file->filename</em>", '%locale' => "<em>$lang</em>", '%number' => $additions, '%update' => $updates))); return TRUE; } /** * Parses Gettext Portable Object file into an array * - * @param $path Name of local file to parse + * @param $file Object with properties of local file to parse * @author Jacobo Tarrio */ -function _locale_import_read_po($path) { +function _locale_import_read_po($file) { - $fd = fopen($path, "rb"); + $fd = fopen($file->filepath, "rb"); if (!$fd) { - drupal_set_message(t('Translation import failed: file %filename cannot be read.', array('%filename' => "<em>$path</em>")), 'error'); + drupal_set_message(t('Translation import failed: file %filename cannot be read.', array('%filename' => "<em>$file->filename</em>")), 'error'); return FALSE; } $info = fstat($fd); @@ -303,19 +303,19 @@ function _locale_import_read_po($path) { $context = "COMMENT"; } else { // Parse error - drupal_set_message(t("Translation file broken: expected 'msgstr' in line %line.", array('%line' => $lineno)), 'error'); + drupal_set_message(t("Translation file %filename broken: expected 'msgstr' in line %line.", array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } } elseif (!strncmp("msgid_plural", $line, 12)) { if ($context != "MSGID") { // Must be plural form for current entry - drupal_set_message(t("Translation file broken: unexpected 'msgid_plural' in line %line.", array('%line' => $lineno)), 'error'); + drupal_set_message(t("Translation file %filename broken: unexpected 'msgid_plural' in line %line.", array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $line = trim(substr($line, 12)); $quoted = _locale_import_parse_quoted($line); if ($quoted === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $current["msgid"] = $current["msgid"] ."\0". $quoted; @@ -327,13 +327,13 @@ function _locale_import_read_po($path) { $current = array(); } elseif ($context == "MSGID") { // Already in this context? Parse error - drupal_set_message(t("Translation file broken: unexpected 'msgid' in line %line.", array('%line' => $lineno)), 'error'); + drupal_set_message(t("Translation file %filename broken: unexpected 'msgid' in line %line.", array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $line = trim(substr($line, 5)); $quoted = _locale_import_parse_quoted($line); if ($quoted === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $current["msgid"] = $quoted; @@ -341,11 +341,11 @@ function _locale_import_read_po($path) { } elseif (!strncmp("msgstr[", $line, 7)) { if (($context != "MSGID") && ($context != "MSGID_PLURAL") && ($context != "MSGSTR_ARR")) { // Must come after msgid, msgid_plural, or msgstr[] - drupal_set_message(t("Translation file broken: unexpected 'msgstr[]' in line %line.", array('%line' => $lineno)), 'error'); + drupal_set_message(t("Translation file %filename broken: unexpected 'msgstr[]' in line %line.", array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } if (strpos($line, "]") === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $frombracket = strstr($line, "["); @@ -353,7 +353,7 @@ function _locale_import_read_po($path) { $line = trim(strstr($line, " ")); $quoted = _locale_import_parse_quoted($line); if ($quoted === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $current["msgstr"][$plural] = $quoted; @@ -361,13 +361,13 @@ function _locale_import_read_po($path) { } elseif (!strncmp("msgstr", $line, 6)) { if ($context != "MSGID") { // Should come just after a msgid block - drupal_set_message(t("Translation file broken: unexpected 'msgstr' in line %line.", array('%line' => $lineno)), 'error'); + drupal_set_message(t("Translation file %filename broken: unexpected 'msgstr' in line %line.", array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $line = trim(substr($line, 6)); $quoted = _locale_import_parse_quoted($line); if ($quoted === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } $current["msgstr"] = $quoted; @@ -376,7 +376,7 @@ function _locale_import_read_po($path) { elseif ($line != "") { $quoted = _locale_import_parse_quoted($line); if ($quoted === false) { - drupal_set_message(t('Translation file broken: syntax error in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: syntax error in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } if (($context == "MSGID") || ($context == "MSGID_PLURAL")) { @@ -389,7 +389,7 @@ function _locale_import_read_po($path) { $current["msgstr"][$plural] .= $quoted; } else { - drupal_set_message(t('Translation file broken: unexpected string in line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: unexpected string in line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } } @@ -400,7 +400,7 @@ function _locale_import_read_po($path) { $strings[$current["msgid"]] = $current; } elseif ($context != "COMMENT") { - drupal_set_message(t('Translation file broken: unexpected end file at line %line.', array('%line' => $lineno)), 'error'); + drupal_set_message(t('Translation file %filename broken: unexpected end file at line %line.', array('%filename' => "<em>$file->filename</em>", '%line' => $lineno)), 'error'); return FALSE; } @@ -433,11 +433,12 @@ function _locale_import_parse_header($header) { * Parses a Plural-Forms entry from a Gettext Portable Object file header * * @param $pluralforms A string containing the Plural-Forms entry + * @param $filename A string containing the filename * @return An array containing the number of plurals and a * formula in PHP for computing the plural form * @author Jacobo Tarrio */ -function _locale_import_parse_plural_forms($pluralforms) { +function _locale_import_parse_plural_forms($pluralforms, $filename) { // First, delete all whitespace $pluralforms = strtr($pluralforms, array(" " => "", "\t" => "")); @@ -464,7 +465,7 @@ function _locale_import_parse_plural_forms($pluralforms) { return array($nplurals, $plural); } else { - drupal_set_message(t("Warning: plural formula couldn't get parsed."), 'error'); + drupal_set_message(t("Translation file %filename broken: plural formula couldn't get parsed.", array('%filename' => "<em>$filename</em>")), 'error'); return FALSE; } } @@ -767,7 +768,7 @@ function _locale_export_po($language) { $header .= "\"Plural-Forms: nplurals=". $meta->plurals ."; plural=". strtr($meta->formula, '$', '') .";\\n\"\n"; } $header .= "\n"; - watchdog('locale', t('PO file for locale %locale downloaded.', array('%locale' => "<em>$meta->name</em>"))); + watchdog('special', t('Exported %locale translation file: %filename.', array('%locale' => "<em>$meta->name</em>", '%filename' => "<em>$filename</em>"))); } // Generating Portable Object Template @@ -788,7 +789,7 @@ function _locale_export_po($language) { $header .= "\"Content-Transfer-Encoding: 8bit\\n\"\n"; $header .= "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n"; $header .= "\n"; - watchdog('locale', t('POT file downloaded.')); + watchdog('special', t('Exported translation file: %filename.', array('%filename' => "<em>$filename</em>"))); } // Start download process diff --git a/modules/locale.module b/modules/locale.module index a5920ea89d1e6c4222f587d8e63071506df245e0..f828f86eb277feee14d63c52da00272c0a9f9be5 100644 --- a/modules/locale.module +++ b/modules/locale.module @@ -302,7 +302,7 @@ function locale_admin_manage() { db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']); db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']); drupal_set_message(t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'))); - watchdog('locale', t('%locale language removed.', array('%locale' => '<em>'. $edit['langcode'] .'</em>'))); + watchdog('special', t('%locale language removed.', array('%locale' => '<em>'. $edit['langcode'] .'</em>'))); } break; } @@ -387,9 +387,8 @@ function locale_admin_import() { // Now import strings into the language $file = file_check_upload('file'); - if ($ret = _locale_import_po($file->filepath, $edit['langcode'], $edit['mode']) == FALSE) { - watchdog('error', t('Translation import failed.')); - watchdog('locale', t('Translation import failed.')); + if ($ret = _locale_import_po($file, $edit['langcode'], $edit['mode']) == FALSE) { + watchdog('error', t('Translation import of %filename failed.', array('%filename' => "<em>$file->filename</em>"))); } drupal_goto('admin/locale'); diff --git a/modules/locale/locale.module b/modules/locale/locale.module index a5920ea89d1e6c4222f587d8e63071506df245e0..f828f86eb277feee14d63c52da00272c0a9f9be5 100644 --- a/modules/locale/locale.module +++ b/modules/locale/locale.module @@ -302,7 +302,7 @@ function locale_admin_manage() { db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']); db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']); drupal_set_message(t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'))); - watchdog('locale', t('%locale language removed.', array('%locale' => '<em>'. $edit['langcode'] .'</em>'))); + watchdog('special', t('%locale language removed.', array('%locale' => '<em>'. $edit['langcode'] .'</em>'))); } break; } @@ -387,9 +387,8 @@ function locale_admin_import() { // Now import strings into the language $file = file_check_upload('file'); - if ($ret = _locale_import_po($file->filepath, $edit['langcode'], $edit['mode']) == FALSE) { - watchdog('error', t('Translation import failed.')); - watchdog('locale', t('Translation import failed.')); + if ($ret = _locale_import_po($file, $edit['langcode'], $edit['mode']) == FALSE) { + watchdog('error', t('Translation import of %filename failed.', array('%filename' => "<em>$file->filename</em>"))); } drupal_goto('admin/locale');