Merge "Don't fallback from uk to ru"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 29 Nov 2016 08:00:43 +0000 (08:00 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 29 Nov 2016 08:00:43 +0000 (08:00 +0000)
languages/messages/MessagesUk.php
tests/phpunit/data/localisationcache/ba.json [new file with mode: 0644]
tests/phpunit/data/localisationcache/en.json
tests/phpunit/data/localisationcache/ru.json
tests/phpunit/data/localisationcache/uk.json [deleted file]
tests/phpunit/includes/cache/LocalisationCacheTest.php

index 369e0be..0c381e5 100644 (file)
@@ -58,7 +58,6 @@ $separatorTransformTable = [
        '.' => ','
 ];
 
-$fallback = 'ru';
 $fallback8bitEncoding = 'windows-1251';
 $linkPrefixExtension = true;
 
@@ -86,11 +85,23 @@ $namespaceAliases = [
        'Зображення' => NS_FILE,
        'Обговорення_зображення' => NS_FILE_TALK,
        'Обговорення_шаблона' => NS_TEMPLATE_TALK,
+       // Backwards compatibility from Russian
+       'Медиа' => NS_MEDIA,
+       'Служебная' => NS_SPECIAL,
+       'Обсуждение' => NS_TALK,
+       'Участник' => NS_USER,
+       'Обсуждение_участника' => NS_USER_TALK,
+       'Обсуждение_файла' => NS_FILE_TALK,
+       'Обсуждение_MediaWiki' => NS_MEDIAWIKI_TALK,
+       'Обсуждение_шаблона' => NS_TEMPLATE_TALK,
+       'Справка' => NS_HELP,
+       'Обсуждение_справки' => NS_HELP_TALK,
+       'Категория' => NS_CATEGORY,
+       'Обсуждение_категории' => NS_CATEGORY_TALK,
+       'Изображение' => NS_FILE,
+       'Обсуждение_изображения' => NS_FILE_TALK,
 ];
 
-// Remove Russian aliases
-$namespaceGenderAliases = [];
-
 $dateFormats = [
        'mdy time' => 'H:i',
        'mdy date' => 'xg j, Y',
@@ -113,108 +124,109 @@ $bookstoreList = [
        'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
 ];
 
+// Russian names are kept for backwards compatibility
 $specialPageAliases = [
-       'Activeusers'               => [ 'Активні_дописувачі' ],
-       'Allmessages'               => [ 'Системні_повідомлення' ],
-       'AllMyUploads'              => [ 'Усі_мої_файли' ],
-       'Allpages'                  => [ 'Усі_сторінки' ],
+       'Activeusers'               => [ 'Активні_дописувачі', 'Активные_участники' ],
+       'Allmessages'               => [ 'Системні_повідомлення', 'Системные_сообщения' ],
+       'AllMyUploads'              => [ 'Усі_мої_файли', 'Все_мои_файлы' ],
+       'Allpages'                  => [ 'Усі_сторінки', 'Все_страницы' ],
        'Ancientpages'              => [ 'Давні_сторінки' ],
-       'Badtitle'                  => [ 'Помилковий_заголовок' ],
-       'Blankpage'                 => [ 'Порожня_сторінка' ],
-       'Block'                     => [ 'Заблокувати' ],
-       'Booksources'               => [ 'Джерела_книг' ],
-       'BrokenRedirects'           => [ 'Розірвані_перенаправлення' ],
-       'Categories'                => [ 'Категорії' ],
-       'ChangeEmail'               => [ 'Змінити_e-mail' ],
-       'ChangePassword'            => [ 'Змінити_пароль' ],
-       'ComparePages'              => [ 'Порівняння_сторінок' ],
-       'Confirmemail'              => [ 'Підтвердити_e-mail' ],
-       'Contributions'             => [ 'Внесок' ],
-       'CreateAccount'             => [ 'Створити_обліковий_запис' ],
-       'Deadendpages'              => [ 'Сторінки_без_посилань' ],
-       'DeletedContributions'      => [ 'Вилучений_внесок' ],
-       'DoubleRedirects'           => [ 'Подвійні_перенаправлення' ],
-       'EditWatchlist'             => [ 'Редагувати_список_спостереження' ],
-       'Emailuser'                 => [ 'Лист_користувачеві' ],
-       'ExpandTemplates'           => [ 'Розгортання_шаблонів' ],
-       'Export'                    => [ 'Експорт' ],
-       'Fewestrevisions'           => [ 'Найменшредаговані' ],
-       'FileDuplicateSearch'       => [ 'Пошук_дублікатів_файлів' ],
-       'Filepath'                  => [ 'Шлях_до_файлу' ],
-       'Import'                    => [ 'Імпорт' ],
-       'Invalidateemail'           => [ 'Неперевірена_email-адреса' ],
-       'JavaScriptTest'            => [ 'JavaScript_тест' ],
-       'BlockList'                 => [ 'Список_блокувань', 'Блокування', 'Блокування_IP-адрес' ],
-       'LinkSearch'                => [ 'Пошук_посилань' ],
-       'Listadmins'                => [ 'Список_адміністраторів' ],
-       'Listbots'                  => [ 'Список_ботів' ],
-       'Listfiles'                 => [ 'Список_файлів' ],
-       'Listgrouprights'           => [ 'Список_прав_груп', 'Права_груп_користувачів' ],
-       'Listredirects'             => [ 'Список_перенаправлень' ],
-       'ListDuplicatedFiles'       => [ 'Список_дубльованих_файлів' ],
-       'Listusers'                 => [ 'Список_користувачів' ],
-       'Lockdb'                    => [ 'Заблокувати_базу_даних' ],
-       'Log'                       => [ 'Журнали' ],
-       'Lonelypages'               => [ 'Ізольовані_сторінки' ],
-       'Longpages'                 => [ 'Найдовші_сторінки' ],
-       'MergeHistory'              => [ 'Об\'єднання_історії' ],
-       'MIMEsearch'                => [ 'Пошук_за_MIME' ],
-       'Mostcategories'            => [ 'Найбільш_категоризовані' ],
-       'Mostimages'                => [ 'Найуживаніші_файли' ],
-       'Mostinterwikis'            => [ 'Найбільше_інтервікі' ],
-       'Mostlinked'                => [ 'Найуживаніші_сторінки', 'Найбільше_посилань' ],
-       'Mostlinkedcategories'      => [ 'Найуживаніші_категорії' ],
-       'Mostlinkedtemplates'       => [ 'Найуживаніші_шаблони' ],
-       'Mostrevisions'             => [ 'Найбільш_редаговані' ],
-       'Movepage'                  => [ 'Перейменувати' ],
-       'Mycontributions'           => [ 'Мій_внесок' ],
-       'MyLanguage'                => [ 'Моя_мова' ],
-       'Mypage'                    => [ 'Моя_сторінка' ],
-       'Mytalk'                    => [ 'Моє_обговорення' ],
-       'Myuploads'                 => [ 'Мої_завантаження' ],
-       'Newimages'                 => [ 'Нові_файли' ],
-       'Newpages'                  => [ 'Нові_сторінки' ],
-       'PasswordReset'             => [ 'Скинути_пароль' ],
-       'PermanentLink'             => [ 'Постійне_посилання' ],
-       'Preferences'               => [ 'Налаштування' ],
-       'Prefixindex'               => [ 'Покажчик_за_початком_назви' ],
-       'Protectedpages'            => [ 'Захищені_сторінки' ],
-       'Protectedtitles'           => [ 'Захищені_назви_сторінок' ],
-       'Randompage'                => [ 'Випадкова_сторінка' ],
-       'Randomredirect'            => [ 'Випадкове_перенаправлення' ],
-       'Recentchanges'             => [ 'Нові_редагування' ],
-       'Recentchangeslinked'       => [ 'Пов\'язані_редагування' ],
+       'Badtitle'                  => [ 'Помилковий_заголовок', 'Недопустимое_название' ],
+       'Blankpage'                 => [ 'Порожня_сторінка', 'Пустая_страница' ],
+       'Block'                     => [ 'Заблокувати', 'Заблокировать' ],
+       'Booksources'               => [ 'Джерела_книг', 'Источники_книг' ],
+       'BrokenRedirects'           => [ 'Розірвані_перенаправлення', 'Разорванные_перенаправления' ],
+       'Categories'                => [ 'Категорії', 'Категории' ],
+       'ChangeEmail'               => [ 'Змінити_e-mail', 'Сменить_e-mail', 'Сменить_почту' ],
+       'ChangePassword'            => [ 'Змінити_пароль', 'Сменить_пароль' ],
+       'ComparePages'              => [ 'Порівняння_сторінок', 'Сравнение_страниц' ],
+       'Confirmemail'              => [ 'Підтвердити_e-mail', 'Подтвердить_e-mail', 'Подтвердить_почту' ],
+       'Contributions'             => [ 'Внесок', 'Вклад' ],
+       'CreateAccount'             => [ 'Створити_обліковий_запис', 'Создать_учётную_запись', 'Создать_пользователя', 'Зарегистрироваться' ],
+       'Deadendpages'              => [ 'Сторінки_без_посилань', 'Тупиковые_страницы' ],
+       'DeletedContributions'      => [ 'Вилучений_внесок', 'Удалённый_вклад' ],
+       'DoubleRedirects'           => [ 'Подвійні_перенаправлення', 'Двойные_перенаправления' ],
+       'EditWatchlist'             => [ 'Редагувати_список_спостереження', 'Править_список_наблюдения' ],
+       'Emailuser'                 => [ 'Лист_користувачеві', 'Письмо_участнику', 'Отправить_письмо' ],
+       'ExpandTemplates'           => [ 'Розгортання_шаблонів', 'Развёртка_шаблонов' ],
+       'Export'                    => [ 'Експорт', 'Экспорт', 'Выгрузка' ],
+       'Fewestrevisions'           => [ 'Найменшредаговані', 'Редко_редактируемые' ],
+       'FileDuplicateSearch'       => [ 'Пошук_дублікатів_файлів', 'Поиск_дубликатов_файлов' ],
+       'Filepath'                  => [ 'Шлях_до_файлу', 'Путь_к_файлу' ],
+       'Import'                    => [ 'Імпорт', 'Импорт' ],
+       'Invalidateemail'           => [ 'Неперевірена_email-адреса', 'Отменить_подтверждение_адреса' ],
+       'JavaScriptTest'            => [ 'JavaScript_тест', 'Тестирование_JavaScript' ],
+       'BlockList'                 => [ 'Список_блокувань', 'Блокування', 'Блокування_IP-адрес', 'Список_блокировок', 'Блокировки' ],
+       'LinkSearch'                => [ 'Пошук_посилань', 'Поиск_ссылок' ],
+       'Listadmins'                => [ 'Список_адміністраторів', 'Список_администраторов' ],
+       'Listbots'                  => [ 'Список_ботів', 'Список_ботов' ],
+       'Listfiles'                 => [ 'Список_файлів', 'Список_файлов', 'Список_изображений' ],
+       'Listgrouprights'           => [ 'Список_прав_груп', 'Права_груп_користувачів', 'Права_групп_участников', 'Список_прав_групп' ],
+       'Listredirects'             => [ 'Список_перенаправлень', 'Список_перенаправлений' ],
+       'ListDuplicatedFiles'       => [ 'Список_дубльованих_файлів', 'Список_файлов-дубликатов' ],
+       'Listusers'                 => [ 'Список_користувачів', 'Список_участников' ],
+       'Lockdb'                    => [ 'Заблокувати_базу_даних', 'Заблокировать_БД', 'Заблокировать_базу_данных' ],
+       'Log'                       => [ 'Журнали', 'Журналы', 'Журнал' ],
+       'Lonelypages'               => [ 'Ізольовані_сторінки', 'Изолированные_страницы' ],
+       'Longpages'                 => [ 'Найдовші_сторінки', 'Длинные_страницы' ],
+       'MergeHistory'              => [ 'Об\'єднання_історії', 'Объединение_историй' ],
+       'MIMEsearch'                => [ 'Пошук_за_MIME', 'Поиск_по_MIME' ],
+       'Mostcategories'            => [ 'Найбільш_категоризовані', 'Самые_категоризованные' ],
+       'Mostimages'                => [ 'Найуживаніші_файли', 'Самые_используемые_файлы' ],
+       'Mostinterwikis'            => [ 'Найбільше_інтервікі', 'Наибольшее_количество_интервики-ссылок' ],
+       'Mostlinked'                => [ 'Найуживаніші_сторінки', 'Найбільше_посилань', 'Самые_используемые_страницы' ],
+       'Mostlinkedcategories'      => [ 'Найуживаніші_категорії', 'Самые_используемые_категории' ],
+       'Mostlinkedtemplates'       => [ 'Найуживаніші_шаблони', 'Самые_используемые_шаблоны' ],
+       'Mostrevisions'             => [ 'Найбільш_редаговані', 'Наибольшее_количество_версий' ],
+       'Movepage'                  => [ 'Перейменувати', 'Переименовать_страницу', 'Переименование', 'Переименовать' ],
+       'Mycontributions'           => [ 'Мій_внесок', 'Мой_вклад' ],
+       'MyLanguage'                => [ 'Моя_мова', 'Мой_язык' ],
+       'Mypage'                    => [ 'Моя_сторінка', 'Моя_страница' ],
+       'Mytalk'                    => [ 'Моє_обговорення', 'Моё_обсуждение' ],
+       'Myuploads'                 => [ 'Мої_завантаження', 'Мои_загрузки' ],
+       'Newimages'                 => [ 'Нові_файли', 'Новые_файлы' ],
+       'Newpages'                  => [ 'Нові_сторінки', 'Новые_страницы' ],
+       'PasswordReset'             => [ 'Скинути_пароль', 'Сброс_пароля' ],
+       'PermanentLink'             => [ 'Постійне_посилання', 'Постоянная_ссылка' ],
+       'Preferences'               => [ 'Налаштування', 'Настройки' ],
+       'Prefixindex'               => [ 'Покажчик_за_початком_назви', 'Указатель_по_началу_названия' ],
+       'Protectedpages'            => [ 'Захищені_сторінки', 'Защищённые_страницы' ],
+       'Protectedtitles'           => [ 'Захищені_назви_сторінок', 'Защищённые_названия' ],
+       'Randompage'                => [ 'Випадкова_сторінка', 'Случайная_страница', 'Случайная' ],
+       'Randomredirect'            => [ 'Випадкове_перенаправлення', 'Случайное_перенаправление' ],
+       'Recentchanges'             => [ 'Нові_редагування', 'Свежие_правки' ],
+       'Recentchangeslinked'       => [ 'Пов\'язані_редагування', 'Связанные_правки' ],
        'Redirect'                  => [ 'Перенаправлення' ],
-       'Revisiondelete'            => [ 'Вилучити_редагування' ],
-       'Search'                    => [ 'Пошук' ],
-       'Shortpages'                => [ 'Короткі_сторінки' ],
-       'Specialpages'              => [ 'Спеціальні_сторінки' ],
+       'Revisiondelete'            => [ 'Вилучити_редагування', 'Удаление_правки' ],
+       'Search'                    => [ 'Пошук', 'Поиск' ],
+       'Shortpages'                => [ 'Короткі_сторінки', 'Короткие_страницы' ],
+       'Specialpages'              => [ 'Спеціальні_сторінки', 'Спецстраницы' ],
        'Statistics'                => [ 'Статистика' ],
-       'Tags'                      => [ 'Мітки' ],
-       'Unblock'                   => [ 'Розблокувати' ],
-       'Uncategorizedcategories'   => [ 'Некатегоризовані_категорії' ],
-       'Uncategorizedimages'       => [ 'Некатегоризовані_файли' ],
-       'Uncategorizedpages'        => [ 'Некатегоризовані_сторінки' ],
-       'Uncategorizedtemplates'    => [ 'Некатегоризовані_шаблони' ],
-       'Undelete'                  => [ 'Відновити' ],
-       'Unlockdb'                  => [ 'Розблокувати_базу_даних' ],
-       'Unusedcategories'          => [ 'Порожні_категорії' ],
-       'Unusedimages'              => [ 'Невикористані_файли' ],
-       'Unusedtemplates'           => [ 'Невикористані_шаблони' ],
+       'Tags'                      => [ 'Мітки', 'Метки' ],
+       'Unblock'                   => [ 'Розблокувати', 'Разблокировка' ],
+       'Uncategorizedcategories'   => [ 'Некатегоризовані_категорії', 'Некатегоризованные_категории' ],
+       'Uncategorizedimages'       => [ 'Некатегоризовані_файли', 'Некатегоризованные_файлы' ],
+       'Uncategorizedpages'        => [ 'Некатегоризовані_сторінки', 'Некатегоризованные_страницы' ],
+       'Uncategorizedtemplates'    => [ 'Некатегоризовані_шаблони', 'Некатегоризованные_шаблоны' ],
+       'Undelete'                  => [ 'Відновити', 'Восстановить', 'Восстановление' ],
+       'Unlockdb'                  => [ 'Розблокувати_базу_даних', 'Разблокировка_БД' ],
+       'Unusedcategories'          => [ 'Порожні_категорії', 'Неиспользуемые_категории' ],
+       'Unusedimages'              => [ 'Невикористані_файли', 'Неиспользуемые_файлы' ],
+       'Unusedtemplates'           => [ 'Невикористані_шаблони', 'Неиспользуемые_шаблоны' ],
        'Unwatchedpages'            => [ 'Неспостережувані' ],
-       'Upload'                    => [ 'Завантаження' ],
-       'UploadStash'               => [ 'Приховане_завантаження' ],
-       'Userlogin'                 => [ 'Вхід' ],
-       'Userlogout'                => [ 'Вихід' ],
-       'Userrights'                => [ 'Керування_правами_користувачів' ],
-       'Version'                   => [ 'Версія' ],
-       'Wantedcategories'          => [ 'Потрібні_категорії' ],
-       'Wantedfiles'               => [ 'Потрібні_файли' ],
-       'Wantedpages'               => [ 'Потрібні_сторінки' ],
-       'Wantedtemplates'           => [ 'Потрібні_шаблони' ],
-       'Watchlist'                 => [ 'Список_спостереження' ],
-       'Whatlinkshere'             => [ 'Посилання_сюди' ],
-       'Withoutinterwiki'          => [ 'Без_інтервікі' ],
+       'Upload'                    => [ 'Завантаження', 'Загрузка' ],
+       'UploadStash'               => [ 'Приховане_завантаження', 'Скрытная_загрузка' ],
+       'Userlogin'                 => [ 'Вхід', 'Вход' ],
+       'Userlogout'                => [ 'Вихід', 'Завершение_сеанса', 'Выход' ],
+       'Userrights'                => [ 'Керування_правами_користувачів', 'Управление_правами' ],
+       'Version'                   => [ 'Версія', 'Версия' ],
+       'Wantedcategories'          => [ 'Потрібні_категорії', 'Требуемые_категории' ],
+       'Wantedfiles'               => [ 'Потрібні_файли', 'Требуемые_файлы' ],
+       'Wantedpages'               => [ 'Потрібні_сторінки', 'Требуемые_страницы' ],
+       'Wantedtemplates'           => [ 'Потрібні_шаблони', 'Требуемые_шаблоны' ],
+       'Watchlist'                 => [ 'Список_спостереження', 'Список_наблюдения' ],
+       'Whatlinkshere'             => [ 'Посилання_сюди', 'Ссылки_сюда' ],
+       'Withoutinterwiki'          => [ 'Без_інтервікі', 'Без_интервики' ],
 ];
 
 $magicWords = [
@@ -368,8 +380,8 @@ $magicWords = [
        'pagesincategory_all'       => [ '0', 'усе', 'все', 'all' ],
        'pagesincategory_pages'     => [ '0', 'сторінки', 'страницы', 'pages' ],
        'pagesincategory_subcats'   => [ '0', 'підкатегорії', 'подкатегории', 'subcats' ],
+       'pagesincategory_files'     => [ '0', 'файли', 'файлы', 'files' ],
 ];
 
 $linkTrail = '/^([a-zабвгґдеєжзиіїйклмнопрстуфхцчшщьєюяёъы“»]+)(.*)$/sDu';
 $linkPrefixCharset = '„«';
-
diff --git a/tests/phpunit/data/localisationcache/ba.json b/tests/phpunit/data/localisationcache/ba.json
new file mode 100644 (file)
index 0000000..59b8912
--- /dev/null
@@ -0,0 +1,3 @@
+{
+       "present-ba": "ba"
+}
index 27600cd..39cce86 100644 (file)
@@ -1,5 +1,5 @@
 {
-       "present-uk": "en",
+       "present-ba": "en",
        "present-ru": "en",
        "present-en": "en"
 }
index 79e1444..c9f89d3 100644 (file)
@@ -1,4 +1,4 @@
 {
-       "present-uk": "ru",
+       "present-ba": "ru",
        "present-ru": "ru"
 }
diff --git a/tests/phpunit/data/localisationcache/uk.json b/tests/phpunit/data/localisationcache/uk.json
deleted file mode 100644 (file)
index f63ce5d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "present-uk": "uk"
-}
index 697eb2d..ed82153 100644 (file)
@@ -61,14 +61,14 @@ class LocalisationCacheTest extends MediaWikiTestCase {
 
        public function testRecacheFallbacks() {
                $lc = $this->getMockLocalisationCache();
-               $lc->recache( 'uk' );
+               $lc->recache( 'ba' );
                $this->assertEquals(
                        [
-                               'present-uk' => 'uk',
+                               'present-ba' => 'ba',
                                'present-ru' => 'ru',
                                'present-en' => 'en',
                        ],
-                       $lc->getItem( 'uk', 'messages' ),
+                       $lc->getItem( 'ba', 'messages' ),
                        'Fallbacks are only used to fill missing data'
                );
        }
@@ -84,7 +84,7 @@ class LocalisationCacheTest extends MediaWikiTestCase {
                                        array &$cache
                                ) {
                                        if ( $code === 'ru' ) {
-                                               $cache['messages']['present-uk'] = 'ru-override';
+                                               $cache['messages']['present-ba'] = 'ru-override';
                                                $cache['messages']['present-ru'] = 'ru-override';
                                                $cache['messages']['present-en'] = 'ru-override';
                                        }
@@ -93,14 +93,14 @@ class LocalisationCacheTest extends MediaWikiTestCase {
                ] );
 
                $lc = $this->getMockLocalisationCache();
-               $lc->recache( 'uk' );
+               $lc->recache( 'ba' );
                $this->assertEquals(
                        [
-                               'present-uk' => 'uk',
+                               'present-ba' => 'ba',
                                'present-ru' => 'ru-override',
                                'present-en' => 'ru-override',
                        ],
-                       $lc->getItem( 'uk', 'messages' ),
+                       $lc->getItem( 'ba', 'messages' ),
                        'Updates provided by hooks follow the normal fallback order.'
                );
        }