# Filipino translations for Arduino IDE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# David A. Mellis <>, 2012.
# Translation to Filipino by Marc Lester Tan <mharkus(at)gmail(dot)com>
!=Project-Id-Version\: Bersyon 1.0\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-03-29 10\:24-0400\nPO-Revision-Date\: 2012-03-29 10\:24-0400\nLast-Translator\: Marc Lester Tan <mharkus(at)gmail(dot)com>\nLanguage-Team\: Filipino <mharkus[at]gmail[dot]com>\n\nLanguage\: tl\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.=Walang naidagdag na file sa sketch.

#: Editor.java:369 Sketch.java:996
One\ file\ added\ to\ the\ sketch.=Isang file ang naidagdag sa sketch.

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

#: Editor.java:484
File=File

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

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

#: Editor.java:503
Sketchbook=Sketchbook

#: Editor.java:509
Examples=Mga Halimbawa

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

#: Editor.java:522 Editor.java:2017 Editor.java:2421 EditorToolbar.java:41
#: EditorToolbar.java:46
Save=I-save

#: Editor.java:530
Save\ As...=I-save bilang

#: Editor.java:538 EditorToolbar.java:41
Upload=I-upload

#: Editor.java:546 EditorToolbar.java:46
Upload\ Using\ Programmer=I-upload gamit ang Programmer

#: Editor.java:556
Page\ Setup=Kompigurasyon ng Pahina

#: Editor.java:564
Print=I-print

#: Editor.java:576 Preferences.java:279
Preferences=Mga Kagustuhan

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

#: Editor.java:600
Sketch=Sketch

#: Editor.java:602
Verify\ /\ Compile=Beripikahin / I-compile

#: Editor.java:629
Import\ Library...=Humango ng Library...

#: Editor.java:634
Show\ Sketch\ Folder=Ipakita ang Sketch Folder

#: Editor.java:643
Add\ File...=Magdagdag ng File...

#: Editor.java:656
Tools=Mga Kasangkapan

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

#: Editor.java:682
Board=Board

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

#: Editor.java:695
Programmer=Programmer

#: Editor.java:699
Burn\ Bootloader=Ilagay ang Bootloader

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

#: Editor.java:927 Editor.java:934
name\ is\ null=ang pangalan ay null

#: Editor.java:986
error\ retrieving\ port\ list=may mali sa pagkuha ng listahan ng port

#: Editor.java:1002
Help=Tulong

#: Editor.java:1041
Getting\ Started=Mga Patnubay sa Pagsisimula

#: Editor.java:1049
Environment=Environment

#: Editor.java:1057
Troubleshooting=Mga Sagot sa Problema

#: Editor.java:1065
Reference=Sanggunian

#: Editor.java:1073 Editor.java:2728
Find\ in\ Reference=Hanapin sa Sanggunian

#: Editor.java:1083
Frequently\ Asked\ Questions=Mga Karaniwang Tanong

#: Editor.java:1091
Visit\ Arduino.cc=Bisitahin ang Arduino.cc

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

#: Editor.java:1102
About\ Arduino=Tungkol sa Arduino

#: Editor.java:1116
Edit=Baguhin

#: Editor.java:1119 Editor.java:1341
Undo=Ipawalang Bisa

#: Editor.java:1124 Editor.java:1126 Editor.java:1376
Redo=Ulitin Muli

#: Editor.java:1135 Editor.java:2652
Cut=I-Cut

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

#: Editor.java:1151 Editor.java:2668
Copy\ for\ Forum=Kopyahin para sa Forum

#: Editor.java:1163 Editor.java:2676
Copy\ as\ HTML=Kopyahin bilang HTML

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

#: Editor.java:1184 Editor.java:2692
Select\ All=Piliin Lahat

#: Editor.java:1194 Editor.java:2702
Comment/Uncomment=I-Comment/I-Uncomment

#: Editor.java:1202 Editor.java:2710
Increase\ Indent=Dagdagan ang Indent

#: Editor.java:1210 Editor.java:2718
Decrease\ Indent=Bawasan ang Indent

#: Editor.java:1220
Find...=Hanapin...

#: Editor.java:1235
Find\ Next=Hanapin ang Susunod

#: Editor.java:1245
Find\ Previous=Hanapin ang Nauna

#: Editor.java:1255
Use\ Selection\ For\ Find=Gamitin ang Napili sa Paghahanap

#: Editor.java:1816
First\ select\ a\ word\ to\ find\ in\ the\ reference.=Pumili muna ng salita na hahanapin sa sanggunian.

#: Editor.java:1823
#, java-format
No\ reference\ available\ for\ "{0}"=Walang sanggunian para sa "{0}"

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

#: Editor.java:1843 Sketch.java:1647
Compiling\ sketch...=Kinokompile ang Sketch...

#: Editor.java:1864 Editor.java:1881
Done\ compiling.=Tapos na ang pagkokompile.

#: Editor.java:1973
#, java-format
Save\ changes\ to\ "{0}"?\ \ =I-Save ang mga pagbabago sa "{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.=<html> <head> <style type\="text/css">b { font\: 13pt "Lucida Grande" }p { font\: 11pt "Lucida Grande"; margin-top\: 8px }</style> </head><b>Nais mo bang I-save ang iyong mga nagawa<BR> bago isara?</b><p>Mawawala ang lahat ng ginawa kapag hindi mo I-sesave.

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

#: Editor.java:2017
Don't\ Save=Huwag I-Save

#: Editor.java:2089
Bad\ file\ selected=Mali ang File na napili

#: Editor.java:2090
Processing\ can\ only\ open\ its\ own\ sketches\nand\ other\ files\ ending\ in\ .ino\ or\ .pde=Maari lamang buksan ng Processing ang sariling sketches\nat iba pang file na may extension na .ino o .pde

#: Editor.java:2098 Editor.java:2418 Sketch.java:589 Sketch.java:741
#: Sketch.java:1046 Preferences.java:79
OK=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?=Ang file "{0}" ay nararapat na nasa loob\nng sketch folder na "{1}".\nI-create ang folder, ilipat ang file at magpatuloy?

#: Editor.java:2109
Moving=Inililipat

#: 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=Mali

#: Editor.java:2122
#, java-format
A\ folder\ named\ "{0}"\ already\ exists.\ Can't\ open\ sketch.=Mayroon nang folder na "{0}". Hindi mabuksan ang sketch.

#: Editor.java:2132
Could\ not\ create\ the\ sketch\ folder.=Hindi makalikha ng sketch folder.

#: Editor.java:2141
Could\ not\ copy\ to\ a\ proper\ location.=Hindi makopya sa tamang lokasyon

#: Editor.java:2159
Could\ not\ create\ the\ sketch.=Hindi makalikha ng sketch.

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

#: Editor.java:2223 Editor.java:2261
Saving...=Sine-save...

#: Editor.java:2228 Editor.java:2264
Done\ Saving.=Tapos na sa pag save.

#: Editor.java:2270
Save\ Canceled.=Nakansela ang pag save.

#: Editor.java:2296
#, java-format
Serial\ port\ {0}\ not\ found.\nRetry\ the\ upload\ with\ another\ serial\ port?=Hindi makita ang serial port na {0}.\nSubukan muli ang pagupload gamit ang ibang serial port?

#: Editor.java:2331
Uploading\ to\ I/O\ Board...=Ina-upload sa I/O Board...

#: Editor.java:2348 Editor.java:2384
Done\ uploading.=Tapos na ang pagupload.

#: Editor.java:2356 Editor.java:2392
Upload\ canceled.=Nakansela ang pag upload.

#: Editor.java:2420
Save\ changes\ before\ export?=I-save ang mga nagawa bago i-export?

#: Editor.java:2435
Export\ canceled,\ changes\ must\ first\ be\ saved.=Nakansela ang pag export, kailangan muna i-save ang mga nagawa.

#: Editor.java:2457
Burning\ bootloader\ to\ I/O\ Board\ (this\ may\ take\ a\ minute)...=Inilalagay ang bootloader sa I/O Board (Maaring abutin ng isang minuto)...

#: Editor.java:2463
Done\ burning\ bootloader.=Tapos na ang paglagay ng bootloader.

#: Editor.java:2465 Editor.java:2469 Editor.java:2473
Error\ while\ burning\ bootloader.=May mali habang naglalagay ng bootloader.

#: Editor.java:2500
Printing...=Nagpi-print...

#: Editor.java:2517
Done\ printing.=Tapos na ang pag print.

#: Editor.java:2520
Error\ while\ printing.=May mali habang nagpi-print.

#: Editor.java:2524
Printing\ canceled.=Nakansela ang pagpi-print.

#: Editor.java:2572
#, java-format
Bad\ error\ line\:\ {0}=May mali sa linya\: {0}

#: Editor.java:2641
Open\ URL=Buksan ang 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?=May bagong bersyon ng Arduino,\nnais mo bang magpunta sa Arduino download page?

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

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

#: UpdateCheck.java:111
Update=I-update

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

#: FindReplace.java:80
Find\:=Hanapin\:

#: FindReplace.java:81
Replace\ with\:=Palitan ng\:

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

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

#: FindReplace.java:120 FindReplace.java:131
Replace\ All=Palitan Lahat

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

#: FindReplace.java:122 FindReplace.java:129
Replace\ &\ Find=Palitan at Hanapin

#: FindReplace.java:123 FindReplace.java:128
Previous=Nakaraan

#: FindReplace.java:124 FindReplace.java:127
Find=Hanapin

#: SerialMonitor.java:93
Send=Ipadala

#: SerialMonitor.java:110
Autoscroll=Autoscroll

#: SerialMonitor.java:112
No\ line\ ending=Walang pagtatapos sa linya

#: SerialMonitor.java:112
Newline=Bagong linya

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

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

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

#: Serial.java:147
#, java-format
Serial\ port\ ''{0}''\ already\ in\ use.\ Try\ quiting\ any\ programs\ that\ may\ be\ using\ it.=Ang serial port ''{0}'' ay kasalukuyang ginagamit. Subukang ihinto ang ibang programa na maaring gumagamit nito.

#: Serial.java:154
#, java-format
Error\ opening\ serial\ port\ ''{0}''.=May mali sa pagbukas ng 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?=Hindi makita ang serial port na ''{0}''. Tama ba ang iyong napili sa Mga Kasangkapan > Serial Port menu?

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

#: Serial.java:567
#, java-format
Error\ inside\ Serial.{0}()=May mali sa loob ng Serial.{0}()

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

#: 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.=Nakansela ang Auto Format\: Napakaraming kanang panaklong.

#: tools/AutoFormat.java:922
Auto\ Format\ Canceled\:\ Too\ many\ left\ parentheses.=Nakansela ang Auto Format\: Napakaraming kaliwang panaklong.

#: tools/AutoFormat.java:928
Auto\ Format\ Canceled\:\ Too\ many\ right\ curly\ braces.=Nakansela ang Auto Format\: Napakaraming kanang panaklaw.

#: tools/AutoFormat.java:931
!Auto\ Format\ Canceled\:\ Too\ many\ left\ curly\ braces.=

#: tools/AutoFormat.java:941
Auto\ Format\ finished.=Tapos na ang pag Auto Format

#: tools/FixEncoding.java:41 tools/FixEncoding.java:58
#: tools/FixEncoding.java:79
Fix\ Encoding\ &\ Reload=Itama ang Encoding at I-reload

#: tools/FixEncoding.java:57
Discard\ all\ changes\ and\ reload\ sketch?=Alisin ang lahat ng nagawa at i-reload ang sketch?

#: 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=May pagkakamali habang sinusubukang ayusin ang file encoding.\nHuwag subukang i-save ang sketch na ito dahil maaaring mapatungan\nang lumang bersion. Gamitin ang Buksan para buksan muli ang sketch.\n

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

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

#: tools/Archiver.java:74
Couldn't\ archive\ sketch=Hindi mai-archive and sketch

#: tools/Archiver.java:75
Archiving\ the\ sketch\ has\ been\ canceled\ because\nthe\ sketch\ couldn't\ save\ properly.=Nakansela ang pag archive ng sketch sapagkat\nhindi ito mai-save ng tama.

#: tools/Archiver.java:109
Archive\ sketch\ as\:=I-archive ang sketch bilang\:

#: tools/Archiver.java:139
Archive\ sketch\ canceled.=Nakansela ang pag-archive ng sketch

#: SketchCode.java:83
#, java-format
Error\ while\ loading\ code\ {0}=May mali habang niloload ang code {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.=Ang "{0}" ay naglalaman ng hindi maintidihang titik. Kung ang code na ito ay ginawa mula sa lumang bersyon ng Processing, Kinakailangan mong gamitin ang Mga Kasangkapan -> Itama ang Encoding at I-reload para magamit ang UTF-8 encoding sa sketch. Kung hindi naman ay kinakailangan mong alisin ang mga hindi maintidihang titik para maalis ang babalang ito.

#: Sketch.java:278 Sketch.java:307 Sketch.java:581 Sketch.java:970
Sketch\ is\ Read-Only=Ang sketch ay 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.=Ang ilang files ay "read-only", kaya kinakailangan\nmong i-save ang sketch sa ibang lokasyon,\nat subukan muli.

#: Sketch.java:286
Name\ for\ new\ file\:=Pangalan para sa bagong file\:

#: Sketch.java:298
Sketch\ is\ Untitled=Walang pangalan ang Sketch

#: Sketch.java:299
How\ about\ saving\ the\ sketch\ first\ \nbefore\ trying\ to\ rename\ it?=I-save muna ang sketch bago \npalitan ng pangalan?

#: Sketch.java:359 Sketch.java:366 Sketch.java:377
Problem\ with\ rename=May mali sa pag palit ng pangalan

#: Sketch.java:360
The\ name\ cannot\ start\ with\ a\ period.=Hindi maaaring magsimula ang pangalan sa tuldok.

#: Sketch.java:368
#, java-format
".{0}"\ is\ not\ a\ valid\ extension.=".{0}" ay hindi tamang 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)=Hindi maaaring gumamit ng extension ang main file.\n(Sa tingin ko ay oras na para ikaw ay gumamit\nng totoong programming environment)

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

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

#: Sketch.java:415
You\ can't\ have\ a\ .cpp\ file\ with\ the\ same\ name\ as\ the\ sketch.=Hindi maaaring magkaroon ng .cpp file na kaparehong pangalan ng sketch.

#: Sketch.java:425
You\ can't\ rename\ the\ sketch\ to\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=Hindi maaaring palitan ang pangalan sa "{0}"\nsapagkat mayroon ng .cpp file na may ganyang pangalan sa sketch.

#: Sketch.java:459
Cannot\ Rename=Hindi maaaring palitan ang pangalan

#: Sketch.java:461
#, java-format
Sorry,\ a\ sketch\ (or\ folder)\ named\ "{0}"\ already\ exists.=Paumanhin, mayroon ng sketch o folder na may pangalang "{0}".

#: Sketch.java:479
Could\ not\ rename\ the\ sketch.\ (0)=Ayaw mapalitan ang pangalan ng sketch. (0)

#: Sketch.java:487 Sketch.java:532
#, java-format
Could\ not\ rename\ "{0}"\ to\ "{1}"=Hindi mapalitan ang pangalan mula "{0}" para maging "{1}"

#: Sketch.java:500
Could\ not\ rename\ the\ sketch.\ (1)=Hindi mapalitan ang pangalan ng sketch. (1)

#: Sketch.java:507
Could\ not\ rename\ the\ sketch.\ (2)=Hindi mapalitan ang pangalan ng sketch. (2)

#: Sketch.java:544
createNewFile()\ returned\ false=createNewFile() ay nagbalik ng false

#: Sketch.java:591
Are\ you\ sure\ you\ want\ to\ delete\ this\ sketch?=Nais mo bang burahin ang sketch na ito?

#: Sketch.java:592
#, java-format
Are\ you\ sure\ you\ want\ to\ delete\ "{0}"?=Nais mo bang burahin ang "{0}"?

#: Sketch.java:595 EditorHeader.java:314
Delete=Alisin

#: Sketch.java:620
Couldn't\ do\ it=Hindi ko magawa yan

#: Sketch.java:621
#, java-format
Could\ not\ delete\ "{0}".=Hindi ko madelete "{0}".

#: Sketch.java:651
removeCode\:\ internal\ error..\ could\ not\ find\ code=removeCode\: internal error...hindi makita ang code

#: Sketch.java:724
Sketch\ is\ read-only=Ang sketch ay read-only

#: Sketch.java:725
Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ this\ sketch\ to\ another\ location.=Ang ilang files ay "read-only", kaya kinakailangan\nmong i-resave ang sketch sa ibang lokasyon.

#: 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?=Sa Arduino 1.0, ang default na file extension ay naging\n.ino mula .pde.  Ang mga bagong sketches (kasama ung mga nagawa \ngamit ang "I-save bilang" ay gagamit ng bagong extension.  Ang extension\nng mga dati ng sketches ay mababago pag save, ngunit maaari mo itong\nmabago sa Mga Kagustuhan na dialog.\n\nI-save ang sketch at baguhin ang kanyang extension?

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

#: Sketch.java:829
Save\ sketch\ folder\ as...=I-save ang sketch folder bilang...

#: Sketch.java:865
You\ can't\ save\ the\ sketch\ as\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=Hindi maaaring ma-save ang sketch bilang "{0}"\ndahil ang mayroon na itong .cpp na may parehong pangalan.

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

#: Sketch.java:887
You\ cannot\ save\ the\ sketch\ into\ a\ folder\ninside\ itself.\ This\ would\ go\ on\ forever.=Hindi mo maaaring i-save ang sketch sa loob ng folder\nkung saaan nakalagay sketch. Magpapatuloy lamang ito ng walang katapusan.

#: Sketch.java:979
Select\ an\ image\ or\ other\ data\ file\ to\ copy\ to\ your\ sketch=Pumili ng image o kahit anong data file na kokopyahin sa iyong sketch

#: Sketch.java:1047
#, java-format
Replace\ the\ existing\ version\ of\ {0}?=Palitan ang version {0}?

#: Sketch.java:1069 Sketch.java:1092
Error\ adding\ file=May mali sa pagdagdag ng file

#: Sketch.java:1070
#, java-format
Could\ not\ delete\ the\ existing\ ''{0}''\ file.=Hindi mabura ang file na ''{0}''.

#: Sketch.java:1078
You\ can't\ fool\ me=Hindi mo ako maloloko

#: 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'.=Ang file na ito ay nakopya na sa lokasyon kung saan mo sya gustong ikopya.\nWala na akong gagawin.

#: Sketch.java:1093
#, java-format
Could\ not\ add\ ''{0}''\ to\ the\ sketch.=Hindi maidagdag ang ''{0}'' sa sketch

#: Sketch.java:1393 Sketch.java:1424
Build\ folder\ disappeared\ or\ could\ not\ be\ written=Nawawala ang build folder o hindi sya masulatan

#: Sketch.java:1408
Could\ not\ find\ main\ class=Hindi makita ang main class

#: Sketch.java:1433
#, java-format
Uncaught\ exception\ type\:\ {0}=Hindi nahuling exception type\: {0}

#: Sketch.java:1465
#, java-format
Problem\ moving\ {0}\ to\ the\ build\ folder=May problema sa paglipat ng {0} sa build folder

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

#: Sketch.java:1684
#, java-format
Binary\ sketch\ size\:\ {0}\ bytes\ (of\ a\ {1}\ byte\ maximum)=Sukat ng Binary sketch\: {0} bytes (of a {1} byte maximum)

#: Sketch.java:1689
Couldn't\ determine\ program\ size\:\ {0}=Hindi malaman ang sukat ng programa\: {0}

#: Sketch.java:1694
Sketch\ too\ big;\ see\ http\://www.arduino.cc/en/Guide/Troubleshooting\#size\ for\ tips\ on\ reducing\ it.=Masyadong malaki ang sketch; Tignan ang http\://www.arduino.cc/en/Guide/Troubleshooting\#size para sa mga patnubay para mapaliit ito.

#: Sketch.java:1754
Missing\ the\ */\ from\ the\ end\ of\ a\ /*\ comment\ */=Nawawala ang  */ sa dulo ng /* comment */

#: Sketch.java:1796
Sketch\ Disappeared=Nawala ang sketch

#: 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.=Nawala ng folder ng sketch.\n Susubukang ire-save sa parehong lokasyon,\nsubalit lahat maliban sa code ay mawawala.

#: Sketch.java:1810
Could\ not\ re-save\ sketch=Hindi mai-resave ang sketch

#: 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.=Hindi mai-resave ng maayos ang sketch. Maaaring malaki na ang iyong problema sa oras na ito,\nkaya mas mabuti pang icopy-paste mo na ang code mo sa ibang text editor.

#: 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.=Kinakailangang palitan ang sketch name. Ang pangalan ng sketch ay maaari lamang magkaroon ng\nASCII characters at mga numero (ngunit hindi maaaring magsimula sa numero).\nHindi rin maaaring lumagpas ng 64 na titik ang pangalan.

#: debug/Uploader.java:52
https\://developer.berlios.de/bugs/?group_id\=3590=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}=May error sa compiler, Pakisubmit ang code na ito sa {0}

#: debug/Uploader.java:199
#, java-format
the\ selected\ serial\ port\ {0}\ does\ not\ exist\ or\ your\ board\ is\ not\ connected=hindi makita ang napiling serial port {0}  o kaya naman ay hindi kunektado ang iyong board

#: debug/Uploader.java:203
Device\ is\ not\ responding,\ check\ the\ right\ serial\ port\ is\ selected\ or\ RESET\ the\ board\ right\ before\ exporting=Hindi tumutugon ang device, siguraduhing tama ang napiling serial port o kaya ay pindutin ang RESET bago mag export

#: debug/Uploader.java:209
Problem\ uploading\ to\ board.\ \ See\ http\://www.arduino.cc/en/Guide/Troubleshooting\#upload\ for\ suggestions.=May problema sa pagupload sa board. Tignan ang http\://www.arduino.cc/en/Guide/Troubleshooting\#upload para sa mga karagdagang kaalaman.

#: debug/Uploader.java:213
Wrong\ microcontroller\ found.\ \ Did\ you\ select\ the\ right\ board\ from\ the\ Tools\ >\ Board\ menu?=Mali ang nakitang microcontroller. Napili mo ba ang tamang board mula sa Mga Kasangkapan > Board menu?

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

#: debug/Compiler.java:79
No\ board\ selected;\ please\ choose\ a\ board\ from\ the\ Tools\ >\ Board\ menu.=Walang piniling board; Maaari lamang na pumili ng board mula sa Mga Kasangkapan > Board menu.

#: debug/Compiler.java:422
#, java-format
{0}\ returned\ {1}={0} ay nagbalik ng {1}

#: debug/Compiler.java:426
Error\ compiling.=May mali sa pagcompile

#: debug/Compiler.java:465
!Please\ import\ the\ SPI\ library\ from\ the\ Sketch\ >\ Import\ Library\ menu.=

#: 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=\nMula sa Arduino 0019, ang Ethernet library ay nakasalalay sa SPI library.\nMaaaring ginagamit mo ito o kaya ibang library na nakasalalay sa SPI library.\n\n

#: debug/Compiler.java:471
The\ 'BYTE'\ keyword\ is\ no\ longer\ supported.=Ang 'BYTE' keyword ay hindi na sinusuportahan.

#: debug/Compiler.java:472
\nAs\ of\ Arduino\ 1.0,\ the\ 'BYTE'\ keyword\ is\ no\ longer\ supported.\nPlease\ use\ Serial.write()\ instead.\n\n=\nMula sa Arduino 1.0, ang 'BYTE' keyword ay hindi na susuportahan.\nMaaari lamang na gumamit na lang ng Serial.write().\n\n

#: debug/Compiler.java:477
The\ Server\ class\ has\ been\ renamed\ EthernetServer.=Ang Server class ay pinalitan ng pangalan at naging EthernetServer.

#: debug/Compiler.java:478
\nAs\ of\ Arduino\ 1.0,\ the\ Server\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetServer.\n\n=\nMula sa Arduino 1.0, ang Server class mula sa Ethernet library ay papalitan na para maging  EthernetServer.\n\n

#: debug/Compiler.java:483
The\ Client\ class\ has\ been\ renamed\ EthernetClient.=Ang Client class ay pinangalanan ng EthernetClient.

#: debug/Compiler.java:484
\nAs\ of\ Arduino\ 1.0,\ the\ Client\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nMula sa Arduino 1.0, ang Client class mula sa Ethernet library ay pinangalanan ng EthernetClient.\n\n

#: debug/Compiler.java:489
The\ Udp\ class\ has\ been\ renamed\ EthernetUdp.=Ang Udp class ay pinangalanang EthernetUdp.

#: debug/Compiler.java:490
\nAs\ of\ Arduino\ 1.0,\ the\ Udp\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nMula sa Arduino 1.0, ang Udp class mula  sa Ethernet library hay pinangalanan ng EthernetClient.\n\n

#: debug/Compiler.java:495
Wire.send()\ has\ been\ renamed\ Wire.write().=Wire.send() ay pinangalanan ng 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=\nMula sa Arduino 1.0, ang Wire.send() function ay pinangalanan ng Wire.write() para sa pagkakakapareho sa ibang libraries.\n\n

#: debug/Compiler.java:501
Wire.receive()\ has\ been\ renamed\ Wire.read().=Wire.receive() ay pinangalanang 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=\nMula sa Arduino 1.0, ang Wire.receive() function ay pinangalanan ng Wire.read() para sa pagkakapareho sa ibang libraries.\n\n

#: EditorConsole.java:152
Console\ Error=May error sa console

#: EditorConsole.java:153
A\ problem\ occurred\ while\ trying\ to\ open\ the\nfiles\ used\ to\ store\ the\ console\ output.=May nangyaring problema habang inoopen ang files\nna gagamitin para mastore ang console output.

#: Base.java:184
Non-fatal\ error\ while\ setting\ the\ Look\ &\ Feel.=Non-fatal error habang nagseset ng Look & Feel

#: Base.java:185
The\ error\ message\ follows,\ however\ Arduino\ should\ run\ fine.=Narito ang error message, subalit ang Arduino ay gagana pa rin ng maayos

#: Base.java:220
Problem\ Setting\ the\ Platform=May problema sa pagset ng Platform

#: Base.java:221
An\ unknown\ error\ occurred\ while\ trying\ to\ load\nplatform-specific\ code\ for\ your\ machine.=May hindi alam na error ang nangyari habang niloload ang \nplatform-specific code para sa iyong machine.

#: Base.java:232
Please\ install\ JDK\ 1.5\ or\ later=Maaari lamang na maginstall ng JDK 1.5 pataas

#: 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.=Ang Arduino ay nangangailangan ng full JDK (hindi lamang JRE)\npara gumana. Maaari lamang na maginstall ng JDK 1.5 pataas.\nMaaaring makakuha ng karagdagang kaalaman sa sanggunian.

#: Base.java:257
Sketchbook\ folder\ disappeared=Nawala ang folder ng sketchbook

#: 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.=Ang sketchbook folder ay hindi ko na makita.\nGagamitin ko na ang default lokasyon ng sketchbook \nat gagawa ng bagong sketchbook folder kung\nkinakailangan. At hindi ko na kakausapin\nang sarili ko.

#: Base.java:532
Time\ for\ a\ Break=Oras na para magpahinga

#: Base.java:533
You've\ reached\ the\ limit\ for\ auto\ naming\ of\ new\ sketches\nfor\ the\ day.\ How\ about\ going\ for\ a\ walk\ instead?=Naabot mo na ang limit para sa pagauto-name ng bagong sketches\npara sa araw na ito. Bakit hindi ka maglakad lakad sa paligid-ligid?

#: Base.java:537
Sunshine=Sinag ng araw

#: Base.java:538
No\ really,\ time\ for\ some\ fresh\ air\ for\ you.=Hindi nga walang biro, oras na para makalanghap ka ng sariwang hangin.

#: Base.java:633
Open\ an\ Arduino\ sketch...=Magbukas ng Arduino sketch...

#: 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.=<html> <head> <style type\="text/css">b { font\: 13pt "Lucida Grande" }p { font\: 11pt "Lucida Grande"; margin-top\: 8px }</style> </head><b>Sigurado ka ba na gusto mo mag Quit?</b><p>Ang pagsara ng huling nakabukas na sketch ay magki-quit ng Arduino.

#: Base.java:970
Contributed=Nakapagbahagi

#: Base.java:1095
Sketch\ Does\ Not\ Exist=Hindi makita ang sketch

#: Base.java:1096
The\ selected\ sketch\ no\ longer\ exists.\nYou\ may\ need\ to\ restart\ Arduino\ to\ update\nthe\ sketchbook\ menu.=Ang napiling sketch nay hindi na makita.\nkinakailangan mong  i-restart ang Arduino para maupdate\nang sketchbook menu.

#: 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}=Ang sketch "{0}" ay hindi maaaring gamitin.\nAng pangalan ng sketch ay maaarin lamang magkaroon ng titik at numero\n(ASCII lamang at walang spaces, at hindi ito maaaring magsimula sa numero).\nPara maaalis ang message na ito, alisin ang sketch mula sa \n{1}

#: Base.java:1132
Ignoring\ sketch\ with\ bad\ name=Hindi papansin ang sketch na may maling pangalan

#: 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)=Ang library "{0}" ay maaaring gamitin.\nAng pangalan ng library ay maaari lamang magkaron ng titik at numero.\n(ASCII lamang at walang spaces, at hindi ito maaaring magsimula sa numero)

#: Base.java:1207
Ignoring\ bad\ library\ name=Hindi papansinin ang library na may maling pangalan

#: Base.java:1432
Problem\ getting\ data\ folder=May problema sa pagkuha ng data folder

#: Base.java:1433
Error\ getting\ the\ Arduino\ data\ folder.=May problema sa pagkuha ng Arduino data folder

#: Base.java:1440
Settings\ issues=May problema sa Settings

#: Base.java:1441
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ settings.=Ayaw gumana ng Arduino sapagkat hindi ito\nmakagawa ng folder kung saan ilalagay ang iyong settings.

#: Base.java:1602
You\ forgot\ your\ sketchbook=Nakalimutan mo ang iyong sketchbook

#: Base.java:1603
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ sketchbook.=Ayaw gumana ng Arduino sapagkat hindi ito\nmakagawa ng folder kung saan ilalagay ang iyong sketchbook.

#: Base.java:1623
Select\ (or\ create\ new)\ folder\ for\ sketches...=Pumili (o gumawa ng bago) ng folder para sa sketches...

#: Base.java:1647
Problem\ Opening\ URL=May problema sa pagbukas ng URL

#: Base.java:1648
#, java-format
Could\ not\ open\ the\ URL\n{0}=Hindi mabuksan ang URL\n{0}

#: Base.java:1671
Problem\ Opening\ Folder=May problema sa pagbukas ng Folder

#: Base.java:1672
#, java-format
Could\ not\ open\ the\ folder\n{0}=Hindi mabuksan ang folder\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=http\://www.arduino.cc/playground/Learning/Linux

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

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

#: Base.java:1804
environment=environment

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

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

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

#: Base.java:1826
Message=Mensahe

#: Base.java:1842
Warning=Warning

#: Base.java:2196
#, java-format
Could\ not\ remove\ old\ version\ of\ {0}=Hindi maaalis ang lumang bersyon na {0}

#: Base.java:2206
#, java-format
Could\ not\ replace\ {0}=Hindi mapalitan ang {0}

#: Base.java:2247 Base.java:2270
#, java-format
Could\ not\ delete\ {0}=Hindi maalis ang {0}

#: EditorHeader.java:292
New\ Tab=Bagong Tab

#: EditorHeader.java:300
Rename=Palitan ng Pangalan

#: EditorHeader.java:326
Previous\ Tab=Nakaraang Tab

#: EditorHeader.java:340
Next\ Tab=Susunod na Tab

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

#: EditorToolbar.java:41
Open=Buksan

#: EditorToolbar.java:46
New\ Editor\ Window=Bagong Editor Window

#: EditorToolbar.java:46
Open\ in\ Another\ Window=Buksan sa ibang Window

#: Platform.java:167
No\ launcher\ available=Walang launcher na maaaring magamit

#: 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=Hindi malamang platform, walang launcher na maaaring magamit.\nPara mabuksan ang URLs o folders, magdagdag ng\n"launcher\=/path/to/app" sa preferences.txt

#: Theme.java:52
Could\ not\ read\ color\ theme\ settings.\nYou'll\ need\ to\ reinstall\ Processing.=Hindi mabasa ang color theme settings.\nKinakailangan mong i-reinstall ang Processing.

#: Preferences.java:80
Browse=Browse

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

#: Preferences.java:84
!Arabic=

#: Preferences.java:85
!Aragonese=

#: Preferences.java:86
Catalan=Catalan

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

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

#: Preferences.java:89
Danish=Danish

#: Preferences.java:90
Dutch=Dutch

#: Preferences.java:91
English=Ingles

#: Preferences.java:92
!Estonian=

#: Preferences.java:93
French=French

#: Preferences.java:94
Filipino=Filipino

#: Preferences.java:95
Galician=Galician

#: Preferences.java:96
German=German

#: Preferences.java:97
Greek=Greek

#: Preferences.java:98
Hungarian=Hungarian

#: Preferences.java:99
!Indonesian=

#: Preferences.java:100
Italian=Italian

#: Preferences.java:101
Japanese=Japanese

#: Preferences.java:102
!Korean=

#: Preferences.java:103
Latvian=Latvian

#: Preferences.java:104
!Lithuaninan=

#: Preferences.java:105
Persian=Persian

#: Preferences.java:106
!Polish=

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

#: Preferences.java:109
Romanian=Romanian

#: Preferences.java:110
!Russian=

#: Preferences.java:111
Spanish=Spanish

#: Preferences.java:210
Could\ not\ read\ default\ settings.\nYou'll\ need\ to\ reinstall\ Arduino.=Hindi mabasa ang default settings.\nKinakailangan mong i-reinstall ang Arduino.

#: Preferences.java:242
#, java-format
Could\ not\ read\ preferences\ from\ {0}=Hindi mabasa ang mga kagustuhan mula sa {0}

#: Preferences.java:261
Error\ reading\ preferences=May problema sa pagread ng preferences

#: Preferences.java:263
#, java-format
Error\ reading\ the\ preferences\ file.\ Please\ delete\ (or\ move)\n{0}\ and\ restart\ Arduino.=May problema sa pagbasa ng preferences file. Maaari lamang na i-delete (o ilipat) ang \n{0} at irestart ang Arduino.

#: Preferences.java:299
Sketchbook\ location\:=Lokasyon ng Sketchbook\:

#: Preferences.java:314
Select\ new\ sketchbook\ location=Pumili ng bagong lokasyon ng sketchbook

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

#: Preferences.java:342 Preferences.java:358
\ \ (requires\ restart\ of\ Arduino)=\ (kinakailangang i-restart ang Arduino)

#: Preferences.java:354
Editor\ font\ size\:\ =Sukat ng font para sa Editor\:

#: Preferences.java:371
Show\ verbose\ output\ during\:\ =Ipakita ang verbose na output\: 

#: Preferences.java:373
compilation\ =compilation

#: Preferences.java:375
upload=upload

#: Preferences.java:384
Verify\ code\ after\ upload=I-verify ang code pagkatapos mai-upload

#: Preferences.java:393
Use\ external\ editor=Gumamit ng ibang editor

#: Preferences.java:403
Check\ for\ updates\ on\ startup=Suriin ang updates tuwing magsisimula

#: Preferences.java:412
Update\ sketch\ files\ to\ new\ extension\ on\ save\ (.pde\ ->\ .ino)=Baguhin ang sketch files na gumamit ng bagong extension kapag nagsave (.pde -> .ino)

#: Preferences.java:423
Automatically\ associate\ .ino\ files\ with\ Arduino=Kusang iassociate ang .ino files sa Arduino

#: Preferences.java:433
More\ preferences\ can\ be\ edited\ directly\ in\ the\ file=Madami pang preferences ang maaaring baguhin mula sa file

#: Preferences.java:462
(edit\ only\ when\ Arduino\ is\ not\ running)=(baguhin lamang kung hindi tumatakbo ang Arduino)

#: Preferences.java:609
#, java-format
ignoring\ invalid\ font\ size\ {0}=hindi papansinin ang maling sukat ng font {0}
