/*
 * Ukrainian resources for WLDAP32
 *
 * Copyright 2005 Hans Leidekker
 *
 * Copyright 2010 Igor Paliychuk
 *
 * 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_UKRAINIAN, 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 "Перевищено граничну кількість пересилання посилань"
}
