/*
 * Russian resources for WLDAP32
 *
 * Copyright 2005 Dmitry Timoshkov
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "windef.h"

/* UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

STRINGTABLE DISCARDABLE
{
    0 "Успех"
    1 "Ошибка операции"
    2 "Ошибка протокола"
    3 "Превышено ограничение по времени"
    4 "Превышено ограничение по размеру"
    5 "Сравнение неверно"
    6 "Сравнение верно"
    7 "Метод авторизации не поддерживается"
    8 "Требуется строгая авторизация"
    9 "Ссылка (v2)"
    10 "Ссылка"
    11 "Превышено ограничение администрирования"
    12 "Критическое расширение недоступно"
    13 "Требуется конфиденциальность"
    14 ""
    15 ""
    16 "Нет такого атрибута"
    17 "Неопределенный тип"
    18 "Неподходящее соответствие"
    19 "Нарушение ограничения"
    20 "Атрибут или значение существует"
    21 "Неверный синтаксис"
    22 ""
    23 ""
    24 ""
    25 ""
    26 ""
    27 ""
    28 ""
    29 ""
    30 ""
    31 ""
    32 "Нет такого объекта"
    33 "Проблема с псевдонимом"
    34 "Неверный DN синтаксис"
    35 "Это лист дерева"
    36 "Проблема обращения по псевдониму"
    37 ""
    38 ""
    39 ""
    40 ""
    41 ""
    42 ""
    43 ""
    44 ""
    45 ""
    46 ""
    47 ""
    48 "Неподходящая авторизация"
    49 "Неверное удостоверение личности"
    50 "Недостаточно прав"
    51 "Занято"
    52 "Недоступно"
    53 "Не желает выполнить"
    54 "Обнаружено зацикливание"
    55 ""
    56 ""
    57 ""
    58 ""
    59 ""
    60 "Отсутствует управление сортировкой"
    61 "Ошибка диапазона индекса"
    62 ""
    63 ""
    64 "Нарушение правил наименования"
    65 "Нарушение класса объекта"
    66 "Не разрешено не на листе дерева"
    67 "Не разрешено на RDN"
    68 "Уже существует"
    69 "Нет режимов класса объекта"
    70 "Результаты слишком велики"
    71 "Влияет на несколько DSA"
    72 ""
    73 ""
    74 ""
    75 ""
    76 ""
    77 ""
    78 ""
    79 ""
    80 "Другой"
    81 "Сервер недоступен"
    82 "Локальная ошибка"
    83 "Ошибка кодирования"
    84 "Ошибка декодирования"
    85 "Тайм-аут"
    86 "Неизвестная авторизация"
    87 "Ошибка фильтра"
    88 "Отменено пользователем"
    89 "Ошибка параметра"
    90 "Нет памяти"
    91 "Невозможно подключиться к LDAP серверу"
    92 "Операция не поддерживается этой версией протокола LDAP"
    93 "Указанный управляющий элемент не найден в сообщении"
    94 "Результата нет в сообщении"
    95 "Еще есть результаты"
    96 "Зацикливание при обработке ссылок"
    97 "Предел числа пересылки ссылок превышен"
}
