# Slovene translations for PACKAGE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# \u010crtomir Gorup <crt.gorup@gmail.com>, 2012.
#
!=Project-Id-Version\: PACKAGE VERSION\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2012-03-29 10\:24-0400\nLast-Translator\: \u010crtomir Gorup <crt.gorup@gmail.com>\nLanguage-Team\: Slovene\nLanguage\: sl\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nPlural-Forms\: nplurals\=2; plural\=(n \!\= 1);\n

#: Editor.java:366
!No\ files\ were\ added\ to\ the\ sketch.=

#: Editor.java:369 Sketch.java:996
!One\ file\ added\ to\ the\ sketch.=

#: Editor.java:373
#, java-format
!{0}\ files\ added\ to\ the\ sketch.=

#: Editor.java:484
File=Datoteka

#: Editor.java:486 EditorToolbar.java:41
New=Nova

#: Editor.java:494 Base.java:903
Open...=Odpri...

#: Editor.java:503
!Sketchbook=

#: Editor.java:509
Examples=Primeri

#: Editor.java:514 Editor.java:1977
Close=Zapri

#: Editor.java:522 Editor.java:2017 Editor.java:2421 EditorToolbar.java:41
#: EditorToolbar.java:46
Save=Shrani

#: Editor.java:530
Save\ As...=Skrani kot...

#: Editor.java:538 EditorToolbar.java:41
Upload=Nalo\u017ei

#: Editor.java:546 EditorToolbar.java:46
Upload\ Using\ Programmer=Nalo\u017ei z programatorjem

#: Editor.java:556
Page\ Setup=Nastavitve strani

#: Editor.java:564
Print=Tiskaj

#: Editor.java:576 Preferences.java:279
Preferences=Nastavitve

#: Editor.java:586 Base.java:782
Quit=Izhod

#: Editor.java:600
Sketch=Skica

#: Editor.java:602
Verify\ /\ Compile=Preveri / prevedi

#: Editor.java:629
Import\ Library...=Uvozi knji\u017enico...

#: Editor.java:634
!Show\ Sketch\ Folder=

#: Editor.java:643
Add\ File...=Dodaj datoteko...

#: Editor.java:656
Tools=Orodja

#: Editor.java:662 EditorToolbar.java:41 EditorToolbar.java:46
!Serial\ Monitor=

#: Editor.java:682
Board=plo\u0161\u010da

#: Editor.java:690
Serial\ Port=Serijski vmesnik

#: Editor.java:695
Programmer=Programer

#: Editor.java:699
Burn\ Bootloader=Posodobi nalagalnik

#: Editor.java:923
!serialMenu\ is\ null=

#: Editor.java:927 Editor.java:934
!name\ is\ null=

#: Editor.java:986
!error\ retrieving\ port\ list=

#: Editor.java:1002
Help=Pomo\u010d

#: Editor.java:1041
Getting\ Started=Za\u010detek

#: Editor.java:1049
Environment=Okolje

#: Editor.java:1057
Troubleshooting=Odpravljanje napak

#: Editor.java:1065
Reference=Referenca

#: Editor.java:1073 Editor.java:2728
Find\ in\ Reference=Poi\u0161\u010di v Referenci

#: Editor.java:1083
Frequently\ Asked\ Questions=Pogosto zastavljena vpra\u0161anja

#: Editor.java:1091
Visit\ Arduino.cc=Obi\u0161\u010di Arduino.cc

#: Editor.java:1094
!http\://arduino.cc/=

#: Editor.java:1102
About\ Arduino=O Arduino

#: Editor.java:1116
Edit=Uredi

#: Editor.java:1119 Editor.java:1341
Undo=Razveljavi

#: Editor.java:1124 Editor.java:1126 Editor.java:1376
Redo=Uveljavi

#: Editor.java:1135 Editor.java:2652
Cut=Izre\u017ei

#: Editor.java:1143 Editor.java:2660
Copy=Kopiraj

#: Editor.java:1151 Editor.java:2668
Copy\ for\ Forum=Kopiraj za Forum

#: Editor.java:1163 Editor.java:2676
Copy\ as\ HTML=Kopiraj kot HTML

#: Editor.java:1175 Editor.java:2684
Paste=Prilepi

#: Editor.java:1184 Editor.java:2692
Select\ All=Izberi vse

#: Editor.java:1194 Editor.java:2702
Comment/Uncomment=Zakomentiraj/odkomentiraj

#: Editor.java:1202 Editor.java:2710
Increase\ Indent=Pove\u010daj zamik

#: Editor.java:1210 Editor.java:2718
Decrease\ Indent=Zmanj\u0161aj zamik

#: Editor.java:1220
Find...=I\u0161\u010di...

#: Editor.java:1235
!Find\ Next=

#: Editor.java:1245
Find\ Previous=Najdi prej\u0161nje

#: Editor.java:1255
!Use\ Selection\ For\ Find=

#: Editor.java:1816
!First\ select\ a\ word\ to\ find\ in\ the\ reference.=

#: Editor.java:1823
#, java-format
!No\ reference\ available\ for\ "{0}"=

#: Editor.java:1826
#, java-format
!{0}.html=

#: Editor.java:1843 Sketch.java:1647
Compiling\ sketch...=Prevajam skico...

#: Editor.java:1864 Editor.java:1881
Done\ compiling.=Prevajanje kon\u010dano.

#: Editor.java:1973
#, java-format
Save\ changes\ to\ "{0}"?\ \ =Shrani spremembe v "{0}"?  

#: Editor.java:2006
!<html>\ <head>\ <style\ type\="text/css">b\ {\ font\:\ 13pt\ "Lucida\ Grande"\ }p\ {\ font\:\ 11pt\ "Lucida\ Grande";\ margin-top\:\ 8px\ }</style>\ </head><b>Do\ you\ want\ to\ save\ changes\ to\ this\ sketch<BR>\ before\ closing?</b><p>If\ you\ don't\ save,\ your\ changes\ will\ be\ lost.=

#: Editor.java:2017 Editor.java:2098 Editor.java:2418 Sketch.java:589
#: Sketch.java:741 Sketch.java:1046 Preferences.java:78
Cancel=Prekli\u010di

#: Editor.java:2017
Don't\ Save=Ne shrani

#: Editor.java:2089
!Bad\ file\ selected=

#: Editor.java:2090
!Processing\ can\ only\ open\ its\ own\ sketches\nand\ other\ files\ ending\ in\ .ino\ or\ .pde=

#: Editor.java:2098 Editor.java:2418 Sketch.java:589 Sketch.java:741
#: Sketch.java:1046 Preferences.java:79
!OK=

#: Editor.java:2100
#, java-format
!The\ file\ "{0}"\ needs\ to\ be\ inside\na\ sketch\ folder\ named\ "{1}".\nCreate\ this\ folder,\ move\ the\ file,\ and\ continue?=

#: Editor.java:2109
!Moving=

#: Editor.java:2120 Editor.java:2131 Editor.java:2141 Editor.java:2159
#: Sketch.java:479 Sketch.java:485 Sketch.java:500 Sketch.java:507
#: Sketch.java:530 Sketch.java:547 Base.java:1861 Preferences.java:240
Error=Napaka

#: Editor.java:2122
#, java-format
!A\ folder\ named\ "{0}"\ already\ exists.\ Can't\ open\ sketch.=

#: Editor.java:2132
!Could\ not\ create\ the\ sketch\ folder.=

#: Editor.java:2141
!Could\ not\ copy\ to\ a\ proper\ location.=

#: Editor.java:2159
!Could\ not\ create\ the\ sketch.=

#: Editor.java:2166
#, java-format
!{0}\ |\ Arduino\ {1}=

#: Editor.java:2223 Editor.java:2261
Saving...=Shranjevanje...

#: Editor.java:2228 Editor.java:2264
Done\ Saving.=Shranjevanje kon\u010dano.

#: Editor.java:2270
Save\ Canceled.=Shranjevanje preklicano.

#: Editor.java:2296
#, java-format
!Serial\ port\ {0}\ not\ found.\nRetry\ the\ upload\ with\ another\ serial\ port?=

#: Editor.java:2331
Uploading\ to\ I/O\ Board...=Nalaganje na plo\u0161\u010do...

#: Editor.java:2348 Editor.java:2384
Done\ uploading.=Nalaganje kon\u010dano.

#: Editor.java:2356 Editor.java:2392
Upload\ canceled.=Nalaganje preklicano.

#: Editor.java:2420
Save\ changes\ before\ export?=Skrani spremembe pred izvozom?

#: Editor.java:2435
Export\ canceled,\ changes\ must\ first\ be\ saved.=Izvoz preklican, spremembe morajo biti prej shranjene.

#: Editor.java:2457
Burning\ bootloader\ to\ I/O\ Board\ (this\ may\ take\ a\ minute)...=Posodabljanje nalagalnika na plo\u0161\u010di (lahko traja nekaj minut)...

#: Editor.java:2463
Done\ burning\ bootloader.=Posodobitev nalagalnika kon\u010dana.

#: Editor.java:2465 Editor.java:2469 Editor.java:2473
Error\ while\ burning\ bootloader.=Napaka med posodobitvijo nalagalnika.

#: Editor.java:2500
Printing...=Tiskanje...

#: Editor.java:2517
Done\ printing.=Tiskanje kon\u010dano.

#: Editor.java:2520
Error\ while\ printing.=Napaka med tiskanjem.

#: Editor.java:2524
Printing\ canceled.=Tiskanje preklicano.

#: Editor.java:2572
#, java-format
Bad\ error\ line\:\ {0}=Napaka v vrstici\: {0}

#: Editor.java:2641
Open\ URL=Odpri URL

#: UpdateCheck.java:53
http\://www.arduino.cc/latest.txt=http\://www.arduino.cc/latest.txt

#: UpdateCheck.java:103
A\ new\ version\ of\ Arduino\ is\ available,\nwould\ you\ like\ to\ visit\ the\ Arduino\ download\ page?=Dostopna je nova razli\u010dica Arduino.\nAli \u017eelite obiskati stran za prenos Arduino?

#: UpdateCheck.java:108 Preferences.java:76
!Yes=

#: UpdateCheck.java:108 Preferences.java:77
!No=

#: UpdateCheck.java:111
Update=Posodobitev

#: UpdateCheck.java:118
http\://www.arduino.cc/en/Main/Software=http\://www.arduino.cc/en/Main/Software

#: FindReplace.java:80
Find\:=I\u0161\u010di\:

#: FindReplace.java:81
Replace\ with\:=Zamenjaj z\:

#: FindReplace.java:96
!Ignore\ Case=

#: FindReplace.java:105
!Wrap\ Around=

#: FindReplace.java:120 FindReplace.java:131
Replace\ All=Zamenjaj vse

#: FindReplace.java:121 FindReplace.java:130 Sketch.java:1050
Replace=Zamenjaj

#: FindReplace.java:122 FindReplace.java:129
Replace\ &\ Find=Zamenjan & i\u0161\u010di

#: FindReplace.java:123 FindReplace.java:128
Previous=Prej\u0161nji

#: FindReplace.java:124 FindReplace.java:127
Find=I\u0161\u010di

#: SerialMonitor.java:93
Send=Po\u0161lji

#: SerialMonitor.java:110
!Autoscroll=

#: SerialMonitor.java:112
!No\ line\ ending=

#: SerialMonitor.java:112
!Newline=

#: SerialMonitor.java:112
!Carriage\ return=

#: SerialMonitor.java:112
!Both\ NL\ &\ CR=

#: SerialMonitor.java:130 SerialMonitor.java:133
!\ baud=

#: Serial.java:147
#, java-format
!Serial\ port\ ''{0}''\ already\ in\ use.\ Try\ quiting\ any\ programs\ that\ may\ be\ using\ it.=

#: Serial.java:154
#, java-format
!Error\ opening\ serial\ port\ ''{0}''.=

#: Serial.java:167
#, java-format
!Serial\ port\ ''{0}''\ not\ found.\ Did\ you\ select\ the\ right\ one\ from\ the\ Tools\ >\ Serial\ Port\ menu?=

#: Serial.java:424
#, java-format
!readBytesUntil()\ byte\ buffer\ is\ too\ small\ for\ the\ {0}\ bytes\ up\ to\ and\ including\ char\ {1}=

#: Serial.java:567
#, java-format
!Error\ inside\ Serial.{0}()=

#: tools/AutoFormat.java:91
Auto\ Format=Avtomatsko oblikovanje

#: tools/AutoFormat.java:913 tools/format/src/AutoFormat.java:54
!No\ changes\ necessary\ for\ Auto\ Format.=

#: tools/AutoFormat.java:919
Auto\ Format\ Canceled\:\ Too\ many\ right\ parentheses.=Avtomatsko oblikovanje preklicano\: Preve\u010d desnih oklepajev.

#: tools/AutoFormat.java:922
Auto\ Format\ Canceled\:\ Too\ many\ left\ parentheses.=Avtomatsko oblikovanje preklicano\: Preve\u010d levih oklepajev.

#: tools/AutoFormat.java:928
Auto\ Format\ Canceled\:\ Too\ many\ right\ curly\ braces.=Avtomatsko oblikovanje preklicano\: Preve\u010d desnih zavitih oklepajev.

#: tools/AutoFormat.java:931
Auto\ Format\ Canceled\:\ Too\ many\ left\ curly\ braces.=Avtomatsko oblikovanje preklicano\: Preve\u010d levih zavitih oklepajev.

#: tools/AutoFormat.java:941
Auto\ Format\ finished.=Avtomatsko oblikovanje kon\u010dano.

#: tools/FixEncoding.java:41 tools/FixEncoding.java:58
#: tools/FixEncoding.java:79
!Fix\ Encoding\ &\ Reload=

#: tools/FixEncoding.java:57
Discard\ all\ changes\ and\ reload\ sketch?=Zavrzi vse spremembe in ponovno nalo\u017ei\nskico?

#: tools/FixEncoding.java:77
!An\ error\ occurred\ while\ trying\ to\ fix\ the\ file\ encoding.\nDo\ not\ attempt\ to\ save\ this\ sketch\ as\ it\ may\ overwrite\nthe\ old\ version.\ Use\ Open\ to\ re-open\ the\ sketch\ and\ try\ again.\n=

#: tools/Archiver.java:48
Archive\ Sketch=Arhiviraj skico

#: tools/Archiver.java:59
!yyMMdd=

#: tools/Archiver.java:74
Couldn't\ archive\ sketch=Skice ni bilo mo\u017eno arhivirati

#: tools/Archiver.java:75
Archiving\ the\ sketch\ has\ been\ canceled\ because\nthe\ sketch\ couldn't\ save\ properly.=Arhiviranje skice je bilo preklicano,\nker skice ni mo\u017eno pravilno shraniti.

#: tools/Archiver.java:109
Archive\ sketch\ as\:=Arhiviraj skico kot\:

#: tools/Archiver.java:139
Archive\ sketch\ canceled.=Arhiviranje skice preklicano.

#: SketchCode.java:83
#, java-format
Error\ while\ loading\ code\ {0}=Napaka med nalaganjem kode {0}

#: SketchCode.java:258
#, java-format
!"{0}"\ contains\ unrecognized\ characters.If\ this\ code\ was\ created\ with\ an\ older\ version\ of\ Processing,you\ may\ need\ to\ use\ Tools\ ->\ Fix\ Encoding\ &\ Reload\ to\ updatethe\ sketch\ to\ use\ UTF-8\ encoding.\ If\ not,\ you\ may\ need\ todelete\ the\ bad\ characters\ to\ get\ rid\ of\ this\ warning.=

#: Sketch.java:278 Sketch.java:307 Sketch.java:581 Sketch.java:970
!Sketch\ is\ Read-Only=

#: Sketch.java:279 Sketch.java:308 Sketch.java:582 Sketch.java:971
!Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ the\ sketch\ in\ another\ location,\nand\ try\ again.=

#: Sketch.java:286
Name\ for\ new\ file\:=Ime nove datoteke\:

#: Sketch.java:298
Sketch\ is\ Untitled=Skica je Neimenovana

#: Sketch.java:299
!How\ about\ saving\ the\ sketch\ first\ \nbefore\ trying\ to\ rename\ it?=

#: Sketch.java:359 Sketch.java:366 Sketch.java:377
Problem\ with\ rename=Problem pri preimenovanju

#: Sketch.java:360
The\ name\ cannot\ start\ with\ a\ period.=Ime se ne sme za\u010deti s piko.

#: Sketch.java:368
#, java-format
!".{0}"\ is\ not\ a\ valid\ extension.=

#: Sketch.java:378
!The\ main\ file\ can't\ use\ an\ extension.\n(It\ may\ be\ time\ for\ your\ to\ graduate\ to\ a\n"real"\ programming\ environment)=

#: Sketch.java:400 Sketch.java:414 Sketch.java:423 Sketch.java:863
!Nope=

#: Sketch.java:402
#, java-format
!A\ file\ named\ "{0}"\ already\ exists\ in\ "{1}"=

#: Sketch.java:415
!You\ can't\ have\ a\ .cpp\ file\ with\ the\ same\ name\ as\ the\ sketch.=

#: Sketch.java:425
!You\ can't\ rename\ the\ sketch\ to\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=

#: Sketch.java:459
!Cannot\ Rename=

#: Sketch.java:461
#, java-format
!Sorry,\ a\ sketch\ (or\ folder)\ named\ "{0}"\ already\ exists.=

#: Sketch.java:479
Could\ not\ rename\ the\ sketch.\ (0)=Skice ni mo\u017eno preimenovati. (0)

#: Sketch.java:487 Sketch.java:532
#, java-format
!Could\ not\ rename\ "{0}"\ to\ "{1}"=

#: Sketch.java:500
Could\ not\ rename\ the\ sketch.\ (1)=Skice ni mo\u017eno preimenovati. (1)

#: Sketch.java:507
Could\ not\ rename\ the\ sketch.\ (2)=Skice ni mo\u017eno preimenovati. (2)

#: Sketch.java:544
createNewFile()\ returned\ false=createNewFile() je vrnila false

#: Sketch.java:591
Are\ you\ sure\ you\ want\ to\ delete\ this\ sketch?=Ste prepri\u010dani, da \u017eelite izbrisati to skico?

#: Sketch.java:592
#, java-format
Are\ you\ sure\ you\ want\ to\ delete\ "{0}"?=Ste prepri\u010dani, da \u017eelite izbrisati "{0}"?

#: Sketch.java:595 EditorHeader.java:314
Delete=Izbri\u0161i

#: Sketch.java:620
!Couldn't\ do\ it=

#: Sketch.java:621
#, java-format
Could\ not\ delete\ "{0}".=Ne morem izbrisati "{0}".

#: Sketch.java:651
!removeCode\:\ internal\ error..\ could\ not\ find\ code=

#: Sketch.java:724
Sketch\ is\ read-only=Skica je samo za branje

#: Sketch.java:725
!Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ this\ sketch\ to\ another\ location.=

#: Sketch.java:743
!In\ Arduino\ 1.0,\ the\ default\ file\ extension\ has\ changed\nfrom\ .pde\ to\ .ino.\ \ New\ sketches\ (including\ those\ created\nby\ "Save-As"\ will\ use\ the\ new\ extension.\ \ The\ extension\nof\ existing\ sketches\ will\ be\ updated\ on\ save,\ but\ you\ can\ndisable\ this\ in\ the\ Preferences\ dialog.\n\nSave\ sketch\ and\ update\ its\ extension?=

#: Sketch.java:750
.pde\ ->\ .ino=.pde -> .ino

#: Sketch.java:829
Save\ sketch\ folder\ as...=Shrani skico kot ...

#: Sketch.java:865
!You\ can't\ save\ the\ sketch\ as\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=

#: Sketch.java:886
!How\ very\ Borges\ of\ you=

#: Sketch.java:887
You\ cannot\ save\ the\ sketch\ into\ a\ folder\ninside\ itself.\ This\ would\ go\ on\ forever.=Skice ne morete ponovno shraniti v njeno\nlastno mapo. To bi se lahko nadaljevalo\nv neskon\u010dnost.

#: Sketch.java:979
Select\ an\ image\ or\ other\ data\ file\ to\ copy\ to\ your\ sketch=Izberi sliko ali drugo datoteko za dodajanje k skici

#: Sketch.java:1047
#, java-format
Replace\ the\ existing\ version\ of\ {0}?=Zamenjam trenutno razli\u010dico {0}?

#: Sketch.java:1069 Sketch.java:1092
Error\ adding\ file=Napaka pri dodajanju datoteke

#: Sketch.java:1070
#, java-format
Could\ not\ delete\ the\ existing\ ''{0}''\ file.=Ne morem izbrisati obstoje\u010de datoteke ''{0}''.

#: Sketch.java:1078
You\ can't\ fool\ me=Ne more\u0161 me preslepiti

#: Sketch.java:1079
!This\ file\ has\ already\ been\ copied\ to\ the\nlocation\ from\ which\ where\ you're\ trying\ to\ add\ it.\nI\ ain't\ not\ doin\ nuthin'.=

#: Sketch.java:1093
#, java-format
Could\ not\ add\ ''{0}''\ to\ the\ sketch.=Ne morem dodati ''{0}'' k skici.

#: Sketch.java:1393 Sketch.java:1424
!Build\ folder\ disappeared\ or\ could\ not\ be\ written=

#: Sketch.java:1408
!Could\ not\ find\ main\ class=

#: Sketch.java:1433
#, java-format
Uncaught\ exception\ type\:\ {0}=Neujeta izjema tipa\: {0}

#: Sketch.java:1465
#, java-format
Problem\ moving\ {0}\ to\ the\ build\ folder=Problem pri premikanju {0} v mapo 'build'

#: Sketch.java:1661
Uploading...=Nalagam...

#: Sketch.java:1684
#, java-format
Binary\ sketch\ size\:\ {0}\ bytes\ (of\ a\ {1}\ byte\ maximum)=Velikost binarne skice\: {0} bajtov (od {1} mo\u017enih bajtov)

#: Sketch.java:1689
Couldn't\ determine\ program\ size\:\ {0}=Velikosti programa ni bilo mo\u017eno dolo\u010diti\: {0}

#: Sketch.java:1694
Sketch\ too\ big;\ see\ http\://www.arduino.cc/en/Guide/Troubleshooting\#size\ for\ tips\ on\ reducing\ it.=Prevelika slica; glej http\://www.arduino.cc/en/Guide/Troubleshooting\#size za nasvet glede zmanj\u0161anja

#: Sketch.java:1754
Missing\ the\ */\ from\ the\ end\ of\ a\ /*\ comment\ */=Manjka */ na koncu /* komentarja */

#: Sketch.java:1796
Sketch\ Disappeared=Skica je izginila

#: Sketch.java:1797
The\ sketch\ folder\ has\ disappeared.\n\ Will\ attempt\ to\ re-save\ in\ the\ same\ location,\nbut\ anything\ besides\ the\ code\ will\ be\ lost.=Mapa s skico je izginila.\n Skico po ponovno shranjena na isto lokacijo,\nvendar vse razen programske kode bo izgubljeno.

#: Sketch.java:1810
Could\ not\ re-save\ sketch=Skice ni bilo mo\u017eno ponovno shraniti

#: Sketch.java:1811
Could\ not\ properly\ re-save\ the\ sketch.\ You\ may\ be\ in\ trouble\ at\ this\ point,\nand\ it\ might\ be\ time\ to\ copy\ and\ paste\ your\ code\ to\ another\ text\ editor.=Skice ni bilo mogo\u010de ponovno shraniti. Na vidiku so problemi, zato je\nverjetno zdaj ravno pravi \u010das za kopiranje in lepljenje va\u0161e kode v drug\nurejevalnik.

#: Sketch.java:2060
The\ sketch\ name\ had\ to\ be\ modified.\ Sketch\ names\ can\ only\ consist\nof\ ASCII\ characters\ and\ numbers\ (but\ cannot\ start\ with\ a\ number).\nThey\ should\ also\ be\ less\ less\ than\ 64\ characters\ long.=Ime skice je bilo spremenjeno. Ime skice je lahko sestavljeno le\niz znakov ASCII ter \u0161tevilk (vendar se ne sme za\u010deti s \u0161tevilko).\nIme mora tudi biti kraj\u0161e od 64 znakov.

#: debug/Uploader.java:52
!https\://developer.berlios.de/bugs/?group_id\=3590=

#: debug/Uploader.java:54 debug/Compiler.java:43
#, java-format
Compiler\ error,\ please\ submit\ this\ code\ to\ {0}=Napaka prevajalnika, prosim posreduj kodo {0}

#: debug/Uploader.java:199
#, java-format
!the\ selected\ serial\ port\ {0}\ does\ not\ exist\ or\ your\ board\ is\ not\ connected=

#: debug/Uploader.java:203
!Device\ is\ not\ responding,\ check\ the\ right\ serial\ port\ is\ selected\ or\ RESET\ the\ board\ right\ before\ exporting=

#: debug/Uploader.java:209
!Problem\ uploading\ to\ board.\ \ See\ http\://www.arduino.cc/en/Guide/Troubleshooting\#upload\ for\ suggestions.=

#: debug/Uploader.java:213
!Wrong\ microcontroller\ found.\ \ Did\ you\ select\ the\ right\ board\ from\ the\ Tools\ >\ Board\ menu?=

#: debug/Compiler.java:41
!http\://code.google.com/p/arduino/issues/list=

#: debug/Compiler.java:79
No\ board\ selected;\ please\ choose\ a\ board\ from\ the\ Tools\ >\ Board\ menu.=Plo\u0161\u010da ni izbrana\: prosim izberite plo\u0161\u010do v meniju Orodja > Plo\u0161\u010da

#: debug/Compiler.java:422
#, java-format
{0}\ returned\ {1}={0} je vrnil {1}

#: debug/Compiler.java:426
Error\ compiling.=Napaka pri prevajanju.

#: debug/Compiler.java:465
Please\ import\ the\ SPI\ library\ from\ the\ Sketch\ >\ Import\ Library\ menu.=Prosim uvozite knji\u017enico SPI v Skica > Uvoz knji\u017enice

#: debug/Compiler.java:466
\nAs\ of\ Arduino\ 0019,\ the\ Ethernet\ library\ depends\ on\ the\ SPI\ library.\nYou\ appear\ to\ be\ using\ it\ or\ another\ library\ that\ depends\ on\ the\ SPI\ library.\n\n=\nOd Arduina 0019 naprej knji\u017enica Ethernet uporablja knji\u017enico SPI.\nIzgleda, da tudi vi oz. neka druga knji\u017enica hkrati uporablja knji\u017enico SPI.\n\n

#: debug/Compiler.java:471
The\ 'BYTE'\ keyword\ is\ no\ longer\ supported.=Beseda 'BYTE' ni ve\u010d podprta.

#: debug/Compiler.java:472
\nAs\ of\ Arduino\ 1.0,\ the\ 'BYTE'\ keyword\ is\ no\ longer\ supported.\nPlease\ use\ Serial.write()\ instead.\n\n=\nOd Arduina 1.0 naprej beseda 'BYTE' ni ve\u010d podprta.\nNamesto nje prosim uporabite Serial.write().\n\n

#: debug/Compiler.java:477
The\ Server\ class\ has\ been\ renamed\ EthernetServer.=Razred Server je bil preimenovan v EthernetServer.

#: debug/Compiler.java:478
!\nAs\ of\ Arduino\ 1.0,\ the\ Server\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetServer.\n\n=

#: debug/Compiler.java:483
The\ Client\ class\ has\ been\ renamed\ EthernetClient.=Razred Client je bil preimenovan v EthernetClient.

#: debug/Compiler.java:484
\nAs\ of\ Arduino\ 1.0,\ the\ Client\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nOd Arduina 1.0 naprej je bil razred Client v knji\u017enici Ethernet preimenovan v EthernetClient.\n\n

#: debug/Compiler.java:489
The\ Udp\ class\ has\ been\ renamed\ EthernetUdp.=Razred Udp je bil preimenovan v EthernetUdp.

#: debug/Compiler.java:490
!\nAs\ of\ Arduino\ 1.0,\ the\ Udp\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=

#: debug/Compiler.java:495
Wire.send()\ has\ been\ renamed\ Wire.write().=Wire.send() je bil preimenovan v Wire.write().

#: debug/Compiler.java:496
!\nAs\ of\ Arduino\ 1.0,\ the\ Wire.send()\ function\ was\ renamed\ to\ Wire.write()\ for\ consistency\ with\ other\ libraries.\n\n=

#: debug/Compiler.java:501
!Wire.receive()\ has\ been\ renamed\ Wire.read().=

#: debug/Compiler.java:502
!\nAs\ of\ Arduino\ 1.0,\ the\ Wire.receive()\ function\ was\ renamed\ to\ Wire.read()\ for\ consistency\ with\ other\ libraries.\n\n=

#: EditorConsole.java:152
!Console\ Error=

#: EditorConsole.java:153
!A\ problem\ occurred\ while\ trying\ to\ open\ the\nfiles\ used\ to\ store\ the\ console\ output.=

#: Base.java:184
Non-fatal\ error\ while\ setting\ the\ Look\ &\ Feel.=Ne-kriti\u010dna napaka med nalaganjem 'Look & Feel'.

#: Base.java:185
The\ error\ message\ follows,\ however\ Arduino\ should\ run\ fine.=Kljub sporo\u010dilu o napaki bo Arduino deloval pravilno

#: Base.java:220
Problem\ Setting\ the\ Platform=Problem pri nastavljanju platforme

#: Base.java:221
An\ unknown\ error\ occurred\ while\ trying\ to\ load\nplatform-specific\ code\ for\ your\ machine.=Pri\u0161lo je do neznane napake med naganjem\narhitehturno-odvisne kode za va\u0161 ra\u010dunalnik.

#: Base.java:232
Please\ install\ JDK\ 1.5\ or\ later=Prosim namestite JDK 1.5 ali novej\u0161i

#: Base.java:233
Arduino\ requires\ a\ full\ JDK\ (not\ just\ a\ JRE)\nto\ run.\ Please\ install\ JDK\ 1.5\ or\ later.\nMore\ information\ can\ be\ found\ in\ the\ reference.=Za delovanje Arduino potrebuje celoten sistem\nJDK (ne le JRE). Prosim namestite JDK 1.5 ali novej\u0161i.Ve\u010d informacij v referenci.

#: Base.java:257
Sketchbook\ folder\ disappeared=Manjka mapa skice

#: Base.java:258
The\ sketchbook\ folder\ no\ longer\ exists.\nArduino\ will\ switch\ to\ the\ default\ sketchbook\nlocation,\ and\ create\ a\ new\ sketchbook\ folder\ if\nnecessary.\ Arduino\ will\ then\ stop\ talking\ about\nhimself\ in\ the\ third\ person.=Mapa skice ne obstaja ve\u010d.\nArduino bo nalo\u017eil privzeto lokacijo za skico in.\nustvaril novo mapo za skico (\u010de je potrebno). Arduino bonato nehal govoriti o sebi v tretji osebi.

#: Base.java:532
Time\ for\ a\ Break=\u010cas za odmor

#: Base.java:533
You've\ reached\ the\ limit\ for\ auto\ naming\ of\ new\ sketches\nfor\ the\ day.\ How\ about\ going\ for\ a\ walk\ instead?=Dosegli ste dnevno mejo za poimenovanje\nnovih skic. Kaj pravite na sprehod?

#: Base.java:537
Sunshine=Sonce

#: Base.java:538
No\ really,\ time\ for\ some\ fresh\ air\ for\ you.=Resno, \u010das je za sve\u017e zrak.

#: Base.java:633
Open\ an\ Arduino\ sketch...=Odpri Arduino skico...

#: Base.java:772
!<html>\ <head>\ <style\ type\="text/css">b\ {\ font\:\ 13pt\ "Lucida\ Grande"\ }p\ {\ font\:\ 11pt\ "Lucida\ Grande";\ margin-top\:\ 8px\ }</style>\ </head><b>Are\ you\ sure\ you\ want\ to\ Quit?</b><p>Closing\ the\ last\ open\ sketch\ will\ quit\ Arduino.=

#: Base.java:970
Contributed=Prispevali

#: Base.java:1095
Sketch\ Does\ Not\ Exist=Skica ne obstaja

#: Base.java:1096
The\ selected\ sketch\ no\ longer\ exists.\nYou\ may\ need\ to\ restart\ Arduino\ to\ update\nthe\ sketchbook\ menu.=Izbrana skica Arduino ne obstaja\nve\u010d. Ponovno lahko za\u017eenete Arduino

#: Base.java:1125
#, java-format
!The\ sketch\ "{0}"\ cannot\ be\ used.\nSketch\ names\ must\ contain\ only\ basic\ letters\ and\ numbers\n(ASCII-only\ with\ no\ spaces,\ and\ it\ cannot\ start\ with\ a\ number).\nTo\ get\ rid\ of\ this\ message,\ remove\ the\ sketch\ from\n{1}=

#: Base.java:1132
!Ignoring\ sketch\ with\ bad\ name=

#: Base.java:1202
#, java-format
!The\ library\ "{0}"\ cannot\ be\ used.\nLibrary\ names\ must\ contain\ only\ basic\ letters\ and\ numbers.\n(ASCII\ only\ and\ no\ spaces,\ and\ it\ cannot\ start\ with\ a\ number)=

#: Base.java:1207
!Ignoring\ bad\ library\ name=

#: Base.java:1432
Problem\ getting\ data\ folder=Problem pri nalaganju mape s podatki

#: Base.java:1433
Error\ getting\ the\ Arduino\ data\ folder.=Napaka pri nalaganju mape s podatki Arduino.

#: Base.java:1440
Settings\ issues=Nastavitve

#: Base.java:1441
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ settings.=Arduino se ne more zagnati, saj ne\nmore ustvariti mape za shranjevanje nastavitev.

#: Base.java:1602
You\ forgot\ your\ sketchbook=Pozabili ste skico

#: Base.java:1603
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ sketchbook.=Arduino se ne more zagnati, saj ne\nmore ustvariti mape za shranjevanje skice.

#: Base.java:1623
Select\ (or\ create\ new)\ folder\ for\ sketches...=Izberite (ali ustvarite novo) mapo za skice...

#: Base.java:1647
Problem\ Opening\ URL=Problem pri odpiranju URL

#: Base.java:1648
#, java-format
Could\ not\ open\ the\ URL\n{0}=Napaka pri odpiranju naslova URL\n{0}

#: Base.java:1671
Problem\ Opening\ Folder=Problem pri odpiranju mape

#: Base.java:1672
#, java-format
Could\ not\ open\ the\ folder\n{0}=Napaka odpiranju mape\n{0}

#: Base.java:1785
Guide_MacOSX.html=Guide_MacOSX.html

#: Base.java:1787
Guide_Windows.html=Guide_Windows.html

#: Base.java:1789
!http\://www.arduino.cc/playground/Learning/Linux=

#: Base.java:1794
!index.html=

#: Base.java:1799
!Guide_Environment.html=

#: Base.java:1804
environment=okolje

#: Base.java:1804
!platforms.html=

#: Base.java:1809
!Guide_Troubleshooting.html=

#: Base.java:1814
!FAQ.html=

#: Base.java:1826
Message=Sporo\u010dilo

#: Base.java:1842
Warning=Opozorilo

#: Base.java:2196
#, java-format
Could\ not\ remove\ old\ version\ of\ {0}=Ne morem odstraniti stare razli\u010dice {0}

#: Base.java:2206
#, java-format
Could\ not\ replace\ {0}=Ne morem zamenjati {0}

#: Base.java:2247 Base.java:2270
#, java-format
Could\ not\ delete\ {0}=Ne morem izbrisati {0}

#: EditorHeader.java:292
New\ Tab=Nov zavihek

#: EditorHeader.java:300
Rename=Preimenuj

#: EditorHeader.java:326
Previous\ Tab=Prej\u0161nji zavihek

#: EditorHeader.java:340
Next\ Tab=Naslednji zavihek

#: EditorToolbar.java:41 EditorToolbar.java:46
Verify=Preveri

#: EditorToolbar.java:41
Open=Odpri

#: EditorToolbar.java:46
New\ Editor\ Window=Novo okno urejevalnika

#: EditorToolbar.java:46
Open\ in\ Another\ Window=Odpri v novem oknu

#: Platform.java:167
!No\ launcher\ available=

#: Platform.java:168
!Unspecified\ platform,\ no\ launcher\ available.\nTo\ enable\ opening\ URLs\ or\ folders,\ add\ a\ \n"launcher\=/path/to/app"\ line\ to\ preferences.txt=

#: Theme.java:52
Could\ not\ read\ color\ theme\ settings.\nYou'll\ need\ to\ reinstall\ Processing.=Nastavitev barvne sheme ni bilo mo\u017eno prebrati.\nPotrebna je ponovna namestitev Processing.

#: Preferences.java:80
!Browse=

#: Preferences.java:83
!System\ Default=

#: Preferences.java:84
!Arabic=

#: Preferences.java:85
!Aragonese=

#: Preferences.java:86
!Catalan=

#: Preferences.java:87
!Chinese\ Simplified=

#: Preferences.java:88
!Chinese\ Traditional=

#: Preferences.java:89
!Danish=

#: Preferences.java:90
!Dutch=

#: Preferences.java:91
!English=

#: Preferences.java:92
!Estonian=

#: Preferences.java:93
!French=

#: Preferences.java:94
!Filipino=

#: Preferences.java:95
!Galician=

#: Preferences.java:96
!German=

#: Preferences.java:97
!Greek=

#: Preferences.java:98
!Hungarian=

#: Preferences.java:99
!Indonesian=

#: Preferences.java:100
!Italian=

#: Preferences.java:101
!Japanese=

#: Preferences.java:102
!Korean=

#: Preferences.java:103
!Latvian=

#: Preferences.java:104
!Lithuaninan=

#: Preferences.java:105
!Persian=

#: Preferences.java:106
!Polish=

#: Preferences.java:107 Preferences.java:108
!Portuguese=

#: Preferences.java:109
!Romanian=

#: Preferences.java:110
!Russian=

#: Preferences.java:111
!Spanish=

#: Preferences.java:210
!Could\ not\ read\ default\ settings.\nYou'll\ need\ to\ reinstall\ Arduino.=

#: Preferences.java:242
#, java-format
!Could\ not\ read\ preferences\ from\ {0}=

#: Preferences.java:261
!Error\ reading\ preferences=

#: Preferences.java:263
#, java-format
!Error\ reading\ the\ preferences\ file.\ Please\ delete\ (or\ move)\n{0}\ and\ restart\ Arduino.=

#: Preferences.java:299
Sketchbook\ location\:=Lokacija skice\:

#: Preferences.java:314
Select\ new\ sketchbook\ location=Izberi novo lokacijo skice

#: Preferences.java:337
!Editor\ language\:\ =

#: Preferences.java:342 Preferences.java:358
\ \ (requires\ restart\ of\ Arduino)=\ (potreben je ponovni zagon Arduino)

#: Preferences.java:354
Editor\ font\ size\:\ =Velikost \u010drk urejevalnika\:

#: Preferences.java:371
!Show\ verbose\ output\ during\:\ =

#: Preferences.java:373
compilation\ =prevajanje 

#: Preferences.java:375
upload=nalo\u017ei

#: Preferences.java:384
!Verify\ code\ after\ upload=

#: Preferences.java:393
Use\ external\ editor=Uporabi zunanji urejevalnik

#: Preferences.java:403
Check\ for\ updates\ on\ startup=Preveri posodobitve ob zagonu

#: Preferences.java:412
!Update\ sketch\ files\ to\ new\ extension\ on\ save\ (.pde\ ->\ .ino)=

#: Preferences.java:423
!Automatically\ associate\ .ino\ files\ with\ Arduino=

#: Preferences.java:433
!More\ preferences\ can\ be\ edited\ directly\ in\ the\ file=

#: Preferences.java:462
!(edit\ only\ when\ Arduino\ is\ not\ running)=

#: Preferences.java:609
#, java-format
!ignoring\ invalid\ font\ size\ {0}=
