pt-BR.ts 139 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452
  1. export default {
  2. // Navigation
  3. nav: {
  4. printers: 'Impressoras',
  5. archives: 'Arquivos',
  6. queue: 'Fila',
  7. stats: 'Estatísticas',
  8. profiles: 'Perfis',
  9. maintenance: 'Manutenção',
  10. projects: 'Projetos',
  11. inventory: 'Inventário',
  12. files: 'Gerenciador de Arquivos',
  13. settings: 'Configurações',
  14. system: 'Sistema',
  15. collapseSidebar: 'Recolher barra lateral',
  16. expandSidebar: 'Expandir barra lateral',
  17. update: 'Atualizar',
  18. updateAvailable: 'Atualização disponível: v{{version}}',
  19. updateAvailableBanner: 'Versão {{version}} está disponível!',
  20. viewUpdate: 'Ver atualização',
  21. viewOnGithub: 'Ver no GitHub',
  22. keyboardShortcuts: 'Atalhos de teclado (?)',
  23. switchToLight: 'Mudar para modo claro',
  24. switchToDark: 'Mudar para modo escuro',
  25. smartSwitches: 'Interruptores inteligentes',
  26. logout: 'Sair',
  27. },
  28. // Common
  29. common: {
  30. save: 'Salvar',
  31. saving: 'Salvando...',
  32. cancel: 'Cancelar',
  33. delete: 'Excluir',
  34. edit: 'Editar',
  35. add: 'Adicionar',
  36. close: 'Fechar',
  37. confirm: 'Confirmar',
  38. loading: 'Carregando...',
  39. error: 'Erro',
  40. success: 'Sucesso',
  41. warning: 'Aviso',
  42. enabled: 'Ativado',
  43. disabled: 'Desativado',
  44. yes: 'Sim',
  45. no: 'Não',
  46. on: 'Ligado',
  47. off: 'Desligado',
  48. all: 'Todos',
  49. none: 'Nenhum',
  50. search: 'Pesquisar',
  51. filter: 'Filtrar',
  52. sort: 'Ordenar',
  53. refresh: 'Atualizar',
  54. download: 'Baixar',
  55. upload: 'Enviar',
  56. actions: 'Ações',
  57. status: 'Status',
  58. name: 'Nome',
  59. description: 'Descrição',
  60. date: 'Data',
  61. time: 'Hora',
  62. hours: 'Horas',
  63. minutes: 'Minutos',
  64. seconds: 'Segundos',
  65. days: 'Dias',
  66. enable: 'Ativar',
  67. disable: 'Desativar',
  68. permissions: 'Permissões',
  69. noPrinters: 'Nenhuma impressora configurada',
  70. noData: 'Nenhum dado disponível',
  71. linkNotFound: 'Link não encontrado',
  72. required: 'Obrigatório',
  73. optional: 'Opcional',
  74. dismiss: 'Dispensar',
  75. apply: 'Aplicar',
  76. reset: 'Redefinir',
  77. export: 'Exportar',
  78. import: 'Importar',
  79. clear: 'Limpar',
  80. selectAll: 'Selecionar tudo',
  81. deselectAll: 'Desmarcar tudo',
  82. noChange: '— Sem alterações —',
  83. unchanged: 'Inalterado',
  84. unassigned: 'Não atribuído',
  85. unknown: 'Desconhecido',
  86. unknownError: 'Erro desconhecido',
  87. today: 'Hoje',
  88. tomorrow: 'Amanhã',
  89. asap: 'O mais rápido possível',
  90. overdue: 'Atrasado',
  91. now: 'Agora',
  92. collapse: 'Recolher',
  93. expand: 'Expandir',
  94. viewArchive: 'Ver arquivo',
  95. viewInFileManager: 'Ver no Gerenciador de Arquivos',
  96. addedBy: 'Adicionado por {{username}}',
  97. prints: 'impressões',
  98. more: '+{{count}} mais',
  99. ascending: 'Crescente',
  100. descending: 'Decrescente',
  101. printer: 'Impressora',
  102. remove: 'Remover',
  103. type: 'Tipo',
  104. print: 'Imprimir',
  105. rename: 'Renomear',
  106. move: 'Mover',
  107. create: 'Criar',
  108. duplicate: 'Duplicar',
  109. left: 'Esquerda',
  110. right: 'Direita',
  111. },
  112. // Printers page
  113. printers: {
  114. title: 'Impressoras',
  115. addPrinter: 'Adicionar Impressora',
  116. editPrinter: 'Editar Impressora',
  117. deletePrinter: 'Excluir Impressora',
  118. printerName: 'Nome da Impressora',
  119. serialNumber: 'Número de Série',
  120. ipAddress: 'Endereço IP / Nome do Host',
  121. accessCode: 'Código de Acesso',
  122. model: 'Modelo',
  123. nozzleCount: 'Número de Bicos',
  124. autoArchive: 'Arquivamento Automático',
  125. status: {
  126. available: 'Disponível',
  127. idle: 'Ocioso',
  128. printing: 'Imprimindo',
  129. paused: 'Pausado',
  130. offline: 'Offline',
  131. error: 'Erro',
  132. finished: 'Concluído',
  133. unknown: 'Desconhecido',
  134. },
  135. temperatures: {
  136. nozzle: 'Bico',
  137. bed: 'Cama',
  138. chamber: 'Câmara',
  139. },
  140. progress: '{{percent}}% concluído',
  141. timeRemaining: '{{time}} restante',
  142. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"?',
  143. maintenanceOk: 'Manutenção OK',
  144. maintenanceWarning: '{{count}} aviso',
  145. maintenanceWarning_plural: '{{count}} avisos',
  146. maintenanceDue: '{{count}} devido',
  147. maintenanceDue_plural: '{{count}} devido',
  148. // Sort options
  149. sort: {
  150. name: 'Nome',
  151. status: 'Status',
  152. model: 'Modelo',
  153. location: 'Localização',
  154. ascending: 'Ordem crescente',
  155. descending: 'Ordem decrescente',
  156. },
  157. // Card size
  158. cardSize: {
  159. small: 'Cartões pequenos',
  160. medium: 'Cartões médios',
  161. large: 'Cartões grandes',
  162. extraLarge: 'Cartões extra grandes',
  163. },
  164. // Controls
  165. hideOffline: 'Ocultar offline',
  166. nextAvailable: 'Próximo disponível',
  167. powerOn: 'Ligar',
  168. offlinePrintersWithPlugs: 'Impressoras offline com tomadas inteligentes',
  169. noPrintersConfigured: 'Nenhuma impressora configurada ainda',
  170. // Printer card
  171. readyToPrint: 'Pronto para imprimir',
  172. external: 'Externo',
  173. extL: 'Ext-L',
  174. extR: 'Ext-R',
  175. deleteArchives: 'Excluir arquivos de impressão',
  176. noLabel: 'Sem etiqueta',
  177. printPreview: 'Pré-visualização de impressão',
  178. width: 'Largura',
  179. height: 'Altura',
  180. noObjectsFound: 'Nenhum objeto encontrado',
  181. objectsLoadedOnPrintStart: 'Objetos são carregados quando uma impressão começa',
  182. willBeSkipped: 'Será ignorado',
  183. name: 'Nome',
  184. serialCannotBeChanged: 'Número de série não pode ser alterado',
  185. locationHelp: 'Usado para agrupar impressoras e filtrar trabalhos na fila',
  186. // WiFi signal strength
  187. wifiSignal: {
  188. veryWeak: 'Muito fraco',
  189. weak: 'Fraco',
  190. fair: 'Regular',
  191. good: 'Bom',
  192. excellent: 'Excelente',
  193. },
  194. // Maintenance
  195. maintenanceUpToDate: 'Toda a manutenção está em dia - Clique para ver',
  196. // Chamber light
  197. chamberLightOn: 'Ligar luz da câmara',
  198. chamberLightOff: 'Desligar luz da câmara',
  199. // Files
  200. browseFiles: 'Procurar arquivos da impressora',
  201. // Smart plug
  202. autoOffAfterPrint: 'Desligamento automático após impressão',
  203. autoOffExecuted: 'Desligamento automático executado - ligue a impressora para reiniciar',
  204. // HMS errors
  205. hmsErrors: 'Erros HMS',
  206. viewHmsErrors: 'Ver {{count}} erro(s) HMS',
  207. // Actions
  208. resume: 'Retomar',
  209. pause: 'Pausar',
  210. stop: 'Parar',
  211. camera: 'âmera',
  212. skipObject: 'Ignorar objeto',
  213. reconnect: 'Reconectar',
  214. mqttDebug: 'Depuração MQTT',
  215. activeNozzle: 'Ativo: {{nozzle}} bico',
  216. nozzleRack: 'Suporte de bicos',
  217. nozzleDocked: 'Acoplado',
  218. nozzleMounted: 'Montado',
  219. nozzleActive: 'Ativo',
  220. nozzleIdle: 'Ocioso',
  221. nozzleDiameter: 'Diâmetro',
  222. nozzleType: 'Tipo',
  223. nozzleStatus: 'Status',
  224. nozzleFilament: 'Filamento',
  225. nozzleWear: 'Desgaste',
  226. nozzleMaxTemp: 'Temp Máx',
  227. nozzleSerial: 'Serial',
  228. nozzleHardenedSteel: 'Aço Endurecido',
  229. nozzleStainlessSteel: 'Aço Inoxidável',
  230. nozzleTungstenCarbide: 'Carboneto de Tungstênio',
  231. nozzleFlow: 'Fluxo',
  232. nozzleHighFlow: 'Alto Fluxo',
  233. nozzleStandardFlow: 'Fluxo Padrão',
  234. // Firmware
  235. firmwareUpdate: 'Atualização de Firmware',
  236. firmwareInstructions: 'No visor da impressora, vá para',
  237. firmwareNav: 'Navegar para',
  238. settings: 'Configurações',
  239. firmware: 'Firmware',
  240. // Discovery
  241. discoverPrinters: 'Descobrir Impressoras',
  242. searching: 'Procurando...',
  243. manualEntry: 'Entrada Manual',
  244. addFromCloud: 'Adicionar da Nuvem',
  245. // Toast messages
  246. toast: {
  247. printerDeleted: 'Impressora excluída',
  248. printerAdded: 'Impressora adicionada',
  249. printerUpdated: 'Impressora atualizada',
  250. failedToDelete: 'Falha ao excluir impressora',
  251. failedToAdd: 'Falha ao adicionar impressora',
  252. failedToUpdate: 'Falha ao atualizar impressora',
  253. commandSent: 'Comando enviado',
  254. failedToSendCommand: 'Falha ao enviar comando',
  255. turnedOn: '{{name}} ligado',
  256. failedToPowerOn: 'Falha ao ligar {{name}}',
  257. scriptTriggered: 'Script acionado',
  258. printStopped: 'Impressão parada',
  259. printPaused: 'Impressão pausada',
  260. printResumed: 'Impressão retomada',
  261. referenceDeleted: 'Referência excluída',
  262. detectionAreaSaved: 'Área de detecção salva',
  263. failedToRunScript: 'Falha ao executar script',
  264. failedToStopPrint: 'Falha ao parar impressão',
  265. failedToPausePrint: 'Falha ao pausar impressão',
  266. failedToResumePrint: 'Falha ao retomar impressão',
  267. failedToControlChamberLight: 'Falha ao controlar a luz da câmara',
  268. failedToUpdateSetting: 'Falha ao atualizar configuração',
  269. failedToSkipObjects: 'Falha ao ignorar objetos',
  270. failedToRereadRfid: 'Falha ao reler RFID',
  271. failedToCheckPlate: 'Falha ao verificar a placa',
  272. failedToUpdateLabel: 'Falha ao atualizar etiqueta',
  273. failedToDeleteReference: 'Falha ao excluir referência',
  274. failedToSaveDetectionArea: 'Falha ao salvar área de detecção',
  275. plateCheckEnabled: 'Verificação da placa ativada',
  276. plateCheckDisabled: 'Verificação da placa desativada',
  277. calibrationSaved: 'Calibração salva!',
  278. calibrationFailed: 'Falha na calibração',
  279. rfidRereadInitiated: 'Releitura de RFID iniciada',
  280. },
  281. // Connection status
  282. connection: {
  283. connected: 'Conectado',
  284. offline: 'Offline',
  285. },
  286. // Queue info
  287. queue: {
  288. inQueue: '{{count}} impressão na fila',
  289. inQueue_plural: '{{count}} impressões na fila',
  290. },
  291. // Controls section
  292. controls: 'Controles',
  293. // RFID
  294. rfid: {
  295. reread: 'Releitura de RFID',
  296. },
  297. // Permissions
  298. permission: {
  299. noAdd: 'Você não tem permissão para adicionar impressoras',
  300. noEdit: 'Você não tem permissão para editar impressoras',
  301. noDelete: 'Você não tem permissão para excluir impressoras',
  302. noControl: 'Você não tem permissão para controlar impressoras',
  303. noFiles: 'Você não tem permissão para acessar arquivos de impressora',
  304. noAmsRfid: 'Você não tem permissão para reler RFID AMS',
  305. noSmartPlugControl: 'Você não tem permissão para controlar tomadas inteligentes',
  306. },
  307. // Add/Edit modal
  308. modal: {
  309. addTitle: 'Adicionar Impressora',
  310. editTitle: 'Editar Impressora',
  311. myPrinter: 'Minha Impressora',
  312. selectModel: 'Selecionar modelo...',
  313. locationGroup: 'Localização / Grupo (opcional)',
  314. locationPlaceholder: 'ex.: Oficina, Escritório, Porão',
  315. autoArchiveLabel: 'Arquivar automaticamente impressões concluídas',
  316. fromPrinterSettings: 'A partir das configurações da impressora',
  317. modelOptional: 'Modelo (opcional)',
  318. saveChanges: 'Salvar alterações',
  319. },
  320. // Skip objects
  321. skipObjects: {
  322. tooltip: 'Ignorar objetos',
  323. onlyWhilePrinting: 'Ignorar objetos (apenas durante a impressão)',
  324. requiresMultiple: 'Ignorar objetos (requer 2+ objetos)',
  325. title: 'Ignorar Objetos',
  326. matchIdsInfo: 'Correspondência de IDs com o display da sua impressora',
  327. printerShowsIds: 'A tela da impressora mostra os IDs dos objetos na placa de construção',
  328. skipSelected: 'Ignorar Selecionados',
  329. skipping: 'Ignorando...',
  330. noObjectsSelected: 'Nenhum objeto selecionado',
  331. selectObjectsToSkip: 'Selecione os objetos que deseja ignorar na impressão atual',
  332. skipped: 'Ignorado',
  333. objectsSkipped: 'Objetos ignorados',
  334. activeCount: '{{count}} ativo',
  335. waitForLayer: 'Aguarde a camada 2+ para ignorar objetos (atualmente na camada {{layer}})',
  336. skip: 'Ignorar',
  337. confirmTitle: 'Ignorar Objeto?',
  338. confirmMessage: 'Tem certeza de que deseja ignorar "{{name}}"? Isso não pode ser desfeito.',
  339. },
  340. // Confirm modals
  341. confirm: {
  342. deleteTitle: 'Excluir Impressora',
  343. deleteMessage: 'Tem certeza de que deseja excluir "{{name}}"? Isso removerá todas as configurações de conexão.',
  344. deleteArchivesNote: 'Todo o histórico de impressão desta impressora será permanentemente excluído.',
  345. keepArchivesNote: 'O histórico de impressão será mantido, mas não estará mais associado a esta impressora.',
  346. stopTitle: 'Parar Impressão',
  347. stopMessage: 'Tem certeza de que deseja parar a impressão atual em "{{name}}"? Isso cancelará o trabalho de impressão.',
  348. stopButton: 'Parar Impressão',
  349. pauseTitle: 'Pausar Impressão',
  350. pauseMessage: 'Tem certeza de que deseja pausar a impressão atual em "{{name}}"?',
  351. pauseButton: 'Pausar Impressão',
  352. resumeTitle: 'Retomar Impressão',
  353. resumeMessage: 'Tem certeza de que deseja retomar a impressão em "{{name}}"?',
  354. resumeButton: 'Retomar Impressão',
  355. powerOnTitle: 'Ligar Impressora',
  356. powerOnMessage: 'Tem certeza de que deseja ligar a impressora "{{name}}"?',
  357. powerOnButton: 'Ligar',
  358. powerOffTitle: 'Desligar Impressora',
  359. powerOffMessage: 'Tem certeza de que deseja desligar a impressora "{{name}}"?',
  360. powerOffWarning: 'AVISO: "{{name}}" está imprimindo no momento! Tem certeza de que deseja desligar a impressora? Isso interromperá a impressão e pode danificar a impressora.',
  361. powerOffButton: 'Desligar',
  362. },
  363. // Discovery
  364. discovery: {
  365. title: 'Descobrir Impressoras',
  366. searching: 'Procurando...',
  367. scanning: 'Escaneando...',
  368. scanProgress: 'Escaneando... {{scanned}}/{{total}}',
  369. foundPrinters: '{{count}} impressora(s) encontrada(s)',
  370. noPrintersFound: 'Nenhuma impressora encontrada',
  371. noPrintersFoundSubnet: 'Nenhuma impressora encontrada na sub-rede especificada.',
  372. noPrintersFoundNetwork: 'Nenhuma impressora encontrada na rede.',
  373. allConfigured: 'Todas as impressoras descobertas já estão configuradas.',
  374. alreadyAdded: 'Já adicionada',
  375. select: 'Selecionar',
  376. manualEntry: 'Entrada Manual',
  377. addFromCloud: 'Adicionar da Nuvem',
  378. subnetToScan: 'Sub-rede para escanear',
  379. dockerNote: 'Docker detectado. Insira a sub-rede da sua impressora em notação CIDR. Requer network_mode: host no docker-compose.yml.',
  380. scanSubnet: 'Escanear Sub-rede para Impressoras',
  381. discoverNetwork: 'Descobrir Impressoras na Rede',
  382. scanningSubnet: 'Escaneando sub-rede para impressoras Bambu...',
  383. scanningNetwork: 'Escaneando rede...',
  384. serialRequired: 'Serial necessário',
  385. unknown: 'Desconhecido',
  386. failedToStart: 'Falha ao iniciar a descoberta',
  387. },
  388. // Filaments section
  389. filaments: 'Filamentos',
  390. // Camera
  391. openCameraOverlay: 'Abrir sobreposição da câmera',
  392. openCameraWindow: 'Abrir câmera em nova janela',
  393. // Firmware
  394. firmwareUpdateAvailable: 'Atualização de firmware disponível: {{current}} → {{latest}}',
  395. firmwareUpToDate: 'Firmware {{version}} — Atualizado',
  396. firmwareUpdateButton: 'Atualizar',
  397. // Plate detection
  398. plateDetection: {
  399. noPermission: 'Você não tem permissão para atualizar impressoras',
  400. enabledClick: 'Verificação da placa ativada - Clique para desativar',
  401. disabledClick: 'Verificação da placa desativada - Clique para ativar',
  402. manageCalibration: 'Gerenciar calibração da detecção da placa',
  403. calibrationRequired: 'Calibração necessária',
  404. calibrationInstructions: 'Certifique-se de que a placa de construção esteja <strong>completamente vazia</strong>, em seguida clique em Calibrar.',
  405. calibrationDescription: 'A calibração captura uma imagem de referência da placa vazia. Verificações futuras compararão com esta referência para detectar objetos.',
  406. calibrationTip: '<strong>Dica:</strong> Você pode armazenar até 5 calibrações para diferentes placas. O sistema usa automaticamente a melhor correspondência ao verificar.',
  407. plateEmpty: 'A placa parece vazia',
  408. objectsDetected: 'Objetos detectados na placa',
  409. confidence: 'Confiança',
  410. difference: 'Diferença',
  411. analysisPreview: 'Pré-visualização da análise:',
  412. analysisLegend: 'Caixa verde = área de detecção, Sobreposição vermelha = diferenças em relação à calibração',
  413. savedReferences: 'Referências salvas ({{count}}/{{max}})',
  414. deleteReference: 'Excluir referência',
  415. labelPlaceholder: 'Etiqueta...',
  416. clickToEdit: '{{label}} - Clique para editar',
  417. clickToAddLabel: 'Clique para adicionar etiqueta',
  418. },
  419. // Fans
  420. fans: {
  421. partCooling: 'Ventilador de resfriamento da peça',
  422. auxiliary: 'Ventilador auxiliar',
  423. chamber: 'Ventilador da câmara',
  424. },
  425. // HMS errors
  426. clickToViewHmsErrors: 'Clique para ver erros do HMS',
  427. estimatedCompletion: 'Tempo estimado de conclusão',
  428. slotOptions: 'Opções de slot',
  429. // Firmware modal
  430. firmwareModal: {
  431. title: 'Atualização de Firmware',
  432. titleUpToDate: 'Informações do Firmware',
  433. currentVersion: 'Atual:',
  434. latestVersion: 'Última:',
  435. releaseNotes: 'Notas de Lançamento',
  436. checkingPrereqs: 'Verificando pré-requisitos...',
  437. sdCardReady: 'Cartão SD pronto. Clique abaixo para enviar o firmware.',
  438. uploadedSuccess: 'Firmware enviado para o cartão SD!',
  439. applyInstructions: 'Para aplicar a atualização na sua impressora:',
  440. step1: 'Na tela sensível ao toque da impressora, vá para <strong>Configurações</strong>',
  441. step2: 'Navegue até <strong>Firmware</strong>',
  442. step3: 'Selecione <strong>Atualizar a partir do cartão SD</strong>',
  443. step4: 'A atualização levará de 10 a 20 minutos',
  444. done: 'Concluído',
  445. starting: 'Iniciando...',
  446. uploadFirmware: 'Enviar Firmware',
  447. uploadFailed: 'Falha ao iniciar o envio: {{error}}',
  448. uploadedToast: 'Firmware enviado! Inicie a atualização na tela da impressora.',
  449. },
  450. accessCodePlaceholder: 'Deixe vazio para manter o atual',
  451. // ROI editor
  452. roi: {
  453. title: 'Área de Detecção (ROI)',
  454. xStart: 'Início X',
  455. yStart: 'Início Y',
  456. width: 'Largura',
  457. height: 'Altura',
  458. instruction: 'Ajuste a área de detecção para focar na placa de construção. A caixa verde na pré-visualização mostra a área atual.',
  459. },
  460. },
  461. // Archives page
  462. archives: {
  463. title: 'Arquivos de Impressão',
  464. searchPlaceholder: 'Pesquisar arquivos...',
  465. filterByPrinter: 'Filtrar por impressora',
  466. filterByStatus: 'Filtrar por status',
  467. sortBy: 'Ordenar por',
  468. sortNewest: 'Mais recentes primeiro',
  469. sortOldest: 'Mais antigos primeiro',
  470. sortName: 'Nome',
  471. sortDuration: 'Duração',
  472. sortLargest: 'Maiores primeiro',
  473. sortSmallest: 'Menores primeiro',
  474. sortSize: 'Tamanho',
  475. noArchives: 'Nenhum arquivo encontrado',
  476. noArchivesSearch: 'Nenhum arquivo corresponde à sua pesquisa',
  477. noArchivesYet: 'Ainda não há arquivos',
  478. loadingArchives: 'Carregando arquivos...',
  479. releaseToUpload: 'Solte para enviar',
  480. showAll: 'Mostrar todos',
  481. showFavoritesOnly: 'Mostrar apenas favoritos',
  482. gridView: 'Visualização em grade',
  483. listView: 'Visualização em lista',
  484. calendarView: 'Visualização em calendário',
  485. logView: 'Registro de impressão',
  486. manageTags: 'Gerenciar etiquetas',
  487. showFailedPrints: 'Mostrar impressões falhas',
  488. hideFailedPrints: 'Ocultar impressões falhas',
  489. printTime: 'Tempo de impressão',
  490. filamentUsed: 'Filamento usado',
  491. cost: 'Custo',
  492. reprint: 'Reimprimir',
  493. preview: 'Pré-visualizar',
  494. deleteArchive: 'Excluir arquivo',
  495. deleteConfirm: 'Tem certeza de que deseja excluir este arquivo?',
  496. favorite: 'Favorito',
  497. unfavorite: 'Remover dos favoritos',
  498. viewDetails: 'Ver detalhes',
  499. status: {
  500. completed: 'Concluído',
  501. failed: 'Falhou',
  502. stopped: 'Parado',
  503. },
  504. toast: {
  505. source3mfAttached: 'Arquivo de origem 3MF anexado: {{filename}}',
  506. failedUploadSource3mf: 'Falha ao enviar arquivo de origem 3MF',
  507. source3mfRemoved: 'Arquivo de origem 3MF removido',
  508. failedRemoveSource3mf: 'Falha ao remover arquivo de origem 3MF',
  509. f3dAttached: 'F3D anexado: {{filename}}',
  510. failedUploadF3d: 'Falha ao enviar F3D',
  511. f3dRemoved: 'F3D removido',
  512. failedRemoveF3d: 'Falha ao remover F3D',
  513. timelapseAttached: 'Timelapse anexado: {{filename}}',
  514. timelapseAlreadyAttached: 'Timelapse já anexado',
  515. noMatchingTimelapse: 'Nenhum timelapse correspondente encontrado',
  516. failedScanTimelapse: 'Falha ao escanear timelapse',
  517. failedAttachTimelapse: 'Falha ao anexar timelapse',
  518. timelapseRemoved: 'Timelapse removido',
  519. failedRemoveTimelapse: 'Falha ao remover timelapse',
  520. timelapseUploaded: 'Timelapse enviado: {{filename}}',
  521. failedUploadTimelapse: 'Falha ao enviar timelapse',
  522. archiveDeleted: 'Arquivo excluído',
  523. failedDeleteArchive: 'Falha ao excluir arquivo',
  524. addedToFavorites: 'Adicionado aos favoritos',
  525. removedFromFavorites: 'Removido dos favoritos',
  526. projectUpdated: 'Projeto atualizado',
  527. failedUpdateProject: 'Falha ao atualizar projeto',
  528. linkCopied: 'Link copiado para a área de transferência',
  529. failedCopyLink: 'Falha ao copiar link',
  530. photoDeleted: 'Foto excluída',
  531. failedDeletePhoto: 'Falha ao excluir foto',
  532. failedDeleteArchives: 'Falha ao excluir arquivos',
  533. failedUpdateFavorites: 'Falha ao atualizar favoritos',
  534. exportDownloaded: 'Exportação baixada',
  535. exportFailed: 'Falha na exportação',
  536. },
  537. menu: {
  538. print: 'Imprimir',
  539. schedule: 'Agendar',
  540. openInBambuStudio: 'Abrir no Slicer',
  541. slice: 'Fatiar',
  542. externalLink: 'Link externo',
  543. viewOnMakerWorld: 'Ver no MakerWorld',
  544. preview3d: 'Pré-visualização 3D',
  545. viewTimelapse: 'Ver Timelapse',
  546. scanForTimelapse: 'Escanear Timelapse',
  547. uploadTimelapse: 'Enviar Timelapse',
  548. removeTimelapse: 'Remover Timelapse',
  549. downloadSource3mf: 'Baixar Source 3MF',
  550. uploadSource3mf: 'Enviar Source 3MF',
  551. replaceSource3mf: 'Substituir Source 3MF',
  552. removeSource3mf: 'Remover Source 3MF',
  553. uploadF3d: 'Enviar F3D',
  554. replaceF3d: 'Substituir F3D',
  555. downloadF3d: 'Baixar F3D',
  556. removeF3d: 'Remover F3D',
  557. download: 'Baixar',
  558. copyDownloadLink: 'Copiar link de download',
  559. qrCode: 'Qr Code',
  560. viewPhotos: 'Ver fotos',
  561. viewPhotosCount: 'Ver fotos ({{count}})',
  562. projectPage: 'Página do projeto',
  563. addToFavorites: 'Adicionar aos favoritos',
  564. removeFromFavorites: 'Remover dos favoritos',
  565. edit: 'Editar',
  566. goToProject: 'Ir para o projeto: {{name}}',
  567. addToProject: 'Adicionar ao projeto',
  568. removeFromProject: 'Remover do projeto',
  569. loading: 'Carregando...',
  570. noProjectsAvailable: 'Nenhum projeto disponível',
  571. select: 'Selecionar',
  572. deselect: 'Desmarcar',
  573. delete: 'Excluir',
  574. },
  575. permission: {
  576. noReprint: 'Você não tem permissão para reimprimir este arquivo',
  577. noAddToQueue: 'Você não tem permissão para adicionar à fila',
  578. noUpdateArchives: 'Você não tem permissão para atualizar arquivos',
  579. noUploadFiles: 'Você não tem permissão para enviar arquivos',
  580. noDownload: 'Você não tem permissão para baixar arquivos',
  581. noCopyLink: 'Você não tem permissão para copiar links de download',
  582. noDelete: 'Você não tem permissão para excluir este arquivo',
  583. noCreate: 'Você não tem permissão para criar arquivos',
  584. },
  585. card: {
  586. previousPlate: 'Placa anterior',
  587. nextPlate: 'Próxima placa',
  588. plateNumber: 'Placa {{index}}',
  589. moreOptions: 'Clique com o botão direito para mais opções',
  590. addToFavorites: 'Adicionar aos favoritos',
  591. removeFromFavorites: 'Remover dos favoritos',
  592. cancelled: 'cancelado',
  593. failed: 'falha',
  594. duplicate: 'duplicado',
  595. duplicateTitle: 'Este modelo já foi impresso antes',
  596. openSource3mf: 'Abrir source 3MF no Bambu Studio (clique com o botão direito para mais opções)',
  597. downloadF3d: 'Baixar arquivo de design do Fusion 360',
  598. viewTimelapse: 'Ver timelapse',
  599. viewPhoto: 'Ver 1 foto',
  600. viewPhotos: 'Ver {{count}} fotos',
  601. openFolder: 'Abrir pasta: {{name}}',
  602. slicedFile: 'Arquivo fatiado - pronto para imprimir',
  603. sourceFile: 'Apenas arquivo fonte - nenhum mapeamento AMS disponível',
  604. gcode: 'GCODE',
  605. source: 'SOURCE',
  606. project: 'Projeto: {{name}}',
  607. estimated: 'Estimado: {{time}}',
  608. actual: 'Real: {{time}}',
  609. accuracy: 'Precisão: {{percent}}%',
  610. filament: '{{weight}}g',
  611. layer: '{{count}} camada',
  612. layers: '{{count}} camadas',
  613. object: '{{count}} objeto',
  614. objects: '{{count}} objetos',
  615. slicedFor: 'Fatiado para {{model}}',
  616. uploadedBy: 'Enviado por',
  617. noPermissionReprint: 'Você não tem permissão para reimprimir',
  618. noFileForReprint: 'Nenhum arquivo 3MF disponível — o arquivo não pôde ser baixado da impressora quando a impressão foi registrada',
  619. noPermissionEdit: 'Você não tem permissão para editar arquivos',
  620. noPermissionDelete: 'Você não tem permissão para excluir arquivos',
  621. reprint: 'Reimprimir',
  622. schedulePrint: 'Agendar impressão',
  623. schedule: 'Agendar',
  624. openInBambuStudio: 'Abrir no Bambu Studio',
  625. openInBambuStudioToSlice: 'Abrir no Bambu Studio para fatiar',
  626. slice: 'Fatiar',
  627. externalLink: 'Link externo',
  628. makerWorld: 'MakerWorld: {{designer}}',
  629. viewProject: 'Ver projeto',
  630. noExternalLink: 'Nenhum link externo',
  631. preview3d: 'Visualização 3D',
  632. download: 'Baixar',
  633. edit: 'Editar',
  634. delete: 'Excluir',
  635. },
  636. modal: {
  637. deleteArchive: 'Excluir Arquivo',
  638. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"? Esta ação não pode ser desfeita.',
  639. deleteButton: 'Excluir',
  640. removeSource3mf: 'Remover Source 3MF',
  641. removeSource3mfConfirm: 'Tem certeza de que deseja remover o arquivo source 3MF de "{{name}}"? Isso excluirá o arquivo original do projeto do fatiador.',
  642. removeButton: 'Remover',
  643. removeF3d: 'Remover F3D',
  644. removeF3dConfirm: 'Tem certeza de que deseja remover o arquivo de design do Fusion 360 de "{{name}}"?',
  645. removeTimelapse: 'Remover Timelapse',
  646. removeTimelapseConfirm: 'Tem certeza de que deseja remover o vídeo timelapse de "{{name}}"?',
  647. timelapse: '{{name}} - Timelapse',
  648. selectTimelapse: 'Selecionar Timelapse',
  649. selectTimelapseDesc: 'Nenhuma correspondência automática encontrada. Selecione o timelapse para esta impressão:',
  650. deleteArchives: 'Excluir Arquivos',
  651. deleteArchivesConfirm: 'Tem certeza de que deseja excluir {{count}} arquivo(s)? Esta ação não pode ser desfeita.',
  652. deleteCount: 'Excluir {{count}}',
  653. },
  654. page: {
  655. title: 'Arquivos',
  656. printsCount: '{{filtered}} de {{total}} impressões',
  657. dropFilesHere: 'Solte arquivos .3mf aqui',
  658. releaseToUpload: 'Solte para enviar',
  659. only3mfSupported: 'Apenas arquivos .3mf são suportados',
  660. close: 'Fechar',
  661. selected: '{{count}} selecionado(s)',
  662. selectAll: 'Selecionar Todos',
  663. tags: 'Tags',
  664. project: 'Projeto',
  665. favorite: 'Favorito',
  666. delete: 'Excluir',
  667. toggledFavorites: 'Favoritos alternados para {{count}} arquivo(s)',
  668. failedUpdateFavorites: 'Falha ao atualizar favoritos',
  669. archivesDeleted: '{{count}} arquivo(s) excluído(s)',
  670. failedDeleteArchives: 'Falha ao excluir arquivos',
  671. photoDeleted: 'Foto excluída',
  672. failedDeletePhoto: 'Falha ao excluir foto',
  673. },
  674. list: {
  675. name: 'Nome',
  676. printer: 'Impressora',
  677. date: 'Data',
  678. size: 'Tamanho',
  679. actions: 'Ações',
  680. hasTimelapse: 'Possui timelapse',
  681. },
  682. log: {
  683. date: 'Data',
  684. printName: 'Nome da Impressão',
  685. printer: 'Impressora',
  686. user: 'Usuário',
  687. status: 'Status',
  688. duration: 'Duração',
  689. filament: 'Filamento',
  690. allPrinters: 'Todas as Impressoras',
  691. allUsers: 'Todos os Usuários',
  692. allStatuses: 'Todos os Status',
  693. cancelled: 'Cancelado',
  694. skipped: 'Ignorado',
  695. dateFrom: 'De',
  696. dateTo: 'Até',
  697. noEntries: 'Nenhuma entrada de registro de impressão encontrada',
  698. showing: 'Mostrando {{count}} de {{total}} entradas',
  699. rowsPerPage: 'Linhas',
  700. page: 'Página',
  701. prev: 'Anterior',
  702. next: 'Próxima',
  703. clearLog: 'Limpar Registro',
  704. clearLogTitle: 'Limpar Registro de Impressão',
  705. clearLogConfirm: 'Todas as entradas do registro de impressão serão permanentemente excluídas. Arquivos e itens da fila não serão afetados. Esta ação não pode ser desfeita. Tem certeza?',
  706. clearLogButton: 'Limpar Tudo',
  707. cleared: '{{count}} entradas do registro de impressão limpas',
  708. clearFailed: 'Falha ao limpar o registro de impressão',
  709. },
  710. },
  711. // Queue page
  712. queue: {
  713. title: 'Fila de Impressão',
  714. subtitle: 'Agende e gerencie seus trabalhos de impressão',
  715. addToQueue: 'Adicionar à Fila',
  716. // Print modal
  717. print: 'Imprimir',
  718. reprint: 'Reimprimir',
  719. schedulePrint: 'Agendar Impressão',
  720. editQueueItem: 'Editar Item da Fila',
  721. printToPrinters: 'Imprimir para {{count}} Impressoras',
  722. queueToPrinters: 'Adicionar à Fila para {{count}} Impressoras',
  723. sending: 'Enviando...',
  724. sendingProgress: 'Enviando {{current}}/{{total}}...',
  725. adding: 'Adicionando...',
  726. addingProgress: 'Adicionando {{current}}/{{total}}...',
  727. savingProgress: 'Salvando {{current}}/{{total}}...',
  728. clearQueue: 'Limpar Fila',
  729. clearHistory: 'Limpar Histórico',
  730. emptyQueue: 'Fila vazia',
  731. position: 'Posição',
  732. scheduledTime: 'Hora Agendada',
  733. moveUp: 'Mover para Cima',
  734. moveDown: 'Mover para Baixo',
  735. startNow: 'Iniciar Agora',
  736. printingInProgress: 'Impressão em andamento...',
  737. viewArchive: 'Ver Arquivo',
  738. viewInFileManager: 'Ver no Gerenciador de Arquivos',
  739. itemCount: '{{count}} item',
  740. itemCount_plural: '{{count}} itens',
  741. dragToReorder: 'Arraste para reordenar (apenas ASAP)',
  742. reorderHint: 'A posição afeta apenas itens ASAP. Itens agendados são executados no horário definido.',
  743. addedBy: 'Adicionado por {{name}}',
  744. nextInQueue: 'Próximo na fila',
  745. clearPlate: 'Limpar Placa e Iniciar Próximo',
  746. clearPlateSuccess: 'Placa limpa — pronta para a próxima impressão',
  747. plateReady: 'Placa limpa — pronta para a próxima impressão',
  748. plateNumber: 'Placa {{index}}',
  749. // Sections
  750. sections: {
  751. currentlyPrinting: 'Imprimindo Atualmente',
  752. queued: 'Na Fila',
  753. history: 'Histórico',
  754. },
  755. // Status
  756. status: {
  757. pending: 'Pendente',
  758. waiting: 'Aguardando',
  759. printing: 'Imprimindo',
  760. paused: 'Pausado',
  761. completed: 'Concluído',
  762. failed: 'Falhou',
  763. skipped: 'Ignorado',
  764. cancelled: 'Cancelado',
  765. },
  766. // Summary cards
  767. summary: {
  768. printing: 'Imprimindo',
  769. queued: 'Na Fila',
  770. totalTime: 'Tempo Total da Fila',
  771. totalWeight: 'Peso Total da Fila',
  772. history: 'Histórico',
  773. },
  774. // Filters
  775. filter: {
  776. allPrinters: 'Todas as Impressoras',
  777. unassigned: 'Não Atribuído',
  778. allStatus: 'Todos os Status',
  779. allLocations: 'Todos os Locais',
  780. any: 'Qualquer',
  781. },
  782. // Sort
  783. sort: {
  784. byPosition: 'Ordenar por Posição',
  785. byName: 'Ordenar por Nome',
  786. byPrinter: 'Ordenar por Impressora',
  787. bySchedule: 'Ordenar por Agendamento',
  788. byDate: 'Ordenar por Data',
  789. ascendingOldest: 'Crescente (mais antigo primeiro)',
  790. descendingNewest: 'Decrescente (mais recente primeiro)',
  791. },
  792. // Badges
  793. badges: {
  794. staged: 'Preparado (início manual)',
  795. requiresPrevious: 'Requer sucesso anterior',
  796. autoPowerOff: 'Desligamento automático',
  797. },
  798. // Empty state
  799. empty: {
  800. title: 'Nenhuma impressão agendada',
  801. description: 'Agende uma impressão a partir da página de Arquivos usando a opção "Agendar" no menu de contexto, ou arraste e solte arquivos para começar.',
  802. },
  803. // Time
  804. time: {
  805. asap: 'ASAP',
  806. overdue: 'Atrasado',
  807. now: 'Agora',
  808. lessThanMinute: 'Em menos de um minuto',
  809. inMinutes: 'Em {{count}} min',
  810. inHours: 'Em {{count}} horas',
  811. },
  812. // Actions
  813. actions: {
  814. stopPrint: 'Parar Impressão',
  815. startPrint: 'Iniciar Impressão',
  816. requeue: 'Reenfileirar',
  817. },
  818. // Bulk edit
  819. bulkEdit: {
  820. title: 'Editar {{count}} Item',
  821. title_plural: 'Editar {{count}} Itens',
  822. description: 'Apenas as configurações alteradas serão aplicadas aos itens selecionados.',
  823. printer: 'Impressora',
  824. noChange: '— Sem alterações —',
  825. queueOptions: 'Opções de Fila',
  826. staged: 'Preparado (início manual)',
  827. autoPowerOff: 'Desligamento automático após impressão',
  828. requirePrevious: 'Requer sucesso anterior',
  829. printOptions: 'Opções de Impressão',
  830. bedLevelling: 'Nivelamento da Mesa',
  831. flowCalibration: 'Calibração de Fluxo',
  832. vibrationCalibration: 'Calibração de Vibração',
  833. layerInspection: 'Inspeção da Primeira Camada',
  834. timelapse: 'Timelapse',
  835. useAms: 'Usar AMS',
  836. applyChanges: 'Aplicar Alterações',
  837. selectAll: 'Selecionar Todos',
  838. deselectAll: 'Desmarcar Todos',
  839. selected: '{{count}} selecionado(s)',
  840. editSelected: 'Editar Selecionados',
  841. cancelSelected: 'Cancelar Selecionados',
  842. },
  843. // Confirmations
  844. confirm: {
  845. cancelTitle: 'Cancelar Impressão Agendada',
  846. cancelMessage: 'Tem certeza de que deseja cancelar "{{name}}"?',
  847. stopTitle: 'Parar Impressão',
  848. stopMessage: 'Tem certeza de que deseja parar a impressão atual "{{name}}"? Isso cancelará o trabalho de impressão na impressora.',
  849. removeTitle: 'Remover do Histórico',
  850. removeMessage: 'Tem certeza de que deseja remover "{{name}}" do histórico da fila?',
  851. clearHistoryTitle: 'Limpar Histórico',
  852. clearHistoryMessage: 'Tem certeza de que deseja remover todos os {{count}} itens do histórico?',
  853. cancelButton: 'Cancelar Impressão',
  854. stopButton: 'Parar Impressão',
  855. thisPrint: 'esta impressão',
  856. thisItem: 'este item',
  857. },
  858. // Toast messages
  859. toast: {
  860. cancelled: 'Item da fila cancelado',
  861. cancelFailed: 'Falha ao cancelar item',
  862. removed: 'Item da fila removido',
  863. removeFailed: 'Falha ao remover item',
  864. stopped: 'Impressão parada',
  865. stopFailed: 'Falha ao parar impressão',
  866. released: 'Impressão liberada para a fila',
  867. startFailed: 'Falha ao iniciar impressão',
  868. reorderFailed: 'Falha ao reordenar fila',
  869. historyCleared: 'Limpar {{count}} item(s) do histórico',
  870. clearHistoryFailed: 'Falha ao limpar histórico',
  871. updateFailed: 'Falha ao atualizar itens',
  872. bulkCancelled: 'Cancelado {{count}} item(s)',
  873. bulkCancelFailed: 'Falha ao cancelar itens',
  874. },
  875. // Permissions
  876. permissions: {
  877. noStopPrint: 'Você não tem permissão para parar impressões',
  878. noStartPrint: 'Você não tem permissão para iniciar impressões',
  879. noEdit: 'Você não tem permissão para editar este item da fila',
  880. noCancel: 'Você não tem permissão para cancelar este item da fila',
  881. noRequeue: 'Você não tem permissão para reenfileirar itens',
  882. noRemove: 'Você não tem permissão para remover este item da fila',
  883. noClearHistory: 'Você não tem permissão para limpar todo o histórico',
  884. noEditItems: 'Você não tem permissão para editar itens da fila',
  885. noCancelItems: 'Você não tem permissão para cancelar itens da fila',
  886. },
  887. },
  888. // Statistics page
  889. stats: {
  890. title: 'Dashboard',
  891. subtitle: 'Arraste os widgets para reorganizar. Clique no ícone de olho para ocultar.',
  892. overview: 'Visão Geral',
  893. totalPrints: 'Total de Impressões',
  894. successRate: 'Taxa de Sucesso',
  895. totalPrintTime: 'Tempo Total de Impressão',
  896. printTime: 'Tempo de Impressão',
  897. totalFilament: 'Filamento Total Utilizado',
  898. filamentUsed: 'Filamento Utilizado',
  899. filamentCost: 'Custo do Filamento',
  900. totalCost: 'Custo Total',
  901. energyUsed: 'Energia Utilizada',
  902. energyCost: 'Custo da Energia',
  903. averagePrintTime: 'Tempo Médio de Impressão',
  904. printsPerDay: 'Impressões por Dia',
  905. byPrinter: 'Por Impressora',
  906. printsByPrinter: 'Impressões por Impressora',
  907. byMaterial: 'Por Material',
  908. byMonth: 'Por Mês',
  909. last7Days: 'Últimos 7 Dias',
  910. last30Days: 'Últimos 30 Dias',
  911. last90Days: 'Últimos 90 Dias',
  912. allTime: 'Todo o Tempo',
  913. // Widgets
  914. quickStats: 'Estatísticas Rápidas',
  915. printActivity: 'Atividade de Impressão',
  916. filamentTypes: 'Tipos de Filamento',
  917. filamentTrends: 'Tendências de Filamento',
  918. failureAnalysis: 'Análise de Falhas',
  919. timeAccuracy: 'Precisão do Tempo',
  920. successful: 'Bem-sucedido:',
  921. failed: 'Falhou:',
  922. perfectEstimate: '100% = estimativa perfeita',
  923. noTimeAccuracyData: 'Nenhum dado de precisão de tempo disponível',
  924. noFilamentData: 'Nenhum dado de filamento disponível',
  925. noPrinterData: 'Nenhum dado de impressora disponível',
  926. noPrintData: 'Nenhum dado de impressão disponível',
  927. noPrintDataLast30Days: 'Nenhum dado de impressão nos últimos 30 dias',
  928. failureReasons: 'Razões de Falha',
  929. topFailureReasons: 'Principais Razões de Falha',
  930. failedPrintsCount: '{{failed}} / {{total}} impressões falharam',
  931. lastWeekRate: 'Última semana: {{rate}}%',
  932. // Actions
  933. resetLayout: 'Redefinir Layout',
  934. recalculateCosts: 'Recalcular Custos',
  935. recalculateCostsHint: 'Recalcular todos os custos do arquivo usando os preços atuais do filamento',
  936. exportStats: 'Exportar Estatísticas',
  937. exportAsCsv: 'Exportar como CSV',
  938. exportAsExcel: 'Exportar como Excel',
  939. hiddenCount: '{{count}} Oculto',
  940. // Toast
  941. exportDownloaded: 'Exportação baixada',
  942. exportFailed: 'Falha na exportação',
  943. layoutReset: 'Layout redefinido',
  944. recalculatedCosts: 'Custos recalculados para {{count}} arquivos',
  945. recalculateFailed: 'Falha ao recalcular custos',
  946. // Loading
  947. loadingStats: 'Carregando estatísticas...',
  948. // Permissions
  949. noPermissionResetLayout: 'Você não tem permissão para redefinir o layout',
  950. noPermissionRecalculate: 'Você não tem permissão para recalcular custos',
  951. },
  952. // Maintenance page
  953. maintenance: {
  954. title: 'Manutenção',
  955. overview: 'Visão Geral',
  956. allOk: 'Todas as manutenções estão em dia',
  957. dueCount: '{{count}} item pendente',
  958. dueCount_plural: '{{count}} itens pendentes',
  959. warningCount: '{{count}} aviso',
  960. warningCount_plural: '{{count}} avisos',
  961. totalPrintTime: 'Tempo Total de Impressão',
  962. nextMaintenance: 'Próxima Manutenção',
  963. nothingDue: 'Nada pendente',
  964. tasks: 'Tarefas',
  965. lastPerformed: 'Última execução',
  966. interval: 'Intervalo',
  967. hoursRemaining: '{{hours}}h restantes',
  968. hoursOverdue: '{{hours}}h atrasadas',
  969. markDone: 'Marcar como Concluída',
  970. performMaintenance: 'Realizar Manutenção',
  971. history: 'Histórico',
  972. noHistory: 'Nenhum histórico de manutenção',
  973. editPrintHours: 'Editar Horas de Impressão',
  974. currentHours: 'Horas Atuais',
  975. // Tabs
  976. statusTab: 'Status',
  977. settingsTab: 'Configurações',
  978. // Status
  979. overdueCount: '{{count}} atrasado',
  980. dueSoonCount: '{{count}} prestes a vencer',
  981. dueSoon: 'Prestes a vencer',
  982. allGood: 'Tudo certo',
  983. overdueBy: 'Atrasado por {{duration}}',
  984. dueIn: 'Vence em {{duration}}',
  985. timeLeft: '{{duration}} restantes',
  986. // Duration formats
  987. day: '1 dia',
  988. days: '{{count}} dias',
  989. week: '1 semana',
  990. weeks: '{{count}} semanas',
  991. month: '1 mês',
  992. months: '{{count}} meses',
  993. year: '1 ano',
  994. // Settings
  995. maintenanceTypes: 'Tipos de Manutenção',
  996. maintenanceTypesDescription: 'Tipos de sistema e suas tarefas de manutenção personalizadas',
  997. addCustomType: 'Adicionar Tipo Personalizado',
  998. restoreDefaults: 'Restaurar Tarefas Padrão',
  999. intervalType: 'Tipo de Intervalo',
  1000. intervalValue: 'Intervalo ({{type}})',
  1001. icon: 'Icon',
  1002. documentationLink: 'Link da Documentação (opcional)',
  1003. assignToPrinters: 'Atribuir a Impressoras',
  1004. selectAtLeastOnePrinter: 'Selecione pelo menos uma impressora',
  1005. addType: 'Adicionar Tipo',
  1006. custom: 'Personalizado',
  1007. printHours: 'Horas de Impressão',
  1008. calendarDays: 'Dias de Calendário',
  1009. exampleName: 'ex., Substituir Filtro HEPA',
  1010. viewDocumentation: 'Ver documentação',
  1011. timeBasedInterval: 'Intervalo baseado em tempo',
  1012. // Interval overrides
  1013. intervalOverrides: 'Substituições de Intervalo',
  1014. intervalOverridesDescription: 'Personalize os intervalos para impressoras específicas',
  1015. // Printer assignment
  1016. assignedToPrinters: 'Atribuído a impressoras:',
  1017. noPrintersAssigned: 'Nenhuma impressora atribuída',
  1018. addPrinterShort: 'Adicionar:',
  1019. printersAssignedClick: '{{count}} impressora(s) atribuída(s) - clique para gerenciar',
  1020. removeFromPrinter: 'Remover desta impressora',
  1021. // Types
  1022. types: {
  1023. lubricateCarbonRods: 'Lubricar Barras de Carbono',
  1024. lubricateRails: 'Lubricar Trilhos Lineares',
  1025. cleanNozzle: 'Limpar Bico/Hotend',
  1026. checkBelts: 'Verificar Tensão das Correias',
  1027. cleanBuildPlate: 'Limpar Plataforma de Impressão',
  1028. checkExtruder: 'Verificar Engrenagens do Extrusor',
  1029. checkCooling: 'Verificar Ventiladores de Resfriamento',
  1030. generalInspection: 'Inspeção Geral',
  1031. cleanCarbonRods: 'Limpar Barras de Carbono',
  1032. cleanLinearRails: 'Limpar Trilhos Lineares',
  1033. checkPtfeTube: 'Verificar Tubo PTFE',
  1034. replaceHepaFilter: 'Substituir Filtro HEPA',
  1035. replaceCarbonFilter: 'Substituir Filtro de Carbono',
  1036. lubricateLeftNozzleRail: 'Lubrificar Trilho do Bico Esquerdo',
  1037. },
  1038. // Toast
  1039. maintenanceComplete: 'Manutenção marcada como concluída',
  1040. typeUpdated: 'Tipo de manutenção atualizado',
  1041. typeDeleted: 'Tipo de manutenção excluído',
  1042. defaultsRestored: 'Restauradas {{count}} tarefa(s) padrão',
  1043. printHoursUpdated: 'Horas de impressão atualizadas',
  1044. printerAssigned: 'Impressora atribuída',
  1045. printerRemoved: 'Impressora removida',
  1046. // Confirmation
  1047. deleteTypeConfirm: 'Excluir "{{name}}"?',
  1048. deleteSystemTypeTitle: 'Excluir tarefa de manutenção padrão?',
  1049. deleteSystemTypeMessage: 'Tem certeza de que deseja excluir a tarefa de manutenção padrão "{{name}}"?',
  1050. // Permissions
  1051. noPermissionUpdate: 'Você não tem permissão para atualizar itens de manutenção',
  1052. noPermissionPerform: 'Você não tem permissão para realizar manutenção',
  1053. noPermissionEditTypes: 'Você não tem permissão para editar tipos de manutenção',
  1054. noPermissionDeleteTypes: 'Você não tem permissão para excluir tipos de manutenção',
  1055. noPermissionEditHours: 'Você não tem permissão para editar horas de impressão',
  1056. noPermissionRemovePrinter: 'Você não tem permissão para remover atribuições de impressora',
  1057. noPermissionAssignPrinter: 'Você não tem permissão para atribuir impressoras',
  1058. noPermissionEditIntervals: 'Você não tem permissão para editar intervalos',
  1059. // Configure link
  1060. configureSettings: 'Configure tipos de manutenção e intervalos',
  1061. },
  1062. // Settings page
  1063. settings: {
  1064. title: 'Configurações',
  1065. general: 'Geral',
  1066. // Tab names
  1067. tabs: {
  1068. general: 'Geral',
  1069. smartPlugs: 'Tomadas Inteligentes',
  1070. notifications: 'Notificações',
  1071. filament: 'Filamento',
  1072. network: 'Rede',
  1073. apiKeys: 'Chaves API',
  1074. virtualPrinter: 'Impressora Virtual',
  1075. users: 'Autenticação',
  1076. backup: 'Backup',
  1077. emailAuth: 'Autenticação por Email',
  1078. },
  1079. // Email settings
  1080. email: {
  1081. smtpSettings: 'Configuração SMTP',
  1082. smtpHost: 'Servidor SMTP',
  1083. smtpPort: 'Porta SMTP',
  1084. security: 'Segurança',
  1085. authentication: 'Autenticação',
  1086. username: 'Nome de Usuário',
  1087. password: 'Senha',
  1088. fromEmail: 'Email de Remetente',
  1089. fromName: 'Nome de Remetente',
  1090. testConnection: 'Testar Conexão SMTP',
  1091. testRecipient: 'Email de Teste',
  1092. sendTest: 'Enviar Email de Teste',
  1093. sending: 'Enviando...',
  1094. save: 'Salvar Configurações',
  1095. saving: 'Salvando...',
  1096. advancedAuth: 'Autenticação Avançada',
  1097. advancedAuthEnabled: 'Autenticação Avançada está habilitada',
  1098. advancedAuthEnabledDesc: 'Recursos de gerenciamento de usuários baseados em email estão ativos. Novos usuários receberão senhas geradas automaticamente por email, e os usuários podem redefinir suas senhas através do recurso de esqueci minha senha.',
  1099. advancedAuthDisabled: 'Autenticação Avançada está desabilitada',
  1100. advancedAuthDisabledDesc: 'Habilite a autenticação avançada para ativar recursos baseados em email para gerenciamento de usuários.',
  1101. enable: 'Habilitar',
  1102. disable: 'Desabilitar',
  1103. feature1: 'Senhas são geradas automaticamente e enviadas por email para novos usuários',
  1104. feature2: 'Usuários podem fazer login com nome de usuário ou email',
  1105. feature3: 'Recurso de esqueci minha senha está disponível',
  1106. feature4: 'Administradores podem redefinir senhas de usuários via email',
  1107. // Error messages
  1108. errors: {
  1109. requiredFields: 'Por favor, preencha todos os campos obrigatórios',
  1110. usernameRequired: 'Nome de usuário é obrigatório quando a autenticação está habilitada',
  1111. enterTestEmail: 'Por favor, insira um endereço de email de teste',
  1112. smtpServerAndEmail: 'Por favor, preencha o servidor SMTP e o email de remetente antes de testar',
  1113. usernamePasswordRequired: 'Nome de usuário e senha são obrigatórios quando a autenticação está habilitada',
  1114. configureSmtpFirst: 'Por favor, configure e teste as configurações SMTP primeiro',
  1115. },
  1116. // Success messages
  1117. success: {
  1118. settingsSaved: 'Configurações SMTP salvas com sucesso',
  1119. },
  1120. // Security options
  1121. securityOptions: {
  1122. starttls: 'STARTTLS (Porta 587)',
  1123. ssl: 'SSL/TLS (Porta 465)',
  1124. none: 'Nenhuma (Porta 25)',
  1125. },
  1126. // Authentication options
  1127. authOptions: {
  1128. enabled: 'Habilitado',
  1129. disabled: 'Desabilitado',
  1130. },
  1131. },
  1132. appearance: 'Aparência',
  1133. notifications: 'Notificações',
  1134. smartPlugs: 'Tomadas Inteligentes',
  1135. spoolman: 'Spoolman',
  1136. updates: 'Atualizações',
  1137. language: 'Idioma',
  1138. languageDescription: 'Selecione seu idioma preferido',
  1139. theme: 'Tema',
  1140. themeLight: 'Claro',
  1141. themeDark: 'Escuro',
  1142. themeSystem: 'Sistema',
  1143. defaultView: 'Visualização Padrão',
  1144. defaultViewDescription: 'Página a ser exibida ao abrir o aplicativo',
  1145. checkForUpdates: 'Verificar Atualizações',
  1146. autoUpdate: 'Atualização Automática',
  1147. currentVersion: 'Versão Atual',
  1148. latestVersion: 'Última Versão',
  1149. upToDate: 'Você está atualizado',
  1150. updateAvailable: 'Atualização disponível',
  1151. // Notifications
  1152. notificationLanguage: 'Idioma das Notificações',
  1153. notificationLanguageDescription: 'Idioma para notificações push',
  1154. bedCooledThreshold: 'Limite de Resfriamento da Cama',
  1155. bedCooledThresholdDescription: 'Temperatura abaixo da qual a cama é considerada resfriada após uma impressão',
  1156. notificationProviders: 'Provedores de Notificação',
  1157. addProvider: 'Adicionar Provedor',
  1158. editProvider: 'Editar Provedor',
  1159. providerType: 'Tipo de Provedor',
  1160. testNotification: 'Testar Notificação',
  1161. testSuccess: 'Notificação de teste enviada com sucesso',
  1162. testFailed: 'Falha ao enviar notificação de teste',
  1163. quietHours: 'Horas de Silêncio',
  1164. quietHoursDescription: 'Não perturbe durante essas horas',
  1165. quietHoursStart: 'Início',
  1166. quietHoursEnd: 'Fim',
  1167. events: {
  1168. title: 'Eventos de Notificação',
  1169. printStart: 'Impressão Iniciada',
  1170. printComplete: 'Impressão Concluída',
  1171. printFailed: 'Falha na Impressão',
  1172. printStopped: 'Impressão Interrompida',
  1173. printProgress: 'Marcos de Progresso',
  1174. printProgressDescription: 'Notificar em 25%, 50%, 75%',
  1175. printerOffline: 'Impressora Offline',
  1176. printerError: 'Erro na Impressora',
  1177. filamentLow: 'Filamento Baixo',
  1178. maintenanceDue: 'Manutenção Pendente',
  1179. maintenanceDueDescription: 'Notificar quando a manutenção for necessária',
  1180. },
  1181. // Smart Plugs
  1182. smartPlug: {
  1183. title: 'Tomadas Inteligentes',
  1184. add: 'Adicionar Tomada Inteligente',
  1185. edit: 'Editar Tomada Inteligente',
  1186. name: 'Nome',
  1187. ipAddress: 'Endereço IP',
  1188. linkedPrinter: 'Impressora Vinculada',
  1189. autoOn: 'Ligar Automaticamente',
  1190. autoOnDescription: 'Ligar quando a impressão começar',
  1191. autoOff: 'Desligar Automaticamente',
  1192. autoOffDescription: 'Desligar após a conclusão da impressão',
  1193. offDelay: 'Atraso para Desligar',
  1194. offDelayMinutes: 'Minutos após a impressão',
  1195. offDelayTemp: 'Quando o bico estiver abaixo da temperatura',
  1196. currentState: 'Estado Atual',
  1197. turnOn: 'Ligar',
  1198. turnOff: 'Desligar',
  1199. },
  1200. // Filament Tracking Mode
  1201. filamentTracking: 'Rastreamento de Filamento',
  1202. filamentTrackingDesc: 'Escolha como rastrear seus rolos de filamento. Você pode usar o inventário interno ou conectar a um servidor Spoolman externo.',
  1203. trackingModeBuiltIn: 'Inventário Interno',
  1204. trackingModeBuiltInDesc: 'Correspondência automática de RFID e rastreamento de uso incluídos',
  1205. trackingModeSpoolmanDesc: 'Servidor de gerenciamento de filamento externo',
  1206. builtInFeatureRfid: 'Detecta automaticamente rolos RFID da Bambu Lab no AMS',
  1207. builtInFeatureUsage: 'Rastreia o consumo de filamento por impressão',
  1208. builtInFeatureCatalog: 'Gerencia rolos, cores e perfis de fator K',
  1209. builtInFeatureThirdParty: 'Rolos de terceiros podem ser atribuídos aos rolos do inventário',
  1210. amsSyncButton: 'Sincronizar Pesos do AMS',
  1211. amsSyncTitle: 'Sincronizar Pesos dos Rolos do AMS',
  1212. amsSyncMessage: 'Isso substituirá todos os pesos dos rolos do inventário pelos valores atuais de % restante do AMS das impressoras conectadas. Use isso para recuperar dados de peso corrompidos. As impressoras devem estar online.',
  1213. amsSyncing: 'Sincronizando...',
  1214. amsSyncSuccess: '{{synced}} rolo(s) sincronizado(s), {{skipped}} ignorado(s)',
  1215. amsSyncError: 'Falha ao sincronizar pesos do AMS',
  1216. // Spoolman settings
  1217. spoolmanUrl: 'Spoolman URL',
  1218. spoolmanUrlHint: 'URL do seu servidor Spoolman (por exemplo, http://localhost:7912)',
  1219. spoolmanConnected: 'Conectado',
  1220. spoolmanDisconnected: 'Desconectado',
  1221. status: 'Status',
  1222. connect: 'Conectar',
  1223. disconnect: 'Desconectar',
  1224. howSyncWorks: 'Como a Sincronização Funciona',
  1225. syncInfoRfidOnly: 'Apenas rolos oficiais da Bambu Lab com RFID são sincronizados',
  1226. syncInfoAutoCreate: 'Novos rolos são criados automaticamente no Spoolman na primeira sincronização',
  1227. syncInfoThirdPartySkipped: 'Rolos não oficiais da Bambu Lab (terceiros, reabastecidos) são ignorados',
  1228. linkingExistingSpools: 'Vinculando Rolos Existentes',
  1229. linkingExistingSpoolsDesc: 'Para vincular rolos existentes do Spoolman ao seu AMS, passe o mouse sobre um slot do AMS e clique em "Vincular ao Spoolman".',
  1230. syncMode: 'Modo de Sincronização',
  1231. syncModeAuto: 'Automático',
  1232. syncModeManual: 'Apenas Manual',
  1233. syncModeAutoDesc: 'Os dados do AMS são sincronizados automaticamente quando alterações são detectadas',
  1234. syncModeManualDesc: 'Somente sincronize quando acionado manualmente',
  1235. syncAmsData: 'Sincronizar Dados do AMS',
  1236. syncAmsDataDesc: 'Sincronize manualmente os dados do AMS da impressora com o Spoolman',
  1237. allPrinters: 'Todas as Impressoras',
  1238. // Default printer
  1239. noDefaultPrinter: 'Sem padrão (perguntar a cada vez)',
  1240. // Sidebar
  1241. sidebarOrder: 'Ordem da barra lateral',
  1242. // Camera
  1243. saveThumbnails: 'Salvar miniaturas',
  1244. captureFinishPhoto: 'Capturar foto de conclusão',
  1245. noPrintersConfigured: 'Nenhuma impressora configurada',
  1246. // Archive settings
  1247. archiveMode: {
  1248. always: 'Sempre criar entrada de arquivo',
  1249. never: 'Nunca criar entrada de arquivo',
  1250. ask: 'Perguntar a cada vez',
  1251. },
  1252. // Updates
  1253. checkForUpdatesLabel: 'Verificar atualizações',
  1254. checkPrinterFirmware: 'Verificar firmware da impressora',
  1255. // Queue
  1256. enableRetry: 'Habilitar tentativa',
  1257. // Home Assistant
  1258. homeAssistantDescription: 'Controlar tomadas inteligentes via Home Assistant',
  1259. environmentManagedLabel: '(Gerenciado pelo Ambiente)',
  1260. autoEnabledViaEnv: 'Habilitado automaticamente via variáveis de ambiente',
  1261. urlFromEnvReadOnly: 'Valor definido pela variável de ambiente HA_URL (somente leitura)',
  1262. tokenFromEnvReadOnly: 'Valor definido pela variável de ambiente HA_TOKEN (somente leitura)',
  1263. // MQTT
  1264. mqttConnectedTo: 'Conectado a',
  1265. // Prometheus
  1266. prometheusDescription: 'Expor dados da impressora no formato Prometheus',
  1267. // Smart plugs empty state
  1268. noSmartPlugsTitle: 'Nenhuma tomada inteligente configurada',
  1269. noSmartPlugsDescription: 'Adicione uma tomada inteligente baseada em Tasmota para monitorar o consumo de energia e automatizar o controle de energia.',
  1270. // Notifications empty state
  1271. noProvidersTitle: 'Nenhum provedor configurado',
  1272. noProvidersDescription: 'Adicione um provedor para receber alertas.',
  1273. noTemplatesAvailable: 'Nenhum modelo disponível. Reinicie o backend para gerar os modelos padrão.',
  1274. // API permissions
  1275. apiPermissionView: 'Visualizar status da impressora e fila',
  1276. apiPermissionEdit: 'Adicionar e remover itens da fila de impressão',
  1277. // API keys
  1278. apiKeysEmptyTitle: 'Nenhuma chave API',
  1279. apiKeysEmptyDescription: 'Crie uma chave API para integrar com serviços externos.',
  1280. // Users
  1281. noUsersFound: 'Nenhum usuário encontrado',
  1282. noGroupsFound: 'Nenhum grupo encontrado',
  1283. noGroupsAvailable: 'Nenhum grupo disponível',
  1284. passwordsDoNotMatch: 'As senhas não coincidem',
  1285. systemGroupWarning: 'Os nomes dos grupos do sistema não podem ser alterados',
  1286. // Auth disabled
  1287. authDisabledTitle: 'Autenticação Desativada',
  1288. authDisabledFeature1: 'Exigir login para acessar o sistema',
  1289. authDisabledFeature2: 'Criar múltiplos usuários com permissões baseadas em grupos',
  1290. authDisabledFeature3: 'Controlar acesso com mais de 50 permissões granulares',
  1291. // User deletion
  1292. userHasCreated: 'Este usuário criou:',
  1293. userItemsQuestion: 'O que você gostaria de fazer com esses itens?',
  1294. deleteUserConfirm: 'Tem certeza de que deseja excluir este usuário?',
  1295. actionCannotBeUndone: 'Esta ação não pode ser desfeita.',
  1296. // Smart plugs
  1297. addFirstSmartPlug: 'Adicione sua primeira tomada inteligente',
  1298. // Notifications
  1299. providers: 'Provedores',
  1300. log: 'Registro',
  1301. testAll: 'Testar tudo',
  1302. testResults: 'Resultados do teste',
  1303. testPassedCount: '{{count}} aprovado',
  1304. testFailedCount: '{{count}} falhou',
  1305. messageTemplates: 'Modelos de mensagem',
  1306. messageTemplatesDescription: 'Personalize as mensagens de notificação para cada evento.',
  1307. // API Keys section
  1308. apiKeys: 'Chaves API',
  1309. apiKeysDescription: 'Crie chaves API para integrações externas e webhooks.',
  1310. createKey: 'Criar Chave',
  1311. apiKeyCreated: 'Chave API criada com sucesso',
  1312. apiKeyCopyWarning: "Copie esta chave agora - ela não será exibida novamente!",
  1313. useInApiBrowser: 'Usar no Navegador API',
  1314. createNewApiKey: 'Criar Nova Chave API',
  1315. keyName: 'Nome da Chave',
  1316. keyNamePlaceholder: 'e.g., Home Assistant, OctoPrint',
  1317. readStatus: 'Status de Leitura',
  1318. readStatusDescription: 'Visualizar status da impressora e fila',
  1319. manageQueue: 'Gerenciar Fila',
  1320. manageQueueDescription: 'Adicionar e remover itens da fila de impressão',
  1321. controlPrinter: 'Controlar Impressora',
  1322. controlPrinterDescription: 'Pausar, retomar e parar impressões',
  1323. unnamedKey: 'Chave Sem Nome',
  1324. lastUsed: 'Último uso',
  1325. read: 'Ler',
  1326. control: 'Controlar',
  1327. createFirstKey: 'Crie sua primeira chave',
  1328. webhookEndpoints: 'Endpoints de Webhook',
  1329. webhookApiKeyHint: 'Use sua chave API no cabeçalho X-API-Key.',
  1330. webhook: {
  1331. getAllStatus: 'Obter status de todas as impressoras',
  1332. getSpecificStatus: 'Obter status de uma impressora específica',
  1333. addToQueue: 'Adicionar à fila de impressão',
  1334. pausePrint: 'Pausar impressão',
  1335. resumePrint: 'Retomar impressão',
  1336. stopPrint: 'Parar impressão',
  1337. },
  1338. apiBrowser: 'Navegador API',
  1339. apiBrowserDescription: 'Explore e teste todos os endpoints de API disponíveis.',
  1340. apiKeyForTesting: 'Chave API para Teste',
  1341. apiKeyPlaceholder: 'Cole sua chave API aqui para testar endpoints autenticados...',
  1342. apiKeyHint: 'Esta chave será enviada como cabeçalho X-API-Key nas solicitações.',
  1343. deleteApiKeyTitle: 'Excluir Chave API',
  1344. deleteApiKeyMessage: 'Tem certeza de que deseja excluir esta chave API? Quaisquer integrações usando esta chave deixarão de funcionar.',
  1345. deleteKey: 'Excluir Chave',
  1346. // Filament tab
  1347. amsDisplayThresholds: 'Limiares de Exibição AMS',
  1348. amsThresholdsDescription: 'Configure os limiares de cores para os indicadores de umidade e temperatura do AMS.',
  1349. humidity: 'Umidade',
  1350. goodGreen: 'Bom (verde)',
  1351. fairOrange: 'Razoável (laranja)',
  1352. aboveFairBad: 'Acima do limiar razoável mostra como vermelho (ruim)',
  1353. temperature: 'Temperatura',
  1354. goodBlue: 'Bom (azul)',
  1355. aboveFairHot: 'Acima do limiar razoável mostra como vermelho (quente)',
  1356. historyRetention: 'Retenção de Histórico',
  1357. keepSensorHistory: 'Manter histórico do sensor por',
  1358. historyRetentionDescription: 'Dados antigos de umidade e temperatura serão automaticamente excluídos',
  1359. printModal: 'Modal de Impressão',
  1360. expandCustomMapping: 'Expandir mapeamento personalizado por padrão',
  1361. expandCustomMappingDescription: 'Ao imprimir em várias impressoras, mostrar o mapeamento AMS por impressora expandido',
  1362. // User management
  1363. authentication: 'Autenticação',
  1364. authEnabledDescription: 'Sua instância está protegida com autenticação de usuário',
  1365. authDisabledDescription: 'Ative para exigir login e gerenciar o acesso dos usuários',
  1366. authDisabledMessage: 'Ative a autenticação para criar contas de usuário, gerenciar permissões e proteger sua instância do Bambuddy.',
  1367. enableAuthentication: 'Ativar Autenticação',
  1368. currentUser: 'Usuário Atual',
  1369. changePassword: 'Alterar Senha',
  1370. admin: 'Administrador',
  1371. users: 'Usuários',
  1372. addUser: 'Adicionar Usuário',
  1373. groups: 'Grupos',
  1374. addGroup: 'Adicionar Grupo',
  1375. system: 'Sistema',
  1376. noDescription: 'Sem descrição',
  1377. userCount: '{{count}} usuários',
  1378. permissionCount: '{{count}} permissões',
  1379. createUser: 'Criar Usuário',
  1380. username: 'Nome de Usuário',
  1381. enterUsername: 'Digite o nome de usuário',
  1382. password: 'Senha',
  1383. enterPassword: 'Digite a senha (mínimo 6 caracteres)',
  1384. confirmPassword: 'Confirmar Senha',
  1385. confirmPasswordPlaceholder: 'Confirme a senha',
  1386. // Title tooltips
  1387. viewReleaseOnGitHub: 'Ver lançamento no GitHub',
  1388. turnAllPlugsOn: 'Ligar todas as tomadas',
  1389. turnAllPlugsOff: 'Desligar todas as tomadas',
  1390. // Modal: Clear logs
  1391. clearNotificationLogs: 'Limpar Logs de Notificação',
  1392. clearLogsMessage: 'Isso excluirá permanentemente todos os logs de notificação com mais de 30 dias. Esta ação não pode ser desfeita.',
  1393. clearLogs: 'Limpar Logs',
  1394. // Modal: Reset UI
  1395. resetUiPreferences: 'Redefinir Preferências de UI',
  1396. resetUiPreferencesMessage: 'Isso redefinirá todas as preferências de UI para os padrões: ordem da barra lateral, tema, layout do painel, modos de exibição e preferências de classificação. Suas impressoras, arquivos e configurações do servidor NÃO serão afetados. A página será recarregada após a limpeza.',
  1397. resetPreferences: 'Redefinir Preferências',
  1398. // Modal: Delete group
  1399. deleteGroupTitle: 'Excluir Grupo',
  1400. deleteGroupMessage: 'Tem certeza de que deseja excluir este grupo? Usuários neste grupo perderão essas permissões.',
  1401. deleteGroup: 'Excluir Grupo',
  1402. // Modal: Disable auth
  1403. disableAuthenticationTitle: 'Desativar Autenticação',
  1404. disableAuthenticationMessage: 'Tem certeza de que deseja desativar a autenticação? Isso tornará sua instância do Bambuddy acessível sem login. Todos os usuários permanecerão no banco de dados, mas a autenticação será desativada.',
  1405. disableAuthentication: 'Desativar Autenticação',
  1406. // Additional settings
  1407. configureBambuddy: 'Configurar Bambuddy',
  1408. systemDefault: 'Padrão do Sistema',
  1409. archiveSettings: 'Configurações de Arquivo',
  1410. newWindow: 'Nova Janela',
  1411. embeddedOverlay: 'Sobreposição Incorporada',
  1412. preferredSlicer: 'Fatiador Preferido',
  1413. preferredSlicerDescription: 'Escolha qual aplicativo de fatiamento abrirá os arquivos',
  1414. externalCameras: 'Câmeras Externas',
  1415. costTracking: 'Rastreamento de Custos',
  1416. printsOnly: 'Apenas Impressões',
  1417. totalConsumption: 'Consumo Total',
  1418. dataManagement: 'Gerenciamento de Dados',
  1419. storageUsage: 'Uso de Armazenamento',
  1420. storageUsageDescription: 'Detalhamento do uso de dados por categoria',
  1421. storageUsageTotal: 'Total',
  1422. storageUsageErrors: 'Erros',
  1423. storageUsageOtherBreakdown: 'Outros (inclui ativos estáticos, scripts e arquivos de configuração)',
  1424. storageUsageSystem: 'Sistema',
  1425. storageUsageData: 'Dados',
  1426. storageUsageUnavailable: 'Informações de uso de armazenamento indisponíveis',
  1427. clearNotificationLogsDescription: 'Excluir logs de notificação com mais de 30 dias',
  1428. resetUiPreferencesDescription: 'Redefinir ordem da barra lateral, tema, modos de exibição e preferências de layout. Impressoras, arquivos e configurações não são afetados.',
  1429. enableHomeAssistant: 'Ativar Home Assistant',
  1430. enableMqtt: 'Ativar MQTT',
  1431. useTls: 'Usar TLS',
  1432. enableMetricsEndpoint: 'Ativar Endpoint de Métricas',
  1433. availableMetrics: 'Métricas Disponíveis',
  1434. editUser: 'Editar Usuário',
  1435. deleteUserTitle: 'Excluir Usuário',
  1436. groupName: 'Nome do Grupo',
  1437. // Placeholders
  1438. leaveEmptyForAnonymous: 'Deixe vazio para anônimo',
  1439. leaveEmptyForNoAuth: 'Deixe vazio para sem autenticação',
  1440. enterNewPassword: 'Digite a nova senha',
  1441. confirmNewPassword: 'Confirme a nova senha',
  1442. enterGroupName: 'Digite o nome do grupo',
  1443. enterDescriptionOptional: 'Digite a descrição (opcional)',
  1444. enterCurrentPassword: 'Digite a senha atual',
  1445. enterNewPasswordMin6: 'Digite a nova senha (mínimo 6 caracteres)',
  1446. toast: {
  1447. keyCopied: 'Chave copiada para a área de transferência',
  1448. copyFailed: 'Falha ao copiar a chave',
  1449. keyAddedToBrowser: 'Chave adicionada ao Navegador de API',
  1450. clearLogsFailed: 'Falha ao limpar logs',
  1451. uiPreferencesReset: 'Preferências de UI redefinidas. Atualizando...',
  1452. authDisabled: 'Autenticação desativada com sucesso',
  1453. authDisableFailed: 'Falha ao desativar a autenticação',
  1454. apiKeyCreated: 'Chave de API criada',
  1455. apiKeyDeleted: 'Chave de API excluída',
  1456. userCreated: 'Usuário criado com sucesso',
  1457. userUpdated: 'Usuário atualizado com sucesso',
  1458. userDeleted: 'Usuário excluído com sucesso',
  1459. groupCreated: 'Grupo criado com sucesso',
  1460. groupUpdated: 'Grupo atualizado com sucesso',
  1461. groupDeleted: 'Grupo excluído com sucesso',
  1462. fillRequiredFields: 'Por favor, preencha todos os campos obrigatórios',
  1463. passwordsDoNotMatch: 'As senhas não coincidem',
  1464. passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
  1465. enterGroupName: 'Por favor, insira um nome de grupo',
  1466. settingsSaved: 'Configurações salvas',
  1467. cameraSettingsSaved: 'Configurações da câmera salvas',
  1468. enterCameraUrl: 'Por favor, insira a URL da câmera',
  1469. passwordChanged: 'Senha alterada com sucesso',
  1470. connectionFailed: 'Falha na conexão',
  1471. testFailed: 'Falha no teste',
  1472. cameraConnected: 'Câmera conectada{{resolution}}',
  1473. },
  1474. testConnection: 'Testar Conexão',
  1475. catalog: {
  1476. spoolCatalog: 'Catálogo de Carretéis',
  1477. spoolCatalogDescription: 'Pesos de carretéis vazios por marca/tipo. Usado para pesquisa automática de peso ao adicionar carretéis.',
  1478. searchCatalog: 'Pesquisar no catálogo...',
  1479. addNewEntry: 'Adicionar Nova Entrada',
  1480. namePlaceholder: 'Nome (ex.: Bambu Lab - Plástico)',
  1481. weight: 'Peso',
  1482. type: 'Tipo',
  1483. default: 'Padrão',
  1484. custom: 'Personalizado',
  1485. noMatch: 'Nenhuma entrada corresponde à sua pesquisa',
  1486. empty: 'Nenhuma entrada no catálogo',
  1487. deleteEntry: 'Excluir Entrada',
  1488. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"?',
  1489. resetCatalog: 'Redefinir Catálogo',
  1490. resetConfirm: 'Redefinir catálogo para os padrões? Isso removerá todas as entradas personalizadas.',
  1491. loadFailed: 'Falha ao carregar o catálogo de carretéis',
  1492. nameWeightRequired: 'Nome e peso são obrigatórios',
  1493. entryAdded: 'Entrada adicionada',
  1494. addFailed: 'Falha ao adicionar entrada',
  1495. entryUpdated: 'Entrada atualizada',
  1496. updateFailed: 'Falha ao atualizar entrada',
  1497. entryDeleted: 'Entrada excluída',
  1498. deleteFailed: 'Falha ao excluir entrada',
  1499. resetSuccess: 'Catálogo redefinido para os padrões',
  1500. resetFailed: 'Falha ao redefinir catálogo',
  1501. exported: 'Exportadas {{count}} entradas',
  1502. imported: 'Importadas {{added}} entradas ({{skipped}} ignoradas)',
  1503. importFailed: 'Falha ao importar: formato JSON inválido',
  1504. exportTooltip: 'Exportar catálogo para JSON',
  1505. importTooltip: 'Importar catálogo de JSON',
  1506. resetTooltip: 'Redefinir para os padrões',
  1507. },
  1508. colorCatalog: {
  1509. title: 'Catálogo de Cores',
  1510. description: 'Cores de filamento por fabricante/material. Usado para pesquisa automática de cores ao adicionar carretéis.',
  1511. searchColors: 'Pesquisar cores...',
  1512. allManufacturers: 'Todos os fabricantes',
  1513. addNewColor: 'Adicionar Nova Cor',
  1514. manufacturer: 'Fabricante',
  1515. colorName: 'Nome da Cor',
  1516. hex: 'Hex',
  1517. materialOptional: 'Material (opcional)',
  1518. showing: 'Mostrando {{filtered}} de {{total}} cores',
  1519. noMatch: 'Nenhuma cor corresponde à sua pesquisa',
  1520. empty: 'Nenhuma cor no catálogo',
  1521. deleteColor: 'Excluir Cor',
  1522. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"?',
  1523. resetCatalog: 'Redefinir Catálogo de Cores',
  1524. resetConfirm: 'Redefinir catálogo para os padrões? Isso removerá todas as cores personalizadas.',
  1525. sync: 'Sincronizar',
  1526. starting: 'Iniciando...',
  1527. syncTooltip: 'Sincronizar do FilamentColors.xyz (2000+ cores, pode levar um minuto)',
  1528. loadFailed: 'Falha ao carregar o catálogo de cores',
  1529. fieldsRequired: 'Fabricante, nome da cor e cor hex são obrigatórios',
  1530. colorAdded: 'Cor adicionada',
  1531. addFailed: 'Falha ao adicionar cor',
  1532. colorUpdated: 'Cor atualizada',
  1533. updateFailed: 'Falha ao atualizar cor',
  1534. colorDeleted: 'Cor excluída',
  1535. deleteFailed: 'Falha ao excluir cor',
  1536. resetSuccess: 'Catálogo de cores redefinido para os padrões',
  1537. resetFailed: 'Falha ao redefinir catálogo',
  1538. syncUpToDate: 'Já está atualizado ({{count}} cores verificadas)',
  1539. syncComplete: 'Adicionadas {{added}} novas cores ({{skipped}} já existiam)',
  1540. syncError: 'Erro de sincronização',
  1541. syncFailed: 'Falha ao sincronizar do FilamentColors.xyz',
  1542. exported: 'Exportadas {{count}} cores',
  1543. imported: 'Importadas {{added}} cores ({{skipped}} ignoradas)',
  1544. importFailed: 'Falha ao importar: formato JSON inválido',
  1545. },
  1546. },
  1547. // Notifications (for push notifications)
  1548. notification: {
  1549. printStarted: {
  1550. title: 'Impressão Iniciada',
  1551. body: '{{printer}}: {{filename}} iniciou a impressão',
  1552. },
  1553. printCompleted: {
  1554. title: 'Impressão Concluída',
  1555. body: '{{printer}}: {{filename}} foi concluída com sucesso',
  1556. },
  1557. printFailed: {
  1558. title: 'Falha na Impressão',
  1559. body: '{{printer}}: {{filename}} falhou',
  1560. },
  1561. printStopped: {
  1562. title: 'Impressão Interrompida',
  1563. body: '{{printer}}: {{filename}} foi interrompida',
  1564. },
  1565. printProgress: {
  1566. title: 'Progresso da Impressão',
  1567. body: '{{printer}}: {{filename}} está {{percent}}% concluída',
  1568. },
  1569. printerOffline: {
  1570. title: 'Impressora Offline',
  1571. body: '{{printer}} está offline',
  1572. },
  1573. printerError: {
  1574. title: 'Erro na Impressora',
  1575. body: '{{printer}}: {{error}}',
  1576. },
  1577. filamentLow: {
  1578. title: 'Filamento Baixo',
  1579. body: '{{printer}}: O filamento está acabando',
  1580. },
  1581. maintenanceDue: {
  1582. title: 'Manutenção Pendente',
  1583. body: '{{printer}}: {{items}} precisam de atenção',
  1584. },
  1585. },
  1586. // Errors
  1587. errors: {
  1588. generic: 'Algo deu errado',
  1589. networkError: 'Erro de rede. Por favor, verifique sua conexão.',
  1590. notFound: 'Não encontrado',
  1591. unauthorized: 'Não autorizado',
  1592. serverError: 'Erro no servidor',
  1593. validationError: 'Por favor, verifique sua entrada',
  1594. printerConnectionFailed: 'Falha ao conectar à impressora',
  1595. saveFailed: 'Falha ao salvar alterações',
  1596. deleteFailed: 'Falha ao excluir',
  1597. loadFailed: 'Falha ao carregar dados',
  1598. },
  1599. // HMS Errors modal
  1600. hmsErrors: {
  1601. title: 'Erros - {{name}}',
  1602. noErrors: 'Nenhum erro',
  1603. viewOnWiki: 'Ver no Bambu Lab Wiki',
  1604. clearInstructions: 'Limpe os erros na impressora para descartá-los aqui.',
  1605. clearErrors: 'Limpar Erros',
  1606. clearSuccess: 'Erros HMS limpos',
  1607. clearFailed: 'Falha ao limpar erros HMS',
  1608. },
  1609. // MQTT Debug modal
  1610. mqttDebug: {
  1611. title: 'MQTT Log de Depuração',
  1612. searchPlaceholder: 'Pesquisar tópico ou payload...',
  1613. noMessages: 'Nenhuma mensagem registrada ainda',
  1614. startLoggingHint: 'Clique em "Iniciar Registro" para começar a capturar mensagens MQTT',
  1615. noMessagesMatch: 'Nenhuma mensagem corresponde ao seu filtro',
  1616. adjustFilterHint: 'Tente ajustar seus critérios de pesquisa ou filtro',
  1617. incoming: 'Entrada',
  1618. outgoing: 'Saída',
  1619. loggingStopped: 'Registro interrompido',
  1620. loggingActive: 'Registro ativo - as mensagens serão atualizadas automaticamente',
  1621. startLogging: 'Iniciar Registro',
  1622. stopLogging: 'Parar Registro',
  1623. clearLog: 'Limpar Registro',
  1624. topic: 'ópico',
  1625. timestamp: 'Carimbo de Data/Hora',
  1626. direction: 'Direção',
  1627. all: 'Todos',
  1628. },
  1629. // Printer File Manager modal (printer internal storage)
  1630. printerFiles: {
  1631. title: 'Gerenciador de Arquivos',
  1632. storageUsed: 'Usado:',
  1633. storageFree: 'Livre:',
  1634. filterPlaceholder: 'Filtrar arquivos...',
  1635. deleteButton: 'Excluir',
  1636. deleteFiles: 'Excluir {{count}} arquivos',
  1637. deleteFileConfirm: 'Excluir "{{name}}"? Isso não pode ser desfeito.',
  1638. deleteFilesConfirm: 'Excluir {{count}} arquivos selecionados? Isso não pode ser desfeito.',
  1639. noFiles: 'Nenhum arquivo na impressora',
  1640. loadingFiles: 'Carregando arquivos...',
  1641. failedToLoad: 'Falha ao carregar arquivos',
  1642. toast: {
  1643. filesDeleted: 'Arquivos excluídos: {{count}}',
  1644. deleteFailed: 'Falha ao excluir: {{error}}',
  1645. },
  1646. },
  1647. // Confirmations
  1648. confirm: {
  1649. delete: 'Tem certeza de que deseja excluir isso?',
  1650. unsavedChanges: 'Você tem alterações não salvas. Tem certeza de que deseja sair?',
  1651. clearQueue: 'Tem certeza de que deseja limpar a fila?',
  1652. },
  1653. // Login page
  1654. login: {
  1655. title: 'Bambuddy Login',
  1656. subtitle: 'Faça login na sua conta',
  1657. username: 'Nome de usuário',
  1658. usernamePlaceholder: 'Digite seu nome de usuário',
  1659. usernameOrEmail: 'Nome de usuário ou Email',
  1660. usernameOrEmailPlaceholder: 'Nome de usuário ou Email',
  1661. password: 'Senha',
  1662. passwordPlaceholder: 'Digite sua senha',
  1663. signIn: 'Entrar',
  1664. signingIn: 'Entrando...',
  1665. forgotPassword: 'Esqueceu sua senha?',
  1666. loginSuccess: 'Login realizado com sucesso',
  1667. loginFailed: 'Falha no login',
  1668. enterCredentials: 'Por favor, insira nome de usuário e senha',
  1669. forgotPasswordTitle: 'Esqueceu a Senha',
  1670. forgotPasswordMessage: "Se você esqueceu sua senha, entre em contato com o administrador do sistema para redefini-la.",
  1671. forgotPasswordEmailMessage: "Digite seu endereço de email e enviaremos uma nova senha.",
  1672. emailAddress: 'Endereço de Email',
  1673. emailPlaceholder: 'seu.email@exemplo.com',
  1674. cancel: 'Cancelar',
  1675. sending: 'Enviando...',
  1676. sendResetEmail: 'Enviar Email de Redefinição',
  1677. howToReset: 'Como redefinir sua senha:',
  1678. resetStep1: 'Entre em contato com o administrador do Bambuddy',
  1679. resetStep2: 'Peça para redefinir sua senha na Gestão de Usuários',
  1680. resetStep3: 'Eles podem definir uma nova senha temporária para você',
  1681. resetStep4: 'Faça login com a nova senha e altere-a nas Configurações',
  1682. gotIt: 'Entendi',
  1683. },
  1684. // Setup page
  1685. setup: {
  1686. title: 'Bambuddy Configuração',
  1687. subtitle: 'Configure a autenticação para sua instância do Bambuddy',
  1688. enableAuth: 'Ativar Autenticação',
  1689. adminAccount: 'Conta de Administrador',
  1690. adminAccountDesc: 'Se usuários administradores já existirem, a autenticação será ativada usando as contas de administrador existentes. Deixe os campos abaixo vazios para usar os administradores existentes ou insira novas credenciais para criar um novo usuário administrador.',
  1691. adminUsername: 'Nome de usuário do administrador',
  1692. adminPassword: 'Senha do administrador',
  1693. optionalIfAdminExists: '(opcional se usuários administradores existirem)',
  1694. adminUsernamePlaceholder: 'Digite o nome de usuário do administrador (opcional)',
  1695. adminPasswordPlaceholder: 'Digite a senha do administrador (opcional)',
  1696. confirmPassword: 'Confirmar Senha',
  1697. confirmPasswordPlaceholder: 'Confirme a senha do administrador',
  1698. settingUp: 'Configurando...',
  1699. completeSetup: 'Concluir Configuração',
  1700. toast: {
  1701. authEnabledAdminCreated: 'Autenticação ativada e usuário administrador criado',
  1702. authEnabledExistingAdmins: 'Autenticação ativada usando usuários administradores existentes',
  1703. setupCompleted: 'Configuração concluída',
  1704. enterBothCredentials: 'Por favor, insira o nome de usuário e a senha do administrador, ou deixe ambos vazios para usar os usuários administradores existentes',
  1705. passwordsDoNotMatch: 'As senhas não coincidem',
  1706. passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
  1707. },
  1708. },
  1709. // Password change
  1710. changePassword: {
  1711. title: 'Alterar Senha',
  1712. currentPassword: 'Senha Atual',
  1713. currentPasswordPlaceholder: 'Digite a senha atual',
  1714. newPassword: 'Nova Senha',
  1715. newPasswordPlaceholder: 'Digite a nova senha (mínimo 6 caracteres)',
  1716. confirmPassword: 'Confirmar Senha',
  1717. confirmPasswordPlaceholder: 'Confirme a nova senha',
  1718. passwordsDoNotMatch: 'As senhas não coincidem',
  1719. passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
  1720. changing: 'Alterando...',
  1721. success: 'Senha alterada com sucesso',
  1722. failed: 'Falha ao alterar a senha',
  1723. },
  1724. // Plate detection alert
  1725. plateAlert: {
  1726. title: 'Impressão Pausada!',
  1727. message: 'Objetos detectados na mesa de impressão. A impressão foi automaticamente pausada. Por favor, limpe a mesa e retome a impressão.',
  1728. understand: 'Entendi',
  1729. },
  1730. // Camera page
  1731. camera: {
  1732. title: 'Visualização da Câmera',
  1733. invalidPrinterId: 'ID da impressora inválido',
  1734. live: 'Ao Vivo',
  1735. snapshot: 'Captura',
  1736. restartStream: 'Reiniciar transmissão',
  1737. refreshSnapshot: 'Atualizar captura',
  1738. fullscreen: 'Tela Cheia',
  1739. exitFullscreen: 'Sair da Tela Cheia',
  1740. connectingToCamera: 'Conectando à câmera...',
  1741. capturingSnapshot: 'Capturando imagem...',
  1742. connectionLost: 'Conexão perdida',
  1743. connectionFailed: 'Falha na conexão com a câmera',
  1744. reconnecting: 'Reconectando em {{countdown}}s... (tentativa {{attempt}}/{{max}})',
  1745. reconnectNow: 'Reconectar agora',
  1746. cameraUnavailable: 'Câmera indisponível',
  1747. cameraUnavailableDesc: 'Certifique-se de que a impressora está ligada e conectada.',
  1748. noCamera: 'Nenhuma câmera disponível',
  1749. retry: 'Tentar novamente',
  1750. cameraStream: 'Transmissão da câmera',
  1751. zoomOut: 'Reduzir zoom',
  1752. zoomIn: 'Aumentar zoom',
  1753. resetZoom: 'Redefinir zoom',
  1754. recording: 'Gravando',
  1755. startRecording: 'Iniciar gravação',
  1756. stopRecording: 'Parar gravação',
  1757. chamberLight: 'Alternar luz da câmara',
  1758. },
  1759. // Groups management
  1760. groups: {
  1761. title: 'Gerenciamento de Grupos',
  1762. subtitle: 'Gerenciar grupos de permissão para controle de acesso',
  1763. backToSettings: 'Voltar para Configurações',
  1764. createGroup: 'Criar Grupo',
  1765. noPermission: 'Você não tem permissão para acessar esta página.',
  1766. system: 'Sistema',
  1767. noDescription: 'Sem descrição',
  1768. usersCount: '{{count}} usuários',
  1769. permissionsCount: '{{count}} permissões',
  1770. edit: 'Editar',
  1771. delete: 'Excluir',
  1772. toast: {
  1773. created: 'Grupo criado com sucesso',
  1774. updated: 'Grupo atualizado com sucesso',
  1775. deleted: 'Grupo excluído com sucesso',
  1776. enterGroupName: 'Por favor, insira um nome para o grupo',
  1777. },
  1778. modal: {
  1779. editGroup: 'Editar Grupo',
  1780. createGroup: 'Criar Grupo',
  1781. cancel: 'Cancelar',
  1782. saving: 'Salvando...',
  1783. creating: 'Criando...',
  1784. saveChanges: 'Salvar Alterações',
  1785. },
  1786. form: {
  1787. groupName: 'Nome do Grupo',
  1788. groupNamePlaceholder: 'Insira o nome do grupo',
  1789. systemGroupWarning: 'Os nomes dos grupos do sistema não podem ser alterados',
  1790. description: 'Descrição',
  1791. descriptionPlaceholder: 'Insira a descrição (opcional)',
  1792. permissions: 'Permissões ({{count}} selecionadas)',
  1793. },
  1794. deleteModal: {
  1795. title: 'Excluir Grupo',
  1796. message: 'Tem certeza de que deseja excluir este grupo? Os usuários deste grupo perderão essas permissões.',
  1797. confirm: 'Excluir Grupo',
  1798. },
  1799. editor: {
  1800. title: 'Editar Grupo',
  1801. createTitle: 'Criar Grupo',
  1802. search: 'Pesquisar permissões...',
  1803. selectAll: 'Selecionar Tudo',
  1804. clearAll: 'Limpar Tudo',
  1805. permissionsSelected: '{{count}} selecionada(s)',
  1806. noResults: 'Nenhuma permissão corresponde à sua pesquisa',
  1807. },
  1808. },
  1809. // Users management
  1810. users: {
  1811. title: 'Gerenciamento de Usuários',
  1812. subtitle: 'Gerenciar usuários e seu acesso à sua instância do Bambuddy',
  1813. backToSettings: 'Voltar para Configurações',
  1814. createUser: 'Criar Usuário',
  1815. noPermission: 'Você não tem permissão para acessar esta página.',
  1816. admin: 'Admin',
  1817. noGroups: 'Sem grupos',
  1818. active: 'Ativo',
  1819. inactive: 'Inativo',
  1820. edit: 'Editar',
  1821. delete: 'Excluir',
  1822. system: 'Sistema',
  1823. noGroupsAvailable: 'Nenhum grupo disponível',
  1824. table: {
  1825. username: 'Nome de Usuário',
  1826. groups: 'Grupos',
  1827. status: 'Status',
  1828. actions: 'Ações',
  1829. },
  1830. toast: {
  1831. created: 'Usuário criado com sucesso',
  1832. updated: 'Usuário atualizado com sucesso',
  1833. deleted: 'Usuário excluído com sucesso',
  1834. fillRequired: 'Por favor, preencha todos os campos obrigatórios',
  1835. passwordsDoNotMatch: 'As senhas não coincidem',
  1836. passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
  1837. },
  1838. modal: {
  1839. createUser: 'Criar Usuário',
  1840. editUser: 'Editar Usuário',
  1841. cancel: 'Cancelar',
  1842. creating: 'Criando...',
  1843. saving: 'Salvando...',
  1844. saveChanges: 'Salvar Alterações',
  1845. advancedAuthSubtitle: 'com Autenticação Avançada',
  1846. },
  1847. form: {
  1848. username: 'Nome de Usuário',
  1849. usernamePlaceholder: 'Insira o nome de usuário',
  1850. email: 'Email',
  1851. emailPlaceholder: 'user@example.com',
  1852. password: 'Senha',
  1853. passwordPlaceholder: 'Insira a senha',
  1854. confirmPassword: 'Confirmar Senha',
  1855. confirmPasswordPlaceholder: 'Confirme a senha',
  1856. newPasswordPlaceholder: 'Insira a nova senha',
  1857. confirmNewPasswordPlaceholder: 'Confirme a nova senha',
  1858. leaveBlankToKeep: 'deixe em branco para manter a atual',
  1859. groups: 'Grupos',
  1860. optional: 'opcional',
  1861. autoGeneratedPassword: 'Uma senha segura será gerada automaticamente e enviada por e-mail ao usuário.',
  1862. passwordManagedByAdvancedAuth: 'A senha é gerenciada pela Autenticação Avançada. Use "Redefinir Senha" para enviar uma nova senha ao usuário por e-mail.',
  1863. resetPassword: 'Redefinir Senha',
  1864. resettingPassword: 'Redefinindo Senha...',
  1865. },
  1866. deleteModal: {
  1867. title: 'Excluir Usuário',
  1868. message: 'Tem certeza de que deseja excluir este usuário? Esta ação não pode ser desfeita.',
  1869. confirm: 'Excluir Usuário',
  1870. },
  1871. },
  1872. // Stream overlay
  1873. streamOverlay: {
  1874. title: 'Stream Overlay',
  1875. invalidPrinterId: 'ID da impressora inválido',
  1876. cameraStream: 'Transmissão da câmera',
  1877. progress: 'Progresso da impressão',
  1878. eta: 'ETA',
  1879. printerIdle: 'Impressora ociosa',
  1880. printerOffline: 'Impressora offline',
  1881. status: {
  1882. printing: 'Imprimindo',
  1883. paused: 'Pausado',
  1884. finished: 'Concluído',
  1885. failed: 'Falhou',
  1886. idle: 'Ocioso',
  1887. unknown: 'Desconhecido',
  1888. },
  1889. },
  1890. // Profiles
  1891. profiles: {
  1892. title: 'Perfis',
  1893. subtitle: 'Gerencie seus presets de fatiador e calibrações de avanço de pressão',
  1894. tabs: {
  1895. cloud: 'Perfis na Nuvem',
  1896. local: 'Perfis Locais',
  1897. kprofiles: 'K-Perfis',
  1898. },
  1899. localProfiles: {
  1900. title: 'Perfis Locais',
  1901. subtitle: 'Importe e gerencie presets de fatiador do OrcaSlicer',
  1902. import: 'Importar Perfis',
  1903. importDesc: 'Solte arquivos .bbscfg, .bbsflmt, .orca_filament, .zip ou .json aqui',
  1904. importing: 'Importando...',
  1905. search: 'Pesquisar presets locais...',
  1906. noPresets: 'Nenhum preset local ainda',
  1907. badge: 'Local',
  1908. edit: 'Editar',
  1909. delete: 'Excluir',
  1910. cancel: 'Cancelar',
  1911. deleteConfirmTitle: 'Excluir Preset',
  1912. deleteConfirm: 'Tem certeza de que deseja excluir este preset? Esta ação não pode ser desfeita.',
  1913. source: 'Fonte',
  1914. inheritsFrom: 'Herdado de',
  1915. filamentType: 'Tipo',
  1916. vendor: 'Fornecedor',
  1917. compatiblePrinters: 'Impressoras Compatíveis',
  1918. nozzleTemp: 'Temperatura do Bico',
  1919. cost: 'Custo',
  1920. density: 'Densidade',
  1921. pressureAdvance: 'Avanço de Pressão',
  1922. filament: 'Filamento',
  1923. process: 'Processo',
  1924. printer: 'Impressora',
  1925. toast: {
  1926. importSuccess: '{{count}} preset(s) importada(s)',
  1927. importSkipped: '{{count}} preset(s) ignorada(s) (duplicadas)',
  1928. importError: '{{count}} erro(s) durante a importação',
  1929. deleted: 'Preset excluído',
  1930. updated: 'Preset atualizado',
  1931. },
  1932. },
  1933. connectedAs: 'Conectado como',
  1934. logout: 'Sair',
  1935. noLogoutPermission: 'Você não tem permissão para sair',
  1936. failedToLoad: 'Falha ao carregar perfis',
  1937. retry: 'Tentar novamente',
  1938. time: {
  1939. justNow: 'Agora mesmo',
  1940. minsAgo: 'há {{count}} minutos',
  1941. hoursAgo: 'há {{count}} horas',
  1942. daysAgo: 'há {{count}} dias',
  1943. },
  1944. toast: {
  1945. loggedOut: 'Desconectado',
  1946. },
  1947. login: {
  1948. title: 'Conectar ao Bambu Cloud',
  1949. subtitle: 'Sincronize seus presets de fatiador entre dispositivos',
  1950. email: 'Email',
  1951. password: 'Senha',
  1952. region: 'Região',
  1953. regionGlobal: 'Global',
  1954. regionChina: 'China',
  1955. verificationCode: 'Código de Verificação',
  1956. totpCode: 'Código do Autenticador',
  1957. checkEmail: 'Verifique seu email ({{email}}) para um código de 6 dígitos',
  1958. enterTotpHint: 'Digite o código de 6 dígitos do seu aplicativo autenticador',
  1959. accessToken: 'Token de Acesso',
  1960. accessTokenHint: 'Cole seu token de acesso Bambu Lab (do Bambu Studio)',
  1961. back: 'Voltar',
  1962. loginButton: 'Entrar',
  1963. verifyButton: 'Verificar',
  1964. setTokenButton: 'Definir Token',
  1965. useToken: 'Usar token de acesso em vez disso',
  1966. useEmail: 'Entrar com email em vez disso',
  1967. toast: {
  1968. loggedIn: 'Conectado com sucesso',
  1969. codeSent: 'Código de verificação enviado para seu email',
  1970. enterTotp: 'Digite o código do seu aplicativo autenticador',
  1971. tokenSet: 'Token definido com sucesso',
  1972. },
  1973. },
  1974. presets: {
  1975. myPreset: 'Meu preset (editável)',
  1976. duplicate: 'Duplicar',
  1977. editable: 'Editável',
  1978. failedToLoadDetails: 'Falha ao carregar detalhes do preset',
  1979. deleteConfirm: 'Excluir este preset?',
  1980. deleteWarning: 'Isso excluirá permanentemente "{{name}}" do Bambu Cloud. Esta ação não pode ser desfeita.',
  1981. noDuplicatePermission: 'Você não tem permissão para duplicar presets',
  1982. noEditPermission: 'Você não tem permissão para editar presets',
  1983. noDeletePermission: 'Você não tem permissão para excluir presets',
  1984. types: {
  1985. filament: 'Preset de filamento',
  1986. printer: 'Preset de impressora',
  1987. process: 'Preset de processo',
  1988. },
  1989. toast: {
  1990. deleted: 'Preset excluído',
  1991. created: 'Preset criado',
  1992. updated: 'Preset atualizado',
  1993. duplicated: 'Preset duplicado',
  1994. fieldAdded: 'Campo "{{key}}" adicionado',
  1995. exported: 'Preset exportado',
  1996. },
  1997. baseLabel: 'Base: {{name}}',
  1998. currentLabel: 'Atual: {{name}}',
  1999. newPreset: 'Novo Preset',
  2000. editPreset: 'Editar Preset',
  2001. duplicatePreset: 'Duplicar Preset',
  2002. createNewPreset: 'Criar Novo Preset',
  2003. customizeSettings: 'Personalizar configurações para seu novo preset',
  2004. compareWithBase: 'Comparar com o preset base',
  2005. compare: 'Comparar',
  2006. // CreatePresetModal - Basic Info
  2007. basePreset: 'Preset Base',
  2008. selectBasePreset: 'Selecionar preset base...',
  2009. presetName: 'Nome do Preset',
  2010. myCustomPreset: 'Meu preset personalizado',
  2011. inheritsFrom: 'Herdado de',
  2012. dropJsonToImport: 'Solte o arquivo JSON para importar',
  2013. // CreatePresetModal - Tabs
  2014. tabs: {
  2015. common: 'Comum',
  2016. allFields: 'Todos os Campos',
  2017. },
  2018. // CreatePresetModal - All Fields Tab
  2019. availableFields: 'Campos Disponíveis',
  2020. searchFieldsPlaceholder: 'Pesquisar campos...',
  2021. noMatchingFields: 'Nenhum campo correspondente',
  2022. allFieldsAdded: 'Todos os campos adicionados',
  2023. addCustomField: 'Adicionar campo personalizado',
  2024. yourOverrides: 'Suas Substituições',
  2025. noOverridesYet: 'Nenhuma substituição ainda',
  2026. clickFieldsToAdd: 'Clique nos campos à esquerda para adicioná-los',
  2027. saveAsTemplate: 'Salvar como modelo',
  2028. jsonTip: 'Dica: Arraste e solte um arquivo .json em qualquer lugar deste modal para importar configurações',
  2029. },
  2030. cloudView: {
  2031. searchPlaceholder: 'Pesquisar presets...',
  2032. templates: 'Modelos',
  2033. refresh: 'Atualizar',
  2034. newPreset: 'Novo Preset',
  2035. clearFilters: 'Limpar filtros',
  2036. // Compare mode
  2037. compareMode: 'Modo de Comparação',
  2038. selectAnotherPreset: 'Selecionar outro preset {{type}}',
  2039. clickTwoPresets: 'Clique em dois presets do mesmo tipo para comparar',
  2040. selectFirst: '1. Selecionar primeiro',
  2041. selectSecond: '2. Selecionar segundo',
  2042. compareNow: 'Comparar Agora',
  2043. // Status row
  2044. lastSynced: 'Última sincronização:',
  2045. showingCount: 'Mostrando {{showing}} de {{total}} presets',
  2046. noPresetsFound: 'Nenhum preset encontrado',
  2047. // Column headers
  2048. columns: {
  2049. filament: 'Filamento',
  2050. process: 'Processo',
  2051. printer: 'Impressora',
  2052. },
  2053. noFilamentPresets: 'Nenhum preset de filamento',
  2054. noProcessPresets: 'Nenhum preset de processo',
  2055. noPrinterPresets: 'Nenhum preset de impressora',
  2056. // Filters
  2057. filters: {
  2058. type: 'Tipo',
  2059. owner: 'Proprietário',
  2060. printer: 'Impressora',
  2061. nozzle: 'Bico',
  2062. filament: 'Filamento',
  2063. layer: 'Camada',
  2064. all: 'Todos',
  2065. myPresets: 'Meus Presets',
  2066. builtIn: 'Integrado',
  2067. process: 'Processo',
  2068. },
  2069. // Permissions
  2070. noTemplatesPermission: 'Você não tem permissão para gerenciar modelos',
  2071. noRefreshPermission: 'Você não tem permissão para atualizar perfis',
  2072. noCreatePermission: 'Você não tem permissão para criar presets',
  2073. },
  2074. templates: {
  2075. title: 'Modelos Rápidos',
  2076. noTemplates: 'Nenhum modelo ainda',
  2077. createFirst: 'Crie modelos a partir do editor de presets',
  2078. typeFilter: 'Tipo:',
  2079. deleteTitle: 'Excluir Modelo',
  2080. deleteWarning: 'Esta ação não pode ser desfeita',
  2081. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"?',
  2082. namePlaceholder: 'Nome do modelo',
  2083. descriptionPlaceholder: 'Descrição',
  2084. settingsJson: 'Configurações (JSON)',
  2085. fieldsCount: '{{count}} campos',
  2086. shownInModals: 'Exibido em modais',
  2087. hiddenInModals: 'Oculto em modais',
  2088. apply: 'Aplicar',
  2089. toast: {
  2090. deleted: 'Modelo excluído',
  2091. updated: 'Modelo atualizado',
  2092. created: 'Modelo criado',
  2093. applied: 'Modelo aplicado',
  2094. },
  2095. },
  2096. },
  2097. // Support/Debug
  2098. support: {
  2099. debugLoggingActive: 'Registro de depuração ativo',
  2100. manageLogs: 'Gerenciar',
  2101. collectItem7: 'Conectividade da impressora e versões de firmware',
  2102. collectItem8: 'Status de integração (Spoolman, MQTT, HA)',
  2103. collectItem9: 'Interfaces de rede (somente sub-redes)',
  2104. collectItem10: 'Versões de pacotes Python',
  2105. collectItem11: 'Verificações de integridade do banco de dados',
  2106. collectItem12: 'Detalhes do ambiente Docker',
  2107. },
  2108. // File manager
  2109. fileManager: {
  2110. title: 'Gerenciador de Arquivos',
  2111. subtitle: 'Organize e gerencie seus arquivos de impressão',
  2112. uploadFiles: 'Enviar Arquivos',
  2113. newFolder: 'Nova Pasta',
  2114. folderName: 'Nome da Pasta',
  2115. folderNamePlaceholder: 'ex.: Peças Funcionais',
  2116. renameFile: 'Renomear Arquivo',
  2117. renameFolder: 'Renomear Pasta',
  2118. moveFiles: 'Mover {{count}} Arquivo(s)',
  2119. rootNoFolder: 'Raiz (Sem Pasta)',
  2120. current: 'Atual',
  2121. linkFolder: 'Vincular Pasta',
  2122. linkFolderDescription: 'Vincular "{{name}}" a um projeto ou arquivo para acesso rápido.',
  2123. project: 'Projeto',
  2124. archive: 'Arquivo',
  2125. noProjectsFound: 'Nenhum projeto encontrado',
  2126. noArchivesFound: 'Nenhum arquivo encontrado',
  2127. unlink: 'Desvincular',
  2128. link: 'Vincular',
  2129. dragDropFiles: 'Arraste e solte os arquivos aqui',
  2130. dropFilesHere: 'Solte os arquivos aqui',
  2131. orClickToBrowse: 'ou clique para procurar',
  2132. allFileTypesSupported: 'Todos os tipos de arquivos são suportados. Arquivos ZIP serão extraídos.',
  2133. zipFilesDetected: 'Arquivos ZIP detectados',
  2134. zipExtractOptions: 'Arquivos ZIP serão extraídos. Escolha como lidar com a estrutura de pastas:',
  2135. preserveZipStructure: 'Preservar estrutura de pastas do ZIP',
  2136. createFolderFromZip: 'Criar pasta a partir do nome do arquivo ZIP',
  2137. stlThumbnailGeneration: 'Geração de miniaturas STL',
  2138. zipMayContainStl: 'Arquivos ZIP podem conter arquivos STL. Miniaturas podem ser geradas durante a extração.',
  2139. thumbnailsCanBeGenerated: 'Miniaturas podem ser geradas para arquivos STL. Modelos grandes podem levar mais tempo para processar.',
  2140. generateThumbnailsForStl: 'Gerar miniaturas para arquivos STL',
  2141. threemfDetected: 'Arquivos 3MF detectados',
  2142. threemfExtractionInfo: 'Modelo da impressora, material, cor e configurações de impressão serão extraídos automaticamente dos arquivos 3MF.',
  2143. willBeExtracted: 'Será extraído',
  2144. filesExtracted: '{{count}} arquivos extraídos',
  2145. uploadComplete: 'Upload concluído: {{succeeded}} bem-sucedidos',
  2146. uploadFailed: '{{count}} falhou',
  2147. uploading: 'Enviando...',
  2148. changeLink: 'Alterar link...',
  2149. linkTo: 'Vincular a...',
  2150. linkToProjectOrArchive: 'Vincular a projeto ou arquivo',
  2151. addToQueue: 'Adicionar à fila',
  2152. schedulePrint: 'Agendar impressão',
  2153. generateThumbnail: 'Gerar miniatura',
  2154. generateThumbnails: 'Gerar miniaturas',
  2155. generateThumbnailsForMissing: 'Gerar miniaturas para arquivos STL que não possuem',
  2156. gridView: 'Visualização em grade',
  2157. listView: 'Visualização em lista',
  2158. lowDiskSpaceWarning: 'Aviso de pouco espaço em disco',
  2159. lowDiskSpaceDetails: 'Apenas {{free}} livres de {{total}} no total. O limite está definido para {{threshold}} GB nas configurações.',
  2160. files: 'Arquivos',
  2161. folders: 'Pastas',
  2162. size: 'Tamanho',
  2163. free: 'Livre',
  2164. allFiles: 'Todos os arquivos',
  2165. wrap: 'Quebrar texto',
  2166. enableTextWrapping: 'Ativar quebra de texto',
  2167. disableTextWrapping: 'Desativar quebra de texto',
  2168. dragToResizeTooltip: 'Arraste para redimensionar, clique duas vezes para redefinir',
  2169. searchFiles: 'Pesquisar arquivos...',
  2170. allTypes: 'Todos os tipos',
  2171. prints: 'Impressões',
  2172. ascending: 'Crescente',
  2173. descending: 'Decrescente',
  2174. resultsCount: '{{showing}} de {{total}} arquivos',
  2175. selectAll: 'Selecionar tudo',
  2176. deselectAll: 'Desmarcar tudo',
  2177. selected: '{{count}} selecionado(s)',
  2178. adding: 'Adicionando...',
  2179. loadingFiles: 'Carregando arquivos...',
  2180. folderIsEmpty: 'A pasta está vazia',
  2181. noFilesYet: 'Nenhum arquivo ainda',
  2182. folderEmptyDescription: 'Envie arquivos ou mova arquivos para esta pasta para começar.',
  2183. noFilesDescription: 'Envie arquivos para começar a organizar seus arquivos relacionados à impressão.',
  2184. noMatchingFiles: 'Nenhum arquivo correspondente',
  2185. noMatchingFilesDescription: 'Nenhum arquivo corresponde aos seus critérios de pesquisa ou filtro.',
  2186. clearFilters: 'Limpar filtros',
  2187. printedCount: 'Impresso {{count}}x',
  2188. uploadedBy: 'Enviado por',
  2189. deleteFolder: 'Excluir pasta',
  2190. deleteFile: 'Excluir arquivo',
  2191. deleteFilesCount: 'Excluir {{count}} arquivos',
  2192. deleteFolderConfirm: 'Tem certeza de que deseja excluir esta pasta? Todos os arquivos dentro também serão excluídos.',
  2193. deleteFileConfirm: 'Tem certeza de que deseja excluir este arquivo?',
  2194. deleteFilesConfirm: 'Tem certeza de que deseja excluir {{count}} arquivos selecionados? Esta ação não pode ser desfeita.',
  2195. deleting: 'Excluindo...',
  2196. noPermissionRenameFolder: 'Você não tem permissão para renomear pastas',
  2197. noPermissionLinkFolder: 'Você não tem permissão para vincular pastas',
  2198. noPermissionDeleteFolder: 'Você não tem permissão para excluir pastas',
  2199. noPermissionPrint: 'Você não tem permissão para imprimir',
  2200. noPermissionAddToQueue: 'Você não tem permissão para adicionar à fila',
  2201. noPermissionDownload: 'Você não tem permissão para baixar arquivos',
  2202. noPermissionRenameFile: 'Você não tem permissão para renomear este arquivo',
  2203. noPermissionGenerateThumbnail: 'Você não tem permissão para gerar miniaturas',
  2204. noPermissionDeleteFile: 'Você não tem permissão para excluir este arquivo',
  2205. noPermissionCreateFolder: 'Você não tem permissão para criar pastas',
  2206. noPermissionUpload: 'Você não tem permissão para enviar arquivos',
  2207. noPermissionMoveFiles: 'Você não tem permissão para mover arquivos',
  2208. noPermissionDeleteFiles: 'Você não tem permissão para excluir arquivos',
  2209. toast: {
  2210. folderCreated: 'Pasta criada',
  2211. folderDeleted: 'Pasta excluída',
  2212. fileDeleted: 'Arquivo excluído',
  2213. filesDeleted: 'Excluídos {{count}} arquivos',
  2214. filesMoved: 'Arquivos movidos',
  2215. folderLinked: 'Pasta vinculada',
  2216. folderUnlinked: 'Pasta desvinculada',
  2217. addedToQueue: 'Adicionado {{count}} arquivo(s) à fila',
  2218. addedToQueuePartial: 'Adicionado {{added}} arquivo(s), {{failed}} falharam',
  2219. failedToAddToQueue: 'Falha ao adicionar arquivos: {{error}}',
  2220. fileRenamed: 'Arquivo renomeado',
  2221. folderRenamed: 'Pasta renomeada',
  2222. thumbnailsGenerated: 'Geradas {{count}} miniatura(s)',
  2223. thumbnailsGeneratedPartial: 'Geradas {{succeeded}} miniatura(s), {{failed}} falharam',
  2224. noStlMissingThumbnails: 'Nenhum arquivo STL sem miniatura',
  2225. failedToGenerateThumbnails: 'Falha ao gerar miniaturas: {{error}}',
  2226. thumbnailGenerated: 'Miniatura gerada',
  2227. failedToGenerateThumbnail: 'Falha ao gerar miniatura: {{error}}',
  2228. },
  2229. },
  2230. // Projects
  2231. projects: {
  2232. title: 'Projetos',
  2233. subtitle: 'Organize e acompanhe seus projetos de impressão 3D',
  2234. newProject: 'Novo Projeto',
  2235. editProject: 'Editar Projeto',
  2236. deleteProject: 'Excluir Projeto',
  2237. projectName: 'Nome do Projeto',
  2238. description: 'Descrição',
  2239. noProjects: 'Nenhum projeto ainda',
  2240. noProjectsFiltered: 'Nenhum projeto {{status}}',
  2241. noProjectsFilteredHelp: "Você não tem nenhum projeto {{status}}. Os projetos aparecerão aqui quando seu status mudar.",
  2242. createFirst: 'Crie seu primeiro projeto para começar a organizar impressões relacionadas, acompanhar o progresso e gerenciar suas construções.',
  2243. createFirstButton: 'Crie Seu Primeiro Projeto',
  2244. create: 'Criar',
  2245. files: 'Arquivos',
  2246. prints: 'Impressões',
  2247. plates: 'Placas',
  2248. parts: 'Peças',
  2249. lastModified: 'Última Modificação',
  2250. deleteConfirm: 'Tem certeza de que deseja excluir este projeto? Arquivos e itens da fila serão desvinculados, mas não excluídos.',
  2251. addFiles: 'Adicionar Arquivos',
  2252. removeFile: 'Remover Arquivo',
  2253. viewDetails: 'Ver Detalhes',
  2254. // Modal fields
  2255. namePlaceholder: 'ex., Voron 2.4 Build',
  2256. descriptionPlaceholder: 'Descrição opcional...',
  2257. color: 'Cor',
  2258. targetPlates: 'Placas Alvo',
  2259. targetPlatesPlaceholder: 'ex., 25',
  2260. targetPlatesHelp: 'Número de trabalhos de impressão',
  2261. targetParts: 'Peças Alvo',
  2262. targetPartsPlaceholder: 'ex., 150',
  2263. targetPartsHelp: 'Total de objetos necessários',
  2264. tagsLabel: 'Tags (separadas por vírgula)',
  2265. tagsPlaceholder: 'ex., voron, funcional, presente',
  2266. dueDate: 'Data de Vencimento',
  2267. priority: 'Prioridade',
  2268. priorityLow: 'Baixa',
  2269. priorityNormal: 'Normal',
  2270. priorityHigh: 'Alta',
  2271. priorityUrgent: 'Urgente',
  2272. // Status
  2273. statusActive: 'Ativo',
  2274. statusCompleted: 'Concluído',
  2275. statusArchived: 'Arquivado',
  2276. done: 'Concluído',
  2277. completed: 'Concluído',
  2278. failed: 'Falhou',
  2279. inQueue: 'Na fila',
  2280. noPrintsYet: 'Nenhuma impressão ainda',
  2281. // Footer stats
  2282. printJobs: 'Trabalhos de impressão (placas)',
  2283. partsPrinted: 'Peças impressas',
  2284. failedParts: 'Peças falhadas',
  2285. // Actions
  2286. import: 'Importar',
  2287. export: 'Exportar',
  2288. importProject: 'Importar projeto',
  2289. exportAll: 'Exportar todos os projetos',
  2290. loading: 'Carregando projetos...',
  2291. // Permissions
  2292. noEditPermission: 'Você não tem permissão para editar projetos',
  2293. noDeletePermission: 'Você não tem permissão para excluir projetos',
  2294. noCreatePermission: 'Você não tem permissão para criar projetos',
  2295. noImportPermission: 'Você não tem permissão para importar projetos',
  2296. noExportPermission: 'Você não tem permissão para exportar projetos',
  2297. // Toast
  2298. toast: {
  2299. created: 'Projeto criado',
  2300. updated: 'Projeto atualizado',
  2301. deleted: 'Projeto excluído',
  2302. imported: 'Projeto importado',
  2303. multipleImported: '{{count}} projetos importados',
  2304. importFailed: 'Falha na importação',
  2305. exported: 'Projetos exportados (apenas metadados)',
  2306. },
  2307. },
  2308. // Project detail page
  2309. projectDetail: {
  2310. notFound: 'Projeto não encontrado',
  2311. backToProjects: 'Voltar para Projetos',
  2312. export: 'Exportar',
  2313. exportProject: 'Exportar projeto',
  2314. noExportPermission: 'Você não tem permissão para exportar projetos',
  2315. noEditPermission: 'Você não tem permissão para editar projetos',
  2316. partOf: 'Parte de:',
  2317. priorityLabel: 'Prioridade:',
  2318. noPrints: 'Nenhuma impressão neste projeto ainda',
  2319. status: {
  2320. active: 'Ativo',
  2321. completed: 'Concluído',
  2322. archived: 'Arquivado',
  2323. },
  2324. priority: {
  2325. low: 'Baixa',
  2326. normal: 'Normal',
  2327. high: 'Alta',
  2328. urgent: 'Urgente',
  2329. },
  2330. dueDate: {
  2331. overdue: 'Atrasado',
  2332. today: 'Vence hoje',
  2333. daysLeft: '{{count}} dias restantes',
  2334. },
  2335. progress: {
  2336. platesProgress: 'Progresso das Placas',
  2337. partsProgress: 'Progresso das Peças',
  2338. printJobs: 'Trabalhos de Impressão',
  2339. parts: 'Peças',
  2340. percentComplete: '{{percent}}% concluído',
  2341. remaining: '{{count}} restantes',
  2342. },
  2343. stats: {
  2344. printJobs: 'Trabalhos de Impressão',
  2345. total: 'total',
  2346. failed: '{{count}} falhou',
  2347. partsPrinted: '{{count}} peças impressas',
  2348. printTime: 'Tempo de Impressão',
  2349. filamentUsed: 'Filamento Usado',
  2350. },
  2351. cost: {
  2352. title: 'Rastreamento de Custos',
  2353. filamentCost: 'Custo do Filamento',
  2354. energy: 'Energia',
  2355. budget: 'Orçamento',
  2356. remaining: 'Restante',
  2357. },
  2358. subProjects: {
  2359. title: 'Sub-projetos ({{count}})',
  2360. },
  2361. notes: {
  2362. title: 'Notas',
  2363. noEditPermission: 'Você não tem permissão para editar notas',
  2364. placeholder: 'Adicione notas sobre este projeto...',
  2365. empty: 'Nenhuma nota ainda. Clique em Editar para adicionar notas.',
  2366. },
  2367. files: {
  2368. title: 'Arquivos',
  2369. linkFolders: 'Vincular pastas do Gerenciador de Arquivos',
  2370. forQuickAccess: 'a este projeto para acesso rápido.',
  2371. fileCount: '{{count}} arquivo(s)',
  2372. empty: 'Nenhuma pasta vinculada. Vá para o Gerenciador de Arquivos e vincule uma pasta a este projeto.',
  2373. },
  2374. bom: {
  2375. title: 'Lista de Materiais',
  2376. acquired: '{{completed}}/{{total}} adquiridos',
  2377. showAll: 'Mostrar todos',
  2378. hideDone: 'Ocultar concluídos',
  2379. addPart: 'Adicionar Peça',
  2380. noAddPermission: 'Você não tem permissão para adicionar peças',
  2381. partNamePlaceholder: 'Nome da peça (ex.: parafusos M3x8)',
  2382. partName: 'Nome da peça',
  2383. qty: 'Quantidade',
  2384. price: 'Preço ({{currency}})',
  2385. sourcingUrlPlaceholder: 'URL de fornecimento (opcional)',
  2386. remarksPlaceholder: 'Observações (opcional)',
  2387. deletePart: 'Excluir Peça',
  2388. deleteConfirm: 'Tem certeza de que deseja excluir "{{name}}"?',
  2389. noUpdatePermission: 'Você não tem permissão para atualizar peças',
  2390. noEditPermission: 'Você não tem permissão para editar peças',
  2391. noDeletePermission: 'Você não tem permissão para excluir peças',
  2392. totalCost: 'Custo total:',
  2393. empty: 'Nenhuma peça na lista de materiais. Adicione hardware, eletrônicos ou outros componentes para rastrear o que precisa ser adquirido.',
  2394. },
  2395. timeline: {
  2396. title: 'Linha do Tempo de Atividades',
  2397. empty: 'Nenhuma atividade ainda.',
  2398. },
  2399. template: {
  2400. saveAsTemplate: 'Salvar como Modelo',
  2401. noCreatePermission: 'Você não tem permissão para criar modelos',
  2402. },
  2403. queue: {
  2404. title: 'Fila',
  2405. viewAll: 'Ver todos',
  2406. printing: '{{count}} imprimindo',
  2407. queued: '{{count}} na fila',
  2408. },
  2409. prints: {
  2410. title: 'Impressões ({{count}})',
  2411. },
  2412. toast: {
  2413. projectUpdated: 'Projeto atualizado',
  2414. partAdded: 'Peça adicionada',
  2415. partRemoved: 'Peça removida',
  2416. exportFailed: 'Falha na exportação',
  2417. projectExported: 'Projeto exportado',
  2418. templateCreated: 'Modelo criado',
  2419. },
  2420. },
  2421. // System info
  2422. system: {
  2423. title: 'Informações do Sistema',
  2424. version: 'Versão',
  2425. uptime: 'Tempo de Atividade',
  2426. cpuUsage: 'Uso da CPU',
  2427. memoryUsage: 'Uso da Memória',
  2428. diskUsage: 'Uso do Disco',
  2429. networkInfo: 'Informações de Rede',
  2430. logs: 'Logs',
  2431. debugMode: 'Modo de Depuração',
  2432. enableDebug: 'Ativar Registro de Depuração',
  2433. disableDebug: 'Desativar Registro de Depuração',
  2434. downloadLogs: 'Baixar Logs',
  2435. clearLogs: 'Limpar Logs',
  2436. dockerInfo: 'Informações do Docker',
  2437. containerName: 'Nome do Contêiner',
  2438. imageName: 'Nome da Imagem',
  2439. platform: 'Plataforma',
  2440. architecture: 'Arquitetura',
  2441. },
  2442. // Library (K Profiles)
  2443. library: {
  2444. title: 'Biblioteca de Filamentos',
  2445. addFilament: 'Adicionar Filamento',
  2446. editFilament: 'Editar Filamento',
  2447. deleteFilament: 'Excluir Filamento',
  2448. vendor: 'Fornecedor',
  2449. material: 'Material',
  2450. color: 'Cor',
  2451. kFactor: 'Fator K',
  2452. temperature: 'Temperatura',
  2453. noFilaments: 'Nenhum filamento na biblioteca',
  2454. deleteConfirm: 'Tem certeza de que deseja excluir este filamento?',
  2455. importFromPrinter: 'Importar da Impressora',
  2456. exportToFile: 'Exportar para Arquivo',
  2457. },
  2458. // Spoolman
  2459. spoolman: {
  2460. title: 'Integração com Spoolman',
  2461. enabled: 'Spoolman Ativado',
  2462. url: 'URL do Spoolman',
  2463. connected: 'Conectado',
  2464. disconnected: 'Não Conectado',
  2465. testConnection: 'Testar Conexão',
  2466. sync: 'Sincronizar',
  2467. syncing: 'Sincronizando...',
  2468. lastSync: 'Última Sincronização',
  2469. linkToSpoolman: 'Vincular ao Spoolman',
  2470. openInSpoolman: 'Abrir no Spoolman',
  2471. unlinkSpool: 'Desvincular Carretel',
  2472. selectSpool: 'Selecionar Carretel',
  2473. noUnlinkedSpools: 'Nenhum carretel desvinculado disponível',
  2474. linkSuccess: 'Carretel vinculado ao Spoolman com sucesso',
  2475. linkFailed: 'Falha ao vincular carretel',
  2476. spoolId: 'Carretel ID (Spool ID)',
  2477. fillSourceLabel: '(Spoolman)',
  2478. weight: 'Peso',
  2479. remaining: 'Restante',
  2480. disableWeightSync: 'Desativar Sincronização de Peso Estimado do AMS',
  2481. disableWeightSyncDesc: "Não atualize a capacidade restante a partir das estimativas do AMS. Use isso se preferir o rastreamento de uso do Spoolman em vez das estimativas baseadas em porcentagem do AMS. Novos carretéis ainda usarão a estimativa do AMS como seu peso inicial.",
  2482. reportPartialUsage: 'Relatar Uso Parcial para Impressões Falhadas',
  2483. reportPartialUsageDesc: 'Quando uma impressão falha ou é cancelada, relate o filamento estimado usado até aquele ponto com base no progresso das camadas.',
  2484. },
  2485. // Inventory
  2486. inventory: {
  2487. title: 'Inventário de Carretéis',
  2488. addSpool: 'Adicionar Carretel',
  2489. editSpool: 'Editar Carretel',
  2490. material: 'Material',
  2491. selectMaterial: 'Selecionar material...',
  2492. subtype: 'Subtipo',
  2493. brand: 'Marca',
  2494. searchBrand: 'Pesquisar marca...',
  2495. useCustomBrand: 'Usar "{{brand}}"',
  2496. colorName: 'Nome da Cor',
  2497. colorNamePlaceholder: 'Jade White, Fire Red...',
  2498. color: 'Cor',
  2499. hexColor: 'Cor Hexadecimal',
  2500. pickColor: 'Escolher cor personalizada',
  2501. labelWeight: 'Peso da Etiqueta',
  2502. coreWeight: 'Peso do Carretel Vazio',
  2503. searchSpoolWeight: 'Pesquisar peso do carretel...',
  2504. weightUsed: 'Usado',
  2505. currentWeight: 'Peso Restante',
  2506. measuredWeight: 'Peso Medido',
  2507. costPerKg: 'Custo por kg',
  2508. measuredWeightError: 'O peso medido deve estar entre {{min}}g e {{max}}g.',
  2509. slicerFilament: 'Filamento do Fatiador',
  2510. slicerFilamentName: 'Nome do Predefinido do Fatiador',
  2511. slicerPreset: 'Predefinido do Fatiador',
  2512. searchPresets: 'Pesquisar predefinições de filamento...',
  2513. selectedPreset: 'Selecionado',
  2514. noPresetsFound: 'Nenhuma predefinição encontrada',
  2515. tempOverrides: 'Substituições de Temperatura',
  2516. note: 'Nota',
  2517. notePlaceholder: 'Quaisquer notas adicionais sobre este spool...',
  2518. archive: 'Arquivar',
  2519. restore: 'Restaurar',
  2520. noSpools: 'Nenhum carretel ainda. Adicione seu primeiro carretel para começar.',
  2521. noManualSpools: 'Nenhum carretel adicionado manualmente disponível. Adicione um carretel ao seu inventário primeiro.',
  2522. kProfiles: 'K-Perfis',
  2523. addKProfile: 'Adicionar K-Perfil',
  2524. assignSpool: 'Atribuir Carretel',
  2525. unassignSpool: 'Desatribuir',
  2526. assignSuccess: 'Carretel atribuído e slot AMS configurado',
  2527. assignFailed: 'Falha ao atribuir carretel',
  2528. selectSpool: 'Selecione um carretel para atribuir a este slot',
  2529. assigned: 'Atribuído',
  2530. assigning: 'Atribuindo...',
  2531. searchSpools: 'Pesquisar carretéis...',
  2532. allMaterials: 'Todos os Materiais',
  2533. filterByBrand: 'Filtrar por marca...',
  2534. showArchived: 'Mostrar arquivados',
  2535. spoolCreated: 'Carretel criado',
  2536. spoolUpdated: 'Carretel atualizado',
  2537. spoolDeleted: 'Carretel excluído',
  2538. spoolArchived: 'Carretel arquivado',
  2539. spoolRestored: 'Carretel restaurado',
  2540. deleteConfirm: 'Tem certeza de que deseja excluir este carretel? Esta ação não pode ser desfeita.',
  2541. archiveConfirm: 'Tem certeza de que deseja arquivar este carretel?',
  2542. advancedSettings: 'Configurações Avançadas',
  2543. // Tabs
  2544. filamentInfoTab: 'Informações do Filamento',
  2545. paProfileTab: 'Perfil PA',
  2546. filamentInfo: 'Filamento',
  2547. additional: 'Adicional',
  2548. // Cloud
  2549. loadingPresets: 'Carregando predefinições da nuvem...',
  2550. cloudConnected: 'Nuvem conectada',
  2551. cloudNotConnected: 'Nuvem não conectada (usando padrões)',
  2552. // Colors
  2553. recentColors: 'Recentes',
  2554. searchColors: 'Pesquisar cores...',
  2555. searchResults: 'Resultados da pesquisa',
  2556. allColors: 'Todas as cores',
  2557. commonColors: 'Cores comuns',
  2558. showLess: 'Mostrar menos',
  2559. showAll: 'Mostrar tudo',
  2560. noColorsFound: 'Nenhuma cor corresponde à sua pesquisa',
  2561. noResults: 'Nenhum resultado encontrado',
  2562. // PA Profiles
  2563. selectMaterialFirst: 'Por favor, selecione um material primeiro na aba Informações do Filamento.',
  2564. noPrintersConfigured: 'Nenhuma impressora configurada. Adicione impressoras para usar perfis PA.',
  2565. matchingFilter: 'Correspondente',
  2566. anyBrand: 'Qualquer marca',
  2567. anyVariant: 'Qualquer variante',
  2568. autoSelect: 'Seleção automática',
  2569. matches: 'correspondências',
  2570. match: 'correspondência',
  2571. noMatches: 'Nenhuma correspondência',
  2572. connected: 'Conectado',
  2573. offline: 'Offline',
  2574. printerOffline: 'A impressora está offline. Conecte-se para visualizar os perfis de calibração.',
  2575. noKProfilesMatch: 'Nenhum K-perfil corresponde ao filamento selecionado.',
  2576. leftNozzle: 'Bico Esquerdo',
  2577. rightNozzle: 'Bico Direito',
  2578. profilesSelected: 'perfil(is) de calibração selecionado(s)',
  2579. // Stats & enhanced table
  2580. totalInventory: 'Inventário Total',
  2581. totalConsumed: 'Total Consumido',
  2582. byMaterial: 'Por Material',
  2583. inPrinter: 'Na Impressora',
  2584. lowStock: 'Estoque Baixo',
  2585. sinceTracking: 'Desde o início do rastreamento',
  2586. loadedInAms: 'Carregado no AMS/Ext',
  2587. remaining: 'Restante',
  2588. lowStockThreshold: '<20% restante',
  2589. search: 'Pesquisar carretéis...',
  2590. showing: 'Mostrando',
  2591. to: 'até',
  2592. of: 'de',
  2593. show: 'Mostrar',
  2594. spools: 'carretéis',
  2595. spool: 'carretel',
  2596. page: 'Página',
  2597. noSpoolsMatch: 'Nenhum resultado encontrado',
  2598. noSpoolsMatchDesc: 'Tente ajustar sua pesquisa ou filtros para encontrar o que você está procurando.',
  2599. active: 'Ativo',
  2600. archived: 'Arquivado',
  2601. all: 'Todos',
  2602. used: 'Usado',
  2603. new: 'Novo',
  2604. clearFilters: 'Limpar filtros',
  2605. table: 'Tabela',
  2606. cards: 'Cartões',
  2607. net: 'Líquido',
  2608. // Column config
  2609. columns: 'Colunas',
  2610. configureColumns: 'Configurar Colunas',
  2611. configureColumnsDesc: 'Arraste para reordenar as colunas ou use as setas. Alterne a visibilidade com o ícone de olho.',
  2612. visible: 'Visível',
  2613. reset: 'Redefinir',
  2614. cancel: 'Cancelar',
  2615. applyChanges: 'Aplicar Alterações',
  2616. moveUp: 'Mover para cima',
  2617. moveDown: 'Mover para baixo',
  2618. hideColumn: 'Ocultar coluna',
  2619. showColumn: 'Mostrar coluna',
  2620. // Tag linking
  2621. linkToSpool: 'Vincular ao Carretel',
  2622. tagLinked: 'Tag vinculada ao carretel',
  2623. tagLinkFailed: 'Falha ao vincular tag',
  2624. tagAlreadyLinked: 'Tag já vinculada a outro carretel',
  2625. unknownTag: 'Tag RFID desconhecida detectada',
  2626. // Usage history
  2627. usageHistory: 'Histórico de Uso',
  2628. noUsageHistory: 'Nenhum uso registrado ainda',
  2629. printName: 'Nome da Impressão',
  2630. weightConsumed: 'Peso Consumido',
  2631. clearHistory: 'Limpar',
  2632. historyCleared: 'Histórico de uso limpo',
  2633. fillSourceLabel: '(Inv)',
  2634. },
  2635. // Timelapse
  2636. timelapse: {
  2637. title: 'Timelapse',
  2638. create: 'Criar Timelapse',
  2639. download: 'Baixar',
  2640. delete: 'Excluir',
  2641. preview: 'Visualizar',
  2642. frameRate: 'Taxa de Quadros',
  2643. quality: 'Qualidade',
  2644. processing: 'Processando...',
  2645. noTimelapses: 'Nenhum timelapse disponível',
  2646. },
  2647. // AMS
  2648. ams: {
  2649. title: 'AMS',
  2650. slot: 'Slot',
  2651. empty: 'Vazio',
  2652. emptySlot: 'Slot vazio',
  2653. unknown: 'Desconhecido',
  2654. humidity: 'Umidade',
  2655. temperature: 'Temperatura',
  2656. filamentType: 'Tipo de Filamento',
  2657. filamentColor: 'Cor',
  2658. remaining: 'Restante',
  2659. history: 'Histórico do AMS',
  2660. noHistory: 'Nenhum histórico disponível',
  2661. configureSlot: 'Configurar Slot',
  2662. externalSpool: 'Carretel Externo',
  2663. profile: 'Perfil',
  2664. kFactor: 'Fator K',
  2665. fill: 'Preencher',
  2666. configure: 'Configurar',
  2667. },
  2668. // Print modal
  2669. printModal: {
  2670. title: 'Iniciar Impressão',
  2671. selectPrinter: 'Selecionar Impressora',
  2672. selectPlate: 'Selecionar Placa',
  2673. filamentMapping: 'Mapeamento de Filamento',
  2674. totalCost: 'Custo total:',
  2675. printSettings: 'Configurações de Impressão',
  2676. bedLeveling: 'Nivelamento da Mesa',
  2677. flowCalibration: 'Calibração de Fluxo',
  2678. vibrationCalibration: 'Calibração de Vibração',
  2679. layerInspection: 'Inspeção da Primeira Camada',
  2680. timelapse: 'Timelapse',
  2681. startPrint: 'Iniciar Impressão',
  2682. addToQueue: 'Adicionar à Fila',
  2683. cancel: 'Cancelar',
  2684. noPrintersAvailable: 'Nenhuma impressora disponível',
  2685. printerBusy: 'Impressora ocupada',
  2686. printerOffline: 'Impressora offline',
  2687. sameTypeDifferentColor: 'Mesmo tipo, cor diferente',
  2688. filamentTypeNotLoaded: 'Tipo de filamento não carregado',
  2689. openCalendar: 'Abrir calendário',
  2690. leftNozzle: 'L',
  2691. rightNozzle: 'R',
  2692. leftNozzleTooltip: 'Bico esquerdo',
  2693. rightNozzleTooltip: 'Bico direito',
  2694. },
  2695. // Backup
  2696. backup: {
  2697. title: 'Bakup e Restauração',
  2698. createBackup: 'Criar Backup',
  2699. restoreBackup: 'Restaurar Backup',
  2700. restoreDescription: 'Substituir todos os dados a partir de um arquivo de backup',
  2701. downloadBackup: 'Baixar Backup',
  2702. uploadBackup: 'Enviar Backup',
  2703. lastBackup: 'Último Backup',
  2704. autoBackup: 'Auto Backup',
  2705. backupNow: 'Fazer Backup Agora',
  2706. restoreWarning: 'Aviso: Restaurar um backup substituirá todos os dados atuais.',
  2707. includeArchives: 'Incluir Arquivos',
  2708. includeSettings: 'Incluir Configurações',
  2709. includeProfiles: 'Incluir Perfis',
  2710. backupSuccess: 'Backup criado com sucesso',
  2711. restoreSuccess: 'Backup restaurado com sucesso',
  2712. backupFailed: 'Falha ao criar backup',
  2713. restoreFailed: 'Falha ao restaurar backup',
  2714. restoreNote: 'A impressora virtual será parada durante a restauração',
  2715. },
  2716. // Tags
  2717. tags: {
  2718. title: 'Tags',
  2719. addTag: 'Adicionar Tag',
  2720. editTag: 'Editar Tag',
  2721. deleteTag: 'Excluir Tag',
  2722. tagName: 'Nome da Tag',
  2723. tagColor: 'Cor da Tag',
  2724. noTags: 'Nenhuma tag',
  2725. deleteConfirm: 'Tem certeza de que deseja excluir esta tag?',
  2726. manageTags: 'Gerenciar Tags',
  2727. },
  2728. // Upload modal (archives)
  2729. uploadModal: {
  2730. title: 'Upload Arquivos 3MF',
  2731. dragDrop: 'Arraste e solte arquivos .3mf aqui',
  2732. or: 'ou',
  2733. browseFiles: 'Procurar Arquivos',
  2734. extractionInfo: 'O modelo da impressora será extraído automaticamente dos metadados do arquivo 3MF.',
  2735. uploaded: 'enviado',
  2736. failed: 'falhou',
  2737. uploading: 'Enviando...',
  2738. upload: 'Enviar',
  2739. uploadFailed: 'Falha no envio',
  2740. },
  2741. // Edit archive modal
  2742. // Edit Archive Modal
  2743. editArchive: {
  2744. title: 'Editar Arquivo',
  2745. name: 'Nome',
  2746. namePlaceholder: 'Nome da impressão',
  2747. printer: 'Impressora',
  2748. noPrinter: 'Nenhuma impressora',
  2749. project: 'Projeto',
  2750. noProject: 'Nenhum projeto',
  2751. itemsPrinted: 'Itens Impressos',
  2752. itemsPrintedHelp: 'Número de itens produzidos neste trabalho de impressão',
  2753. notes: 'Notas',
  2754. notesPlaceholder: 'Adicione notas sobre esta impressão...',
  2755. externalLink: 'Link Externo',
  2756. externalLinkPlaceholder: 'https://printables.com/model/...',
  2757. externalLinkHelp: 'Link para Printables, Thingiverse ou outra fonte',
  2758. tags: 'Tags',
  2759. tagsPlaceholder: 'Adicionar tags...',
  2760. addMoreTags: 'Adicionar mais tags...',
  2761. matchingTags: 'Correspondendo "{{query}}"',
  2762. existingTags: 'Tags existentes',
  2763. clickToAdd: '(clique para adicionar)',
  2764. status: 'Status',
  2765. failureReason: 'Motivo da Falha',
  2766. selectReason: 'Selecione o motivo...',
  2767. photos: 'Fotos do Resultado da Impressão',
  2768. photosHelp: 'Clique em + para adicionar fotos do seu resultado impresso',
  2769. printResult: 'Resultado da Impressão',
  2770. saving: 'Salvando...',
  2771. // Failure reasons
  2772. failureReasons: {
  2773. adhesionFailure: 'Falha de adesão',
  2774. spaghettiDetached: 'Spaghetti / Destacado',
  2775. layerShift: 'Deslocamento de camada',
  2776. cloggedNozzle: 'Bico entupido',
  2777. filamentRunout: 'Fim do filamento',
  2778. warping: 'Warping',
  2779. stringing: 'Stringing',
  2780. underExtrusion: 'Under-extrusion',
  2781. powerFailure: 'Falha de energia',
  2782. userCancelled: 'Cancelado pelo usuário',
  2783. other: 'Outro',
  2784. },
  2785. // Archive statuses
  2786. statuses: {
  2787. completed: 'Concluído',
  2788. failed: 'Falhou',
  2789. aborted: 'Cancelado',
  2790. printing: 'Imprimindo',
  2791. },
  2792. },
  2793. // K-Profiles
  2794. kProfiles: {
  2795. title: 'K-Profiles',
  2796. noPrintersConfigured: 'Nenhuma impressora configurada',
  2797. addPrinterInSettings: 'Adicione uma impressora nas Configurações para gerenciar K-profiles',
  2798. noActivePrinters: 'Nenhuma impressora ativa',
  2799. enablePrinterConnection: 'Ative a conexão da impressora para visualizar seus K-profiles',
  2800. loadingProfiles: 'Carregando K-Profiles...',
  2801. printerOffline: 'Impressora Offline',
  2802. printerOfflineDesc: 'A impressora selecionada não está conectada. Ligue-a para visualizar os K-profiles.',
  2803. noMatchingProfiles: 'Nenhum Perfil Correspondente',
  2804. noMatchingProfilesDesc: 'Nenhum perfil corresponde aos seus critérios de pesquisa',
  2805. noKProfiles: 'Nenhum K-Profile',
  2806. noKProfilesDesc: 'Nenhum perfil de avanço de pressão encontrado para bico de {{diameter}}mm',
  2807. createFirstProfile: 'Criar Primeiro Perfil',
  2808. // Controls
  2809. printer: 'Impressora',
  2810. nozzle: 'Bico',
  2811. refresh: 'Atualizar',
  2812. addProfile: 'Adicionar Perfil',
  2813. export: 'Exportar',
  2814. import: 'Importar',
  2815. select: 'Selecionar',
  2816. selectAll: 'Selecionar Todos',
  2817. delete: 'Excluir',
  2818. // Filters
  2819. searchPlaceholder: 'Pesquisar por nome ou filamento...',
  2820. allExtruders: 'Todos os Extrusores',
  2821. leftOnly: 'Apenas Esquerdo',
  2822. rightOnly: 'Apenas Direito',
  2823. allFlow: 'Todo Fluxo',
  2824. hfOnly: 'Apenas HF',
  2825. sOnly: 'Apenas S',
  2826. sortName: 'Ordenar: Nome',
  2827. sortKValue: 'Ordenar: Valor K',
  2828. sortFilament: 'Ordenar: Filamento',
  2829. // Dual extruder labels
  2830. leftExtruder: 'Extrusor Esquerdo',
  2831. rightExtruder: 'Extrusor Direito',
  2832. // Modal
  2833. modal: {
  2834. addTitle: 'Adicionar K-Profile',
  2835. editTitle: 'Editar K-Profile',
  2836. profileName: 'Nome do Perfil',
  2837. profileNamePlaceholder: 'Meu Perfil PLA',
  2838. kValue: 'Valor K',
  2839. kValuePlaceholder: '0.020',
  2840. kValueHelp: 'Faixa típica: 0.01 - 0.06 para PLA, 0.02 - 0.10 para PETG',
  2841. filament: 'Filamento',
  2842. selectFilament: 'Selecionar filamento...',
  2843. noFilamentsHelp: 'Nenhum filamento encontrado. Crie um K-profile no Bambu Studio primeiro.',
  2844. flowType: 'Tipo de Fluxo',
  2845. highFlow: 'Alto Fluxo',
  2846. standard: 'Padrão',
  2847. nozzleSize: 'Tamanho do Bico',
  2848. extruder: 'Extrusor',
  2849. extruders: 'Extrusores',
  2850. left: 'Esquerdo',
  2851. right: 'Direito',
  2852. notes: 'Notas (armazenadas localmente)',
  2853. notesPlaceholder: 'Adicione notas sobre este perfil...',
  2854. notesHelp: 'As notas são salvas no Bambuddy, não na impressora',
  2855. syncing: 'Sincronizando com a impressora...',
  2856. savingExtruder: 'Salvando no extrusor {{current}}/{{total}}...',
  2857. pleaseWait: 'Por favor, aguarde',
  2858. },
  2859. // Delete confirmation
  2860. deleteConfirm: {
  2861. title: 'Excluir Perfil',
  2862. cannotUndo: 'Isso não pode ser desfeito',
  2863. message: 'Tem certeza de que deseja excluir "{{name}}" da impressora?',
  2864. },
  2865. // Bulk delete
  2866. bulkDelete: {
  2867. title: 'Excluir Perfis',
  2868. cannotUndo: 'Isso não pode ser desfeito',
  2869. message: 'Tem certeza de que deseja excluir {{count}} perfis selecionados da impressora?',
  2870. },
  2871. // Toast
  2872. toast: {
  2873. profileSaved: 'K-profile salvo',
  2874. profilesSaved: 'K-profile salvo em {{count}} extrusores',
  2875. selectAtLeastOneExtruder: 'Por favor, selecione pelo menos um extrusor',
  2876. profileDeleted: 'K-profile excluído',
  2877. profilesDeleted: '{{count}} perfis excluídos',
  2878. exportedProfiles: '{{count}} perfis exportados',
  2879. importedProfiles: '{{count}} de {{total}} perfis importados',
  2880. noProfilesToExport: 'Nenhum perfil para exportar',
  2881. invalidFileFormat: 'Formato de arquivo inválido',
  2882. failedToParseImport: 'Falha ao analisar o arquivo de importação',
  2883. failedToSaveBatch: 'Falha ao salvar K-profiles',
  2884. noteSaved: 'Nota salva',
  2885. failedToSaveNote: 'Falha ao salvar nota',
  2886. },
  2887. // Permissions
  2888. permission: {
  2889. noRead: 'Você não tem permissão para atualizar perfis',
  2890. noCreate: 'Você não tem permissão para adicionar perfis',
  2891. noUpdate: 'Você não tem permissão para atualizar K-profiles',
  2892. noDelete: 'Você não tem permissão para excluir K-profiles',
  2893. noExport: 'Você não tem permissão para exportar perfis',
  2894. noImport: 'Você não tem permissão para importar perfis',
  2895. },
  2896. },
  2897. // Virtual Printer
  2898. virtualPrinter: {
  2899. title: 'Impressora Virtual',
  2900. running: 'Em execução',
  2901. stopped: 'Parada',
  2902. description: {
  2903. default: 'Ative uma impressora virtual que aparece no Bambu Studio e no OrcaSlicer. Os arquivos enviados para esta impressora serão arquivados diretamente sem impressão.',
  2904. proxy: 'Ative um proxy que retransmite o tráfego do slicer para uma impressora real, permitindo impressão remota em qualquer rede.',
  2905. },
  2906. enable: {
  2907. title: 'Ativar Impressora Virtual',
  2908. visibleInSlicer: 'Visível como "Bambuddy" na descoberta do slicer',
  2909. proxyingTo: 'Proxy para {{name}}',
  2910. notActive: 'Não ativo',
  2911. },
  2912. model: {
  2913. title: 'Modelo da Impressora',
  2914. description: 'Selecione qual modelo de impressora emular.',
  2915. restartWarning: 'Alterar o modelo reiniciará a impressora virtual',
  2916. },
  2917. accessCode: {
  2918. title: 'Código de acesso',
  2919. isSet: 'O código de acesso está definido',
  2920. notSet: 'Nenhum código de acesso definido — necessário para ativar.',
  2921. placeholder: 'Digite um código de 8 caracteres',
  2922. placeholderChange: 'Digite um novo código para alterar',
  2923. hint: 'Deve ter exatamente 8 caracteres. Usado pelos slicers para autenticação.',
  2924. charCount: '({{count}}/8)',
  2925. },
  2926. targetPrinter: {
  2927. title: 'Impressora Alvo',
  2928. configured: 'Proxy alvo configurado',
  2929. notConfigured: 'Nenhuma impressora alvo selecionada - necessário para o modo proxy',
  2930. placeholder: 'Selecione uma impressora...',
  2931. hint: 'Selecione a impressora para a qual o tráfego do slicer será enviado. A impressora deve estar no modo LAN.',
  2932. noPrinters: 'Nenhuma impressora configurada. Adicione uma impressora primeiro para usar o modo proxy.',
  2933. },
  2934. remoteInterface: {
  2935. title: 'Substituição da Interface de Rede',
  2936. configured: 'Substituição da interface ativa',
  2937. optional: 'Opcional - use se o IP detectado automaticamente estiver errado (por exemplo, várias NICs, Docker, VPN)',
  2938. placeholder: 'Detecção automática (padrão)...',
  2939. hint: 'Substitua o endereço IP anunciado via SSDP e usado no certificado TLS. Útil quando o Bambuddy possui várias interfaces de rede.',
  2940. },
  2941. mode: {
  2942. title: 'Modo',
  2943. archive: 'Arquivar',
  2944. archiveDesc: 'Arquivar arquivos imediatamente',
  2945. review: 'Revisar',
  2946. reviewDesc: 'Revisar antes de arquivar',
  2947. queue: 'Fila',
  2948. queueDesc: 'Arquivar e adicionar à fila',
  2949. proxy: 'Proxy',
  2950. proxyDesc: 'Retransmitir para impressora real',
  2951. },
  2952. setupRequired: {
  2953. title: 'Configuração Necessária',
  2954. description: 'O recurso de impressora virtual requer configuração adicional do sistema antes de funcionar. Isso inclui encaminhamento de portas, regras de firewall e configurações específicas da plataforma.',
  2955. readGuide: 'Leia o guia de configuração antes de ativar',
  2956. },
  2957. howItWorks: {
  2958. title: 'Como funciona',
  2959. titleProxy: 'Como funciona (Modo Proxy)',
  2960. step1: 'Complete o guia de configuração para sua plataforma',
  2961. step2: 'Ative a impressora virtual e defina um código de acesso',
  2962. step3: 'No Bambu Studio ou OrcaSlicer, vá para "Adicionar Impressora"',
  2963. step4: 'A impressora "Bambuddy" deve aparecer na lista de descoberta',
  2964. step5: 'Conecte-se usando o código de acesso que você definiu',
  2965. step6: 'Quando você "imprimir" para o Bambuddy, o arquivo 3MF será arquivado em vez disso',
  2966. proxyStep1: 'Selecione a impressora alvo (deve estar no modo LAN)',
  2967. proxyStep2: 'Para rede cruzada: selecione a interface de rede do slicer',
  2968. proxyStep3: 'Ative o proxy - a impressora aparece na descoberta do slicer via SSDP',
  2969. proxyStep4: 'Conecte-se usando o código de acesso da impressora',
  2970. proxyStep5: 'Imprima normalmente - o tráfego é retransmitido pelo Bambuddy',
  2971. proxyStep6: 'O streaming da câmera requer NAT/encaminhamento de IP (veja a documentação)',
  2972. },
  2973. status: {
  2974. title: 'Detalhes do Status',
  2975. printerName: 'Nome da Impressora',
  2976. model: 'Modelo',
  2977. serialNumber: 'Número de Série',
  2978. mode: 'Modo',
  2979. pendingFiles: 'Arquivos Pendentes',
  2980. targetPrinter: 'Impressora Alvo',
  2981. ftpPort: 'Porta FTP',
  2982. mqttPort: 'Porta MQTT',
  2983. ftpConnections: 'Conexões FTP',
  2984. mqttConnections: 'Conexões MQTT',
  2985. },
  2986. toast: {
  2987. updated: 'Configurações da impressora virtual atualizadas',
  2988. failedToUpdate: 'Falha ao atualizar as configurações',
  2989. accessCodeRequired: 'Defina um código de acesso primeiro',
  2990. targetPrinterRequired: 'Selecione uma impressora alvo primeiro',
  2991. accessCodeEmpty: 'O código de acesso não pode estar vazio',
  2992. accessCodeLength: 'O código de acesso deve ter exatamente 8 caracteres',
  2993. },
  2994. },
  2995. // Model Viewer
  2996. modelViewer: {
  2997. openInSlicer: 'Abrir no Slicer',
  2998. tabs: {
  2999. model: 'Modelo 3D',
  3000. gcode: 'Pré-visualização G-code',
  3001. },
  3002. notAvailable: 'Não disponível',
  3003. notSliced: 'Não fatiado',
  3004. plates: 'Placas',
  3005. allPlates: 'Todas as Placas',
  3006. plateNumber: 'Placa {{number}}',
  3007. plateCount: '{{count}} placa',
  3008. plateCount_other: '{{count}} placas',
  3009. objectCount: '{{count}} objeto',
  3010. objectCount_other: '{{count}} objetos',
  3011. filamentCount: '{{count}} filamento',
  3012. filamentCount_other: '{{count}} filamentos',
  3013. eta: 'ETA {{minutes}} min',
  3014. noPreview: 'Pré-visualização não disponível para este arquivo',
  3015. pagination: {
  3016. pageOf: 'Página {{current}} de {{total}}',
  3017. prev: 'Anterior',
  3018. next: 'Próximo',
  3019. },
  3020. errors: {
  3021. failedToLoad: 'Falha ao carregar o arquivo',
  3022. noMeshes: 'Nenhuma malha encontrada no arquivo 3MF',
  3023. unsupportedFormat: 'Formato de arquivo não suportado',
  3024. },
  3025. },
  3026. // Maintenance type descriptions (built-in)
  3027. maintenanceDescriptions: {
  3028. lubricateCarbonRods: 'Aplique lubrificante nos eixos de carbono para um movimento suave',
  3029. lubricateRails: 'Aplique lubrificante nos trilhos lineares para um movimento suave',
  3030. cleanNozzle: 'Limpe o hotend e o bico para evitar entupimentos',
  3031. checkBelts: 'Verifique a tensão das correias para impressões precisas',
  3032. cleanBuildPlate: 'Limpe a placa de construção para melhor adesão',
  3033. checkExtruder: 'Verifique as engrenagens do extrusor quanto ao desgaste',
  3034. checkCooling: 'Verifique se os ventiladores de resfriamento estão funcionando corretamente',
  3035. generalInspection: 'Inspeção geral da impressora',
  3036. cleanCarbonRods: 'Limpe os eixos de carbono para reduzir o atrito',
  3037. cleanLinearRails: 'Limpe os trilhos lineares para remover poeira e detritos',
  3038. checkPtfeTube: 'Verifique o tubo PTFE quanto ao desgaste ou danos',
  3039. replaceHepaFilter: 'Substitua o filtro HEPA para qualidade do ar',
  3040. replaceCarbonFilter: 'Substitua o filtro de carbono ativado',
  3041. lubricateLeftNozzleRail: 'Lubrifique o trilho do bico esquerdo (série H2)',
  3042. },
  3043. // Smart Plugs
  3044. smartPlugs: {
  3045. offline: 'Offline',
  3046. admin: 'Admin',
  3047. openPlugAdminPage: 'Abrir o painel de administração da tomada inteligente',
  3048. deleteSmartPlug: 'Excluir Tomada Inteligente',
  3049. turnOnSmartPlug: 'Ligar Tomada Inteligente',
  3050. turnOffSmartPlug: 'Desligar Tomada Inteligente',
  3051. turnOn: 'Ligar',
  3052. turnOff: 'Desligar',
  3053. addSmartPlug: {
  3054. scanningNetwork: 'Procurando na rede...',
  3055. chooseEntity: 'Escolha uma entidade...',
  3056. connectionFailed: 'Falha na conexão',
  3057. searchEntities: 'Pesquisar entidades...',
  3058. searchPowerSensors: 'Pesquisar sensores de energia...',
  3059. searchEnergySensors: 'Pesquisar sensores de energia...',
  3060. placeholders: {
  3061. plugName: 'Tomada da Sala',
  3062. mqttStateOnValue: 'ON, true, 1',
  3063. mqttSameAsPower: 'Mesmo que o tópico de energia, ou diferente',
  3064. },
  3065. },
  3066. },
  3067. // Rich Text Editor
  3068. richTextEditor: {
  3069. bold: 'Negrito',
  3070. italic: 'Itálico',
  3071. underline: 'Sublinhado',
  3072. bulletList: 'Lista com marcadores',
  3073. numberedList: 'Lista numerada',
  3074. alignLeft: 'Alinhar à esquerda',
  3075. alignCenter: 'Centralizar',
  3076. alignRight: 'Alinhar à direita',
  3077. addLink: 'Adicionar link',
  3078. removeLink: 'Remover link',
  3079. },
  3080. // External Links
  3081. externalLinks: {
  3082. noLinksConfigured: 'Nenhum link externo configurado',
  3083. deleteLink: 'Excluir link',
  3084. removeCustomIcon: 'Remover ícone personalizado',
  3085. openInNewTab: 'Abrir em nova aba',
  3086. placeholders: {
  3087. linkName: 'Meu Link',
  3088. },
  3089. },
  3090. // Keyboard Shortcuts Modal
  3091. keyboardShortcuts: {
  3092. title: 'Atalhos de Teclado',
  3093. navigation: 'Navegação',
  3094. archivesSection: 'Arquivos',
  3095. kProfilesSection: 'K-Profiles',
  3096. generalSection: 'Geral',
  3097. shortcuts: {
  3098. goToPrinters: 'Ir para Impressoras',
  3099. goToArchives: 'Ir para Arquivos',
  3100. goToQueue: 'Ir para Fila',
  3101. goToStats: 'Ir para Estatísticas',
  3102. goToProfiles: 'Ir para Perfis na Nuvem',
  3103. goToSettings: 'Ir para Configurações',
  3104. focusSearch: 'Focar na pesquisa',
  3105. openUploadModal: 'Abrir modal de upload',
  3106. clearSelection: 'Limpar seleção / desfocar input',
  3107. contextMenu: 'Menu de contexto nos cartões',
  3108. refreshProfiles: 'Atualizar perfis',
  3109. newProfile: 'Novo perfil',
  3110. exitSelectionMode: 'Sair do modo de seleção',
  3111. showHelp: 'Mostrar esta ajuda',
  3112. },
  3113. footer: 'Pressione Esc ou clique fora para fechar',
  3114. },
  3115. // Notification Log
  3116. notificationLog: {
  3117. title: 'Registro de Notificações',
  3118. events: {
  3119. printStarted: 'Impressão Iniciada',
  3120. printComplete: 'Impressão Concluída',
  3121. printFailed: 'Impressão Falhou',
  3122. printStopped: 'Impressão Interrompida',
  3123. progress: 'Progresso',
  3124. printerOffline: 'Impressora Offline',
  3125. printerError: 'Erro na Impressora',
  3126. lowFilament: 'Filamento Baixo',
  3127. maintenanceDue: 'Manutenção Pendente',
  3128. test: 'Teste',
  3129. },
  3130. timeAgo: {
  3131. justNow: 'Agora mesmo',
  3132. minutesAgo: 'há {{minutes}} minutos',
  3133. hoursAgo: 'há {{hours}} horas',
  3134. },
  3135. },
  3136. // Restore/Backup Modal
  3137. restoreBackup: {
  3138. title: 'Restaurar Backup',
  3139. restoring: 'Restaurando...',
  3140. restoreComplete: 'Restauração Concluída',
  3141. restoreFailed: 'Falha na Restauração',
  3142. importSettings: 'Importar configurações de um arquivo de backup',
  3143. pleaseWait: 'Aguarde enquanto seus dados estão sendo restaurados',
  3144. clickToSelect: 'Clique para selecionar o arquivo de backup (.json ou .zip)',
  3145. howDuplicateHandling: 'Como funciona o tratamento de duplicatas:',
  3146. categories: {
  3147. printers: 'Impressoras',
  3148. smartPlugs: 'Tomadas Inteligentes',
  3149. notificationProviders: 'Provedores de Notificação',
  3150. filaments: 'Filamentos',
  3151. archives: 'Arquivos',
  3152. pendingUploads: 'Uploads Pendentes',
  3153. settingsTemplates: 'Configurações e Modelos',
  3154. },
  3155. matchingInfo: {
  3156. printers: 'correspondem pelo número de série',
  3157. smartPlugs: 'correspondem pelo endereço IP',
  3158. notificationProviders: 'correspondem pelo nome',
  3159. filaments: 'correspondem pelo nome + tipo + marca',
  3160. archives: 'correspondem pelo hash do conteúdo',
  3161. pendingUploads: 'correspondem pelo nome do arquivo',
  3162. settingsTemplates: 'sempre sobrescrito',
  3163. },
  3164. replaceExisting: 'Substituir dados existentes',
  3165. keepExisting: 'Manter dados existentes',
  3166. replaceDescription: 'Substituir itens que já existem com os dados do backup',
  3167. keepDescription: 'Restaurar apenas itens que não existem',
  3168. caution: 'Atenção:',
  3169. cautionText: 'Sobrescrever substituirá suas configurações atuais pelos dados do backup. Os códigos de acesso da impressora nunca são sobrescritos por segurança.',
  3170. itemsRestored: 'Itens Restaurados',
  3171. itemsSkipped: 'Itens Ignorados',
  3172. restored: 'Restaurado',
  3173. skipped: 'Ignorado (já existe)',
  3174. filesLabel: 'Arquivos (3MF, miniaturas, etc.)',
  3175. newApiKeysGenerated: 'Novas Chaves API Geradas',
  3176. newApiKeysWarning: 'Essas chaves são exibidas apenas uma vez. Copie-as agora!',
  3177. processingBackup: 'Processando arquivo de backup...',
  3178. noDataFound: 'Nenhum dado foi encontrado para restaurar no arquivo de backup.',
  3179. failedToRestore: 'Falha ao restaurar o backup. Verifique o formato do arquivo.',
  3180. },
  3181. // Backup Export Modal
  3182. backupExport: {
  3183. title: 'Exportar Backup',
  3184. selectData: 'Selecione os dados a incluir',
  3185. selectAll: 'Selecionar Todos',
  3186. selectNone: 'Selecionar Nenhum',
  3187. categoryDescriptions: {
  3188. settings: 'Idioma, tema, preferências de atualização',
  3189. notifications: 'ntfy, Pushover, Discord, etc.',
  3190. templates: 'Modelos de mensagens personalizadas',
  3191. smartPlugs: 'Configurações de tomadas Tasmota',
  3192. externalLinks: 'Links da barra lateral para serviços externos',
  3193. printers: 'Informações da impressora (códigos de acesso excluídos)',
  3194. plateDetection: 'Imagens de referência de placa vazia',
  3195. filaments: 'Tipos e custos de filamento',
  3196. maintenance: 'Cronogramas de manutenção personalizados',
  3197. archives: 'Todos os dados de impressão + arquivos (3MF, miniaturas, fotos)',
  3198. projects: 'Projetos, itens de BOM e anexos',
  3199. pendingUploads: 'Uploads de impressora virtual aguardando revisão',
  3200. apiKeys: 'Chaves API de webhook (novas chaves geradas na importação)',
  3201. },
  3202. requiresPrinters: 'Requer que as impressoras sejam selecionadas',
  3203. zipFileWarning: 'Um arquivo ZIP será criado.',
  3204. zipFileDescription: 'Inclui todos os arquivos 3MF, miniaturas, timelapses e fotos. Isso pode levar algum tempo e resultar em um arquivo grande.',
  3205. includeAccessCodes: 'Incluir Códigos de Acesso',
  3206. includeAccessCodesDescription: 'Para transferir para outra máquina',
  3207. includeAccessCodesWarning: 'Os códigos de acesso serão incluídos em texto simples. Mantenha este arquivo de backup seguro!',
  3208. categoriesSelected: '{{selectedCount}} categorias selecionadas',
  3209. },
  3210. // Pending Uploads Panel
  3211. pendingUploads: {
  3212. placeholders: {
  3213. notes: 'Adicione notas sobre esta impressão...',
  3214. },
  3215. discardUpload: 'Descartar Upload',
  3216. archiveAllUploads: 'Arquivar Todos os Uploads',
  3217. discardAllUploads: 'Descartar Todos os Uploads',
  3218. archive: 'Arquivar',
  3219. timeAgo: {
  3220. justNow: 'Agora mesmo',
  3221. minutesAgo: 'há {{minutes}} minutos',
  3222. hoursAgo: 'há {{hours}} horas',
  3223. daysAgo: 'há {{days}} dias',
  3224. },
  3225. },
  3226. // API Browser
  3227. apiBrowser: {
  3228. placeholders: {
  3229. requestBody: 'Corpo da requisição JSON...',
  3230. searchEndpoints: 'Pesquisar endpoints...',
  3231. },
  3232. },
  3233. // Configure AMS Slot Modal
  3234. configureAmsSlot: {
  3235. title: 'Configurar Slot AMS',
  3236. slotConfigured: 'Slot Configurado!',
  3237. configuringSlot: 'Configurando slot:',
  3238. slotLabel: '{{ams}} Slot {{slot}}',
  3239. searchPresets: 'Pesquisar predefinições...',
  3240. colorPlaceholder: 'Nome da cor ou hex (ex.: marrom, FF8800)',
  3241. clearCustomColor: 'Limpar cor personalizada',
  3242. noCloudPresets: 'Nenhuma predefinição na nuvem. Faça login no Bambu Cloud para sincronizar.',
  3243. noPresetsAvailable: 'Nenhuma predefinição disponível. Faça login no Bambu Cloud ou importe perfis locais.',
  3244. noMatchingPresets: 'Nenhuma predefinição correspondente encontrada.',
  3245. custom: 'Personalizado',
  3246. builtin: 'Integrado',
  3247. settingsSentToPrinter: 'Configurações enviadas para a impressora',
  3248. filamentProfile: 'Perfil de Filamento',
  3249. kProfileLabel: 'Perfil K (Avanço de Pressão)',
  3250. filteringFor: 'Filtrando por: {{material}}',
  3251. noKProfile: 'Nenhum perfil K (usar padrão 0.020)',
  3252. noMatchingKProfiles: 'Nenhum perfil K correspondente encontrado. O K padrão=0.020 será usado.',
  3253. selectFilamentFirst: 'Selecione um perfil de filamento primeiro',
  3254. kFromCalibration: 'K={{value}} da calibração da impressora',
  3255. customColorLabel: 'Cor Personalizada (opcional)',
  3256. presetColors: 'Cores de {{name}}:',
  3257. showLessColors: 'Mostrar menos cores',
  3258. showMoreColors: 'Mostrar mais cores',
  3259. clear: 'Limpar',
  3260. hexLabel: 'Hex: #{{hex}}',
  3261. resetting: 'Redefinindo...',
  3262. resetSlot: 'Redefinir Slot',
  3263. cancel: 'Cancelar',
  3264. configuring: 'Configurando...',
  3265. configureSlot: 'Configurar Slot',
  3266. },
  3267. // GitHub Backup Settings
  3268. githubBackup: {
  3269. title: 'Backup do GitHub',
  3270. history: 'Histórico',
  3271. downloadBackup: 'Baixar Backup',
  3272. restoreBackup: 'Restaurar Backup',
  3273. noBackupsYet: 'Nenhum backup ainda',
  3274. },
  3275. // Email Settings
  3276. emailSettings: {
  3277. placeholders: {
  3278. fromName: 'BamBuddy',
  3279. },
  3280. },
  3281. // Tag Management Modal
  3282. tagManagement: {
  3283. searchTags: 'Pesquisar tags...',
  3284. renameTag: 'Renomear tag',
  3285. deleteTag: 'Excluir tag',
  3286. },
  3287. // Notification Template Editor
  3288. notificationTemplates: {
  3289. placeholders: {
  3290. title: 'Título da notificação...',
  3291. body: 'Corpo da notificação...',
  3292. },
  3293. },
  3294. // Batch Tag Modal
  3295. batchTag: {
  3296. placeholders: {
  3297. newTag: 'Digite uma nova tag...',
  3298. },
  3299. },
  3300. // Photo Gallery Modal
  3301. photoGallery: {
  3302. deletePhoto: 'Excluir foto',
  3303. },
  3304. // Filament Hover Card
  3305. filamentHoverCard: {
  3306. copySpoolUuid: 'Copiar UUID do carretel',
  3307. },
  3308. // K Profiles View
  3309. kProfilesView: {
  3310. hasNote: 'Possui nota',
  3311. copyProfile: 'Copiar perfil',
  3312. },
  3313. // Layout/Navigation
  3314. layout: {
  3315. openMenu: 'Abrir menu',
  3316. noPermissionSystemInfo: 'Você não tem permissão para visualizar informações do sistema',
  3317. },
  3318. // Dashboard
  3319. dashboard: {
  3320. dragToReorder: 'Arrastar para reordenar',
  3321. hideWidget: 'Ocultar widget',
  3322. },
  3323. // Notification Provider Card
  3324. notificationProviderCard: {
  3325. deleteNotificationProvider: 'Excluir provedor de notificação',
  3326. },
  3327. // File Manager Modal
  3328. fileManagerModal: {
  3329. closeFileManager: 'Fechar gerenciador de arquivos',
  3330. sortFiles: 'Ordenar arquivos',
  3331. goToParentFolder: 'Ir para a pasta pai',
  3332. threeView: 'Visualização 3D',
  3333. },
  3334. // Embedded Camera Viewer
  3335. embeddedCameraViewer: {
  3336. refreshStream: 'Atualizar stream',
  3337. close: 'Fechar',
  3338. zoomOut: 'Reduzir zoom',
  3339. resetZoom: 'Redefinir zoom',
  3340. zoomIn: 'Aumentar zoom',
  3341. dragToResize: 'Arrastar para redimensionar',
  3342. },
  3343. // Timelapse Viewer
  3344. timelapseViewer: {
  3345. skipBack5s: 'Voltar 5s',
  3346. skipForward5s: 'Avançar 5s',
  3347. },
  3348. // Notification Providers
  3349. notificationProviders: {
  3350. descriptions: {
  3351. email: 'Notificações por email SMTP',
  3352. telegram: 'Notificações via bot do Telegram',
  3353. discord: 'Enviar para canal do Discord via webhook',
  3354. ntfy: 'Notificações push gratuitas e auto-hospedáveis',
  3355. pushover: 'Notificações push simples e confiáveis',
  3356. callmebot: 'Notificações gratuitas via WhatsApp pelo CallMeBot',
  3357. webhook: 'POST HTTP genérico para qualquer URL',
  3358. },
  3359. },
  3360. // Log Viewer
  3361. logViewer: {
  3362. searchPlaceholder: 'Pesquisar mensagem ou nome do logger...',
  3363. noLogEntries: 'Nenhuma entrada de log encontrada',
  3364. },
  3365. // Switchbar Popover
  3366. switchbarPopover: {
  3367. noSwitchesInSwitchbar: 'Nenhum switch na barra de switches',
  3368. },
  3369. // Project Page Modal
  3370. projectPageModal: {
  3371. placeholders: {
  3372. title: 'Título',
  3373. designer: 'Designer',
  3374. license: 'Licença',
  3375. description: 'Digite a descrição...',
  3376. profileTitle: 'Título do perfil',
  3377. profileDescription: 'Descrição do perfil...',
  3378. },
  3379. },
  3380. // Spoolman Settings
  3381. spoolmanSettings: {},
  3382. };