/*
 * Serbian resources for WLDAP32
 *
 * Copyright 2005 Hans Leidekker
 * Copyright 2010 Đorđe Vasiljević
 *
 * 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"

#pragma code_page(65001)

LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC

STRINGTABLE
{
    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 "Утиче на вишеструке алгоритме"
    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 "Ограничење чвора упућивача је прекорачено"
}

LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN

STRINGTABLE
{
    0 "Uspeh"
    1 "Greška u radnjama"
    2 "Greška u protokolu"
    3 "Vremensko ograničenje je prekoračeno"
    4 "Ograničenje veličine je prekoračeno"
    5 "Netačno"
    6 "Tačno"
    7 "Način potvrde identiteta nije podržan"
    8 "Potrebna je jaka potvrda identiteta"
    9 "Upućivač (v2)"
    10 "Upućivač"
    11 "Administrativno ograničenje je prekoračeno"
    12 "Nedostupno je kritičko proširenje"
    13 "Potrebna je poverljivost"
    14 ""
    15 ""
    16 "Ne postoji takva osobina"
    17 "Neodređena vrsta"
    18 "Neprikladno podudaranje"
    19 "Ograničenje kršenja"
    20 "Osobina ili vrednost postoji"
    21 "Neispravna sintaksa"
    22 ""
    23 ""
    24 ""
    25 ""
    26 ""
    27 ""
    28 ""
    29 ""
    30 ""
    31 ""
    32 "Ne postoji takav objekat"
    33 "Problem u pseudonimu"
    34 "Neispravna DN sintaksa"
    35 "je list"
    36 "Problem u deferenciranju pseudonima"
    37 ""
    38 ""
    39 ""
    40 ""
    41 ""
    42 ""
    43 ""
    44 ""
    45 ""
    46 ""
    47 ""
    48 "Neprikladna potvrda identiteta"
    49 "Neispravni akreditivi"
    50 "Nedovoljna prava"
    51 "Zauzeto"
    52 "Nedostupno"
    53 "Nevoljno za izvršavanje"
    54 "Pronađena je petlja"
    55 ""
    56 ""
    57 ""
    58 ""
    59 ""
    60 "Poređaj nedostajuće kontrole"
    61 "Greška u opsegu popisa"
    62 ""
    63 ""
    64 "Kršenje imenovanja"
    65 "Kršenje klase objekata"
    66 "Nije dozvoljeno na ne-listu"
    67 "Nije dozvoljeno na RDN-u"
    68 "Već postoji"
    69 "Neme klase objekata"
    70 "Rezultati su preveliki"
    71 "Utiče na višestruke algoritme"
    72 ""
    73 ""
    74 ""
    75 ""
    76 ""
    77 ""
    78 ""
    79 ""
    80 "Ostalo"
    81 "Server trenutno ne radi"
    82 "Lokalna greška"
    83 "Greška u kodiranju"
    84 "Greška u dekodiranju"
    85 "Vreme isteka"
    86 "Nepoznat identitet"
    87 "Greška u filteru"
    88 "Korisnik je otkazan"
    89 "Greška u parametru"
    90 "Nema memorije"
    91 "Povezivanje na LDAP server nije uspelo"
    92 "Radnja nije podržana od strane ovog izdanja LDAP protokola"
    93 "Navedena kontrola nije pronađena u poruci"
    94 "Nema rezultata u poruci"
    95 "Više rezultata"
    96 "Ponavljaj pri rukovanju s upućivačima"
    97 "Ograničenje čvora upućivača je prekoračeno"
}
