#860154 by Zoltán Balogh, zserno, Gábor Hojtsy: Fixed Locale module does not import the plural forms from compact files.

merge-requests/26/head
Angie Byron 2010-11-14 19:53:21 +00:00
parent 3e610b8547
commit a16b1d92c4
2 changed files with 8 additions and 4 deletions

View File

@ -609,7 +609,7 @@ function _locale_import_read_po($op, $file, $mode = NULL, $lang = NULL, $group =
$context = "MSGID_PLURAL";
}
elseif (!strncmp("msgid", $line, 5)) {
if ($context == "MSGSTR") { // End current entry, start a new one
if (($context == "MSGSTR") || ($context == "MSGSTR_ARR")) { // End current entry, start a new one
_locale_import_one_string($op, $current, $mode, $lang, $file, $group);
$current = array();
}
@ -627,7 +627,7 @@ function _locale_import_read_po($op, $file, $mode = NULL, $lang = NULL, $group =
$context = "MSGID";
}
elseif (!strncmp("msgctxt", $line, 7)) {
if ($context == "MSGSTR") { // End current entry, start a new one
if (($context == "MSGSTR") || ($context == "MSGSTR_ARR")) { // End current entry, start a new one
_locale_import_one_string($op, $current, $mode, $lang, $file, $group);
$current = array();
}

View File

@ -612,7 +612,7 @@ class LocaleImportFunctionalTest extends DrupalWebTestCase {
$this->assertRaw(t('The language %language has been created.', array('%language' => 'French')), t('The language has been automatically created.'));
// The import should have created 7 strings.
$this->assertRaw(t('The translation was successfully imported. There are %number newly created translated strings, %update strings were updated and %delete strings were removed.', array('%number' => 7, '%update' => 0, '%delete' => 0)), t('The translation file was successfully imported.'));
$this->assertRaw(t('The translation was successfully imported. There are %number newly created translated strings, %update strings were updated and %delete strings were removed.', array('%number' => 9, '%update' => 0, '%delete' => 0)), t('The translation file was successfully imported.'));
// This import should have saved plural forms to have 2 variants.
$this->assert(db_query("SELECT plurals FROM {languages} WHERE language = 'fr'")->fetchField() == 2, t('Plural number initialized.'));
@ -815,6 +815,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\\n"
msgid "One sheep"
msgid_plural "@count sheep"
msgstr[0] "un mouton"
msgstr[1] "@count moutons"
msgid "Monday"
msgstr "lundi"
@ -2206,4 +2211,3 @@ class LocaleDateFormatsFunctionalTest extends DrupalWebTestCase {
$this->assertText($french_date, t('French date format appears'));
}
}