# Aragonese translations for Arduino IDE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Arduino IDE package.
# Juan Pablo Martinez <juanpabl@gmail.com>, 2012.
# Daniel Martinez <entaltoaragon@gmail.com>, 2012.
!=Project-Id-Version\: 1.0.1\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2012-04-03 07\:48+0200\nPO-Revision-Date\: 2012-04-15 20\:54+0200\nLast-Translator\: Juan Pablo Mart\u00ednez Cort\u00e9s <juanpabl@gmail.com>\nLanguage-Team\: Softaragon\u00e9s\nLanguage\: an\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nPlural-Forms\: nplurals\=2; plural\=(n \!\= 1);\nX-Generator\: Virtaal 0.7.0\n

#: Editor.java:366
No\ files\ were\ added\ to\ the\ sketch.=No s'ha adhibiu garra fichero en o sketch.

#: Editor.java:369 Sketch.java:996
One\ file\ added\ to\ the\ sketch.=S'ha adhibiu un fichero en o sketch.

#: Editor.java:373
#, java-format
{0}\ files\ added\ to\ the\ sketch.=S'ha adhibiu {0} fichers en o sketch.

#: Editor.java:484
File=Fichero

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

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

#: Editor.java:503
Sketchbook=Sketchbook

#: Editor.java:509
Examples=Eixemplos

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

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

#: Editor.java:530
Save\ As...=Alzar como...

#: Editor.java:538 EditorToolbar.java:41
Upload=Cargar

#: Editor.java:546 EditorToolbar.java:46
Upload\ Using\ Programmer=Cargar fendo servir o programador

#: Editor.java:556
Page\ Setup=Configuraci\u00f3n d'a pachina

#: Editor.java:564
Print=Imprentar

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

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

#: Editor.java:600
Sketch=Sketch

#: Editor.java:602
Verify\ /\ Compile=Verificar / Compilar

#: Editor.java:629
Import\ Library...=Importar Biblioteca...

#: Editor.java:634
Show\ Sketch\ Folder=Amostrar a Carpeta de sketch

#: Editor.java:643
Add\ File...=Adhibir un Fichero...

#: Editor.java:656
Tools=Ferramientas

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

#: Editor.java:682
Board=Tarcheta

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

#: Editor.java:695
Programmer=Programador

#: Editor.java:699
Burn\ Bootloader=Gravar o bootloader

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

#: Editor.java:927 Editor.java:934
name\ is\ null=o nombre ye null

#: Editor.java:986
error\ retrieving\ port\ list=error tot leyendo a lista de puertos

#: Editor.java:1002
Help=Aduya

#: Editor.java:1041
Getting\ Started=Primers trangos

#: Editor.java:1049
Environment=Entorno

#: Editor.java:1057
Troubleshooting=Soluci\u00f3n de problemas

#: Editor.java:1065
Reference=Referencia

#: Editor.java:1073 Editor.java:2728
Find\ in\ Reference=Trobar en a referencia

#: Editor.java:1083
Frequently\ Asked\ Questions=Preguntas freq\u00fcents

#: Editor.java:1091
Visit\ Arduino.cc=Visitar Arduino.cc

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

#: Editor.java:1102
About\ Arduino=Arredol d'Arduino

#: Editor.java:1116
Edit=Editar

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

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

#: Editor.java:1135 Editor.java:2652
Cut=Retallar

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

#: Editor.java:1151 Editor.java:2668
Copy\ for\ Forum=Copiar ta'l Foro

#: Editor.java:1163 Editor.java:2676
Copy\ as\ HTML=Copiar como HTML

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

#: Editor.java:1184 Editor.java:2692
Select\ All=Seleccionar-lo tot

#: Editor.java:1194 Editor.java:2702
Comment/Uncomment=Comentar/Descomentar 

#: Editor.java:1202 Editor.java:2710
Increase\ Indent=Incrementar o sangrau

#: Editor.java:1210 Editor.java:2718
Decrease\ Indent=Reducir o sangrau

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

#: Editor.java:1235
Find\ Next=Buscar o siguient

#: Editor.java:1245
Find\ Previous=Buscar l'anterior

#: Editor.java:1255
Use\ Selection\ For\ Find=Fer servir a selecci\u00f3n ta buscar-la

#: Editor.java:1816
First\ select\ a\ word\ to\ find\ in\ the\ reference.=En primeras seleccione una parola ta buscar en a referencia.

#: Editor.java:1823
#, java-format
No\ reference\ available\ for\ "{0}"=No i hai garra referencia disponible ta "{0}"

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

#: Editor.java:1843 Sketch.java:1647
Compiling\ sketch...=Compilando o sketch...

#: Editor.java:1864 Editor.java:1881
Done\ compiling.=S'ha rematau a compilaci\u00f3n.

#: Editor.java:1973
#, java-format
Save\ changes\ to\ "{0}"?\ \ =Alzar os cambeos en "{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>Quiers alzar os cambeos feitos a iste sketch<BR> antes de zarrar?</b><p>Si no los alzas, os cambeos se perder\u00e1n.

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

#: Editor.java:2017
Don't\ Save=No l'alces

#: Editor.java:2089
Bad\ file\ selected=O fichero seleccionau ye incorrecto

#: Editor.java:2090
Processing\ can\ only\ open\ its\ own\ sketches\nand\ other\ files\ ending\ in\ .ino\ or\ .pde=Processing no puede ubrir que os suyos propios sketches\ny atros fichers remataus en .ino u .pde

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

#: 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?=Ye menester que o fichero "{0}" se trobe endentro d'a \ncarpeta d'un sketch clamada "{1}".\nQuiers creyar ista carpeta, mover iste fichero y continar?

#: Editor.java:2109
Moving=Movendo

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

#: Editor.java:2122
#, java-format
A\ folder\ named\ "{0}"\ already\ exists.\ Can't\ open\ sketch.=Ya existe una carpeta clamada "{0}". No s'ha puesto ubrir o sketch.

#: Editor.java:2132
Could\ not\ create\ the\ sketch\ folder.=No s'ha puesto creyar a carpeta d'o sketch.

#: Editor.java:2141
Could\ not\ copy\ to\ a\ proper\ location.=No s'ha puesto copiar a una ubicaci\u00f3n apropiada.

#: Editor.java:2159
Could\ not\ create\ the\ sketch.=No s'ha puesto creyar o sketch.

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

#: Editor.java:2223 Editor.java:2261
Saving...=Se ye alzando...

#: Editor.java:2228 Editor.java:2264
Done\ Saving.=S'ha rematau l'alzau.

#: Editor.java:2270
Save\ Canceled.=S'ha cancelau l'alzau.

#: Editor.java:2296
#, java-format
Serial\ port\ {0}\ not\ found.\nRetry\ the\ upload\ with\ another\ serial\ port?=No s'ha trobau o puerto serie {0}.\nQuiers tornar a intentar a carga con belatro puerto serie?

#: Editor.java:2331
Uploading\ to\ I/O\ Board...=Cargando ta la tarcheta I/O...

#: Editor.java:2348 Editor.java:2384
Done\ uploading.=S'ha rematau a carga.

#: Editor.java:2356 Editor.java:2392
Upload\ canceled.=S'ha cancelau a carga.

#: Editor.java:2420
Save\ changes\ before\ export?=Alzar os cambeos antes d'exportar?

#: Editor.java:2435
Export\ canceled,\ changes\ must\ first\ be\ saved.=S'ha cancelau a exportaci\u00f3n\: en primeras has d'alzaus os cambeos.

#: Editor.java:2457
Burning\ bootloader\ to\ I/O\ Board\ (this\ may\ take\ a\ minute)...=Se ye gravando o bootloader en a tarcheta I/O (podr\u00eda tardar un minuto)...

#: Editor.java:2463
Done\ burning\ bootloader.=S'ha rematau a gravaci\u00f3n d'o bootloader.

#: Editor.java:2465 Editor.java:2469 Editor.java:2473
Error\ while\ burning\ bootloader.=S'ha trobau una error en gravar o bootloader.

#: Editor.java:2500
Printing...=Se ye imprentando...

#: Editor.java:2517
Done\ printing.=S'ha rematau a impresi\u00f3n.

#: Editor.java:2520
Error\ while\ printing.=S'ha trobau una error en imprentar.

#: Editor.java:2524
Printing\ canceled.=S'ha cancelau a impresi\u00f3n.

#: Editor.java:2572
#, java-format
Bad\ error\ line\:\ {0}=Linia d'error incorrecta\: {0}

#: Editor.java:2641
Open\ URL=Ubrir una 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?=Una nueva versi\u00f3n d'Arduino ye disponible,\nTe fer\u00eda goyo de visitar agora a pachina de descargas d'Arduino?

#: UpdateCheck.java:108 Preferences.java:76
Yes=S\u00ed

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

#: UpdateCheck.java:111
Update=Esviellar

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

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

#: FindReplace.java:81
Replace\ with\:=Reemplazar con\:

#: FindReplace.java:96
Ignore\ Case=Ignorar mayusclas y minusclas

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

#: FindReplace.java:120 FindReplace.java:131
Replace\ All=Reemplazar-lo tot

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

#: FindReplace.java:122 FindReplace.java:129
Replace\ &\ Find=Reemplazar y Buscar

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

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

#: SerialMonitor.java:93
Send=Ninviar

#: SerialMonitor.java:110
Autoscroll=Desplazamiento automatico

#: SerialMonitor.java:112
No\ line\ ending=No i ha garra fin de linia

#: SerialMonitor.java:112
Newline=Linia nueva (NL)

#: SerialMonitor.java:112
Carriage\ return=Retorno de Carro (CR)

#: SerialMonitor.java:112
Both\ NL\ &\ CR=Totz dos NL & 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.=O puerto serie ''{0}'' ya ye en uso. Mira de zarrar qualsiquier atro programa que lo podese estar usando.

#: Serial.java:154
#, java-format
Error\ opening\ serial\ port\ ''{0}''.=S'ha trobau una error en ubrir o puerto serie ''{0}''.

#: Serial.java:167
#, java-format
Serial\ port\ ''{0}''\ not\ found.\ Did\ you\ select\ the\ right\ one\ from\ the\ Tools\ >\ Serial\ Port\ menu?=No s'ha trobau o puerto serie ''{0}''. Yes seguro que trigu\u00e9s o correcto en o men\u00fa Ferramientas > Puerto Serie?

#: Serial.java:424
#, java-format
readBytesUntil()\ byte\ buffer\ is\ too\ small\ for\ the\ {0}\ bytes\ up\ to\ and\ including\ char\ {1}=O buffer de bytes readBytesUntil() ye masiau chicot ta os {0} bytes dica y incluindo-ie o char {1}

#: Serial.java:567
#, java-format
Error\ inside\ Serial.{0}()=S'ha trobau una error en Serial.{0}()

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

#: tools/AutoFormat.java:913 tools/format/src/AutoFormat.java:54
No\ changes\ necessary\ for\ Auto\ Format.=No s'amenista garra cambeo ta o formato automatico.

#: tools/AutoFormat.java:919
Auto\ Format\ Canceled\:\ Too\ many\ right\ parentheses.=S'ha cancelau o formato automatico\: masiaus parentesis dreitos.

#: tools/AutoFormat.java:922
Auto\ Format\ Canceled\:\ Too\ many\ left\ parentheses.=S'ha cancelau o formato automatico\: masiaus parentesis cuchos.

#: tools/AutoFormat.java:928
Auto\ Format\ Canceled\:\ Too\ many\ right\ curly\ braces.=S'ha cancelau o formato automatico\: masiaus gafetz dreitos.

#: tools/AutoFormat.java:931
Auto\ Format\ Canceled\:\ Too\ many\ left\ curly\ braces.=S'ha cancelau o formato automatico\: masiaus gafetz cuchos.

#: tools/AutoFormat.java:941
Auto\ Format\ finished.=S'ha rematau o formato automatico.

#: tools/FixEncoding.java:41 tools/FixEncoding.java:58
#: tools/FixEncoding.java:79
Fix\ Encoding\ &\ Reload=Reparar a Codificaci\u00f3n y Recargar

#: tools/FixEncoding.java:57
Discard\ all\ changes\ and\ reload\ sketch?=Descartar totz os cambeos y recargar o 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=Ha ocurriu una error entre que se miraba d'apanyar a codificaci\u00f3n d'o\nfichero. No intentes alzar iste sketch porque puede sobrescribir a versi\u00f3n\nanterior. Utiliza Ubrir ta reabrir o sketch y intenta de nuevo.\n

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

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

#: tools/Archiver.java:74
Couldn't\ archive\ sketch=No s'ha puesto archivar o sketch

#: tools/Archiver.java:75
Archiving\ the\ sketch\ has\ been\ canceled\ because\nthe\ sketch\ couldn't\ save\ properly.=S'ha cancelau l'archivo d'o sketch porque\no sketch no s'ha puesto alzar correctament.

#: tools/Archiver.java:109
Archive\ sketch\ as\:=Archivar o sketch como\:

#: tools/Archiver.java:139
Archive\ sketch\ canceled.=S'ha cancelau l'archivo d'o sketch.

#: SketchCode.java:83
#, java-format
Error\ while\ loading\ code\ {0}=Error entre que se cargaba o codigo {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.="{0}" contiene caracters incorrectos. Si iste codigo se crey\u00f3 con una versi\u00f3n anterior de Processing, talment te calga usar Ferramientas -> Correchir Codificaci\u00f3n y Recargar ta esviellar o sketch a codificaci\u00f3n UTF-8. Si no, talment te calga borrar os caracters incorrectos ta desfer-te d'ista alvertencia.

#: Sketch.java:278 Sketch.java:307 Sketch.java:581 Sketch.java:970
Sketch\ is\ Read-Only=O sketch ye nom\u00e1s de lectura

#: 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.=Qualques fichers son marcaus como "nom\u00e1s de lectura",\nasinas que amenester\u00e1s tornar a alzar iste sketch en unatra ubicaci\u00f3n, y \nintentar-lo de nuevas.

#: Sketch.java:286
Name\ for\ new\ file\:=Nombre d'o nuevo fichero\:

#: Sketch.java:298
Sketch\ is\ Untitled=O sketch no tiene nombre

#: Sketch.java:299
How\ about\ saving\ the\ sketch\ first\ \nbefore\ trying\ to\ rename\ it?=Qu\u00e9 te pareixe d'alzar en primeras o sketch \nantes de mirar de renombrar-lo?

#: Sketch.java:359 Sketch.java:366 Sketch.java:377
Problem\ with\ rename=S'ha trobau un problema en renombrar

#: Sketch.java:360
The\ name\ cannot\ start\ with\ a\ period.=O nombre no puede empecipiar con un punto.

#: Sketch.java:368
#, java-format
".{0}"\ is\ not\ a\ valid\ extension.=".{0}" no ye una extensi\u00f3n valida.

#: 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)=O fichero prencipal no puede fer servir una extensi\u00f3n.\n(Talment siga ya hora de que pases ta un\nentorno de desembolique "real")

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

#: Sketch.java:402
#, java-format
A\ file\ named\ "{0}"\ already\ exists\ in\ "{1}"=Ya existe un fichero clamau "{0}" en "{1}"

#: Sketch.java:415
You\ can't\ have\ a\ .cpp\ file\ with\ the\ same\ name\ as\ the\ sketch.=No puetz tener un fichero .cpp con o mesmo nombre que o sketch.

#: Sketch.java:425
You\ can't\ rename\ the\ sketch\ to\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=No puetz renombrar o sketch como "{0}"\nporque o sketch ya tiene un fichero .cpp con ixe nombre

#: Sketch.java:459
Cannot\ Rename=No se puede renombrar

#: Sketch.java:461
#, java-format
Sorry,\ a\ sketch\ (or\ folder)\ named\ "{0}"\ already\ exists.=Ya existe un sketch (u carpeta) clamau "{0}".

#: Sketch.java:479
Could\ not\ rename\ the\ sketch.\ (0)=No s'ha puesto renombrar o sketch. (0)

#: Sketch.java:487 Sketch.java:532
#, java-format
Could\ not\ rename\ "{0}"\ to\ "{1}"=No s'ha puesto renombrar "{0}" como "{1}"

#: Sketch.java:500
Could\ not\ rename\ the\ sketch.\ (1)=No s'ha puesto renombrar o sketch. (1)

#: Sketch.java:507
Could\ not\ rename\ the\ sketch.\ (2)=No s'ha puesto renombrar o sketch. (2)

#: Sketch.java:544
createNewFile()\ returned\ false=createNewFile() ha retornau a valura "false"

#: Sketch.java:591
Are\ you\ sure\ you\ want\ to\ delete\ this\ sketch?=Yes seguro que quiers borrar iste sketch?

#: Sketch.java:592
#, java-format
Are\ you\ sure\ you\ want\ to\ delete\ "{0}"?=Yes seguro que quiers borrar "{0}"?

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

#: Sketch.java:620
Couldn't\ do\ it=No s'ha puesto fer

#: Sketch.java:621
#, java-format
Could\ not\ delete\ "{0}".=No s'ha puesto borrar "{0}".

#: Sketch.java:651
removeCode\:\ internal\ error..\ could\ not\ find\ code=removeCode\: error interna... no s'ha puesto trobar o codigo

#: Sketch.java:724
Sketch\ is\ read-only=O sketch ye nom\u00e1s de lectura

#: Sketch.java:725
Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ this\ sketch\ to\ another\ location.=Qualques fichers son marcaus como "nom\u00e1s de lectura",\nasinas que te caldr\u00e1 tornar a alzar iste sketch en belatro puesto.

#: 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?=En Arduino 1.0, a extensi\u00f3n por defecto ha cambiau\nde .pde ta .ino. Os nuevos sketches (incluindo-ie os creyaus con\n"Alzar como" fer\u00e1n servir a nueva extensi\u00f3n. A extensi\u00f3n\nd'os sketches ya existents s'esviellar\u00e1 en alzar, pero isto\npuede deshabilitar-se en o dialogo de Preferencias\n\nAlzar o sketch y esviellar a extensi\u00f3n?

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

#: Sketch.java:829
Save\ sketch\ folder\ as...=Alzar a carpeta de sketch como...

#: Sketch.java:865
You\ can't\ save\ the\ sketch\ as\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=No puetz alzar o sketch como "{0}"\nporque o sketch ya tiene un fichero .cpp con ixe nombre.

#: Sketch.java:886
How\ very\ Borges\ of\ you=Que en yes de Borges tu\!

#: Sketch.java:887
You\ cannot\ save\ the\ sketch\ into\ a\ folder\ninside\ itself.\ This\ would\ go\ on\ forever.=No puetz alzar o sketch en una carpeta\nadentro d'ell mesmo. Isto podr\u00eda seguir ta cutio.

#: Sketch.java:979
Select\ an\ image\ or\ other\ data\ file\ to\ copy\ to\ your\ sketch=Selecciona una imachen u belatro fichero de datos ta copiar en o sketch

#: Sketch.java:1047
#, java-format
Replace\ the\ existing\ version\ of\ {0}?=Reemplazar a versi\u00f3n existent de {0}?

#: Sketch.java:1069 Sketch.java:1092
Error\ adding\ file=S'ha trobau una error en adhibir o fichero

#: Sketch.java:1070
#, java-format
Could\ not\ delete\ the\ existing\ ''{0}''\ file.=No s'ha puesto borrar o fichero existent ''{0}''.

#: Sketch.java:1078
You\ can't\ fool\ me=No me puetz enganyuflar

#: 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'.=Iste fichero ya s'ha copiau en o puesto\ndende o qual ye mirando d'adhibir-lo.\nNo'n fer\u00e9 cosa.

#: Sketch.java:1093
#, java-format
Could\ not\ add\ ''{0}''\ to\ the\ sketch.=No s'ha puesto adhibir ''{0}'' a lo sketch.

#: Sketch.java:1393 Sketch.java:1424
Build\ folder\ disappeared\ or\ could\ not\ be\ written=A carpeta de construcci\u00f3n ha despareixiu u no s'ha puesto escribir

#: Sketch.java:1408
Could\ not\ find\ main\ class=No s'ha puesto trobar a clase main

#: Sketch.java:1433
#, java-format
Uncaught\ exception\ type\:\ {0}=S'ha trobau una excepci\u00f3n no apercazada de tipo\: {0}

#: Sketch.java:1465
#, java-format
Problem\ moving\ {0}\ to\ the\ build\ folder=S'ha trobau un problema movendo {0} ta la carpeta de construcci\u00f3n

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

#: Sketch.java:1684
#, java-format
Binary\ sketch\ size\:\ {0}\ bytes\ (of\ a\ {1}\ byte\ maximum)=Grandaria binaria d'o sketch\: {0} bytes (d'un maximo de {1} bytes)

#: Sketch.java:1689
Couldn't\ determine\ program\ size\:\ {0}=No s'ha puesto determinar a grandaria d'o programa\: {0}

#: Sketch.java:1694
Sketch\ too\ big;\ see\ http\://www.arduino.cc/en/Guide/Troubleshooting\#size\ for\ tips\ on\ reducing\ it.=O sketch ye masiau gran; leye-te http\://www.arduino.cc/en/Guide/Troubleshooting\#size ta trobar consellos de c\u00f3mo reducir-lo.

#: Sketch.java:1754
Missing\ the\ */\ from\ the\ end\ of\ a\ /*\ comment\ */=Falta o */ a la fin d'un /* comentario */

#: Sketch.java:1796
Sketch\ Disappeared=O sketch ha desapareixiu

#: 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.=A carpeta de sketches ha desapareixiu.\n Se mirar\u00e1 de tornar a alzar-la en o mesmo puesto,\npero tot, fueras d'o codigo, se perder\u00e1.

#: Sketch.java:1810
Could\ not\ re-save\ sketch=No s'ha puesto tornar a alzar o 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.=No s'ha puesto tornar a alzar o sketch adequadament. Talment tiengas \nproblemas en iste punto, y siga hora de copiar y apegar o tuyo codigo en \nbelatro 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.=O nombre d'o sketch s'ha habiu de modificar. Os nombres de sketch\nno pueden tener que caracters ASCII y numeros (pero no pueden\nempecipiar con un numero). A suya largaria ha d'estar menor a 64 caracters.

#: 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}=Error de compilaci\u00f3n, por favor ninvia iste codigo a {0}

#: debug/Uploader.java:199
#, java-format
the\ selected\ serial\ port\ {0}\ does\ not\ exist\ or\ your\ board\ is\ not\ connected=o puerto serie seleccionau {0} no existe u a tuya tarcheta ye sin connectar

#: debug/Uploader.java:203
Device\ is\ not\ responding,\ check\ the\ right\ serial\ port\ is\ selected\ or\ RESET\ the\ board\ right\ before\ exporting=O dispositivo no responde, revisa que siga seleccionau o puerto serie u REINICIA a tarcheta antes d'exportar

#: debug/Uploader.java:209
Problem\ uploading\ to\ board.\ \ See\ http\://www.arduino.cc/en/Guide/Troubleshooting\#upload\ for\ suggestions.=Problema en puyar codigo ta la tarcheta.   Mira-te http\://www.arduino.cc/en/Guide/Troubleshooting\#upload ta trobar sucherencias.

#: debug/Uploader.java:213
Wrong\ microcontroller\ found.\ \ Did\ you\ select\ the\ right\ board\ from\ the\ Tools\ >\ Board\ menu?=S'ha trobau un Microcontrolador entivocau.  Has trigau a tarcheta \ncorrecta d'o men\u00fa Ferramientas > Tarcheta?

#: 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.=No i ha garra tarcheta seleccionada; por favor, triga una tarcheta d'o men\u00fa\nFerramientas > Tarcheta.

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

#: debug/Compiler.java:426
Error\ compiling.=Error en compilar.

#: debug/Compiler.java:465
Please\ import\ the\ SPI\ library\ from\ the\ Sketch\ >\ Import\ Library\ menu.=Por favor importa la biblioteca SPI fendo servir o men\u00fa\nSketch > Importar Biblioteca.

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

#: debug/Compiler.java:471
The\ 'BYTE'\ keyword\ is\ no\ longer\ supported.=A parola clau 'BYTE' ya no ye suportada.

#: debug/Compiler.java:472
\nAs\ of\ Arduino\ 1.0,\ the\ 'BYTE'\ keyword\ is\ no\ longer\ supported.\nPlease\ use\ Serial.write()\ instead.\n\n=\nDende Arduino 1.0, a parola clau 'BYTE' ya no ye suportada.\nPor favor fe servir Serial.write() en cuenta.\n\n

#: debug/Compiler.java:477
The\ Server\ class\ has\ been\ renamed\ EthernetServer.=A clase Server s'ha renombrau como EthernetServer.

#: debug/Compiler.java:478
\nAs\ of\ Arduino\ 1.0,\ the\ Server\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetServer.\n\n=\nDende Arduino 1.0, a clase Server en a biblioteca Ethernet s'ha \nrenombrau como EthernetServer.\n\n

#: debug/Compiler.java:483
The\ Client\ class\ has\ been\ renamed\ EthernetClient.=A clase Client s'ha renombrau como EthernetClient.

#: debug/Compiler.java:484
\nAs\ of\ Arduino\ 1.0,\ the\ Client\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nDende Arduino 1.0, a clase Client en a biblioteca Ethernet s'ha renombrau\ncomo EthernetClient.\n\n

#: debug/Compiler.java:489
The\ Udp\ class\ has\ been\ renamed\ EthernetUdp.=A clase Udp s'ha renombrau como EthernetUdp.

#: debug/Compiler.java:490
\nAs\ of\ Arduino\ 1.0,\ the\ Udp\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nDende Arduino 1.0, a clase Udp en a biblioteca Ethernet s'ha renombrau\ncomo EthernetUdp.\n\n

#: debug/Compiler.java:495
Wire.send()\ has\ been\ renamed\ Wire.write().=Wire.send() s'ha renombrau como 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=\nDende Arduino 1.0, a funci\u00f3n Wire.send() s'ha renombrau como Wire.write() ta mantener a consistencia con atras bibliotecas.\n\n

#: debug/Compiler.java:501
Wire.receive()\ has\ been\ renamed\ Wire.read().=Wire.receive() s'ha renombrau como 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=\nDende Arduino 1.0, a funci\u00f3n Wire.receive() s'ha renombrau como Wire.read() ta mantener a consistencia con atras bibliotecas.\n\n

#: EditorConsole.java:152
Console\ Error=S'ha trobau una error de consola

#: EditorConsole.java:153
A\ problem\ occurred\ while\ trying\ to\ open\ the\nfiles\ used\ to\ store\ the\ console\ output.=S'ha trobau un problema entre que se miraba d'ubrir o\nfichero utilizau ta alzar o resultau d'a consola.

#: Base.java:184
Non-fatal\ error\ while\ setting\ the\ Look\ &\ Feel.=S'ha trobau una error no fatal entre que se configuraba l'Apariencia.

#: Base.java:185
The\ error\ message\ follows,\ however\ Arduino\ should\ run\ fine.=O que sigue ye o mensache d'error, pero Arduino habr\u00eda de continar\nfuncionando bien.

#: Base.java:220
Problem\ Setting\ the\ Platform=Problema en configurar a Plataforma

#: Base.java:221
An\ unknown\ error\ occurred\ while\ trying\ to\ load\nplatform-specific\ code\ for\ your\ machine.=S'ha trobau una error desconoixida entre que\nse cargaba o codigo especifico ta la tuya plataforma.

#: Base.java:232
Please\ install\ JDK\ 1.5\ or\ later=Por favor instala o JDK 1.5 u posterior

#: 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.=Arduino requiere o JDK completo (no nom\u00e1s o JRE)\nta funcionar. Por favor instala o JDK 1.5 u superior.\nPodr\u00e1s trobar mas informaci\u00f3n en a referencia.

#: Base.java:257
Sketchbook\ folder\ disappeared=A carpeta sketchbook ha desapareixiu

#: 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.=A carpeta sketchbook ya no existe.\nArduino cambiar\u00e1 ta o puesto predeterminau\nd'o sketchbook y creyar\u00e1 una nueva carpeta sketchbook\nsi ye menister. Dimpu\u00e9s, Arduino deixar\u00e1 de charrar d'ell mesmo\nen tercera persona.

#: Base.java:532
Time\ for\ a\ Break=Hora de fer un descanso

#: Base.java:533
You've\ reached\ the\ limit\ for\ auto\ naming\ of\ new\ sketches\nfor\ the\ day.\ How\ about\ going\ for\ a\ walk\ instead?=Por hue has plegau en o limite d'auto nombramiento de sketches nuevos\nQu\u00e9 tal si te fas una gambadeta?

#: Base.java:537
Sunshine=Luz d'o sol

#: Base.java:538
No\ really,\ time\ for\ some\ fresh\ air\ for\ you.=De verdat, ye hora que prengas un poquet d'aire fresco.

#: Base.java:633
Open\ an\ Arduino\ sketch...=Ubrir un sketch d'Arduino...

#: 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>Yes \nseguro que quiers salir-ne?</b><p>Si zarras o zaguer sketch ubierto se zarrar\u00e1\nArduino.

#: Base.java:970
Contributed=Contribuiu

#: Base.java:1095
Sketch\ Does\ Not\ Exist=Ixe sketch no existe

#: Base.java:1096
The\ selected\ sketch\ no\ longer\ exists.\nYou\ may\ need\ to\ restart\ Arduino\ to\ update\nthe\ sketchbook\ menu.=O sketch seleccionau ya no existe.\nYe posible que te calga reiniciar Arduino\nta esviellar o men\u00fa sketchbook.

#: 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}=O sketch "{0}" no se puede fer servir.\nOs nombres de sketch han de contener nom\u00e1s letras basicas y numers\n(Nom\u00e1s ASCII sin espacios, y no puede empecipiar con un numero).\nTa desfer-te d'iste mensache, elimina o sketch de {1}.\n

#: Base.java:1132
Ignoring\ sketch\ with\ bad\ name=Ignorando sketch con nombre incorrecto

#: 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)=A biblioteca "{0}" no se puede fer servir.\nOs nombres de biblioteca han de contener nom\u00e1s letras basicas y numers\n(Nom\u00e1s ASCII sin espacios y no puede empecipiar con un numero).

#: Base.java:1207
Ignoring\ bad\ library\ name=Ignorando o nombre incorrecto d'a biblioteca

#: Base.java:1432
Problem\ getting\ data\ folder=S'ha trobau un problema en obtener a carpeta de datos

#: Base.java:1433
Error\ getting\ the\ Arduino\ data\ folder.=S'ha trobau una error en obtener a carpeta de datos d'Arduino.

#: Base.java:1440
Settings\ issues=Problemas de configuraci\u00f3n

#: Base.java:1441
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ settings.=Arduino no puede executar porque no ha puesto\ncreyar una carpeta ta alzar a tuya configuraci\u00f3n.

#: Base.java:1602
You\ forgot\ your\ sketchbook=Has ixuplidau o tuyo sketchbook

#: Base.java:1603
Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ sketchbook.=Arduino no se puede executar porque no ha puesto\ncreyar una carpeta ta alzar o tuyo sketchbook.

#: Base.java:1623
Select\ (or\ create\ new)\ folder\ for\ sketches...=Selecciona (u creya una nueva) carpeta ta sketches...

#: Base.java:1647
Problem\ Opening\ URL=S'ha trobau un problema en ubrir a URL

#: Base.java:1648
#, java-format
Could\ not\ open\ the\ URL\n{0}=No s'ha puesto ubrir a URL\n{0}

#: Base.java:1671
Problem\ Opening\ Folder=Problema en ubrir a carpeta

#: Base.java:1672
#, java-format
Could\ not\ open\ the\ folder\n{0}=No s'ha puesto ubrir a carpeta\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=entorno

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

#: Base.java:1842
Warning=Alvertencia

#: Base.java:2196
#, java-format
Could\ not\ remove\ old\ version\ of\ {0}=No s'ha puesto eliminar a versi\u00f3n anterior de {0}

#: Base.java:2206
#, java-format
Could\ not\ replace\ {0}=No s'ha puesto reemplazar {0}

#: Base.java:2247 Base.java:2270
#, java-format
Could\ not\ delete\ {0}=No s'ha puesto borrar {0}

#: EditorHeader.java:292
New\ Tab=Nueva pestanya

#: EditorHeader.java:300
Rename=Renombrar

#: EditorHeader.java:326
Previous\ Tab=Pestanya anterior

#: EditorHeader.java:340
Next\ Tab=Siguient pestanya

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

#: EditorToolbar.java:41
Open=Ubrir

#: EditorToolbar.java:46
New\ Editor\ Window=Nueva finestra d'editor

#: EditorToolbar.java:46
Open\ in\ Another\ Window=Ubrir en unatra finestra

#: Platform.java:167
No\ launcher\ available=No i ha garra lanzador disponible

#: 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=No s'ha especificau a plataforma, u no i ha garra lanzador disponible.\nTa habilitar a obridura d'URLs u carpetas, adhibe una linia como \n"launcher\=/rota/ta/app" a o fichero preferences.txt

#: Theme.java:52
Could\ not\ read\ color\ theme\ settings.\nYou'll\ need\ to\ reinstall\ Processing.=No s'ha puesto leyer a configuraci\u00f3n d'esquema de color. \nTe caldr\u00e1 tornar a instalar Processing.

#: Preferences.java:80
Browse=Navegar

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

#: Preferences.java:84
!Arabic=

#: Preferences.java:85
!Aragonese=

#: Preferences.java:86
Catalan=Catal\u00e1n

#: Preferences.java:87
Chinese\ Simplified=Chin\u00e9s Simplificau

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

#: Preferences.java:89
Danish=Dan\u00e9s

#: Preferences.java:90
Dutch=Neerland\u00e9s

#: Preferences.java:91
English=Angl\u00e9s

#: Preferences.java:92
!Estonian=

#: Preferences.java:93
French=Franc\u00e9s

#: Preferences.java:94
Filipino=Filipino

#: Preferences.java:95
Galician=Gallego

#: Preferences.java:96
German=Alem\u00e1n

#: Preferences.java:97
Greek=Griego

#: Preferences.java:98
Hungarian=Hongaro

#: Preferences.java:99
!Indonesian=

#: Preferences.java:100
Italian=Itali\u00e1n

#: Preferences.java:101
Japanese=Chapon\u00e9s

#: Preferences.java:102
!Korean=

#: Preferences.java:103
Latvian=Let\u00f3n

#: Preferences.java:104
!Lithuaninan=

#: Preferences.java:105
Persian=Persa

#: Preferences.java:106
!Polish=

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

#: Preferences.java:109
Romanian=Rum\u00e1n

#: Preferences.java:110
!Russian=

#: Preferences.java:111
Spanish=Espanyol

#: Preferences.java:210
Could\ not\ read\ default\ settings.\nYou'll\ need\ to\ reinstall\ Arduino.=No s'ha puesto leyer a configuraci\u00f3n predeterminada.\nTe caldr\u00e1 tornar a instalar Arduino.

#: Preferences.java:242
#, java-format
Could\ not\ read\ preferences\ from\ {0}=No s'ha puesto leyer as preferencias de {0}

#: Preferences.java:261
Error\ reading\ preferences=Error en leyer as preferencias

#: Preferences.java:263
#, java-format
Error\ reading\ the\ preferences\ file.\ Please\ delete\ (or\ move)\n{0}\ and\ restart\ Arduino.=Error en leyer o fichero de preferencias. Por favor borra (u mueve)\n{0} y reinicia Arduino.

#: Preferences.java:299
Sketchbook\ location\:=Ubicaci\u00f3n d'o sketchbook\:

#: Preferences.java:314
Select\ new\ sketchbook\ location=Selecciona a nueva ubicaci\u00f3n d'o sketchbook

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

#: Preferences.java:342 Preferences.java:358
\ \ (requires\ restart\ of\ Arduino)=\  (cal reiniciar Arduino)

#: Preferences.java:354
Editor\ font\ size\:\ =Grandaria de tipo de letra ta l'editor\: 

#: Preferences.java:371
Show\ verbose\ output\ during\:\ =Amostrar resultau detallau entre\: 

#: Preferences.java:373
compilation\ =compilaci\u00f3n 

#: Preferences.java:375
upload=carga

#: Preferences.java:384
Verify\ code\ after\ upload=Verificar o codigo dimpu\u00e9s de cargar

#: Preferences.java:393
Use\ external\ editor=Fer servir un editor externo

#: Preferences.java:403
Check\ for\ updates\ on\ startup=Verificar actualizacions en empecipiar

#: Preferences.java:412
Update\ sketch\ files\ to\ new\ extension\ on\ save\ (.pde\ ->\ .ino)=Actualizar fichers de sketch a nueva extensi\u00f3n en alzar \n(.pde -> .ino)

#: Preferences.java:423
Automatically\ associate\ .ino\ files\ with\ Arduino=Asociar automaticament fichers .ino con Arduino

#: Preferences.java:433
More\ preferences\ can\ be\ edited\ directly\ in\ the\ file=Mas preferencias se pueden editar dreitament en o fichero

#: Preferences.java:462
(edit\ only\ when\ Arduino\ is\ not\ running)=(editar noma\u015b quan Arduino no se siga executando)

#: Preferences.java:609
#, java-format
ignoring\ invalid\ font\ size\ {0}=ignorando a grandaria invalida d'o tipo de letra {0}
