text:
<?xml version="1.0" encoding="utf-8"?>

<resources>
  <plurals name="uploads_pending_notification_indicator">
    <item quantity="one">%1$d файл загружается</item>
    <item quantity="few">%1$d файла загружается</item>
    <item quantity="many">%1$d файлов загружается</item>
    <item quantity="other">%1$d файлов загружается</item>
  </plurals>
  <plurals name="contributions_subtitle">
    <item quantity="one">(%1$d)</item>
    <item quantity="few">(%1$d)</item>
    <item quantity="many">(%1$d)</item>
    <item quantity="other">0=@string/contributions_subtitle_zero</item>
  </plurals>
  <plurals name="starting_multiple_uploads">
    <item quantity="one">Начинается %1$d загрузка</item>
    <item quantity="few">Начинается %1$d загрузки</item>
    <item quantity="many">Начинается %1$d загрузок</item>
    <item quantity="other">Начинается %1$d загрузок</item>
  </plurals>
  <plurals name="multiple_uploads_title">
    <item quantity="one">%1$d загрузка</item>
    <item quantity="few">%1$d загрузки</item>
    <item quantity="many">%1$d загрузок</item>
    <item quantity="other">%1$d загрузок</item>
  </plurals>
  <plurals name="share_license_summary">
    <item quantity="one">Это изображение будет лицензировано под %1$s</item>
    <item quantity="few">Эти изображения будут лицензированы под %1$s</item>
    <item quantity="many">Эти изображения будут лицензированы под %1$s</item>
    <item quantity="other">Эти изображения будут лицензированы под %1$s</item>
  </plurals>
  <plurals name="upload_count_title">
    <item quantity="one">%1$d загрузка</item>
    <item quantity="few">%1$d загрузки</item>
    <item quantity="many">%1$d загрузок</item>
    <item quantity="other">%1$d загрузок</item>
  </plurals>
  <plurals name="receiving_shared_content">
    <item quantity="one">Получение общего содержимого. Обработка изображения может занять некоторое время, в зависимости от размера изображения и модели вашего устройства</item>
    <item quantity="few">Получение общего содержимого. Обработка изображений может занять некоторое время, в зависимости от размера изображения и модели вашего устройства</item>
    <item quantity="many">Получение общего содержимого. Обработка изображений может занять некоторое время, в зависимости от размера изображения и модели вашего устройства</item>
    <item quantity="other">Получение общего содержимого. Обработка изображений может занять некоторое время, в зависимости от размера изображения и модели вашего устройства</item>
  </plurals>
  <string name="title_activity_explore">Обзор</string>
  <string name="navigation_item_explore">Обзор</string>
  <string name="preference_category_appearance">Внешний вид</string>
  <string name="preference_category_general">Общие</string>
  <string name="preference_category_feedback">Обратная связь</string>
  <string name="preference_category_privacy">Конфиденциальность</string>
  <string name="preference_category_location">Местоположение</string>
  <string name="app_name">Викисклад</string>
  <string name="bullet">•</string>
  <string name="menu_settings">Настройки</string>
  <string name="intent_share_upload_label">Загрузить на Викисклад</string>
  <string name="username">Имя пользователя</string>
  <string name="password">Пароль</string>
  <string name="login_credential">Войдите в свою учётную запись Commons Beta</string>
  <string name="login">Войти</string>
  <string name="forgot_password">Забыли пароль?</string>
  <string name="signup">Регистрация</string>
  <string name="logging_in_title">Вход в систему</string>
  <string name="logging_in_message">Пожалуйста, подождите…</string>
  <string name="login_success">Вход выполнен успешно!</string>
  <string name="login_failed">Ошибка входа в систему!</string>
  <string name="upload_failed">Файл не найден. Попробуйте другой файл.</string>
  <string name="authentication_failed">Ошибка аутентификации. Пожалуйста, авторизуйтесь ещё раз.</string>
  <string name="uploading_started">Загрузка началась!</string>
  <string name="upload_completed_notification_title">%1$s загружен!</string>
  <string name="upload_completed_notification_text">Нажмите для просмотра загруженного файла</string>
  <string name="upload_progress_notification_title_start">Загрузка %1$s начата</string>
  <string name="upload_progress_notification_title_in_progress">%1$s загружается</string>
  <string name="upload_progress_notification_title_finishing">Завершение загрузки %1$s</string>
  <string name="upload_failed_notification_title">Загрузка %1$s не удалась</string>
  <string name="upload_paused_notification_title">Загрузка %1$s приостановлена</string>
  <string name="upload_failed_notification_subtitle">Нажмите для просмотра</string>
  <string name="upload_paused_notification_subtitle">Нажмите для просмотра</string>
  <string name="title_activity_contributions">Мои недавние загрузки</string>
  <string name="contribution_state_queued">В очереди</string>
  <string name="contribution_state_failed">Ошибка загрузки.</string>
  <string name="contribution_state_in_progress">Завершено %1$d%%</string>
  <string name="contribution_state_starting">Загрузка</string>
  <string name="menu_from_gallery">Из галереи</string>
  <string name="menu_from_camera">Сфотографировать</string>
  <string name="menu_nearby">Поблизости</string>
  <string name="provider_contributions">Мои загрузки</string>
  <string name="menu_share">Поделиться</string>
  <string name="menu_open_in_browser">Открыть в браузере</string>
  <string name="share_title_hint">Подпись (Обязательна)</string>
  <string name="add_caption_toast">Пожалуйста, укажите название этого файла</string>
  <string name="share_description_hint">Описание</string>
  <string name="share_caption_hint">Подпись (не более 255 символов)</string>
  <string name="login_failed_network">Не удаётся войти — сбой сети</string>
  <string name="login_failed_wrong_credentials">Не удаётся войти — проверьте ваше имя пользователя и пароль</string>
  <string name="login_failed_throttled">Слишком много неудачных попыток. Пожалуйста, попробуйте ещё раз через несколько минут.</string>
  <string name="login_failed_blocked">Извините, но участник с таким именем был заблокирован на Викискладе</string>
  <string name="login_failed_2fa_needed">Вы должны ввести код двухфакторной аутентификации.</string>
  <string name="login_failed_generic">Ошибка входа в систему!</string>
  <string name="share_upload_button">Загрузка</string>
  <string name="multiple_share_base_title">Введите название для этой группы файлов</string>
  <string name="add_set_name_toast">Пожалуйста, укажите название этой группы файлов</string>
  <string name="provider_modifications">Изменения</string>
  <string name="menu_upload_single">Загрузка</string>
  <string name="categories_search_text_hint">Выбор категорий</string>
  <string name="depicts_search_text_hint">Искать элементы, которые изображены на вашем изображении (гора, Тадж-Махал и т. д.)</string>
  <string name="menu_save_categories">Сохранить</string>
  <string name="refresh_button">Обновить</string>
  <string name="display_list_button">Список</string>
  <string name="gps_disabled">GPS отключён в вашем устройстве. Хотите включить его?</string>
  <string name="enable_gps">Включить GPS</string>
  <string name="contributions_subtitle_zero">Загрузок пока нет</string>
  <string name="categories_not_found">Не найдено категорий, соответствующих %1$s</string>
  <string name="depictions_not_found">Элемент Викиданных, соответствующий %1$s, не найден.</string>
  <string name="no_child_classes">У %1$s нет дочерних классов</string>
  <string name="no_parent_classes">У %1$s нет родительских классов</string>
  <string name="depictions_image_not_found">Изображений с таким описанием не найдено</string>
  <string name="categories_skip_explanation">Добавьте категории, чтобы ваши изображения можно было легко найти на Викискладе.\nНачните вводить название для добавления категорий.</string>
  <string name="categories_activity_title">Категории</string>
  <string name="title_activity_settings">Настройки</string>
  <string name="title_activity_signup">Регистрация</string>
  <string name="title_activity_featured_images">Избранные изображения</string>
  <string name="title_activity_category_details">Категория</string>
  <string name="title_activity_review">Проверка</string>
  <string name="menu_about">О приложении</string>
  <string name="about_license">Приложение «Викисклад» - это программа с открытым кодом, которую создали волонтёры и участники грантов Викимедиа. Фонд Викимедиа не участвует в создании, разработке или обслуживании этого приложения.</string>
  <string name="about_improve">Вы можете создать запрос на GitHub, чтобы сообщить об ошибке или внести предложение.</string>
  <string name="about_privacy_policy">Политика конфиденциальности</string>
  <string name="about_credits">Создатели</string>
  <string name="title_activity_about">О приложении</string>
  <string name="menu_feedback">Отправить отзыв (по эл. почте)</string>
  <string name="no_email_client">Почтовый клиент не установлен</string>
  <string name="provider_categories">Недавно использованные категории</string>
  <string name="provider_depictions">Последние использованные описания</string>
  <string name="waiting_first_sync">Ожидание первой синхронизации…</string>
  <string name="no_uploads_yet">Вы ещё не загрузили ни одного изображения.</string>
  <string name="menu_retry_upload">Повторить</string>
  <string name="menu_cancel_upload">Отмена</string>
  <string name="media_upload_policy">Отправляя это изображение, я подтверждаю, что это моя собственная работа, которая не содержит защищённых авторским правом материалов или селфи, а также отвечает правилам Викисклада.</string>
  <string name="menu_download">Скачать</string>
  <string name="preference_license">Лицензия по умолчанию</string>
  <string name="use_previous">Использовать предыдущие название и описание</string>
  <string name="allow_gps">Анализ местоположения</string>
  <string name="allow_gps_summary">Если изображение не содержит геотега, то будет получено и проставлено текущее местоположение. Будьте внимательны, если вы не хотите раскрывать ваше месторасположение.</string>
  <string name="preference_theme">Тема оформления</string>
  <string name="license_name_cc_by_sa_four"> Attribution-ShareAlike 4.0</string>
  <string name="license_name_cc_by_four"> Attribution 4.0</string>
  <string name="license_name_cc_by_sa"> Attribution-ShareAlike 3.0</string>
  <string name="license_name_cc_by"> Attribution 3.0</string>
  <string name="license_name_cc0">CC0</string>
  <string name="license_name_cc_by_sa_3_0">CC BY-SA 3.0</string>
  <string name="license_name_cc_by_sa_3_0_at">CC BY-SA 3.0 (Австрия)</string>
  <string name="license_name_cc_by_sa_3_0_de">CC BY-SA 3.0 (Германия)</string>
  <string name="license_name_cc_by_sa_3_0_ee">CC BY-SA 3.0 (Эстония)</string>
  <string name="license_name_cc_by_sa_3_0_es">CC BY-SA 3.0 (Испания)</string>
  <string name="license_name_cc_by_sa_3_0_hr">CC BY-SA 3.0 (Хорватия)</string>
  <string name="license_name_cc_by_sa_3_0_lu">CC BY-SA 3.0 (Люксембург)</string>
  <string name="license_name_cc_by_sa_3_0_nl">CC BY-SA 3.0 (Нидерланды)</string>
  <string name="license_name_cc_by_sa_3_0_no">CC BY-SA 3.0 (Норвегия)</string>
  <string name="license_name_cc_by_sa_3_0_pl">CC BY-SA 3.0 (Польша)</string>
  <string name="license_name_cc_by_sa_3_0_ro">CC BY-SA 3.0 (Румыния)</string>
  <string name="license_name_cc_by_3_0">CC BY 3.0</string>
  <string name="license_name_cc_by_sa_4_0">CC BY-SA 4.0</string>
  <string name="license_name_cc_by_4_0">CC BY 4.0</string>
  <string name="license_name_cc_zero">CC Zero</string>
  <string name="tutorial_1_text">Викисклад содержит бо́льшую часть изображений, которые используются в Википедии.</string>
  <string name="tutorial_1_subtext">Ваши изображения могут помочь образованию людей во всём мире!</string>
  <string name="tutorial_2_text">Пожалуйста, загружайте изображения, которые были сняты или созданы исключительно вами:</string>
  <string name="tutorial_2_subtext_1">Природные объекты (например, цветы, животные, горы)</string>
  <string name="tutorial_2_subtext_2">Полезные предметы (например, велосипеды, вокзалы)</string>
  <string name="tutorial_2_subtext_3">Известные люди (например, ваш мэр, спортсмены-олимпийцы, которых вы встретили)</string>
  <string name="tutorial_3_text">Пожалуйста, НЕ загружайте:</string>
  <string name="tutorial_3_subtext_1">Селфи или фотографии ваших друзей</string>
  <string name="tutorial_3_subtext_2">Изображения, которые вы скачали из Интернета</string>
  <string name="tutorial_3_subtext_3">Скриншоты несвободных приложений</string>
  <string name="tutorial_4_text">Пример загрузки:</string>
  <string name="tutorial_4_subtext_1">Название: Сиднейский оперный театр</string>
  <string name="tutorial_4_subtext_2">Описание: Сиднейский оперный театр, вид через залив</string>
  <string name="tutorial_4_subtext_3">Категории: Sydney Opera House from the west, Sydney Opera House remote views</string>
  <string name="welcome_wikipedia_text">Загрузите свои изображения. Помогите Википедии оживить статьи!</string>
  <string name="welcome_wikipedia_subtext">Изображения, используемые в Википедии хранятся на Викискладе.</string>
  <string name="welcome_copyright_text">Ваши изображения могут помочь образованию людей во всём мире.</string>
  <string name="welcome_copyright_subtext">Избегайте материалов, защищённых авторским правом, например, найденных в Интернете, изображений плакатов, книжных обложек и т.п.</string>
  <string name="welcome_final_text">Вам это понятно?</string>
  <string name="welcome_final_button_text">Да!</string>
  <string name="welcome_help_button_text">Подробнее</string>
  <string name="detail_panel_cats_label">Категории</string>
  <string name="detail_panel_cats_loading">Загрузка…</string>
  <string name="detail_panel_cats_none">Ничего не выбрано</string>
  <string name="detail_caption_empty">Без подписи</string>
  <string name="detail_depiction_empty">Нет описания</string>
  <string name="detail_description_empty">Нет описания</string>
  <string name="detail_discussion_empty">Обсуждений нет</string>
  <string name="detail_license_empty">Неизвестная лицензия</string>
  <string name="menu_refresh">Обновить</string>
  <string name="storage_permission_title">Запрос разрешения по использованию внешнего носителя</string>
  <string name="read_storage_permission_rationale">Требуемые разрешения: чтение с внешнего носителя. Приложение не сможет получить доступ к вашей галерее без этого разрешения.</string>
  <string name="write_storage_permission_rationale">Требуемые разрешения: запись на внешнее хранилище. Приложение не сможет получить доступ к галерее/камере без этого разрешения.</string>
  <string name="location_permission_title">Запрос на определение местоположения</string>
  <string name="location_permission_rationale">Необязательное разрешение: получение текущего местоположения для предложения категорий</string>
  <string name="ok">OK</string>
  <string name="title_activity_nearby">Места поблизости</string>
  <string name="no_nearby">Места поблизости не найдены</string>
  <string name="warning">Внимание</string>
  <string name="duplicate_image_found">Найден дубликат изображения</string>
  <string name="upload_image_duplicate">Этот файл уже существует на Викискладе. Вы уверены, что хотите продолжить?</string>
  <string name="upload">Загрузить</string>
  <string name="yes">Да</string>
  <string name="no">Нет</string>
  <string name="media_detail_caption">Подпись</string>
  <string name="media_detail_title">Название</string>
  <string name="media_detail_depiction">Описания</string>
  <string name="media_detail_description">Описание</string>
  <string name="media_detail_discussion">Обсуждение</string>
  <string name="media_detail_author">Автор</string>
  <string name="media_detail_uploaded_date">Дата загрузки</string>
  <string name="media_detail_license">Лицензия</string>
  <string name="media_detail_coordinates">Координаты</string>
  <string name="media_detail_coordinates_empty">Не предоставлены</string>
  <string name="become_a_tester_title">Стать бета-тестером</string>
  <string name="become_a_tester_description">Подпишитесь на наш канал бета-версии на Google Play и получите ранний доступ к новым функциям и исправлениям ошибок</string>
  <string name="_2fa_code">Код 2ФА</string>
  <string name="number_of_uploads">Лимит моих недавних загрузок</string>
  <string name="maximum_limit">Максимальный лимит</string>
  <string name="invalid_zero">Ноль не является корректным значением</string>
  <string name="invalid_input">Некорректное значение</string>
  <string name="maximum_limit_alert">Невозможно отобразить более 500</string>
  <string name="enter_valid">Укажите корректное значение</string>
  <string name="cannot_be_zero">Лимит загрузок не может быть нулевым</string>
  <string name="set_limit">Лимит недавних загрузок</string>
  <string name="login_failed_2fa_not_supported">Двухфакторная аутентификация в настоящее время не поддерживается.</string>
  <string name="logout_verification">Вы действительно хотите выйти?</string>
  <string name="commons_logo">Логотип Викисклада</string>
  <string name="commons_website">Веб-сайт Викисклада</string>
  <string name="commons_facebook">Facebook-страница Викисклада</string>
  <string name="commons_github">Исходные коды Викисклада на гитхабе</string>
  <string name="background_image">Фоновое изображение</string>
  <string name="mediaimage_failed">Ошибка медиафайла</string>
  <string name="no_image_found">Изображение не найдено</string>
  <string name="no_subcategory_found">Подкатегории не найдены.</string>
  <string name="no_parentcategory_found">Не найдено родительских категорий</string>
  <string name="upload_image">Загрузить изображение</string>
  <string name="welcome_image_mount_zao">Гора Зао</string>
  <string name="welcome_image_llamas">Ламы</string>
  <string name="welcome_image_rainbow_bridge">Радужный мост</string>
  <string name="welcome_image_tulip">Тюльпан</string>
  <string name="welcome_image_no_selfies">Без селфи</string>
  <string name="welcome_image_proprietary">Несвободное изображение</string>
  <string name="welcome_image_welcome_wikipedia">Добро пожаловать в Википедию</string>
  <string name="welcome_image_welcome_copyright">Добро пожаловать — авторские права</string>
  <string name="welcome_image_sydney_opera_house">Сиднейский оперный театр</string>
  <string name="cancel">Отмена</string>
  <string name="navigation_drawer_open">Открыть</string>
  <string name="navigation_drawer_close">Закрыть</string>
  <string name="navigation_item_home">Главная</string>
  <string name="navigation_item_upload">Загрузить</string>
  <string name="navigation_item_nearby">Поблизости</string>
  <string name="navigation_item_about">О приложении</string>
  <string name="navigation_item_settings">Настройки</string>
  <string name="navigation_item_feedback">Обратная связь</string>
  <string name="navigation_item_logout">Выйти</string>
  <string name="navigation_item_info">Руководство</string>
  <string name="navigation_item_notification">Уведомления</string>
  <string name="navigation_item_featured_images">Избранное</string>
  <string name="navigation_item_review">Проверка</string>
  <string name="nearby_needs_permissions">Места поблизости не могут быть отображены без разрешения на геолокацию</string>
  <string name="no_description_found">описание не найдено</string>
  <string name="nearby_info_menu_commons_article">Страница файла на Викискладе</string>
  <string name="nearby_info_menu_wikidata_article">Элемент Викиданных</string>
  <string name="nearby_info_menu_wikipedia_article">Статья Википедии</string>
  <string name="error_while_cache">Ошибка при кэшировании картинок</string>
  <string name="title_info">Уникальное описание, которое будет сохранено как имя файла. Вы можете использовать естественный язык, разделяя слова пробелами. Пожалуйста, не указывайте расширение файла.</string>
  <string name="description_info">Пожалуйста, подробно опишите загружаемый файл: где он был снят? что на нём изображено? каков его контекст? Пожалуйста опишите изображённых персон или объекты. Добавьте информацию, о которой нельзя легко догадаться, например, время суток, когда снимался файл. Если снято что-то необычное, постарайтесь пояснить, что именно в этом необычного.</string>
  <string name="caption_info">Пожалуйста, напишите краткое описание изображения. Первое описание будет использовано в качестве названия изображения.</string>
  <string name="upload_image_too_dark">Это изображение слишком тёмное. Вы уверены, что хотите его загрузить? Викисклад подходит только для изображений, имеющих энциклопедическую ценность.</string>
  <string name="upload_image_blurry">Это изображение размыто. Вы уверены, что хотите его загрузить? Викисклад подходит только для изображений, имеющих энциклопедическую ценность.</string>
  <string name="upload_problem_exist">Потенциальные проблемы с этим изображением:</string>
  <string name="upload_problem_image_dark">Изображение слишком тёмное.</string>
  <string name="upload_problem_image_blurry">Изображение размыто.</string>
  <string name="upload_problem_image_duplicate">Это изображение уже существует на Викискладе</string>
  <string name="upload_problem_different_geolocation">Это изображение было сделано в другом месте.</string>
  <string name="upload_problem_fbmd">Пожалуйста, загружайте только те изображения, которые были сделаны вами. Не загружайте изображений, которые вы нашли в Фейсбуке.</string>
  <string name="upload_problem_do_you_continue">Всё равно желаете загрузить это изображение?</string>
  <string name="upload_problem_image">Проблемы, найденные в изображении</string>
  <string name="internet_downloaded">Пожалуйста, загружайте только те изображения, которые были сделаны вами. Не загружайте изображений, которые вы скачали из Интернета.</string>
  <string name="give_permission">Разрешить</string>
  <string name="use_external_storage">Использовать внешний носитель</string>
  <string name="use_external_storage_summary">Сохранять изображения, сделанные с помощью встроенной камеры на устройстве</string>
  <string name="login_to_your_account">Войдите в свою учётную запись</string>
  <string name="send_log_file">Выслать лог-файл</string>
  <string name="send_log_file_description">Выслать журнальный файл разработчикам по эл. почте для решения проблем в приложении. Замечание: журналы потенциально могут содержать личные данные.</string>
  <string name="no_web_browser">Не найден браузер, чтобы открыть ссылку</string>
  <string name="null_url">Ошибка! Ссылка не найдена</string>
  <string name="nominate_deletion">Номинировать к удалению</string>
  <string name="nominated_for_deletion">Этот файл был вынесен на удаление.</string>
  <string name="nominated_see_more">См. страницу для получения подробной информации</string>
  <string name="nominating_file_for_deletion">Номинирование %1$s к удалению.</string>
  <string name="nominating_for_deletion_status">Номинирование файла к удалению: %1$s</string>
  <string name="view_browser">Просмотреть в браузере</string>
  <string name="skip_login">Пропустить</string>
  <string name="navigation_item_login">Войти</string>
  <string name="skip_login_title">Вы действительно хотите пропустить авторизацию?</string>
  <string name="skip_login_message">Вам следует залогиниться чтобы загружать изображения.</string>
  <string name="login_alert_message">Войдите, чтобы использовать эту функцию</string>
  <string name="copy_wikicode">Копирование викикода в буфер обмена</string>
  <string name="wikicode_copied">Викикод скопирован в буфер обмена</string>
  <string name="nearby_location_has_not_changed">Местоположение не изменено.</string>
  <string name="nearby_location_not_available">Функция «Поблизости» может работать некорректно, определение местоположения недоступно.</string>
  <string name="location_permission_rationale_nearby">Необходимо разрешение для отображения списка мест поблизости</string>
  <string name="get_directions">Проложить маршрут</string>
  <string name="read_article">Читать статью</string>
  <string name="notifications_welcome">Добро пожаловать на Викисклад, %1$s! Рады вас здесь видеть.</string>
  <string name="notifications_talk_page_message">%1$s оставил сообщение на вашей странице обсуждения</string>
  <string name="notifications_thank_you_edit">Спасибо за правку</string>
  <string name="notifications_mention">%1$s упомянул вас на %2$s.</string>
  <string name="toggle_view_button">Переключить режим просмотра</string>
  <string name="nearby_directions">Направления</string>
  <string name="nearby_wikidata">Викиданные</string>
  <string name="nearby_wikipedia">Википедия</string>
  <string name="nearby_commons">Викисклад</string>
  <string name="about_rate_us">Оцените нас</string>
  <string name="about_faq">Часто задаваемые вопросы</string>
  <string name="welcome_skip_button">Пропустить руководство</string>
  <string name="no_internet">Интернет недоступен</string>
  <string name="internet_established">Интернет доступен</string>
  <string name="error_notifications">Ошибка при получении уведомления</string>
  <string name="error_review">Ошибка при получении изображения на проверку. Пожалуйста, нажмите \"Обновить\", чтобы попробовать снова.</string>
  <string name="error_review_categories">Ошибка при получении категорий изображения для проверки. Пожалуйста нажмите \"Обновить\", чтобы попробовать снова.</string>
  <string name="no_notifications">Уведомлений нет</string>
  <string name="about_translate">Перевести</string>
  <string name="about_translate_title">Языки</string>
  <string name="about_translate_message">Выберите язык локализации, на который сможете перевести элементы интерфейса приложения</string>
  <string name="about_translate_proceed">Перейти к переводу</string>
  <string name="about_translate_cancel">Отмена</string>
  <string name="retry">Повторить</string>
  <string name="showcase_view_got_it_button">Понятно!</string>
  <string name="showcase_view_whole_nearby_activity">Это места поблизости, статьи о которых нуждаются в иллюстрациях.\n\nПосле нажатия кнопки \"Искать в этой области\" карта фиксируется и происходит поиск вокруг указанного места.</string>
  <string name="showcase_view_needs_photo">Это место нуждается в фотографии.</string>
  <string name="showcase_view_has_photo">У этого места уже есть фотография.</string>
  <string name="showcase_view_no_longer_exists">Это место больше не существует.</string>
  <string name="showcase_view_list_icon">Нажатие этой кнопки сгенерирует список таких мест</string>
  <string name="showcase_view_plus_fab">Вы можете загрузить изображение для любого из этих мест, сделав снимок камерой или выбрав уже существующее изображение из галереи</string>
  <string name="no_images_found">Изображений не найдено!</string>
  <string name="error_loading_images">Произошла ошибка при загрузке изображений.</string>
  <string name="image_uploaded_by">Загружено участником %1$s</string>
  <string name="block_notification_title">Блокировка</string>
  <string name="block_notification">Редактирование на Викискладе вам было заблокировано</string>
  <string name="appwidget_img">Изображение дня</string>
  <string name="app_widget_heading">Изображение дня</string>
  <string name="menu_search_button">Поиск</string>
  <string name="search_commons">Найти на Викискладе</string>
  <string name="images_not_found">Не найдено изображений, соответствующих %1$s</string>
  <string name="title_activity_search">Найти</string>
  <string name="search_recent_header">Последние поиски:</string>
  <string name="provider_searches">Последние запросы</string>
  <string name="error_loading_categories">При загрузке категорий произошла ошибка.</string>
  <string name="error_loading_depictions">При загрузке описаний произошла ошибка.</string>
  <string name="error_loading_subcategories">При загрузке подкатегорий произошла ошибка.</string>
  <string name="search_tab_title_media">Мультимедиа</string>
  <string name="search_tab_title_categories">Категории</string>
  <string name="search_tab_title_depictions">Элементы</string>
  <string name="explore_tab_title_featured">Избранное</string>
  <string name="explore_tab_title_mobile">Загружено текущим приложением</string>
  <string name="successful_wikidata_edit">Изображение добавлено на страницу %1$s Викиданных!</string>
  <string name="wikidata_edit_failure">Не удалось обновить соответствующую страницу викиданных!</string>
  <string name="menu_set_wallpaper">Сделать фоновой заставкой</string>
  <string name="wallpaper_set_successfully">Фоновая заставка успешно установлена!</string>
  <string name="quiz">Опрос</string>
  <string name="quiz_question_string">Это изображение корректно для загрузки на сервер?</string>
  <string name="question">Вопрос</string>
  <string name="result">Результат</string>
  <string name="quiz_back_button">Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована. Вы уверены, что хотите завершить опрос ?</string>
  <string name="quiz_alert_message">Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована.\n\nЖелаете пересмотреть руководство снова и поучаствовать в опросе, для прояснения, какие из типов изображений могут быть загруженными, а какие запрещены ?</string>
  <string name="selfie_answer">Обычно селфи не имеют энциклопедической значимости. Пожалуйста, не загружайте фото себя до тех пор, пока о вас не будет создана статья википедии.</string>
  <string name="taj_mahal_answer">Изображения памятников и объектов снаружи в большинстве стран мира обычно подходят для загрузки. При этом временные инсталляции снаружи часто являются объектом копирайта и не подходят для загрузки.</string>
  <string name="screenshot_answer">Скриншоты вебсайтов считаются производными работами, поэтому являются объектами копирайта, указанных на самих вебсайтах. Скриншоты могут быть использованы только после получения разрешения от автора вебсайта. Без такого разрешения любое изображение, созданное вами на основе вебсайта считается нелицензированной копией, права на которую принадлежат первоначальному автору.</string>
  <string name="blurry_image_answer">Одной из целей Викисклада является собирание качественных изображений. Поэтому не следует туда загружать нечто размытое. Старайтесь делать изображения с хорошим освещением</string>
  <string name="construction_event_answer">Изображения в области техники или культуры весьма желательны на Викискладе.</string>
  <string name="warning_for_image_reverts">Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована.</string>
  <string name="congratulatory_message_quiz">Вы дали %1$s {{PLURAL:%1$s|zero=правильных ответов|one= правильный ответ|few=правильного ответа|правильных ответов}}. Так держать!</string>
  <string name="warning_for_no_answer">Выберите один из двух вариантов ответа на вопрос</string>
  <string name="user_not_logged_in">Сессия авторизации истекла, пожалуйста авторизуйтесь заново.</string>
  <string name="quiz_result_share_message">Поделитесь результатами опроса со своими друзьями!</string>
  <string name="continue_message">Продолжить</string>
  <string name="correct">Правильный ответ</string>
  <string name="wrong">Неверный ответ</string>
  <string name="quiz_screenshot_question">Этот скриншот подходит для загрузки на Викисклад?</string>
  <string name="share_app_title">Поделиться приложением</string>
  <string name="share_coordinates_not_present">Во время выбора изображения не были указаны координаты</string>
  <string name="error_fetching_nearby_places">Ошибка получения мест поблизости</string>
  <string name="add_description">+ Добавление описания</string>
  <string name="no_recent_searches">История поиска пуста</string>
  <string name="delete_recent_searches_dialog">Вы уверены, что хотите очистить историю поисковых запросов?</string>
  <string name="delete_search_dialog">Удалить этот поиск?</string>
  <string name="search_history_deleted">История поиска очищена</string>
  <string name="nominate_delete">Номинировать к удалению</string>
  <string name="delete">Удалить</string>
  <string name="Achievements">Достижения</string>
  <string name="Profile">Профиль</string>
  <string name="statistics">Статистика</string>
  <string name="statistics_thanks">Получены благодарности</string>
  <string name="statistics_featured">Избранные изображения</string>
  <string name="statistics_wikidata_edits">Изображения мест поблизости</string>
  <string name="level">Уровень</string>
  <string name="images_uploaded">Загружено изображений</string>
  <string name="image_reverts">Изображения, которые не откатывались</string>
  <string name="images_used_by_wiki">Использовано изображений</string>
  <string name="achievements_share_message">Поделитесь своими достижениями с друзьями!</string>
  <string name="achievements_info_message">Ваш уровень будет расти при выполнении условий с числами в кружках. Числа в разделе \"Статистика\" на уровень не влияют.</string>
  <string name="achievements_revert_limit_message">требуется минимум:</string>
  <string name="images_uploaded_explanation">Число изображений, загруженных на Викисклад любыми приложениями</string>
  <string name="images_reverted_explanation">Число изображений, загруженных на Викисклад и не удалённых</string>
  <string name="images_used_explanation">Число изображений, загруженных на Викисклад, которые используются в статьях Викимедиа</string>
  <string name="error_occurred">Произошла ошибка!</string>
  <string name="notifications_channel_name_all">Уведомления Викисклада</string>
  <string name="preference_author_name_toggle">Использовать альтернативное имя автора</string>
  <string name="preference_author_name_toggle_summary">При загрузке изображений использовать альтернативное имя для указания авторства вместо имени пользователя</string>
  <string name="preference_author_name">Альтернативное имя автора</string>
  <string name="contributions_fragment">Вклад</string>
  <string name="nearby_fragment">Поблизости</string>
  <string name="notifications">Уведомления</string>
  <string name="read_notifications">Уведомления (читать)</string>
  <string name="display_nearby_notification">Уведомлять меня о местах поблизости</string>
  <string name="display_nearby_notification_summary">Нажмите здесь, чтобы увидеть ближайшее место без изображений</string>
  <string name="no_close_nearby">Не найдено мест поблизости</string>
  <string name="list_sheet">Список</string>
  <string name="storage_permission">Разрешение для использования внешнего носителя</string>
  <string name="write_storage_permission_rationale_for_image_share">Нам требуется разрешение доступа к внешнему носителю вашего устройства для того, чтобы загружать изображения.</string>
  <string name="nearby_notification_dismiss_message">Вы больше не будете видеть ближайшие места без изображений. Если передумаете, вы найдете этот параметр в настройках.</string>
  <string name="step_count">Шаг %1$d из %2$d</string>
  <string name="image_in_set_label">Изображение %1$d в наборе</string>
  <string name="next">Далее</string>
  <string name="previous">Назад</string>
  <string name="submit">Отправить</string>
  <string name="upload_title_duplicate">Уже существует файл с именем %1$s. Вы уверены, что хотите продолжить?</string>
  <string name="map_application_missing">Не найдено совместимое картографическое приложение на вашем устройстве. Установите его, чтобы вы могли использовать эту функцию.</string>
  <string name="navigation_item_bookmarks">Закладки</string>
  <string name="title_activity_bookmarks">Закладки</string>
  <string name="title_page_bookmarks_pictures">Изображения</string>
  <string name="title_page_bookmarks_locations">Места</string>
  <string name="menu_bookmark">Добавить/удалить закладки</string>
  <string name="provider_bookmarks">Закладки</string>
  <string name="bookmark_empty">Вы не добавили ни одной закладки</string>
  <string name="provider_bookmarks_location">Закладки</string>
  <string name="log_collection_started">Стартовала запись в лог-файл. Пожалуйста, ПЕРЕЗАПУСТИТЕ приложение, выполните действие, которое вы хотите запротоколировать, и затем снова нажмите «Выслать лог-файл»</string>
  <string name="deletion_reason_uploaded_by_mistake">Загружено по ошибке</string>
  <string name="deletion_reason_publicly_visible">Я не знал, что это станет доступным публично</string>
  <string name="deletion_reason_bad_for_my_privacy">Я осознал, что это разглашает мою приватность</string>
  <string name="deletion_reason_no_longer_want_public">Я передумал. Больше не хочу чтобы было доступным публично</string>
  <string name="deletion_reason_not_interesting">Извините, это изображение не для энциклопедии</string>
  <string name="uploaded_by_myself">Загружено мною на сайт «%1$s» и использовано в {{PLURAL:%2$d|one=одной статье|%2$d статьях}}.</string>
  <string name="no_uploads">Добро пожаловать на Викисклад!\n\nЗагрузите ваш первый файл, нажав на кнопку добавления.</string>
  <string name="desc_language_Worldwide">Всемирные</string>
  <string name="desc_language_America">Америка</string>
  <string name="desc_language_Europe">Европа</string>
  <string name="desc_language_Middle_East">Ближний Восток</string>
  <string name="desc_language_Africa">Африка</string>
  <string name="desc_language_Asia">Азия</string>
  <string name="desc_language_Pacific">Океания</string>
  <string name="no_categories_selected">Не выбраны категории</string>
  <string name="no_categories_selected_warning_desc">Изображения без категорий используются редко. Вы уверены, что хотите продолжить, не выбрав категории?</string>
  <string name="no_depictions_selected">Описания не выбраны</string>
  <string name="no_depictions_selected_warning_desc">Изображения с описаниями будет проще найти и использовать. Вы уверены, что хотите продолжить без выбора описаний?</string>
  <string name="upload_flow_all_images_in_set">(Для всех изображений в наборе)</string>
  <string name="search_this_area">Искать в этой области</string>
  <string name="nearby_card_permission_title">Запрос разрешения</string>
  <string name="nearby_card_permission_explanation">Вы бы хотели чтобы использовалось ваше текущее местоположение для показа ближайшего места, у которого ещё нет изображений?</string>
  <string name="unable_to_display_nearest_place">Невозможно отобразить ближайшее место, которому требуются изображения без разрешения на геолокацию</string>
  <string name="never_ask_again">Больше не спрашивать</string>
  <string name="display_location_permission_title">Показать разрешение на геолокацию</string>
  <string name="display_location_permission_explanation">Запрашивать разрешение на геолокацию, которое требуется для нотификаций мест поблизости.</string>
  <string name="achievements_fetch_failed">Что-то пошло не так. Не получается получить список ваших достижений</string>
  <string name="achievements_fetch_failed_ultimate_achievement">Вы сделали так много, что наша система расчёта достижений не справляется. Это финальное достижение.</string>
  <string name="ends_on">Заканчивается:</string>
  <string name="display_campaigns">Показ кампаний</string>
  <string name="display_campaigns_explanation">Просмотр текущих кампаний</string>
  <string name="nearby_campaign_dismiss_message">Вы больше не увидите кампаний. Однако, если захочете, вы сможете включить нотификации о кампаниях в настройках.</string>
  <string name="this_function_needs_network_connection">Для этой функции требуется доступ к интернет. Пожалуйста, проверьте своё подключение.</string>
  <string name="bad_token_error_proposed_solution">Загрузка прервана из-за проблем с токеном редактирования. Пожалуйста, выйдите из учётной записи и зайдите заново.</string>
  <string name="error_processing_image">Произошла ошибка при загрузке файла. Пожалуйста, попробуйте позднее!</string>
  <string name="getting_edit_token">Получение токена редактирования</string>
  <string name="check_category_adding_template">Добавление шаблона о проверке категорий</string>
  <string name="check_category_notification_title">Проверка категории %1$s</string>
  <string name="check_category_edit_summary">Запрос о проверке категорий</string>
  <string name="check_category_success_title">Запрошена проверка категории</string>
  <string name="check_category_failure_title">Запрос о проверке категорий не сработал</string>
  <string name="check_category_success_message">Оставлен запрос о проверке категорий для %1$s</string>
  <string name="check_category_failure_message">Не удаётся сделать запрос о проверке категорий для файла %1$s</string>
  <string name="check_category_toast">Проверка категорий файла %1$s</string>
  <string name="nominate_for_deletion_edit_file_page">Добавление файлу сообщения об удалении</string>
  <string name="nominate_for_deletion_done">Готово</string>
  <string name="nominate_for_deletion_notify_user">Оповещение участника на его странице обсуждения</string>
  <string name="nominate_for_deletion_edit_deletion_request_log">Добавление файла в журнал запросов на удаление</string>
  <string name="nominate_for_deletion_create_deletion_request">Создание подстраницы запроса об удалении</string>
  <string name="notsure">Не знаю</string>
  <string name="send_thank_success_title">Отправка благодарности: Успешно</string>
  <string name="send_thank_success_message">Благодарности успешно отправлены %1$s</string>
  <string name="send_thank_failure_message">Не удалось отправить благодарности %1$s</string>
  <string name="send_thank_failure_title">Отправка благодарности: Неуспешно</string>
  <string name="send_thank_send">Отправка благодарности</string>
  <string name="send_thank_notification_title">Отправка благодарности</string>
  <string name="send_thank_toast">Отправка благодарности %1$s</string>
  <string name="review_copyright">Соответствует правилам об авторском праве?</string>
  <string name="review_category">Правильно ли указаны категории?</string>
  <string name="review_spam">Уместен ли файл на Викискладе?</string>
  <string name="review_thanks">Хотите отблагодарить участника?</string>
  <string name="review_spam_explanation">Нажмите НЕТ, чтобы номинировать это изображение к удалению.</string>
  <string name="review_copyright_explanation">Логотипы, снимки экрана, постеры фильмов часто нарушают копирайт.\n Нажмите НЕТ, чтобы номинировать это изображение к удалению.</string>
  <string name="review_thanks_explanation">%1$s получит от вас благодарность</string>
  <string name="review_no_category">Эй, да тут даже категорий нет!</string>
  <string name="review_category_explanation">Это изображение отнесено к следующим категориям: %1$s</string>
  <string name="review_spam_report_question">Файл не уместен на Викискладе, поскольку</string>
  <string name="review_c_violation_report_question">Это нарушение авторских прав, поскольку</string>
  <string name="review_category_yes_button_text">Неверно категоризировано</string>
  <string name="review_category_no_button_text">Уместен</string>
  <string name="review_spam_yes_button_text">Нет</string>
  <string name="review_spam_no_button_text">Уместен</string>
  <string name="review_copyright_yes_button_text">Нет, это нарушение авторского права</string>
  <string name="review_copyright_no_button_text">Уместен</string>
  <string name="review_thanks_yes_button_text">Да</string>
  <string name="review_thanks_no_button_text">Следующий файл</string>
  <string name="skip_image_explanation">Нажатие этой кнопки приводит к показу следующего недавно загруженного изображения с Викисклада</string>
  <string name="review_image_explanation">Вы можете проверить файлы, и, таким образом, улучшить их качество на Викискладе.\n Есть четыре проверки:\n - Уместен ли файл на Викискладе?\n - Соответствует ли файл правилам об авторском праве?\n - Правильно ли файл категоризирован?\n - Если всё хорошо, можете поблагодарить загрузившего этот файл.</string>
  <string name="no_image">Нет использованных изображений</string>
  <string name="no_image_reverted">Нет откаченых изображений</string>
  <string name="no_image_uploaded">Нет загруженных изображений</string>
  <string name="no_notification">У вас нет непрочитанных уведомлений</string>
  <string name="no_read_notification">Нет прочитанных уведомлений</string>
  <string name="share_logs_using">Поделиться лог-файлами</string>
  <string name="menu_option_read">Просмотр прочитанного</string>
  <string name="menu_option_unread">См. непрочитанные</string>
  <string name="error_occurred_in_picking_images">Произошла ошибка при загрузке изображений</string>
  <string name="image_chooser_title">Выберите изображения для загрузки</string>
  <string name="please_wait">Пожалуйста, подождите…</string>
  <string name="images_featured_explanation">Избранные изображения обычно сделаны профессиональными фотографами и иллюстраторами. Такие изображения отмечены сообществом участников Викисклада как имеющие высшее качество на этом вебсайте.</string>
  <string name="images_via_nearby_explanation">Изображения, загруженные участниками, которые находили места с помощью функционала \"Места поблизости\".</string>
  <string name="thanks_received_explanation">Это функция позволяет участникам послать благодарность другим участникам за их полезные правки с помощью маленькой ссылки на странице истории страницы или странице разницы версий.</string>
  <string name="previous_image_caption_description">Скопировать предыдущие название и описание</string>
  <string name="previous_button_tooltip_message">Нажмите, чтобы использовать название и описание, которые вы ввели для предыдущего изображения, а потом потом модифицировать их</string>
  <string name="welcome_do_upload_content_description">Примеры изображений, подходящих для загрузки на Викисклад</string>
  <string name="welcome_dont_upload_content_description">Примеры изображений, которые не следует загружать на Викисклад</string>
  <string name="skip_image">Пропустить это изображение</string>
  <string name="download_failed_we_cannot_download_the_file_without_storage_permission">Скачивание файла не удалось! Это невозможно выполнить без предоставленного разрешения по использованию  внешнего носителя.</string>
  <string name="manage_exif_tags">Работа с EXIF-тегами</string>
  <string name="manage_exif_tags_summary">Укажите, какие EXIF-теги следует сохранить при загрузке файлов</string>
  <string name="exif_tag_name_author">Автор</string>
  <string name="exif_tag_name_copyright">Авторские права</string>
  <string name="exif_tag_name_location">Местоположение</string>
  <string name="exif_tag_name_cameraModel">Модель камеры</string>
  <string name="exif_tag_name_lensModel">Модель объектива</string>
  <string name="exif_tag_name_serialNumbers">Серийный номер</string>
  <string name="exif_tag_name_software">Программное обеспечение</string>
  <string name="share_text">Загружайте фото на Викисклад прямо с телефона. Скачайте приложение Wikimedia Commons прямо сейчас: %1$s</string>
  <string name="share_via">Поделиться приложением с помощью...</string>
  <string name="image_info">Информация об изображении</string>
  <string name="no_categories_found">Категории не найдены.</string>
  <string name="no_depiction_found">Описания не найдены</string>
  <string name="upload_cancelled">Загрузка отменена</string>
  <string name="previous_image_title_description_not_found">Отсутствует заголовок или описание предыдущего изображения</string>
  <string name="dialog_box_text_nomination">Почему %1$s должно быть удалено?</string>
  <string name="review_is_uploaded_by">%1$s загружено с помощью: %2$s</string>
  <string name="default_description_language">Язык описаний по умолчанию</string>
  <string name="delete_helper_make_deletion_toast">Номинирование %1$s к удалению</string>
  <string name="delete_helper_show_deletion_title">Номинирование к удалению</string>
  <string name="delete_helper_show_deletion_title_success">Успешно</string>
  <string name="delete_helper_show_deletion_message_if">Номинировано %1$s на удаление.</string>
  <string name="delete_helper_show_deletion_title_failed">Не удалось</string>
  <string name="delete_helper_show_deletion_message_else">Невозможно запросить удаление.</string>
  <string name="delete_helper_ask_spam_selfie">Селфи</string>
  <string name="delete_helper_ask_spam_blurry">Размыто</string>
  <string name="delete_helper_ask_spam_nonsense">Бессмыслица</string>
  <string name="delete_helper_ask_spam_other">Другое</string>
  <string name="delete_helper_ask_reason_copyright_press_photo">Новостное фото</string>
  <string name="delete_helper_ask_reason_copyright_internet_photo">Случайное фото из интернет</string>
  <string name="delete_helper_ask_reason_copyright_logo">Логотип</string>
  <string name="delete_helper_ask_reason_copyright_other">Другое</string>
  <string name="delete_helper_ask_alert_set_positive_button_reason">Поскольку</string>
  <string name="category_edit_helper_make_edit_toast">Обновление категорий.</string>
  <string name="category_edit_helper_show_edit_title">Обновление категории</string>
  <string name="category_edit_helper_show_edit_title_success">Успешно</string>
  <plurals name="category_edit_helper_show_edit_message_if">
    <item quantity="one">Категория %1$s добавлена.</item>
    <item quantity="few">Категории %1$s добавлены.</item>
    <item quantity="many">Категории %1$s добавлены.</item>
    <item quantity="other"/>
  </plurals>
  <string name="category_edit_helper_edit_message_else">Не удалось добавить категории.</string>
  <string name="category_edit_button_text">Обновить категории</string>
  <string name="share_image_via">Поделиться изображением с помощью</string>
  <string name="no_achievements_yet">Пока что от вас нет вклада</string>
  <string name="account_created">Учётная запись создана!</string>
  <string name="text_copy">Текст скопирован в буфер обмена</string>
  <string name="notification_mark_read">Оповещения маркированы как \"прочитанные\"</string>
  <string name="some_error">Тут какая-то проблемка возникла :-(</string>
  <string name="place_state">Состояние места:</string>
  <string name="place_state_exists">Существует</string>
  <string name="place_state_needs_photo">Нуждается в фото</string>
  <string name="place_type">Тип места:</string>
  <string name="nearby_search_hint">Мост, музей, гостиница и т. д.</string>
  <string name="you_must_reset_your_passsword">Что-то пошло не так со входом, вы должны сбросить пароль!</string>
  <string name="title_for_media">МЕДИА</string>
  <string name="title_for_child_classes">ДЕТСКИЕ КЛАССЫ</string>
  <string name="title_for_parent_classes">РОДИТЕЛЬСКИЕ КЛАССЫ</string>
  <string name="upload_nearby_place_found_title">Место поблизости найдено</string>
  <string name="upload_nearby_place_found_description">Является ли это фото местом %1$s?</string>
  <string name="title_app_shortcut_explore">Обзор</string>
  <string name="title_app_shortcut_bookmark">Закладки</string>
  <string name="title_app_shortcut_setting">Настройки</string>
  <string name="remove_bookmark">Удалено из закладок</string>
  <string name="add_bookmark">Добавлено в закладки</string>
  <string name="wallpaper_set_unsuccessfully">Что-то пошло не так. Не удалось установить фоновую заставку</string>
  <string name="setting_wallpaper_dialog_title">Сделать фоновой заставкой</string>
  <string name="setting_wallpaper_dialog_message">Идёт установка фоновой заставки...</string>
  <string name="theme_default_name">Настройки системы</string>
  <string name="theme_dark_name">Тёмная</string>
  <string name="theme_light_name">Светлая</string>
  <string name="cannot_open_location_settings">Не удалось открыть настройки местоположения. Пожалуйста, включите местоположение вручную</string>
  <string name="recommend_high_accuracy_mode">Для достижения наилучших результатов выберите режим высокой точности.</string>
  <string name="ask_to_turn_location_on">Включить местоположение?</string>
  <string name="nearby_needs_location">Рядом необходимо, чтобы местоположение было включено для правильной работы.</string>
  <string name="use_location_from_similar_image">Вы снимали эти две фотографии в одном месте? Хотите использовать широту/долготу изображения справа?</string>
  <string name="load_more">Загрузить ещё</string>
  <string name="nearby_no_results">Мест не найдено, попытайтесь изменить критерии поиска.</string>
  <string name="todo_improve">Предлагаемые улучшения:</string>
  <string name="missing_category">— Добавьте категории этому изображению, чтобы повысить удобство использования.</string>
  <string name="missing_article">— Добавьте это изображение в связанные статьи Википедии, которым не хватает иллюстраций.</string>
  <string name="edit_category">Изменить категории</string>
  <string name="add_picture_to_wikipedia_article_title">Добавить изображение в Википедию</string>
  <string name="add_picture_to_wikipedia_article_desc">Вы хотите добавить эту картинку в %1$s раздел Википедии?</string>
  <string name="add_picture_to_wikipedia_instructions_title">Инструкции</string>
  <string name="add_picture_to_wikipedia_instructions_desc">Соблюдайте правила редактирования!</string>
  <string name="confirm">Подтвердить</string>
  <string name="instructions_title">Инструкции</string>
  <string name="wikipedia_instructions_step_1">1. Используйте следующий вики-код:</string>
  <string name="wikipedia_instructions_step_2">2. Нажатие на кнопку «Подтвердить» откроет статью Википедии</string>
  <string name="wikipedia_instructions_step_3">3. Найдите подходящий раздел статьи для вашего изображения</string>
  <string name="wikipedia_instructions_step_4">4. Нажмите на иконку «Редактировать» (выглядит как карандаш) этого раздела</string>
  <string name="wikipedia_instructions_step_5">5. Скопируйте вики-код в подходящее место</string>
  <string name="wikipedia_instructions_step_6">6. Отредактируйте вики-код для исправления позиционирования, если это необходимо. Более подробную информацию можно получить здесь</string>
  <string name="wikipedia_instructions_step_7">7. Опубликуйте статью</string>
  <string name="copy_wikicode_to_clipboard">Скопировать вики-код в буфер обмена</string>
  <string name="pause">пауза</string>
  <string name="resume">продолжить</string>
  <string name="paused">Приостановлено</string>
  <string name="achievements_tab_title">Достижения</string>
  <string name="leaderboard_tab_title">Таблица лидеров</string>
  <string name="rank_prefix">Ранг:</string>
  <string name="count_prefix">Количество:</string>
  <string name="leaderboard_column_rank">Ранг</string>
  <string name="leaderboard_column_user">Участник</string>
  <string name="leaderboard_column_count">Количество</string>
  <string name="setting_avatar_dialog_title">Установить в качестве аватарки в таблице лидеров</string>
  <string name="setting_avatar_dialog_message">Установка аватарки, пожалуйста, подождите</string>
  <string name="avatar_set_successfully">Аватар установлен</string>
  <string name="avatar_set_unsuccessfully">При установке аватарки произошла ошибка, пожалуйста, попробуйте снова</string>
  <string name="menu_set_avatar">Установить как аватар</string>
  <string name="leaderboard_yearly">За год</string>
  <string name="leaderboard_weekly">За неделю</string>
  <string name="leaderboard_all_time">За всё время</string>
  <string name="leaderboard_upload">Загрузить</string>
  <string name="leaderboard_nearby">Поблизости</string>
  <string name="leaderboard_used">Использовано</string>
  <string name="leaderboard_my_rank_button_text">Мой ранг</string>
  <string name="mapbox_telemetry">Отключение телеметрии</string>
  <string name="telemetry_opt_out_summary">Отправлять анонимизированные данные о местоположении и использовании в Mapbox при применении функции «Поблизости»</string>
  <string name="map_attribution">&#169; Mapbox &#169; OpenStreetMap Улучшить эту карту</string>
</resources>


text:
require('./a.txt');
require('./c.txt');

redpajama_set_name: RedPajamaGithub


text:
	<form class="form">

			Search
			<input type="text" id="search_text_{{env.generatedId}}">

	</form>


text:
'''
'''

__docformat__ = 'restructuredtext'
__version__ = '$Id: $'

from operator import add
import random

from pyglet.gl import *

n_vertices = 42
v3f_data = [v/float(n_vertices*3 + 10) for v in range(n_vertices * 3)]
v2f_data = reduce(add, zip(v3f_data[::3], v3f_data[1::3]))
c4f_data = [v/float(n_vertices*4) for v in range(n_vertices * 4)]
c3f_data = reduce(add, zip(c4f_data[::4], c4f_data[1::4], c4f_data[2::4]))
t4f_data = [v/float(n_vertices*4 + 5) for v in range(n_vertices * 4)]
t3f_data = reduce(add, zip(t4f_data[::4], t4f_data[1::4], t4f_data[2::4]))
t2f_data = reduce(add, zip(t3f_data[::3], t3f_data[1::3]))

index_data = range(n_vertices)
random.seed(1)
random.shuffle(index_data)

def get_ordered_data(data, dimensions):
    ordered = []
    for i in index_data:
        ordered.extend(data[i * dimensions:(i+1)*dimensions])
    return ordered

feedback_buffer = (GLfloat * 8096)()

def get_feedback(func):
    # Project in clip coords
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    glOrtho(0, 1, 0, 1, -1, 1)
    glMatrixMode(GL_MODELVIEW)
    glLoadIdentity()

    glFeedbackBuffer(len(feedback_buffer), GL_4D_COLOR_TEXTURE, feedback_buffer)
    glRenderMode(GL_FEEDBACK)
    func()
    size = glRenderMode(GL_RENDER)
    buffer = feedback_buffer[:size]
    vertices = []
    colors = []
    tex_coords = []
    while buffer:
        token = int(buffer.pop(0))
        assert token == GL_POLYGON_TOKEN
        n = int(buffer.pop(0))
        for i in range(n):
            vertices.extend(buffer[:4])
            colors.extend(buffer[4:8])
            tex_coords.extend(buffer[8:12])
            del buffer[:12]
    return vertices, colors, tex_coords

import sys
print >> sys.stderr, 'Note: Graphics tests fail with recent nvidia drivers'
print >> sys.stderr, '      due to reordering and optimisation of vertices'
print >> sys.stderr, '      before they are placed in the feedback queue.'


text:
package org.encog.util.simple;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import org.encog.Encog;
import org.encog.EncogError;
import org.encog.app.analyst.csv.basic.BasicFile;
import org.encog.engine.network.activation.ActivationSigmoid;
import org.encog.engine.network.activation.ActivationTANH;
import org.encog.mathutil.error.ErrorCalculation;
import org.encog.ml.MLClassification;
import org.encog.ml.MLContext;
import org.encog.ml.MLMethod;
import org.encog.ml.MLRegression;
import org.encog.ml.data.MLData;
import org.encog.ml.data.MLDataPair;
import org.encog.ml.data.MLDataSet;
import org.encog.ml.data.basic.BasicMLData;
import org.encog.ml.data.buffer.BufferedMLDataSet;
import org.encog.ml.data.buffer.MemoryDataLoader;
import org.encog.ml.data.buffer.codec.CSVDataCODEC;
import org.encog.ml.data.buffer.codec.DataSetCODEC;
import org.encog.ml.data.specific.CSVNeuralDataSet;
import org.encog.ml.data.versatile.MatrixMLDataSet;
import org.encog.ml.svm.SVM;
import org.encog.ml.svm.training.SVMTrain;
import org.encog.ml.train.MLTrain;
import org.encog.neural.freeform.FreeformNetwork;
import org.encog.neural.freeform.training.FreeformResilientPropagation;
import org.encog.neural.networks.BasicNetwork;
import org.encog.neural.networks.ContainsFlat;
import org.encog.neural.networks.training.propagation.Propagation;
import org.encog.neural.networks.training.propagation.resilient.ResilientPropagation;
import org.encog.neural.pattern.FeedForwardPattern;
import org.encog.util.Format;
import org.encog.util.csv.CSVFormat;
import org.encog.util.csv.ReadCSV;
import org.encog.util.logging.EncogLogging;

/**
 * General utility class for Encog. Provides for some common Encog procedures.
 */
public final class EncogUtility {

	static public class FalsePositiveReport {
		private final int truePositive;
		private final int trueNegative;
		private final int negativeCount;
		private final int positiveCount;

		public int getCount() {
			return this.negativeCount + this.positiveCount;
		}

		public int getTruePositive() {
			return truePositive;
		}

		public int getTrueNegative() {
			return trueNegative;
		}

		public int getNegativeCount() {
			return negativeCount;
		}

		public int getPositiveCount() {
			return positiveCount;
		}

		public FalsePositiveReport(int truePositive,
				int trueNegative, int positiveCount, int negativeCount) {
			super();
			this.truePositive = truePositive;
			this.trueNegative = trueNegative;
			this.positiveCount = positiveCount;
			this.negativeCount = negativeCount;

		}

		public String toString() {
			StringBuilder result = new StringBuilder();
			result.append("(True Positive Correct=");
			result.append(this.truePositive);
			result.append("/");
			result.append(this.positiveCount);
			result.append("(");
			result.append(Format.formatPercent(((double)this.truePositive)/this.positiveCount));
			result.append(")");
			result.append(",True Negative Correct=");
			result.append(this.trueNegative);
			result.append("/");
			result.append(this.trueNegative);
			result.append("(");
			result.append(Format.formatPercent(((double)this.trueNegative)/this.negativeCount));
			result.append(")");
			result.append(",Total Correct=");
			result.append(this.truePositive+this.trueNegative);
			result.append("/");
			result.append(this.positiveCount+this.negativeCount);
			result.append("(");
			result.append(Format.formatPercent(((double)this.truePositive+this.trueNegative)/getCount()));
			result.append(")");
			result.append(")");

			return result.toString();
		}

	}

	/**
	 * Convert a CSV file to a binary training file.
	 *
	 * @param csvFile
	 *            The CSV file.
	 * @param binFile
	 *            The binary file.
	 * @param inputCount
	 *            The number of input values.
	 * @param outputCount
	 *            The number of output values.
	 * @param headers
	 *            True, if there are headers on the3 CSV.
	 */
	public static void convertCSV2Binary(final File csvFile,
			final File binFile, final int inputCount, final int outputCount,
			final boolean headers) {
		binFile.delete();
		final CSVNeuralDataSet csv = new CSVNeuralDataSet(csvFile.toString(),
				inputCount, outputCount, false);
		final BufferedMLDataSet buffer = new BufferedMLDataSet(binFile);
		buffer.beginLoad(inputCount, outputCount);
		for (final MLDataPair pair : csv) {
			buffer.add(pair);
		}
		buffer.endLoad();
	}

    /**
     * Load CSV to memory.
     * @param filename The CSV file to load.
     * @param input The input count.
     * @param ideal The ideal count.
     * @param headers True, if headers are present.
     * @param format The loaded dataset.
     * @param significance True, if there is a significance column.
     * @return The loaded dataset.
     */
    public static MLDataSet loadCSV2Memory(String filename, int input, int ideal, boolean headers, CSVFormat format, boolean significance)
    {
        DataSetCODEC codec = new CSVDataCODEC(new File(filename), format, headers, input, ideal, significance);
        MemoryDataLoader load = new MemoryDataLoader(codec);
        MLDataSet dataset = load.external2Memory();
        return dataset;
    }

	/**
	 * Evaluate the network and display (to the console) the output for every
	 * value in the training set. Displays ideal and actual.
	 *
	 * @param network
	 *            The network to evaluate.
	 * @param training
	 *            The training set to evaluate.
	 */
	public static void evaluate(final MLRegression network,
			final MLDataSet training) {
		for (final MLDataPair pair : training) {
			final MLData output = network.compute(pair.getInput());
			System.out.println("Input="
					+ EncogUtility.formatNeuralData(pair.getInput())
					+ ", Actual=" + EncogUtility.formatNeuralData(output)
					+ ", Ideal="
					+ EncogUtility.formatNeuralData(pair.getIdeal()));

		}
	}

	/**
	 * Format neural data as a list of numbers.
	 *
	 * @param data
	 *            The neural data to format.
	 * @return The formatted neural data.
	 */
	public static String formatNeuralData(final MLData data) {
		final StringBuilder result = new StringBuilder();
		for (int i = 0; i < data.size(); i++) {
			if (i != 0) {
				result.append(',');
			}
			result.append(Format.formatDouble(data.getData(i), 4));
		}
		return result.toString();
	}

	/**
	 * Create a simple feedforward neural network.
	 *
	 * @param input
	 *            The number of input neurons.
	 * @param hidden1
	 *            The number of hidden layer 1 neurons.
	 * @param hidden2
	 *            The number of hidden layer 2 neurons.
	 * @param output
	 *            The number of output neurons.
	 * @param tanh
	 *            True to use hyperbolic tangent activation function, false to
	 *            use the sigmoid activation function.
	 * @return The neural network.
	 */
	public static BasicNetwork simpleFeedForward(final int input,
			final int hidden1, final int hidden2, final int output,
			final boolean tanh) {
		final FeedForwardPattern pattern = new FeedForwardPattern();
		pattern.setInputNeurons(input);
		pattern.setOutputNeurons(output);
		if (tanh) {
			pattern.setActivationFunction(new ActivationTANH());
		} else {
			pattern.setActivationFunction(new ActivationSigmoid());
		}

		if (hidden1 > 0) {
			pattern.addHiddenLayer(hidden1);
		}
		if (hidden2 > 0) {
			pattern.addHiddenLayer(hidden2);
		}

		final BasicNetwork network = (BasicNetwork)pattern.generate();
		network.reset();
		return network;
	}

	/**
	 * Train the neural network, using SCG training, and output status to the
	 * console.
	 *
	 * @param network
	 *            The network to train.
	 * @param trainingSet
	 *            The training set.
	 * @param minutes
	 *            The number of minutes to train for.
	 */
	public static void trainConsole(final BasicNetwork network,
			final MLDataSet trainingSet, final int minutes) {
		final Propagation train = new ResilientPropagation(network, trainingSet);
		train.setThreadCount(0);
		EncogUtility.trainConsole(train, network, trainingSet, minutes);
	}

	/**
	 * Train the network, using the specified training algorithm, and send the
	 * output to the console.
	 *
	 * @param train
	 *            The training method to use.
	 * @param network
	 *            The network to train.
	 * @param trainingSet
	 *            The training set.
	 * @param minutes
	 *            The number of minutes to train for.
	 */
	public static void trainConsole(final MLTrain train,
			final BasicNetwork network, final MLDataSet trainingSet,
			final int minutes) {

		long current, elapsed, remaining;

		System.out.println("Beginning training...");
		final long start = System.currentTimeMillis();
		do {
			train.iteration();

			current = System.currentTimeMillis();
			elapsed = (current - start) / 1000;// seconds
			remaining = (minutes * 60) - elapsed;

			int iteration = train.getIteration();

			System.out.println("Iteration #" + Format.formatInteger(iteration)
					+ " Error:" + Format.formatPercent(train.getError())
					+ " elapsed time = " + Format.formatTimeSpan((int) elapsed)
					+ " time left = "
					+ Format.formatTimeSpan((int) remaining));

		} while (remaining > 0);
		train.finishTraining();
	}

	/**
	 * Train the method, to a specific error, send the output to the console.
	 *
	 * @param method
	 *            The method to train.
	 * @param dataSet
	 *            The training set to use.
	 * @param error
	 *            The error level to train to.
	 */
	public static void trainToError(final MLMethod method,
			final MLDataSet dataSet, final double error) {

		MLTrain train;

		if (method instanceof SVM) {
			train = new SVMTrain((SVM)method, dataSet);
		} if(method instanceof FreeformNetwork ) {
			train = new FreeformResilientPropagation((FreeformNetwork) method, dataSet);
		} else {
			train = new ResilientPropagation((ContainsFlat)method, dataSet);
		}
		EncogUtility.trainToError(train, error);
	}

	/**
	 * Train to a specific error, using the specified training method, send the
	 * output to the console.
	 *
	 * @param train
	 *            The training method.
	 * @param error
	 *            The desired error level.
	 */
	public static void trainToError(final MLTrain train,
			final double error) {

		int epoch = 1;

		System.out.println("Beginning training...");

		do {
			train.iteration();

			System.out.println("Iteration #" + Format.formatInteger(epoch)
					+ " Error:" + Format.formatPercent(train.getError())
					+ " Target Error: " + Format.formatPercent(error));
			epoch++;
		} while ((train.getError() > error) && !train.isTrainingDone());
		train.finishTraining();
	}

	/**
	 * Private constructor.
	 */
	private EncogUtility() {

	}

	public static MLDataSet loadEGB2Memory(File filename) {
		BufferedMLDataSet buffer = new BufferedMLDataSet(filename);
		MLDataSet result = buffer.loadToMemory();
		buffer.close();
		return result;
	}

    /**
     * Convert a CSV file to a binary training file.
     * @param csvFile The binary file.
     * @param binFile The binary file.
     * @param inputCount The number of input values.
     * @param outputCount The number of output values.
     * @param headers True, if there are headers on the CSV.
     */
    public static void convertCSV2Binary(String csvFile,
             String binFile, int inputCount, int outputCount,
             boolean headers)
    {

        (new File(binFile)).delete();
        CSVNeuralDataSet csv = new CSVNeuralDataSet(csvFile.toString(),
               inputCount, outputCount, headers);
        BufferedMLDataSet buffer = new BufferedMLDataSet(new File(binFile));
        buffer.beginLoad(inputCount, outputCount);
        for(MLDataPair pair : csv)
        {
            buffer.add(pair);
        }
        buffer.endLoad();
    }

    public static void convertCSV2Binary(File csvFile, CSVFormat format,
            File binFile, int[] input, int[] ideal,
            boolean headers)
   {

       binFile.delete();
       ReadCSV csv = new ReadCSV(csvFile.toString(), headers, format);

       BufferedMLDataSet buffer = new BufferedMLDataSet(binFile);
       buffer.beginLoad(input.length, ideal.length);
       while(csv.next())
       {
    	   BasicMLData inputData = new BasicMLData(input.length);
    	   BasicMLData idealData = new BasicMLData(ideal.length);

    	   // handle input data
    	   for(int i=0;i<input.length;i++) {
    		   inputData.setData(i, csv.getDouble(input[i]));
    	   }

    	   // handle input data
    	   for(int i=0;i<ideal.length;i++) {
    		   idealData.setData(i, csv.getDouble(ideal[i]));
    	   }

    	   // add to dataset

           buffer.add(inputData,idealData);
       }
       buffer.endLoad();
   }

	public static double calculateRegressionError(MLRegression method,
			MLDataSet data) {

		final ErrorCalculation errorCalculation = new ErrorCalculation();
		if( method instanceof MLContext )
			((MLContext)method).clearContext();

		for (final MLDataPair pair : data) {
			final MLData actual = method.compute(pair.getInput());
			errorCalculation.updateError(actual.getData(), pair.getIdeal()
					.getData(),pair.getSignificance());
		}
		return errorCalculation.calculate();
	}

	public static void saveCSV(File targetFile, CSVFormat format, MLDataSet set) {

		FileWriter outFile = null;
		PrintWriter out = null;

		try {
			outFile = new FileWriter(targetFile);
			out = new PrintWriter(outFile);

			for(MLDataPair data: set) {
				StringBuilder line = new StringBuilder();

				for(int i=0;i<data.getInput().size();i++) {
					double d = data.getInput().getData(i);
					BasicFile.appendSeparator(line, format);
					line.append( format.format(d, Encog.DEFAULT_PRECISION));
				}

				for(int i=0;i<data.getIdeal().size();i++) {
					double d = data.getIdeal().getData(i);
					BasicFile.appendSeparator(line, format);
					line.append( format.format(d, Encog.DEFAULT_PRECISION));
				}

				out.println(line);
			}
		} catch(IOException ex) {
			throw new EncogError(ex);
		} finally {
			if( outFile!=null ) {
				try {
					outFile.close();
				} catch (IOException e) {
					EncogLogging.log(e);
				}
			}
			if( out!=null ) {
				out.close();
			}
		}
	}

	/**
	 * Calculate the classification error.
	 * @param method The method to check.
	 * @param data The data to check.
	 * @return The error.
	 */
	public static double calculateClassificationError(MLClassification method,
			MLDataSet data) {
		int total = 0;
		int correct = 0;

		for(MLDataPair pair : data ) {
			int ideal = (int)pair.getIdeal().getData(0);
			int actual = method.classify(pair.getInput());
			if( actual==ideal )
				correct++;
			total++;
		}
		return (double)(total-correct) / (double)total;
	}

	/**
	 * Save a training set to an EGB file.
	 * @param f
	 * @param data
	 */
	public static void saveEGB(File f, MLDataSet data) {
		BufferedMLDataSet binary = new BufferedMLDataSet(f);
		binary.load(data);
		data.close();
	}

	public static void explainErrorMSE(MLRegression method,
			MatrixMLDataSet training) {
		StringBuilder line = new StringBuilder();
		double sum = 0;
		int count = 0;
		int itemNum = 0;

		for (final MLDataPair pair : training) {
			final MLData output = method.compute(pair.getInput());
			double dsum = 0;
			for(int i=0;i<output.size();i++) {
				double diff = output.getData()[i] - pair.getIdeal().getData(i);
				dsum+=diff*diff;
				count++;
			}
			sum+=dsum;

			line.setLength(0);
			line.append("Item #");
			line.append(itemNum++);
			line.append(", Actual=");
			line.append(EncogUtility.formatNeuralData(output));
			line.append(", Ideal=");
			line.append(EncogUtility.formatNeuralData(pair.getIdeal()));
			line.append(", Delta=");
			line.append(Format.formatDouble(dsum, 4));
			line.append(", Count=");
			line.append(count);
			line.append(", MSE=");
			line.append(Format.formatDouble(sum/count, 4));
			System.out.println(line.toString());
		}
	}

	public static void explainErrorRMS(MLRegression method,
			MatrixMLDataSet training) {
		StringBuilder line = new StringBuilder();
		double sum = 0;
		int count = 0;
		int itemNum = 0;

		for (final MLDataPair pair : training) {
			final MLData output = method.compute(pair.getInput());
			double dsum = 0;
			for(int i=0;i<output.size();i++) {
				double diff = output.getData()[i] - pair.getIdeal().getData(i);
				dsum+=diff*diff;
				count++;
			}
			sum+=dsum;

			line.setLength(0);
			line.append("Item #");
			line.append(itemNum++);
			line.append(", Actual=");
			line.append(EncogUtility.formatNeuralData(output));
			line.append(", Ideal=");
			line.append(EncogUtility.formatNeuralData(pair.getIdeal()));
			line.append(", Delta=");
			line.append(Format.formatDouble(dsum, 4));
			line.append(", Count=");
			line.append(count);
			line.append(", RMS=");
			line.append(Format.formatDouble(Math.sqrt(sum/count), 4));
			System.out.println(line.toString());
		}
	}

	public static FalsePositiveReport calculatePositiveNegative(MLRegression method,
			MatrixMLDataSet data) {
		int truePositive = 0;
		int trueNegative = 0;
		int negativeCount = 0;
		int positiveCount = 0;

		for(MLDataPair pair : data ) {
			MLData actual = method.compute(pair.getInput());
			boolean actualPositive = actual.getData(0)>actual.getData(1);
			boolean idealPositive = pair.getIdeal().getData(0)>pair.getIdeal().getData(1);

			if( idealPositive ) {
				if( actualPositive ) {
					truePositive++;
				}
				positiveCount++;
			} else {
				if( !actualPositive ) {
					trueNegative++;
				}
				negativeCount++;
			}

		}
		return new FalsePositiveReport(truePositive, trueNegative, positiveCount, negativeCount);
	}
}


text:
.. _server:

Development Server
==================

.. currentmodule:: flask

Starting with Flask 0.11 there are multiple built-in ways to run a
development server.  The best one is the :command:`flask` command line utility
but you can also continue using the :meth:`Flask.run` method.

Command Line
------------

The :command:`flask` command line script (:ref:`cli`) is strongly recommended for
development because it provides a superior reload experience due to how it
loads the application.  The basic usage is like this::

    $ export FLASK_APP=my_application
    $ export FLASK_DEBUG=1
    $ flask run

This will enable the debugger, the reloader and then start the server on
*http://localhost:5000/*.

The individual features of the server can be controlled by passing more
arguments to the ``run`` option.  For instance the reloader can be
disabled::

    $ flask run --no-reload

In Code
-------

The alternative way to start the application is through the
:meth:`Flask.run` method.  This will immediately launch a local server
exactly the same way the :command:`flask` script does.

Example::

    if __name__ == '__main__':
        app.run()

This works well for the common case but it does not work well for
development which is why from Flask 0.11 onwards the :command:`flask`
method is recommended.  The reason for this is that due to how the reload
mechanism works there are some bizarre side-effects (like executing
certain code twice, sometimes crashing without message or dying when a
syntax or import error happens).

It is however still a perfectly valid method for invoking a non automatic
reloading application.


text:
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>BooleanQuery.GetMinimumNumberShouldMatch Method</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />

            Apache Lucene.Net 2.4.0 Class Library API

BooleanQuery.GetMinimumNumberShouldMatch Method

 Gets the minimum number of the optional BooleanClauses which must be satisifed.

public virtual int GetMinimumNumberShouldMatch();

See Also

        BooleanQuery Class | Lucene.Net.Search Namespace

      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="GetMinimumNumberShouldMatch method">
        </param>
        <param name="Keyword" value="GetMinimumNumberShouldMatch method, BooleanQuery class">
        </param>
        <param name="Keyword" value="BooleanQuery.GetMinimumNumberShouldMatch method">
        </param>
      </object>

Generated from assembly Lucene.Net [2.4.0.2]


text:
module Network.HTTP.Neon.Command where

import Network.HTTP.Neon.ProgType
import Network.HTTP.Neon.Job

commandLineProcess :: Hneon -> IO ()
commandLineProcess Test = do
  putStrLn "test called"
  startJob


text:
// ----------------------------------------------------------------------------------
//
// Copyright Microsoft Corporation
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------------------------------------------------------------

using Microsoft.Azure.Commands.Batch.Properties;
using Microsoft.Azure.Management.Batch.Models;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Management.Automation;

namespace Microsoft.Azure.Commands.Batch
{
    [Cmdlet(VerbsCommon.Set, "AzureBatchAccount"), OutputType(typeof(BatchAccountContext))]
    public class SetBatchAccountCommand : BatchCmdletBase
    {
        [Parameter(Mandatory = true, Position = 0, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to update.")]
        [Alias("Name")]
        [ValidateNotNullOrEmpty]
        public string AccountName { get; set; }

        [Alias("Tags")]
        [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true, HelpMessage = "An array of hashtables which represents the tags to set on the account.")]
        public Hashtable[] Tag { get; set; }

        [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group of the account being updated.")]
        public string ResourceGroupName { get; set; }

        public override void ExecuteCmdlet()
        {
            BatchAccountContext context = BatchClient.UpdateAccount(this.ResourceGroupName, this.AccountName, this.Tag);
            WriteObject(context);
        }
    }
}


text:
import uuid

import sqlalchemy as sa

from solum import objects
from solum.objects import component as abstract
from solum.objects.sqlalchemy import models as sql

class Component(sql.Base, abstract.Component):
    """Represent an component in sqlalchemy."""

    __tablename__ = 'component'
    __resource__ = 'components'
    __table_args__ = sql.table_args()

    id = sa.Column(sa.Integer, primary_key=True, autoincrement=True)
    uuid = sa.Column(sa.String(36))
    project_id = sa.Column(sa.String(36))
    user_id = sa.Column(sa.String(36))
    name = sa.Column(sa.String(100))
    component_type = sa.Column(sa.String(100))
    description = sa.Column(sa.String(255))
    tags = sa.Column(sa.Text)
    assembly_id = sa.Column(sa.Integer, sa.ForeignKey('assembly.id'))
    parent_component_id = sa.Column(sa.Integer, sa.ForeignKey('component.id'))
    resource_uri = sa.Column(sa.String(1024))
    heat_stack_id = sa.Column(sa.String(36))

    @property
    def assembly_uuid(self):
        if self.assembly_id is None:
            return None
        return objects.registry.Assembly.get_by_id(None, self.assembly_id).uuid

    @assembly_uuid.setter
    def assembly_uuid(self, assembly_uuid):
        assembly = objects.registry.Assembly.get_by_uuid(None, assembly_uuid)
        self.assembly_id = assembly.id

    @property
    def _extra_keys(self):
        return ['assembly_uuid']

    @staticmethod
    def assign_and_create(ctxt, assem, name, type, description, resource_uri,
                          stack_id):
        """Helper function to make creating components easier."""
        comp = objects.registry.Component()
        comp.uuid = str(uuid.uuid4())
        comp.name = name
        comp.component_type = type
        comp.description = description
        comp.assembly_id = assem.id
        comp.user_id = ctxt.user
        comp.project_id = ctxt.tenant
        comp.resource_uri = resource_uri
        comp.heat_stack_id = stack_id
        comp.create(ctxt)
        return comp

class ComponentList(abstract.ComponentList):
    """Represent a list of components in sqlalchemy."""

    @classmethod
    def get_all(cls, context):
        return ComponentList(sql.model_query(context, Component))


text:
{% extends '_menu_base.html' %}

{% block link_home %}{% endblock %}

{% block link_sponsors %}{% endblock %}


text:
<?php

namespace Base\Entity\Avp;

use Doctrine\ORM\Mapping as ORM;

/**
 * Categorys
 *
 * @ORM\Table(name="categorys")
 * @ORM\Entity
 */
class Categorys
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=64, nullable=false)
     */
    protected $name;

    /**
     * @var string
     *
     * @ORM\Column(name="slug", type="string", length=255, nullable=true)
     */
    protected $slug;

    /**
     * @var string
     *
     * @ORM\Column(name="overview", type="text", nullable=true)
     */
    protected $overview;

    /**
     * @var string
     *
     * @ORM\Column(name="page_heading", type="string", length=255, nullable=true)
     */
    protected $pageHeading;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="text", nullable=true)
     */
    protected $description;

    /**
     * @var boolean
     *
     * @ORM\Column(name="oreder_num", type="boolean", nullable=true)
     */
    protected $orederNum;

    /**
     * @var string
     *
     * @ORM\Column(name="meta_title", type="string", length=255, nullable=true)
     */
    protected $metaTitle;

    /**
     * @var string
     *
     * @ORM\Column(name="meta_description", type="text", nullable=true)
     */
    protected $metaDescription;

    /**
     * @var string
     *
     * @ORM\Column(name="meta_keywords", type="string", length=255, nullable=true)
     */
    protected $metaKeywords;

    /**
     * @var integer
     *
     * @ORM\Column(name="is_active", type="integer", nullable=false)
     */
    protected $isActive = '1';

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return Categorys
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set slug
     *
     * @param string $slug
     * @return Categorys
     */
    public function setSlug($slug)
    {
        $this->slug = $slug;

        return $this;
    }

    /**
     * Get slug
     *
     * @return string
     */
    public function getSlug()
    {
        return $this->slug;
    }

    /**
     * Set overview
     *
     * @param string $overview
     * @return Categorys
     */
    public function setOverview($overview)
    {
        $this->overview = $overview;

        return $this;
    }

    /**
     * Get overview
     *
     * @return string
     */
    public function getOverview()
    {
        return $this->overview;
    }

    /**
     * Set pageHeading
     *
     * @param string $pageHeading
     * @return Categorys
     */
    public function setPageHeading($pageHeading)
    {
        $this->pageHeading = $pageHeading;

        return $this;
    }

    /**
     * Get pageHeading
     *
     * @return string
     */
    public function getPageHeading()
    {
        return $this->pageHeading;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return Categorys
     */
    public function setDescription($description)
    {
        $this->description = $description;

        return $this;
    }

    /**
     * Get description
     *
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set orederNum
     *
     * @param boolean $orederNum
     * @return Categorys
     */
    public function setOrederNum($orederNum)
    {
        $this->orederNum = $orederNum;

        return $this;
    }

    /**
     * Get orederNum
     *
     * @return boolean
     */
    public function getOrederNum()
    {
        return $this->orederNum;
    }

    /**
     * Set metaTitle
     *
     * @param string $metaTitle
     * @return Categorys
     */
    public function setMetaTitle($metaTitle)
    {
        $this->metaTitle = $metaTitle;

        return $this;
    }

    /**
     * Get metaTitle
     *
     * @return string
     */
    public function getMetaTitle()
    {
        return $this->metaTitle;
    }

    /**
     * Set metaDescription
     *
     * @param string $metaDescription
     * @return Categorys
     */
    public function setMetaDescription($metaDescription)
    {
        $this->metaDescription = $metaDescription;

        return $this;
    }

    /**
     * Get metaDescription
     *
     * @return string
     */
    public function getMetaDescription()
    {
        return $this->metaDescription;
    }

    /**
     * Set metaKeywords
     *
     * @param string $metaKeywords
     * @return Categorys
     */
    public function setMetaKeywords($metaKeywords)
    {
        $this->metaKeywords = $metaKeywords;

        return $this;
    }

    /**
     * Get metaKeywords
     *
     * @return string
     */
    public function getMetaKeywords()
    {
        return $this->metaKeywords;
    }

    /**
     * Set isActive
     *
     * @param integer $isActive
     * @return Categorys
     */
    public function setIsActive($isActive)
    {
        $this->isActive = $isActive;

        return $this;
    }

    /**
     * Get isActive
     *
     * @return integer
     */
    public function getIsActive()
    {
        return $this->isActive;
    }
}


text:
/* eslint camelcase: 0 */
const express = require('express')
const winston = require('winston')
const Q = require('q')
const controllerUtils = require('../lib/controllerutils')
const metadataRepository = require('../repositorys/metadatarepository')
const serviceDeliveryRepository = require('../repositorys/servicedeliveryrepository')
const serviceDeliverylabels = require('../labels/servicedelivery')
const serviceDeliveryService = require('../services/servicedeliveryservice')
const formatDate = require('../lib/date').formatDate

const router = express.Router()

function getCommon (req, res, next) {
  Q.spawn(function * () {
    try {
      const token = req.session.token
      res.locals.serviceDelivery = yield serviceDeliveryService.getHydratedServiceDelivery(token, req.params.serviceDeliveryId)
      next()
    } catch (error) {
      winston.error(error)
      res.errors = error
      next()
    }
  })
}

function getServiceDeliveryEdit (req, res, next) {
  Q.spawn(function * () {
    try {
      const token = req.session.token
      const dit_advisor = req.session.user

      if (!res.locals.serviceDelivery) {
        if (req.query.contactId) {
          res.locals.serviceDelivery = yield serviceDeliveryService.createBlankServiceDeliveryForContact(token, dit_advisor, req.query.contactId)
        } else if (req.query.companyId) {
          res.locals.serviceDelivery = yield serviceDeliveryService.createBlankServiceDeliveryForCompany(token, dit_advisor, req.query.companyId)
        }
      } else {
        res.locals.backUrl = `/servicedelivery/${req.params.serviceDeliveryId}/details`
      }

      res.locals.contacts = res.locals.serviceDelivery.company.contacts.map((contact) => {
        return {
          id: contact.id,
          name: `${contact.first_name} ${contact.last_name}`
        }
      })

      res.locals.csrfToken = controllerUtils.genCSRF(req)
      res.locals.labels = serviceDeliverylabels

      res.locals.serviceProviderOptions = metadataRepository.TEAMS
      res.locals.serviceOptions = metadataRepository.SERVICE_DELIVERY_SERVICE_OPTIONS
      res.locals.countryOptions = metadataRepository.COUNTRYS
      res.locals.sectorOptions = metadataRepository.SECTOR_OPTIONS
      res.locals.regionOptions = metadataRepository.REGION_OPTIONS
      res.locals.statusOptions = metadataRepository.SERVICE_DELIVERY_STATUS_OPTIONS
      res.locals.eventOptions = metadataRepository.EVENT_OPTIONS

      res.render('interaction/servicedelivery-edit')
    } catch (error) {
      winston.error(error)
      next(error)
    }
  })
}

function postServiceDeliveryEdit (req, res, next) {
  Q.spawn(function *main () {
    try {
      req.body.date = `${req.body.date_year}-${req.body.date_month}-${req.body.date_day}T00:00:00.00Z`
      delete req.body.date_year
      delete req.body.date_month
      delete req.body.date_day

      controllerUtils.nullEmptyFields(req.body)
      const deliveryToSave = serviceDeliveryService.convertServiceDeliveryFormToApiFormat(req.body)
      const result = yield serviceDeliveryRepository.saveServiceDelivery(req.session.token, deliveryToSave)
      res.redirect(`/servicedelivery/${result.data.id}/details`)
    } catch (response) {
      try {
        if (response.error && response.error.errors) {
          res.locals.errors = controllerUtils.transformV2Errors(response.error.errors)
          try {
            res.locals.serviceDelivery = yield serviceDeliveryService.convertFormBodyBackToServiceDelivery(req.session.token, req.body)
          } catch (error) {
            winston.error(error)
          }
          return getServiceDeliveryEdit(req, res, next)
        }
      } catch (error) {
        return next(error)
      }
      next(response.error)
    }
  })
}

function getServiceDeliveryDetails (req, res, next) {
  const serviceDelivery = res.locals.serviceDelivery

  res.locals.displayValues = {
    company: `<a href="/company/company_company/${serviceDelivery.company.id}">${serviceDelivery.company.name}</a>`,
    dit_team: serviceDelivery.dit_team.name,
    service: serviceDelivery.service.name,
    status: serviceDelivery.status.name,
    subject: serviceDelivery.subject,
    notes: serviceDelivery.notes,
    date: formatDate(serviceDelivery.date),
    contact: `<a href="/contact/${serviceDelivery.contact.id}">${serviceDelivery.contact.first_name} ${serviceDelivery.contact.last_name}</a>`,
    dit_advisor: serviceDelivery.dit_advisor.name,
    uk_region: serviceDelivery.uk_region.name,
    sector: serviceDelivery.sector.name,
    country_of_interest: serviceDelivery.country_of_interest.name
  }
  res.locals.labels = serviceDeliverylabels

  res.render('interaction/servicedelivery-details')
}

router.get('/servicedelivery/:serviceDeliveryId/*', getCommon)
router.get(['/servicedelivery/:serviceDeliveryId/edit', '/servicedelivery/edit/'], getServiceDeliveryEdit)
router.post(['/servicedelivery/:serviceDeliveryId/edit', '/servicedelivery/edit/'], postServiceDeliveryEdit)
router.get('/servicedelivery/:serviceDeliveryId/details', getServiceDeliveryDetails)

module.exports = { router }


text:
A small Python utility to import and organise photos. The program will sort and copy the pictures into folders based on the year and month they were taken.

Depends on [exifread](https://pypi.python.org/pypi/ExifRead/2.1.2) to analyse the EXIF data of photos `pip install exifread`
Depends on [Pillow](https://python-pillow.org/) for creating [dhashes](http://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html) `pip install Pillow`

Requires Python 3.6


text:
require 'rubygems'
require 'bundler/setup'
require 'rspec'


text:
import os

import gensim
import pickle

import numpy as np
from collections import defaultdict
import random

from web_run.measures import Similarity

#load the best model for severing
model_path = './web_run/models/pass0/'
model_file = os.path.join(model_path, 'BEST.doc2vec.model')
classifier_file = os.path.join(model_path, 'BEST.class.model')
scaler_file = os.path.join(model_path, 'BEST.scaler.model')
doc2vec = gensim.models.doc2vec.Doc2Vec.load(model_file)
doc_infos = None
with open(model_file + '.info', 'rb') as f:
    doc_infos = pickle.load(f)

#preparation
cat_docs = defaultdict(list)
doc2cat = {}
for doc_id in doc_infos:
    info = doc_infos[doc_id]
    tag = info[1][0]
    cat = info[2]
    cat_docs[cat].append(tag)
    doc2cat[tag] = cat

#evaluate
N = 100000
max_cat = 59;
acc = 0
for i in range(N):
    cat1, cat2 = random.sample(range(0, max_cat), 2)
    doc1, doc2 = random.sample(cat_docs[cat1], 2)
    doc3= random.sample(cat_docs[cat2], 1)[0]
    vec1 = doc2vec.docvecs[doc1]
    vec2 = doc2vec.docvecs[doc2]
    vec3 = doc2vec.docvecs[doc3]
    cos12 = Similarity.cosine_similarity(vec1, vec2)
    cos13 = Similarity.cosine_similarity(vec1, vec3)
    cos23 = Similarity.cosine_similarity(vec2, vec3)

    acc += 1 if cos12>cos13 and cos12>cos23 else 0
    if i%5000==0:
        print(i)

print('Accuracy {}'.format(acc/float(N)))