# Hungarian translation of hunspell.
# Copyright (C) 2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the hunspell package.
# Laszlo Nemeth <nemethl@gyorsposta.hu>, 2005.
# Laszlo Dvornik <dvornik@gnome.hu>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: hunspell\n"
"Report-Msgid-Bugs-To: nemeth@numbertext.org\n"
"POT-Creation-Date: 2011-02-16 15:45+0100\n"
"PO-Revision-Date: 2005-09-03 11:22+0200\n"
"Last-Translator: László Németh <nemeth dot lacko at gmail>\n"
"Language-Team: Hungarian <openscope.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"

#: src/tools/hunspell.cxx:205 src/tools/hunspell.cxx:313
#, c-format
msgid "error - iconv_open: %s -> %s\n"
msgstr "hiba - iconv_open: %s -> %s\n"

#: src/tools/hunspell.cxx:248 src/tools/hunspell.cxx:271
#, c-format
msgid "error - iconv_open: UTF-8 -> %s\n"
msgstr "hiba - iconv_open: UTF-8 -> %s\n"

#: src/tools/hunspell.cxx:565 src/tools/hunspell.cxx:1084
#: src/tools/hunspell.cxx:1214
#, c-format
msgid "error - missing HOME variable\n"
msgstr "hiba - nincs definiálva a HOME környezeti változó\n"

#: src/tools/hunspell.cxx:648
#, c-format
msgid "Line %d: %s -> "
msgstr "%d. sor: %s -> "

#: src/tools/hunspell.cxx:890
msgid "FORBIDDEN!"
msgstr "TILTOTT!"

#: src/tools/hunspell.cxx:891
msgid "Spelling mistake?"
msgstr "Helyesírási hiba?"

#: src/tools/hunspell.cxx:892
#, c-format
msgid ""
"\t%s\t\tFile: %s\n"
"\n"
msgstr ""
"\t%s\t\tFájl: %s\n"
"\n"

#: src/tools/hunspell.cxx:945
msgid ""
"\n"
"[SPACE] R)epl A)ccept I)nsert U)ncap S)tem Q)uit e(X)it or ? for help\n"
msgstr ""
"\n"
"Szóköz=tovább <szám> C)sere J)ó F)elvesz K)isbetűvel T)ő M)égsem V)ége ?"
"=Súgó\n"

#: src/tools/hunspell.cxx:1011
msgid ""
"Whenever a word is found that is not in the dictionary\n"
"it is printed on the first line of the screen.  If the dictionary\n"
"contains any similar words, they are listed with a number\n"
"next to each one.  You have the option of replacing the word\n"
"completely, or choosing one of the suggested words.\n"
msgstr ""
"A hibás, vagy fel nem ismert szavak az első sorban jelennek meg.\n"
"Amennyiben van javítási javaslat, az számozott lista formájában\n"
"jelenik meg. A sorszám leütésével választhatunk ki ezek közül\n"
"egyet, de megadhatunk akár egy új szót is.\n"
"Részletes leírás a program lehetőségeiről: man hunspell.\n"

#: src/tools/hunspell.cxx:1016
msgid ""
"\n"
"Commands are:\n"
"\n"
msgstr ""
"\n"
"Billentyűparancsok: \n"
"\n"

#: src/tools/hunspell.cxx:1017
msgid "R\tReplace the misspelled word completely.\n"
msgstr "C\tA hibás szó kicserélése egy megadott szóra.\n"

#: src/tools/hunspell.cxx:1018
msgid "Space\tAccept the word this time only.\n"
msgstr "Szóköz\tA szó egyszeri átugrása változtatás nélkül.\n"

#: src/tools/hunspell.cxx:1019
msgid "A\tAccept the word for the rest of this session.\n"
msgstr "J\tA szó minden előfordulását jónak tekinti a program futása során.\n"

#: src/tools/hunspell.cxx:1020
msgid "I\tAccept the word, and put it in your private dictionary.\n"
msgstr ""
"F\tA szót felveszi a saját szótárba, így új indításkor is ismerni fogja.\n"

#: src/tools/hunspell.cxx:1021
msgid "U\tAccept and add lowercase version to private dictionary.\n"
msgstr "K\tMint az előző, de a szót kisbetűsen veszi fel a saját szótárba.\n"

#: src/tools/hunspell.cxx:1023
msgid ""
"S\tAsk a stem and a model word and store them in the private dictionary.\n"
"\tThe stem will be accepted also with the affixes of the model word.\n"
msgstr ""
"T\tSzótő és mintaszó bekérése és saját szótárban való tárolása.\n"
"\tA tő felveheti a mintául megadott szó toldalékait is.\n"

#: src/tools/hunspell.cxx:1026
msgid "0-n\tReplace with one of the suggested words.\n"
msgstr "0-n\tA javasolt szavak közül az adott sorszámúra cserél.\n"

#: src/tools/hunspell.cxx:1027
msgid ""
"X\tWrite the rest of this file, ignoring misspellings, and start next file.\n"
msgstr "V\tMenti az eddigi javításokat, és rátér a következő fájlra.\n"

#: src/tools/hunspell.cxx:1028
msgid "Q\tQuit immediately. Asks for confirmation. Leaves file unchanged.\n"
msgstr "M\tKilép a javítások mentése nélkül, de előtte megerősítést kér.\n"

#: src/tools/hunspell.cxx:1029
msgid "^Z\tSuspend program. Restart with fg command.\n"
msgstr "^Z\tA program felfüggesztése. Újraindítás fg paranccsal.\n"

#: src/tools/hunspell.cxx:1030
msgid "?\tShow this help screen.\n"
msgstr "?\tEnnek a leírásnak a megjelenítése.\n"

#: src/tools/hunspell.cxx:1031
msgid ""
"\n"
"-- Type space to continue -- \n"
msgstr ""
"\n"
"-- Továbblépés a szóköz billentyű leütésével -- \n"

#. TRANSLATORS: translate this letter according to the shortcut letter used
#. previously in the  translation of "R)epl" before
#: src/tools/hunspell.cxx:1041
msgid "r"
msgstr "c"

#: src/tools/hunspell.cxx:1053
msgid "Replace with: "
msgstr "Csere: "

#. TRANSLATORS: translate these letters according to the shortcut letter used
#. previously in the  translation of "U)ncap" and I)nsert before
#. TRANSLATORS: translate this letter according to the shortcut letter used
#. previously in the  translation of "U)ncap" and I)nsert before
#: src/tools/hunspell.cxx:1074 src/tools/hunspell.cxx:1106
msgid "u"
msgstr "k"

#: src/tools/hunspell.cxx:1075 src/tools/hunspell.cxx:1106
msgid "i"
msgstr "f"

#: src/tools/hunspell.cxx:1100 src/tools/hunspell.cxx:1230
#, c-format
msgid "Cannot update personal dictionary."
msgstr "Nem lehet frissíteni a saját szótárat."

#: src/tools/hunspell.cxx:1106
msgid "a"
msgstr "j"

#. TRANSLATORS: translate this letter according to the shortcut letter used
#. previously in the  translation of "S)tem" before
#: src/tools/hunspell.cxx:1113
msgid "s"
msgstr "t"

#: src/tools/hunspell.cxx:1146
msgid "New word (stem): "
msgstr "Új szó(tő): "

#: src/tools/hunspell.cxx:1173
msgid "Model word (a similar dictionary word): "
msgstr "Mintaszó (egy hasonló szótári szó): "

#: src/tools/hunspell.cxx:1236
msgid "Model word must be in the dictionary. Press any key!"
msgstr "A minta csak szótári szó lehet! Továbblépés billentyűleütéssel."

#. TRANSLATORS: translate this letter according to the shortcut letter used
#. previously in the  translation of "e(X)it" before
#: src/tools/hunspell.cxx:1245
msgid "x"
msgstr "v"

#. TRANSLATORS: translate this letter according to the shortcut letter used
#. previously in the  translation of "Q)uit" before
#: src/tools/hunspell.cxx:1250
msgid "q"
msgstr "m"

#: src/tools/hunspell.cxx:1252
msgid "Are you sure you want to throw away your changes? "
msgstr "Kilép a módosítások mentése nélkül (i/n)? "

#. TRANSLATORS: translate this letter according to the shortcut letter y)es
#: src/tools/hunspell.cxx:1254
msgid "y"
msgstr "i"

#: src/tools/hunspell.cxx:1326
#, c-format
msgid "Can't create tempfile %s.\n"
msgstr "Nem lehet létrehozni a(z) %s átmeneti fájlt.\n"

#: src/tools/hunspell.cxx:1487
#, c-format
msgid "Usage: hunspell [OPTION]... [FILE]...\n"
msgstr "Használat: hunspell [KAPCSOLÓ]... [FÁJL]...\n"

#: src/tools/hunspell.cxx:1488
#, c-format
msgid ""
"Check spelling of each FILE. Without FILE, check standard input.\n"
"\n"
msgstr ""
"A FÁJL(OK) (ennek hiányában a szabványos bemenet) helyesírását ellenőrzi.\n"
"\n"

#: src/tools/hunspell.cxx:1489
#, c-format
msgid "  -1\t\tcheck only first field in lines (delimiter = tabulator)\n"
msgstr ""
"  -1\t\tcsak az első mezőt ellenőrzi a sorban (mezőhatároló = tabulátor)\n"

#: src/tools/hunspell.cxx:1490
#, c-format
msgid "  -a\t\tIspell's pipe interface\n"
msgstr "  -a\t\tIspell-szerű csőfelület\n"

#: src/tools/hunspell.cxx:1491
#, c-format
msgid "  --check-url\tCheck URLs, e-mail addresses and directory paths\n"
msgstr "  --check-url\tURL-ek, e-mail címek és útvonalak ellenőrzése\n"

#: src/tools/hunspell.cxx:1492
#, c-format
msgid "  -d d[,d2,...]\tuse d (d2 etc.) dictionaries\n"
msgstr "  -d d[,d2,...]\ta d (d2 stb.) nevű szótárat használja\n"

#: src/tools/hunspell.cxx:1493
#, c-format
msgid "  -D\t\tshow available dictionaries\n"
msgstr "  -D\t\taz elérhető szótárak kilistázása\n"

#: src/tools/hunspell.cxx:1494
#, c-format
msgid "  -G\t\tprint only correct words or lines\n"
msgstr "  -G\t\tkiírja a bemenet helyes szavait vagy sorait\n"

#: src/tools/hunspell.cxx:1495
#, c-format
msgid "  -h, --help\tdisplay this help and exit\n"
msgstr "  -h, --help\tkiírja ezt a leírást\n"

#: src/tools/hunspell.cxx:1496
#, c-format
msgid "  -H\t\tHTML input file format\n"
msgstr "  -H\t\tHTML bemeneti formátum\n"

#: src/tools/hunspell.cxx:1497
#, c-format
msgid "  -i enc\tinput encoding\n"
msgstr "  -i kód\tbemeneti karakterkódolás\n"

#: src/tools/hunspell.cxx:1498
#, c-format
msgid "  -l\t\tprint misspelled words\n"
msgstr "  -l\t\tkiírja a hibás szavakat\n"

#: src/tools/hunspell.cxx:1499
#, c-format
msgid "  -L\t\tprint lines with misspelled words\n"
msgstr "  -L\t\tkiírja a hibás sorokat\n"

#: src/tools/hunspell.cxx:1500
#, c-format
msgid "  -m \t\tanalyze the words of the input text\n"
msgstr "  -m \t\tszövegszavak morfológiai elemzése\n"

#: src/tools/hunspell.cxx:1501
#, c-format
msgid "  -n\t\tnroff/troff input file format\n"
msgstr "  -n\t\tnroff/troff bemeneti formátum\n"

#: src/tools/hunspell.cxx:1502
#, c-format
msgid "  -p dict\tset dict custom dictionary\n"
msgstr "  -p tár\ta tár nevű saját szótárat használja\n"

#: src/tools/hunspell.cxx:1503
#, c-format
msgid "  -r\t\twarn of the potential mistakes (rare words)\n"
msgstr "  -r\t\tlehetséges hibák (ritka szavak) jelzése\n"

#: src/tools/hunspell.cxx:1504
#, c-format
msgid "  -P password\tset password for encrypted dictionaries\n"
msgstr "  -P jelszó\tjelszó megadása a titkosított szótárakhoz\n"

#: src/tools/hunspell.cxx:1505
#, c-format
msgid "  -s \t\tstem the words of the input text\n"
msgstr "  -s \t\tszövegszavak tövezése\n"

#: src/tools/hunspell.cxx:1506
#, c-format
msgid "  -t\t\tTeX/LaTeX input file format\n"
msgstr "  -t\t\tTeX/LaTeX bemeneti formátum\n"

#: src/tools/hunspell.cxx:1512
#, c-format
msgid "  -v, --version\tprint version number\n"
msgstr "  -v, --version\tkiírja a változat számát\n"

#: src/tools/hunspell.cxx:1513
#, c-format
msgid "  -vv\t\tprint Ispell compatible version number\n"
msgstr "  -vv\t\tkiírja a változat számát Ispell-szerűen\n"

#: src/tools/hunspell.cxx:1514
#, c-format
msgid ""
"  -w\t\tprint misspelled words (= lines) from one word/line input.\n"
"\n"
msgstr ""
"  -w\t\tkiírja a hibás szavakat a soronként egy szavas bemenetből.\n"
"\n"

#: src/tools/hunspell.cxx:1515
#, c-format
msgid ""
"Example: hunspell -d en_US file.txt    # interactive spelling\n"
"         hunspell -l file.txt          # print misspelled words\n"
"         hunspell -i utf-8 file.txt    # check UTF-8 encoded file\n"
"\n"
msgstr ""
"Példák: hunspell -d en_US fájl.txt    # interaktív helyesírás-ellenőrzés\n"
"        hunspell -l fájl.txt          # kiírja a hibás szavakat\n"
"        hunspell -i utf-8 fájl.txt    # UTF-8-as fájl ellenőrzése\n"
"\n"

#: src/tools/hunspell.cxx:1518
#, c-format
msgid "Bug reports: http://hunspell.sourceforge.net\n"
msgstr "Hibajelzés: http://hunspell.sourceforge.net\n"

#: src/tools/hunspell.cxx:1524
#, c-format
msgid ""
"\n"
"Copyright (C) 2002-2008 László Németh. License: MPL/GPL/LGPL.\n"
"\n"
"Based on OpenOffice.org's Myspell library.\n"
"Myspell's copyright (C) Kevin Hendricks, 2001-2002, License: BSD.\n"
"\n"
msgstr ""
"\n"
"Copyright (C) 2002-2008 Németh László. Licenc: MPL/GPL/LGPL.\n"
"\n"
"Az OpenOffice.org Myspell programkönyvtárán alapul.\n"
"MySpell copyright (C) Kevin Hendricks, 2001-2002, Licenc: BSD.\n"
"\n"

#: src/tools/hunspell.cxx:1527
#, c-format
msgid ""
"This is free software; see the source for copying conditions.  There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
"to the extent permitted by law.\n"
msgstr ""
"Ez egy szabad szoftver: lásd a forráskódot a licencfeltételekről.\n"
"NINCS garancia, még az eladhatóságra vagy valamely célra való\n"
"alkalmazhatóságra sem.\n"

#: src/tools/hunspell.cxx:1622 src/tools/hunspell.cxx:1742
#: src/tools/hunspell.cxx:1759
#, c-format
msgid "Can't open %s.\n"
msgstr "Nem lehet megnyitni a(z) %s-t.\n"

#: src/tools/hunspell.cxx:1671
#, c-format
msgid ""
"SEARCH PATH:\n"
"%s\n"
msgstr ""
"KERESÉSI ÚTVONAL:\n"
"%s\n"

#: src/tools/hunspell.cxx:1672
#, c-format
msgid "AVAILABLE DICTIONARIES (path is not mandatory for -d option):\n"
msgstr "ELÉRHETŐ SZÓTÁRAK (az útvonal nem kötelező a -d kapcsolónál):\n"

#: src/tools/hunspell.cxx:1684
#, c-format
msgid ""
"LOADED DICTIONARY:\n"
"%s\n"
"%s\n"
msgstr ""
"BETÖLTÖTT SZÓTÁR:\n"
"%s\n"
"%s\n"

#: src/tools/hunspell.cxx:1702
#, c-format
msgid "error - %s exceeds dictionary limit.\n"
msgstr "hiba - %s meghaladja a szótárlimitet.\n"

#: src/tools/hunspell.cxx:1706
#, fuzzy, c-format
msgid "Can't open affix or dictionary files for dictionary named \"%s\".\n"
msgstr "Nem lehet megnyitni a ragozási vagy a szótárfájlt.\n"

#: src/tools/hunspell.cxx:1769
#, c-format
msgid "Hunspell has been compiled without Ncurses user interface.\n"
msgstr "A Hunspell Ncurses felhasználói felület nélkül lett fordítva.\n"
