zh-CN.ts 165 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488
  1. export default {
  2. // Navigation
  3. nav: {
  4. printers: '打印机',
  5. archives: '归档',
  6. queue: '队列',
  7. stats: '统计',
  8. profiles: '配置文件',
  9. maintenance: '维护',
  10. projects: '项目',
  11. inventory: '耗材',
  12. files: '文件管理器',
  13. settings: '设置',
  14. system: '系统',
  15. collapseSidebar: '收起侧边栏',
  16. expandSidebar: '展开侧边栏',
  17. update: '更新',
  18. updateAvailable: '有可用更新:v{{version}}',
  19. updateAvailableBanner: '版本 {{version}} 已发布!',
  20. viewUpdate: '查看更新',
  21. viewOnGithub: '在 GitHub 上查看',
  22. keyboardShortcuts: '键盘快捷键 (?)',
  23. switchToLight: '切换到浅色模式',
  24. switchToDark: '切换到深色模式',
  25. smartSwitches: '智能开关',
  26. logout: '退出登录',
  27. },
  28. // Common
  29. common: {
  30. save: '保存',
  31. saving: '保存中...',
  32. cancel: '取消',
  33. delete: '删除',
  34. edit: '编辑',
  35. add: '添加',
  36. close: '关闭',
  37. confirm: '确认',
  38. loading: '加载中...',
  39. error: '错误',
  40. success: '成功',
  41. warning: '警告',
  42. enabled: '已启用',
  43. disabled: '已禁用',
  44. yes: '是',
  45. no: '否',
  46. on: '开',
  47. off: '关',
  48. all: '全部',
  49. none: '无',
  50. search: '搜索',
  51. filter: '筛选',
  52. sort: '排序',
  53. refresh: '刷新',
  54. download: '下载',
  55. upload: '上传',
  56. uploading: '上传中...',
  57. uploadFailed: '上传失败',
  58. actions: '操作',
  59. status: '状态',
  60. name: '名称',
  61. description: '描述',
  62. date: '日期',
  63. time: '时间',
  64. hours: '小时',
  65. minutes: '分钟',
  66. seconds: '秒',
  67. days: '天',
  68. enable: '启用',
  69. disable: '禁用',
  70. permissions: '权限',
  71. noPrinters: '未配置打印机',
  72. noData: '暂无数据',
  73. linkNotFound: '未找到链接',
  74. required: '必填',
  75. optional: '可选',
  76. dismiss: '关闭',
  77. apply: '应用',
  78. reset: '重置',
  79. export: '导出',
  80. import: '导入',
  81. clear: '清除',
  82. selectAll: '全选',
  83. deselectAll: '取消全选',
  84. noChange: '— 不更改 —',
  85. unchanged: '未更改',
  86. unassigned: '未分配',
  87. unknown: '未知',
  88. unknownError: '未知错误',
  89. today: '今天',
  90. tomorrow: '明天',
  91. asap: '尽快',
  92. overdue: '已逾期',
  93. now: '现在',
  94. collapse: '收起',
  95. expand: '展开',
  96. viewArchive: '查看归档',
  97. viewInFileManager: '在文件管理器中查看',
  98. addedBy: '由 {{username}} 添加',
  99. prints: '次打印',
  100. more: '还有 {{count}} 个',
  101. ascending: '升序',
  102. descending: '降序',
  103. printer: '打印机',
  104. remove: '移除',
  105. type: '类型',
  106. print: '打印',
  107. rename: '重命名',
  108. move: '移动',
  109. create: '创建',
  110. duplicate: '复制',
  111. left: '左',
  112. right: '右',
  113. },
  114. // Printers page
  115. printers: {
  116. title: '打印机',
  117. addPrinter: '添加打印机',
  118. editPrinter: '编辑打印机',
  119. deletePrinter: '删除打印机',
  120. printerName: '打印机名称',
  121. serialNumber: '序列号',
  122. ipAddress: 'IP 地址 / 主机名',
  123. accessCode: '访问码',
  124. model: '型号',
  125. nozzleCount: '喷嘴数量',
  126. autoArchive: '自动归档',
  127. status: {
  128. available: '可用',
  129. idle: '空闲',
  130. printing: '打印中',
  131. paused: '已暂停',
  132. offline: '离线',
  133. error: '错误',
  134. finished: '已完成',
  135. unknown: '未知',
  136. },
  137. temperatures: {
  138. nozzle: '喷嘴',
  139. bed: '热床',
  140. chamber: '腔室',
  141. },
  142. progress: '{{percent}}% 完成',
  143. timeRemaining: '剩余 {{time}}',
  144. deleteConfirm: '确定要删除"{{name}}"吗?',
  145. maintenanceOk: '维护正常',
  146. maintenanceWarning: '{{count}} 个警告',
  147. maintenanceWarning_plural: '{{count}} 个警告',
  148. maintenanceDue: '{{count}} 个到期',
  149. maintenanceDue_plural: '{{count}} 个到期',
  150. // Sort options
  151. sort: {
  152. name: '名称',
  153. status: '状态',
  154. model: '型号',
  155. location: '位置',
  156. ascending: '升序排列',
  157. descending: '降序排列',
  158. },
  159. // Card size
  160. cardSize: {
  161. small: '小卡片',
  162. medium: '中卡片',
  163. large: '大卡片',
  164. extraLarge: '超大卡片',
  165. },
  166. // Controls
  167. hideOffline: '隐藏离线',
  168. nextAvailable: '下一个可用',
  169. powerOn: '开机',
  170. offlinePrintersWithPlugs: '带智能插座的离线打印机',
  171. noPrintersConfigured: '尚未配置打印机',
  172. // Printer card
  173. readyToPrint: '准备打印',
  174. external: '外部',
  175. extL: '外置左',
  176. extR: '外置右',
  177. deleteArchives: '删除打印归档',
  178. noLabel: '无标签',
  179. printPreview: '打印预览',
  180. width: '宽度',
  181. height: '高度',
  182. noObjectsFound: '未找到对象',
  183. objectsLoadedOnPrintStart: '对象在打印开始时加载',
  184. willBeSkipped: '将被跳过',
  185. name: '名称',
  186. serialCannotBeChanged: '序列号无法更改',
  187. locationHelp: '用于分组打印机和筛选队列任务',
  188. // WiFi signal strength
  189. wifiSignal: {
  190. veryWeak: '非常弱',
  191. weak: '弱',
  192. fair: '一般',
  193. good: '良好',
  194. excellent: '优秀',
  195. },
  196. // Maintenance
  197. maintenanceUpToDate: '所有维护均已完成 - 点击查看',
  198. // Chamber light
  199. chamberLightOn: '打开腔室灯',
  200. chamberLightOff: '关闭腔室灯',
  201. // Files
  202. files: '文件',
  203. browseFiles: '浏览打印机文件',
  204. // Smart plug
  205. autoOffAfterPrint: '打印后自动关机',
  206. autoOffExecuted: '已执行自动关机 - 开启打印机以重置',
  207. // HMS errors
  208. hmsErrors: 'HMS 错误',
  209. viewHmsErrors: '查看 {{count}} 个 HMS 错误',
  210. // Actions
  211. resume: '继续',
  212. pause: '暂停',
  213. stop: '停止',
  214. camera: '摄像头',
  215. skipObject: '跳过对象',
  216. reconnect: '重新连接',
  217. mqttDebug: 'MQTT 调试',
  218. printerInformation: '打印机信息',
  219. copyToClipboard: '复制',
  220. copied: '已复制!',
  221. state: '状态',
  222. wifiSignalLabel: 'WiFi 信号',
  223. developerMode: '开发者模式',
  224. enabled: '已启用',
  225. disabled: '已禁用',
  226. addedOn: '添加日期',
  227. sdCard: 'SD 卡',
  228. inserted: '已插入',
  229. notInserted: '未插入',
  230. totalPrintHours: '打印时长',
  231. activeNozzle: '当前:{{nozzle}} 喷嘴',
  232. nozzleRack: '喷嘴架',
  233. nozzleDocked: '已停靠',
  234. nozzleMounted: '已安装',
  235. nozzleActive: '使用中',
  236. nozzleIdle: '空闲',
  237. nozzleDiameter: '直径',
  238. nozzleType: '类型',
  239. nozzleStatus: '状态',
  240. nozzleFilament: '耗材',
  241. nozzleWear: '磨损',
  242. nozzleMaxTemp: '最高温度',
  243. nozzleSerial: '序列号',
  244. nozzleHardenedSteel: '硬化钢',
  245. nozzleStainlessSteel: '不锈钢',
  246. nozzleTungstenCarbide: '碳化钨',
  247. nozzleFlow: '流量',
  248. nozzleHighFlow: '高流量',
  249. nozzleStandardFlow: '标准',
  250. // Firmware
  251. firmwareUpdate: '固件更新',
  252. firmwareInstructions: '在打印机触摸屏上,前往',
  253. firmwareNav: '导航到',
  254. settings: '设置',
  255. firmware: '固件',
  256. // Discovery
  257. discoverPrinters: '发现打印机',
  258. searching: '搜索中...',
  259. manualEntry: '手动输入',
  260. addFromCloud: '从云端添加',
  261. // Toast messages
  262. toast: {
  263. printerDeleted: '打印机已删除',
  264. printerAdded: '打印机已添加',
  265. printerUpdated: '打印机已更新',
  266. failedToDelete: '删除打印机失败',
  267. failedToAdd: '添加打印机失败',
  268. failedToUpdate: '更新打印机失败',
  269. commandSent: '命令已发送',
  270. failedToSendCommand: '发送命令失败',
  271. turnedOn: '{{name}} 已开启',
  272. failedToPowerOn: '开启 {{name}} 失败',
  273. scriptTriggered: '脚本已触发',
  274. printStopped: '打印已停止',
  275. printPaused: '打印已暂停',
  276. printResumed: '打印已继续',
  277. referenceDeleted: '参考已删除',
  278. detectionAreaSaved: '检测区域已保存',
  279. failedToRunScript: '运行脚本失败',
  280. failedToStopPrint: '停止打印失败',
  281. failedToPausePrint: '暂停打印失败',
  282. failedToResumePrint: '继续打印失败',
  283. failedToControlChamberLight: '控制腔室灯失败',
  284. failedToUpdateSetting: '更新设置失败',
  285. failedToSkipObjects: '跳过对象失败',
  286. failedToRereadRfid: '重新读取 RFID 失败',
  287. failedToCheckPlate: '检查打印板失败',
  288. failedToUpdateLabel: '更新标签失败',
  289. failedToDeleteReference: '删除参考失败',
  290. failedToSaveDetectionArea: '保存检测区域失败',
  291. plateCheckEnabled: '打印板检查已启用',
  292. plateCheckDisabled: '打印板检查已禁用',
  293. calibrationSaved: '校准已保存!',
  294. calibrationFailed: '校准失败',
  295. rfidRereadInitiated: '已发起 RFID 重新读取',
  296. },
  297. // Connection status
  298. connection: {
  299. connected: '已连接',
  300. offline: '离线',
  301. },
  302. // Queue info
  303. queue: {
  304. inQueue: '队列中有 {{count}} 个打印任务',
  305. inQueue_plural: '队列中有 {{count}} 个打印任务',
  306. },
  307. // Controls section
  308. controls: '控制',
  309. // RFID
  310. rfid: {
  311. reread: '重新读取 RFID',
  312. },
  313. // Permissions
  314. permission: {
  315. noAdd: '您没有添加打印机的权限',
  316. noEdit: '您没有编辑打印机的权限',
  317. noDelete: '您没有删除打印机的权限',
  318. noControl: '您没有控制打印机的权限',
  319. noFiles: '您没有访问打印机文件的权限',
  320. noAmsRfid: '您没有重新读取 AMS RFID 的权限',
  321. noSmartPlugControl: '您没有控制智能插座的权限',
  322. noCamera: '您没有查看摄像头的权限',
  323. },
  324. // Add/Edit modal
  325. modal: {
  326. addTitle: '添加打印机',
  327. editTitle: '编辑打印机',
  328. myPrinter: '我的打印机',
  329. selectModel: '选择型号...',
  330. locationGroup: '位置 / 分组(可选)',
  331. locationPlaceholder: '例如:工作室、办公室、地下室',
  332. autoArchiveLabel: '自动归档已完成的打印',
  333. fromPrinterSettings: '来自打印机设置',
  334. modelOptional: '型号(可选)',
  335. saveChanges: '保存更改',
  336. },
  337. // Skip objects
  338. skipObjects: {
  339. tooltip: '跳过对象',
  340. onlyWhilePrinting: '跳过对象(仅在打印时)',
  341. requiresMultiple: '跳过对象(需要2个以上对象)',
  342. title: '跳过对象',
  343. matchIdsInfo: '将 ID 与打印机显示屏上的 ID 进行对照',
  344. printerShowsIds: '打印机屏幕上显示构建板上对象的 ID',
  345. skipSelected: '跳过所选',
  346. skipping: '跳过中...',
  347. noObjectsSelected: '未选择对象',
  348. selectObjectsToSkip: '选择要从当前打印中跳过的对象',
  349. skipped: '已跳过',
  350. objectsSkipped: '对象已跳过',
  351. activeCount: '{{count}} 个活跃',
  352. waitForLayer: '等待第2层以上才能跳过对象(当前第 {{layer}} 层)',
  353. skip: '跳过',
  354. confirmTitle: '跳过对象?',
  355. confirmMessage: '确定要跳过"{{name}}"吗?此操作无法撤销。',
  356. },
  357. // Confirm modals
  358. confirm: {
  359. deleteTitle: '删除打印机',
  360. deleteMessage: '确定要删除"{{name}}"吗?这将移除所有连接设置。',
  361. deleteArchivesNote: '此打印机的所有打印历史将被永久删除。',
  362. keepArchivesNote: '打印历史将保留,但不再与此打印机关联。',
  363. stopTitle: '停止打印',
  364. stopMessage: '确定要停止"{{name}}"上的当前打印吗?这将取消打印任务。',
  365. stopButton: '停止打印',
  366. pauseTitle: '暂停打印',
  367. pauseMessage: '确定要暂停"{{name}}"上的当前打印吗?',
  368. pauseButton: '暂停打印',
  369. resumeTitle: '继续打印',
  370. resumeMessage: '确定要继续"{{name}}"上的打印吗?',
  371. resumeButton: '继续打印',
  372. powerOnTitle: '开启打印机',
  373. powerOnMessage: '确定要打开"{{name}}"的电源吗?',
  374. powerOnButton: '开机',
  375. powerOffTitle: '关闭打印机',
  376. powerOffMessage: '确定要关闭"{{name}}"的电源吗?',
  377. powerOffWarning: '警告:"{{name}}"正在打印中!确定要关闭电源吗?这将中断打印并可能损坏打印机。',
  378. powerOffButton: '关机',
  379. },
  380. // Discovery
  381. discovery: {
  382. title: '发现打印机',
  383. searching: '搜索中...',
  384. scanning: '扫描中...',
  385. scanProgress: '扫描中... {{scanned}}/{{total}}',
  386. foundPrinters: '发现 {{count}} 台打印机',
  387. noPrintersFound: '未找到打印机',
  388. noPrintersFoundSubnet: '在指定子网中未找到打印机。',
  389. noPrintersFoundNetwork: '在网络上未找到打印机。',
  390. allConfigured: '所有发现的打印机已配置完毕。',
  391. alreadyAdded: '已添加',
  392. select: '选择',
  393. manualEntry: '手动输入',
  394. addFromCloud: '从云端添加',
  395. subnetToScan: '要扫描的子网',
  396. dockerNote: '检测到 Docker 环境。请以 CIDR 格式输入打印机所在子网。需要在 docker-compose.yml 中设置 network_mode: host。',
  397. scanSubnet: '扫描子网查找打印机',
  398. discoverNetwork: '在网络上发现打印机',
  399. scanningSubnet: '正在扫描子网查找拓竹打印机...',
  400. scanningNetwork: '正在扫描网络...',
  401. serialRequired: '需要序列号',
  402. unknown: '未知',
  403. failedToStart: '启动发现失败',
  404. },
  405. // AMS Drying
  406. drying: {
  407. start: '开始干燥',
  408. stop: '停止干燥',
  409. temperature: '温度',
  410. duration: '时长',
  411. hours: '小时',
  412. timeRemaining: '剩余 {{time}}',
  413. active: '干燥中',
  414. notSupported: '不支持干燥',
  415. powerRequired: '连接AMS电源适配器以启用干燥',
  416. startingDrying: '正在启动干燥...',
  417. stoppingDrying: '正在停止干燥...',
  418. },
  419. // Filaments section
  420. filaments: '耗材',
  421. // Camera
  422. openCameraOverlay: '打开摄像头叠加层',
  423. openCameraWindow: '在新窗口中打开摄像头',
  424. // Firmware
  425. firmwareUpdateAvailable: '固件更新可用:{{current}} → {{latest}}',
  426. firmwareUpToDate: '固件 {{version}} — 已是最新',
  427. firmwareUpdateButton: '更新',
  428. // Plate detection
  429. plateDetection: {
  430. noPermission: '您没有更新打印机的权限',
  431. enabledClick: '打印板检查已启用 - 点击禁用',
  432. disabledClick: '打印板检查已禁用 - 点击启用',
  433. manageCalibration: '管理打印板检测校准',
  434. calibrationRequired: '需要校准',
  435. calibrationInstructions: '请确保构建板<strong>完全空置</strong>,然后点击校准。',
  436. calibrationDescription: '校准会拍摄空置打印板的参考图像。后续检查将与此参考进行比较以检测物体。',
  437. calibrationTip: '<strong>提示:</strong>您最多可以为不同的打印板存储5个校准。系统会在检查时自动使用最佳匹配。',
  438. plateEmpty: '打印板似乎是空的',
  439. objectsDetected: '在打印板上检测到物体',
  440. confidence: '置信度',
  441. difference: '差异',
  442. analysisPreview: '分析预览:',
  443. analysisLegend: '绿色框 = 检测区域,红色覆盖 = 与校准的差异',
  444. savedReferences: '已保存的参考 ({{count}}/{{max}})',
  445. deleteReference: '删除参考',
  446. labelPlaceholder: '标签...',
  447. clickToEdit: '{{label}} - 点击编辑',
  448. clickToAddLabel: '点击添加标签',
  449. },
  450. // Fans
  451. fans: {
  452. partCooling: '零件冷却风扇',
  453. auxiliary: '辅助风扇',
  454. chamber: '腔室风扇',
  455. },
  456. // HMS errors
  457. clickToViewHmsErrors: '点击查看 HMS 错误',
  458. estimatedCompletion: '预计完成时间',
  459. slotOptions: '槽位选项',
  460. // AMS hover popup
  461. amsPopup: {
  462. friendlyName: 'AMS 名称',
  463. friendlyNamePlaceholder: '例如 AMS 友好名称',
  464. serialNumber: '序列号',
  465. firmwareVersion: '固件',
  466. save: '保存',
  467. clear: '清除',
  468. noEditPermission: '您没有重命名 AMS 单元的权限',
  469. },
  470. // Firmware modal
  471. firmwareModal: {
  472. title: '固件更新',
  473. titleUpToDate: '固件信息',
  474. currentVersion: '当前版本:',
  475. latestVersion: '最新版本:',
  476. releaseNotes: '发布说明',
  477. checkingPrereqs: '正在检查前提条件...',
  478. sdCardReady: 'SD 卡已就绪。点击下方上传固件。',
  479. uploadedSuccess: '固件已上传到 SD 卡!',
  480. applyInstructions: '在打印机上应用更新:',
  481. step1: '在打印机触摸屏上,前往<strong>设置</strong>',
  482. step2: '导航到<strong>固件</strong>',
  483. step3: '选择<strong>从 SD 卡更新</strong>',
  484. step4: '更新将需要 10-20 分钟',
  485. done: '完成',
  486. starting: '启动中...',
  487. uploadFirmware: '上传固件',
  488. uploadFailed: '上传启动失败:{{error}}',
  489. uploadedToast: '固件已上传!请在打印机屏幕上触发更新。',
  490. },
  491. accessCodePlaceholder: '留空以保持当前值',
  492. // ROI editor
  493. roi: {
  494. title: '检测区域 (ROI)',
  495. xStart: 'X 起点',
  496. yStart: 'Y 起点',
  497. width: '宽度',
  498. height: '高度',
  499. instruction: '调整检测区域以聚焦到构建板。预览中的绿色框显示当前区域。',
  500. },
  501. developerModeWarning: '以下打印机未启用开发者局域网模式:{{names}}。某些功能可能无法使用。',
  502. howToEnable: '如何启用',
  503. incompatibleFile: '此文件是为 {{slicedFor}} 切片的,但该打印机是 {{printerModel}}',
  504. dropNotPrintable: '只能打印 .gcode 和 .gcode.3mf 文件',
  505. dropToPrint: '拖放以打印',
  506. cannotPrint: '打印机忙碌',
  507. },
  508. // Archives page
  509. archives: {
  510. title: '打印归档',
  511. searchPlaceholder: '搜索归档...',
  512. filterByPrinter: '按打印机筛选',
  513. filterByStatus: '按状态筛选',
  514. sortBy: '排序方式',
  515. sortNewest: '最新优先',
  516. sortOldest: '最旧优先',
  517. sortName: '名称',
  518. sortDuration: '时长',
  519. sortLargest: '最大优先',
  520. sortSmallest: '最小优先',
  521. sortSize: '大小',
  522. noArchives: '未找到归档',
  523. noArchivesSearch: '没有匹配搜索的归档',
  524. noArchivesYet: '暂无归档',
  525. loadingArchives: '加载归档中...',
  526. releaseToUpload: '释放以上传',
  527. showAll: '显示全部',
  528. showFavoritesOnly: '仅显示收藏',
  529. gridView: '网格视图',
  530. listView: '列表视图',
  531. calendarView: '日历视图',
  532. logView: '打印日志',
  533. manageTags: '管理标签',
  534. showFailedPrints: '显示失败的打印',
  535. hideFailedPrints: '隐藏失败的打印',
  536. printTime: '打印时间',
  537. filamentUsed: '耗材用量',
  538. cost: '成本',
  539. reprint: '重新打印',
  540. preview: '预览',
  541. deleteArchive: '删除归档',
  542. deleteConfirm: '确定要删除此归档吗?',
  543. favorite: '收藏',
  544. unfavorite: '取消收藏',
  545. viewDetails: '查看详情',
  546. status: {
  547. completed: '已完成',
  548. failed: '失败',
  549. stopped: '已停止',
  550. },
  551. toast: {
  552. source3mfAttached: '源 3MF 已附加:{{filename}}',
  553. failedUploadSource3mf: '上传源 3MF 失败',
  554. source3mfRemoved: '源 3MF 已移除',
  555. failedRemoveSource3mf: '移除源 3MF 失败',
  556. f3dAttached: 'F3D 已附加:{{filename}}',
  557. failedUploadF3d: '上传 F3D 失败',
  558. f3dRemoved: 'F3D 已移除',
  559. failedRemoveF3d: '移除 F3D 失败',
  560. timelapseAttached: '延时摄影已附加:{{filename}}',
  561. timelapseAlreadyAttached: '延时摄影已附加',
  562. noMatchingTimelapse: '未找到匹配的延时摄影',
  563. failedScanTimelapse: '扫描延时摄影失败',
  564. failedAttachTimelapse: '附加延时摄影失败',
  565. timelapseRemoved: '延时摄影已移除',
  566. failedRemoveTimelapse: '移除延时摄影失败',
  567. timelapseUploaded: '延时摄影已上传:{{filename}}',
  568. failedUploadTimelapse: '上传延时摄影失败',
  569. archiveDeleted: '归档已删除',
  570. failedDeleteArchive: '删除归档失败',
  571. addedToFavorites: '已添加到收藏',
  572. removedFromFavorites: '已从收藏中移除',
  573. projectUpdated: '项目已更新',
  574. failedUpdateProject: '更新项目失败',
  575. linkCopied: '链接已复制到剪贴板',
  576. failedCopyLink: '复制链接失败',
  577. photoDeleted: '照片已删除',
  578. failedDeletePhoto: '删除照片失败',
  579. failedDeleteArchives: '删除归档失败',
  580. failedUpdateFavorites: '更新收藏失败',
  581. exportDownloaded: '导出已下载',
  582. exportFailed: '导出失败',
  583. },
  584. menu: {
  585. print: '打印',
  586. schedule: '排程',
  587. openInBambuStudio: '在切片软件中打开',
  588. slice: '切片',
  589. externalLink: '外部链接',
  590. viewOnMakerWorld: '在 MakerWorld 上查看',
  591. preview3d: '3D 预览',
  592. viewTimelapse: '查看延时摄影',
  593. scanForTimelapse: '扫描延时摄影',
  594. uploadTimelapse: '上传延时摄影',
  595. removeTimelapse: '移除延时摄影',
  596. downloadSource3mf: '下载源 3MF',
  597. uploadSource3mf: '上传源 3MF',
  598. replaceSource3mf: '替换源 3MF',
  599. removeSource3mf: '移除源 3MF',
  600. uploadF3d: '上传 F3D',
  601. replaceF3d: '替换 F3D',
  602. downloadF3d: '下载 F3D',
  603. removeF3d: '移除 F3D',
  604. download: '下载',
  605. copyDownloadLink: '复制下载链接',
  606. qrCode: '二维码',
  607. viewPhotos: '查看照片',
  608. viewPhotosCount: '查看照片 ({{count}})',
  609. projectPage: '项目页面',
  610. addToFavorites: '添加到收藏',
  611. removeFromFavorites: '从收藏中移除',
  612. edit: '编辑',
  613. goToProject: '前往项目:{{name}}',
  614. addToProject: '添加到项目',
  615. removeFromProject: '从项目中移除',
  616. loading: '加载中...',
  617. noProjectsAvailable: '无可用项目',
  618. select: '选择',
  619. deselect: '取消选择',
  620. delete: '删除',
  621. },
  622. permission: {
  623. noReprint: '您没有重新打印此归档的权限',
  624. noAddToQueue: '您没有添加到队列的权限',
  625. noUpdateArchives: '您没有更新归档的权限',
  626. noUploadFiles: '您没有上传文件的权限',
  627. noDownload: '您没有下载归档的权限',
  628. noCopyLink: '您没有复制下载链接的权限',
  629. noDelete: '您没有删除此归档的权限',
  630. noCreate: '您没有创建归档的权限',
  631. },
  632. card: {
  633. previousPlate: '上一个板',
  634. nextPlate: '下一个板',
  635. plateNumber: '板 {{index}}',
  636. moreOptions: '右键查看更多选项',
  637. addToFavorites: '添加到收藏',
  638. removeFromFavorites: '从收藏中移除',
  639. cancelled: '已取消',
  640. failed: '失败',
  641. duplicate: '重复',
  642. duplicateTitle: '此模型之前已打印过',
  643. openSource3mf: '在 Bambu Studio 中打开源 3MF(右键查看更多选项)',
  644. downloadF3d: '下载 Fusion 360 设计文件',
  645. viewTimelapse: '查看延时摄影',
  646. viewPhoto: '查看 1 张照片',
  647. viewPhotos: '查看 {{count}} 张照片',
  648. openFolder: '打开文件夹:{{name}}',
  649. slicedFile: '已切片文件 - 可以打印',
  650. sourceFile: '仅源文件 - 无 AMS 映射可用',
  651. gcode: 'GCODE',
  652. source: '源文件',
  653. project: '项目:{{name}}',
  654. estimated: '预计:{{time}}',
  655. actual: '实际:{{time}}',
  656. accuracy: '准确度:{{percent}}%',
  657. filament: '{{weight}}g',
  658. layer: '{{count}} 层',
  659. layers: '{{count}} 层',
  660. object: '{{count}} 个对象',
  661. objects: '{{count}} 个对象',
  662. slicedFor: '为 {{model}} 切片',
  663. uploadedBy: '上传者',
  664. noPermissionReprint: '您没有重新打印的权限',
  665. noFileForReprint: '无可用的 3MF 文件 — 打印记录时无法从打印机下载该文件',
  666. noPermissionEdit: '您没有编辑归档的权限',
  667. noPermissionDelete: '您没有删除归档的权限',
  668. reprint: '重新打印',
  669. schedulePrint: '排程打印',
  670. schedule: '排程',
  671. openInBambuStudio: '在切片软件中打开',
  672. openInBambuStudioToSlice: '在切片软件中打开进行切片',
  673. slice: '切片',
  674. externalLink: '外部链接',
  675. makerWorld: 'MakerWorld:{{designer}}',
  676. viewProject: '查看项目',
  677. noExternalLink: '无外部链接',
  678. preview3d: '3D 预览',
  679. download: '下载',
  680. edit: '编辑',
  681. delete: '删除',
  682. },
  683. modal: {
  684. deleteArchive: '删除归档',
  685. deleteConfirm: '确定要删除"{{name}}"吗?此操作无法撤销。',
  686. deleteButton: '删除',
  687. removeSource3mf: '移除源 3MF',
  688. removeSource3mfConfirm: '确定要从"{{name}}"中移除源 3MF 文件吗?这将删除原始切片项目文件。',
  689. removeButton: '移除',
  690. removeF3d: '移除 F3D',
  691. removeF3dConfirm: '确定要从"{{name}}"中移除 Fusion 360 设计文件吗?',
  692. removeTimelapse: '移除延时摄影',
  693. removeTimelapseConfirm: '确定要从"{{name}}"中移除延时摄影视频吗?',
  694. timelapse: '{{name}} - 延时摄影',
  695. selectTimelapse: '选择延时摄影',
  696. selectTimelapseDesc: '未找到自动匹配。请选择此打印的延时摄影:',
  697. deleteArchives: '删除归档',
  698. deleteArchivesConfirm: '确定要删除 {{count}} 个归档吗?此操作无法撤销。',
  699. deleteCount: '删除 {{count}} 个',
  700. },
  701. page: {
  702. title: '归档',
  703. printsCount: '{{filtered}} / {{total}} 次打印',
  704. dropFilesHere: '将 .3mf 文件拖放到此处',
  705. releaseToUpload: '释放以上传',
  706. only3mfSupported: '仅支持 .3mf 文件',
  707. close: '关闭',
  708. selected: '已选择 {{count}} 个',
  709. selectAll: '全选',
  710. tags: '标签',
  711. project: '项目',
  712. favorite: '收藏',
  713. delete: '删除',
  714. toggledFavorites: '已切换 {{count}} 个归档的收藏状态',
  715. failedUpdateFavorites: '更新收藏失败',
  716. archivesDeleted: '已删除 {{count}} 个归档',
  717. failedDeleteArchives: '删除归档失败',
  718. photoDeleted: '照片已删除',
  719. failedDeletePhoto: '删除照片失败',
  720. },
  721. list: {
  722. name: '名称',
  723. printer: '打印机',
  724. date: '日期',
  725. size: '大小',
  726. actions: '操作',
  727. hasTimelapse: '有延时摄影',
  728. },
  729. log: {
  730. date: '日期',
  731. printName: '打印名称',
  732. printer: '打印机',
  733. user: '用户',
  734. status: '状态',
  735. duration: '时长',
  736. filament: '耗材',
  737. allPrinters: '所有打印机',
  738. allUsers: '所有用户',
  739. allStatuses: '所有状态',
  740. cancelled: '已取消',
  741. skipped: '已跳过',
  742. dateFrom: '从',
  743. dateTo: '到',
  744. noEntries: '未找到打印日志条目',
  745. showing: '显示 {{count}} / {{total}} 条',
  746. rowsPerPage: '行数',
  747. page: '页',
  748. prev: '上一页',
  749. next: '下一页',
  750. clearLog: '清除日志',
  751. clearLogTitle: '清除打印日志',
  752. clearLogConfirm: '所有打印日志条目将被永久删除。归档和队列项目不受影响。此操作无法撤销。确定要继续吗?',
  753. clearLogButton: '全部清除',
  754. cleared: '已清除 {{count}} 条日志',
  755. clearFailed: '清除打印日志失败',
  756. },
  757. },
  758. // Queue page
  759. queue: {
  760. title: '打印队列',
  761. subtitle: '排程和管理您的打印任务',
  762. addToQueue: '添加到队列',
  763. // Print modal
  764. print: '打印',
  765. reprint: '重新打印',
  766. schedulePrint: '排程打印',
  767. editQueueItem: '编辑队列项目',
  768. printToPrinters: '打印到 {{count}} 台打印机',
  769. queueToPrinters: '排队到 {{count}} 台打印机',
  770. queueAllPlates: '将全部 {{count}} 个热床加入队列',
  771. printQueued: '已加入打印队列',
  772. itemsQueued: '{{count}} 个任务已加入队列',
  773. sending: '发送中...',
  774. sendingProgress: '发送中 {{current}}/{{total}}...',
  775. adding: '添加中...',
  776. addingProgress: '添加中 {{current}}/{{total}}...',
  777. savingProgress: '保存中 {{current}}/{{total}}...',
  778. clearQueue: '清空队列',
  779. clearHistory: '清除历史',
  780. emptyQueue: '队列为空',
  781. position: '位置',
  782. scheduledTime: '排程时间',
  783. moveUp: '上移',
  784. moveDown: '下移',
  785. startNow: '立即开始',
  786. printingInProgress: '打印进行中...',
  787. viewArchive: '查看归档',
  788. viewInFileManager: '在文件管理器中查看',
  789. itemCount: '{{count}} 个项目',
  790. itemCount_plural: '{{count}} 个项目',
  791. dragToReorder: '拖动以重新排序(仅限尽快)',
  792. reorderHint: '位置仅影响"尽快"项目。排程项目按设定时间运行。',
  793. addedBy: '由 {{name}} 添加',
  794. nextInQueue: '队列中的下一个',
  795. clearPlate: '清理打印板并开始下一个',
  796. clearPlateSuccess: '打印板已清理 — 准备进行下一个打印',
  797. plateReady: '打印板已清理 — 准备进行下一个打印',
  798. plateNumber: '板 {{index}}',
  799. // Sections
  800. sections: {
  801. currentlyPrinting: '正在打印',
  802. queued: '排队中',
  803. history: '历史',
  804. },
  805. // Status
  806. status: {
  807. pending: '等待中',
  808. waiting: '等待中',
  809. printing: '打印中',
  810. paused: '已暂停',
  811. completed: '已完成',
  812. failed: '失败',
  813. skipped: '已跳过',
  814. cancelled: '已取消',
  815. },
  816. // Summary cards
  817. summary: {
  818. printing: '打印中',
  819. queued: '排队中',
  820. totalTime: '总队列时间',
  821. totalWeight: '总队列重量',
  822. history: '历史',
  823. },
  824. // Filters
  825. filter: {
  826. allPrinters: '所有打印机',
  827. unassigned: '未分配',
  828. allStatus: '所有状态',
  829. allLocations: '所有位置',
  830. any: '任意',
  831. },
  832. // Sort
  833. sort: {
  834. byPosition: '按位置排序',
  835. byName: '按名称排序',
  836. byPrinter: '按打印机排序',
  837. bySchedule: '按排程排序',
  838. byDate: '按日期排序',
  839. ascendingOldest: '升序(最旧优先)',
  840. descendingNewest: '降序(最新优先)',
  841. },
  842. // Badges
  843. badges: {
  844. staged: '已暂存',
  845. requiresPrevious: '需要前一个成功',
  846. autoPowerOff: '自动关机',
  847. },
  848. // Empty state
  849. empty: {
  850. title: '没有排程的打印',
  851. description: '从归档页面使用右键菜单中的"排程"选项来排程打印,或拖放文件开始。',
  852. },
  853. // Time
  854. time: {
  855. asap: '尽快',
  856. overdue: '已逾期',
  857. now: '现在',
  858. lessThanMinute: '不到一分钟',
  859. inMinutes: '{{count}} 分钟后',
  860. inHours: '{{count}} 小时后',
  861. },
  862. // Actions
  863. actions: {
  864. stopPrint: '停止打印',
  865. startPrint: '开始打印',
  866. requeue: '重新排队',
  867. },
  868. // Bulk edit
  869. bulkEdit: {
  870. title: '编辑 {{count}} 个项目',
  871. title_plural: '编辑 {{count}} 个项目',
  872. description: '仅更改的设置将应用于所选项目。',
  873. printer: '打印机',
  874. noChange: '— 不更改 —',
  875. queueOptions: '队列选项',
  876. staged: '暂存(手动开始)',
  877. autoPowerOff: '打印后自动关机',
  878. requirePrevious: '要求前一个成功',
  879. printOptions: '打印选项',
  880. bedLevelling: '热床调平',
  881. flowCalibration: '流量校准',
  882. vibrationCalibration: '振动校准',
  883. layerInspection: '首层检查',
  884. timelapse: '延时摄影',
  885. useAms: '使用 AMS',
  886. applyChanges: '应用更改',
  887. selectAll: '全选',
  888. deselectAll: '取消全选',
  889. selected: '已选择 {{count}} 个',
  890. editSelected: '编辑所选',
  891. cancelSelected: '取消所选',
  892. },
  893. // Confirmations
  894. confirm: {
  895. cancelTitle: '取消排程打印',
  896. cancelMessage: '确定要取消"{{name}}"吗?',
  897. stopTitle: '停止打印',
  898. stopMessage: '确定要停止当前打印"{{name}}"吗?这将取消打印机上的打印任务。',
  899. removeTitle: '从历史中移除',
  900. removeMessage: '确定要从队列历史中移除"{{name}}"吗?',
  901. clearHistoryTitle: '清除历史',
  902. clearHistoryMessage: '确定要从历史中移除所有 {{count}} 个项目吗?',
  903. cancelButton: '取消打印',
  904. stopButton: '停止打印',
  905. thisPrint: '此打印',
  906. thisItem: '此项目',
  907. },
  908. // Toast messages
  909. toast: {
  910. cancelled: '队列项目已取消',
  911. cancelFailed: '取消项目失败',
  912. removed: '队列项目已移除',
  913. removeFailed: '移除项目失败',
  914. stopped: '打印已停止',
  915. stopFailed: '停止打印失败',
  916. released: '打印已释放到队列',
  917. startFailed: '开始打印失败',
  918. reorderFailed: '重新排序队列失败',
  919. historyCleared: '已清除 {{count}} 条历史记录',
  920. clearHistoryFailed: '清除历史失败',
  921. updateFailed: '更新项目失败',
  922. bulkCancelled: '已取消 {{count}} 个项目',
  923. bulkCancelFailed: '批量取消项目失败',
  924. },
  925. // Permissions
  926. permissions: {
  927. noStopPrint: '您没有停止打印的权限',
  928. noStartPrint: '您没有开始打印的权限',
  929. noEdit: '您没有编辑此队列项目的权限',
  930. noCancel: '您没有取消此队列项目的权限',
  931. noRequeue: '您没有重新排队的权限',
  932. noRemove: '您没有移除此队列项目的权限',
  933. noClearHistory: '您没有清除所有历史的权限',
  934. noEditItems: '您没有编辑队列项目的权限',
  935. noCancelItems: '您没有取消队列项目的权限',
  936. },
  937. },
  938. backgroundDispatch: {
  939. unknownFile: '未知文件',
  940. unknownPrinter: '未知打印机',
  941. startingPrints: '正在开始打印',
  942. progressSummary: '{{complete}}/{{total}} 完成 • 已分发:{{dispatched}} • 处理中:{{processing}}',
  943. expandDetails: '展开分发详情',
  944. collapseDetails: '收起分发详情',
  945. dismissToast: '关闭分发通知',
  946. cancelDispatchJob: '取消分发任务',
  947. cancel: '取消',
  948. cancelling: '取消中…',
  949. status: {
  950. dispatched: '已分发',
  951. processing: '处理中',
  952. completed: '已完成',
  953. failed: '失败',
  954. cancelled: '已取消',
  955. },
  956. toast: {
  957. cancellingUpload: '取消上传中...',
  958. cancelled: '分发已取消',
  959. cancelFailed: '取消分发失败',
  960. completeWithFailures: '后台分发完成:{{completed}} 成功,{{failed}} 失败',
  961. completeSuccess: '后台分发完成:{{completed}} 成功',
  962. printStartedRemaining: '{{completed}} 个打印已开始,{{remaining}} 个正在发送...',
  963. },
  964. },
  965. // Statistics page
  966. stats: {
  967. title: '仪表板',
  968. subtitle: '拖动小部件以重新排列。点击眼睛图标隐藏。',
  969. overview: '概览',
  970. totalPrints: '总打印次数',
  971. successRate: '成功率',
  972. totalPrintTime: '总打印时间',
  973. printTime: '打印时间',
  974. totalFilament: '总耗材用量',
  975. filamentUsed: '耗材用量',
  976. filamentCost: '耗材成本',
  977. totalCost: '总成本',
  978. energyUsed: '能耗',
  979. energyCost: '能源成本',
  980. averagePrintTime: '平均打印时间',
  981. printsPerDay: '每日打印次数',
  982. byPrinter: '按打印机',
  983. printsByPrinter: '各打印机打印次数',
  984. byMaterial: '按材料',
  985. byMonth: '按月份',
  986. last7Days: '最近 7 天',
  987. last30Days: '最近 30 天',
  988. last90Days: '最近 90 天',
  989. allTime: '全部时间',
  990. // Widgets
  991. quickStats: '快速统计',
  992. printActivity: '打印活动',
  993. filamentTypes: '耗材类型',
  994. filamentTrends: '耗材趋势',
  995. failureAnalysis: '失败分析',
  996. timeAccuracy: '时间准确度',
  997. successful: '成功:',
  998. failed: '失败:',
  999. perfectEstimate: '100% = 完美估计',
  1000. noTimeAccuracyData: '暂无时间准确度数据',
  1001. noFilamentData: '暂无耗材数据',
  1002. noPrinterData: '暂无打印机数据',
  1003. noPrintData: '暂无打印数据',
  1004. noPrintDataLast30Days: '最近 30 天无打印数据',
  1005. failureReasons: '失败原因',
  1006. topFailureReasons: '主要失败原因',
  1007. failedPrintsCount: '{{failed}} / {{total}} 次打印失败',
  1008. lastWeekRate: '上周:{{rate}}%',
  1009. // Actions
  1010. resetLayout: '重置布局',
  1011. recalculateCosts: '重新计算成本',
  1012. recalculateCostsHint: '使用当前耗材价格重新计算所有归档成本',
  1013. exportStats: '导出统计',
  1014. exportAsCsv: '导出为 CSV',
  1015. exportAsExcel: '导出为 Excel',
  1016. hiddenCount: '{{count}} 个已隐藏',
  1017. // Toast
  1018. exportDownloaded: '导出已下载',
  1019. exportFailed: '导出失败',
  1020. layoutReset: '布局已重置',
  1021. recalculatedCosts: '已为 {{count}} 个归档重新计算成本',
  1022. recalculateFailed: '重新计算成本失败',
  1023. // Loading
  1024. loadingStats: '加载统计数据中...',
  1025. // Permissions
  1026. noPermissionResetLayout: '您没有重置布局的权限',
  1027. noPermissionRecalculate: '您没有重新计算成本的权限',
  1028. noPrintDataInRange: '所选范围内无打印数据',
  1029. periodFilament: '期间耗材',
  1030. periodCost: '期间成本',
  1031. avgPerPrint: '每次打印平均',
  1032. usageOverTime: '随时间的使用量',
  1033. filamentByWeight: '重量',
  1034. printDuration: '打印时长',
  1035. printerUtilization: '打印机利用率',
  1036. filamentSuccess: '按材料成功率',
  1037. printHabits: '打印习惯',
  1038. printTimeOfDay: '打印时段',
  1039. colorDistribution: '颜色分布',
  1040. noColorData: '暂无颜色数据',
  1041. records: '记录',
  1042. longestPrint: '最长打印',
  1043. heaviestPrint: '最重打印',
  1044. mostExpensivePrint: '最贵打印',
  1045. busiestDay: '最忙碌的一天',
  1046. successStreak: '连续成功',
  1047. streakPrint: '连续打印',
  1048. streakPrints: '{{count}} 次连续打印',
  1049. printerStats: '打印机统计',
  1050. hours: '小时',
  1051. avgPrints: '平均打印',
  1052. noArchiveData: '暂无打印数据',
  1053. filamentByTime: '时间',
  1054. avgWeight: '平均重量',
  1055. avgTime: '平均时间',
  1056. filamentByPrints: '打印次数',
  1057. timeframe: {
  1058. today: '今天',
  1059. 'this-week': '本周',
  1060. 'this-month': '本月',
  1061. 'last-7': '最近 7 天',
  1062. 'last-30': '最近 30 天',
  1063. 'last-90': '最近 90 天',
  1064. 'this-year': '今年',
  1065. 'all-time': '全部时间',
  1066. custom: '自定义范围',
  1067. from: '从',
  1068. to: '到',
  1069. },
  1070. },
  1071. // Maintenance page
  1072. maintenance: {
  1073. title: '维护',
  1074. overview: '概览',
  1075. allOk: '所有维护均已完成',
  1076. dueCount: '{{count}} 项到期',
  1077. dueCount_plural: '{{count}} 项到期',
  1078. warningCount: '{{count}} 个警告',
  1079. warningCount_plural: '{{count}} 个警告',
  1080. totalPrintTime: '总打印时间',
  1081. nextMaintenance: '下次维护',
  1082. nothingDue: '无到期项目',
  1083. tasks: '任务',
  1084. lastPerformed: '上次执行',
  1085. interval: '间隔',
  1086. hoursRemaining: '剩余 {{hours}} 小时',
  1087. hoursOverdue: '逾期 {{hours}} 小时',
  1088. markDone: '标记为完成',
  1089. performMaintenance: '执行维护',
  1090. history: '历史',
  1091. noHistory: '无维护历史',
  1092. editPrintHours: '编辑打印时间',
  1093. currentHours: '当前小时数',
  1094. // Tabs
  1095. statusTab: '状态',
  1096. settingsTab: '设置',
  1097. // Status
  1098. overdueCount: '{{count}} 个逾期',
  1099. dueSoonCount: '{{count}} 个即将到期',
  1100. dueSoon: '即将到期',
  1101. allGood: '一切正常',
  1102. overdueBy: '逾期 {{duration}}',
  1103. dueIn: '{{duration}} 后到期',
  1104. timeLeft: '剩余 {{duration}}',
  1105. // Duration formats
  1106. day: '1 天',
  1107. days: '{{count}} 天',
  1108. week: '1 周',
  1109. weeks: '{{count}} 周',
  1110. month: '1 个月',
  1111. months: '{{count}} 个月',
  1112. year: '1 年',
  1113. // Settings
  1114. maintenanceTypes: '维护类型',
  1115. maintenanceTypesDescription: '系统类型和您的自定义维护任务',
  1116. addCustomType: '添加自定义类型',
  1117. restoreDefaults: '恢复默认任务',
  1118. intervalType: '间隔类型',
  1119. intervalValue: '间隔 ({{type}})',
  1120. icon: '图标',
  1121. documentationLink: '文档链接(可选)',
  1122. assignToPrinters: '分配给打印机',
  1123. selectAtLeastOnePrinter: '至少选择一台打印机',
  1124. addType: '添加类型',
  1125. custom: '自定义',
  1126. printHours: '打印小时数',
  1127. calendarDays: '日历天数',
  1128. exampleName: '例如:更换 HEPA 过滤器',
  1129. viewDocumentation: '查看文档',
  1130. timeBasedInterval: '基于时间的间隔',
  1131. // Interval overrides
  1132. intervalOverrides: '间隔覆盖',
  1133. intervalOverridesDescription: '为特定打印机自定义间隔',
  1134. // Printer assignment
  1135. assignedToPrinters: '已分配给打印机:',
  1136. noPrintersAssigned: '未分配打印机',
  1137. addPrinterShort: '添加:',
  1138. printersAssignedClick: '已分配 {{count}} 台打印机 - 点击管理',
  1139. removeFromPrinter: '从此打印机移除',
  1140. // Types
  1141. types: {
  1142. lubricateCarbonRods: '润滑碳纤维杆',
  1143. lubricateRails: '润滑线性导轨',
  1144. cleanNozzle: '清洁喷嘴/热端',
  1145. checkBelts: '检查皮带张力',
  1146. cleanBuildPlate: '清洁构建板',
  1147. checkExtruder: '检查挤出机齿轮',
  1148. checkCooling: '检查冷却风扇',
  1149. generalInspection: '综合检查',
  1150. cleanCarbonRods: '清洁碳纤维杆',
  1151. lubricateSteelRods: '润滑钢杆',
  1152. cleanSteelRods: '清洁钢杆',
  1153. cleanLinearRails: '清洁线性导轨',
  1154. checkPtfeTube: '检查 PTFE 管',
  1155. replaceHepaFilter: '更换 HEPA 过滤器',
  1156. replaceCarbonFilter: '更换活性炭过滤器',
  1157. lubricateLeftNozzleRail: '润滑左喷嘴导轨',
  1158. },
  1159. // Toast
  1160. maintenanceComplete: '维护已标记为完成',
  1161. typeUpdated: '维护类型已更新',
  1162. typeDeleted: '维护类型已删除',
  1163. defaultsRestored: '已恢复 {{count}} 个默认任务',
  1164. printHoursUpdated: '打印小时数已更新',
  1165. printerAssigned: '打印机已分配',
  1166. printerRemoved: '打印机已移除',
  1167. // Confirmation
  1168. deleteTypeConfirm: '删除"{{name}}"?',
  1169. deleteSystemTypeTitle: '删除默认维护任务?',
  1170. deleteSystemTypeMessage: '确定要删除默认维护任务"{{name}}"吗?',
  1171. // Permissions
  1172. noPermissionUpdate: '您没有更新维护项目的权限',
  1173. noPermissionPerform: '您没有执行维护的权限',
  1174. noPermissionEditTypes: '您没有编辑维护类型的权限',
  1175. noPermissionDeleteTypes: '您没有删除维护类型的权限',
  1176. noPermissionEditHours: '您没有编辑打印时间的权限',
  1177. noPermissionRemovePrinter: '您没有移除打印机分配的权限',
  1178. noPermissionAssignPrinter: '您没有分配打印机的权限',
  1179. noPermissionEditIntervals: '您没有编辑间隔的权限',
  1180. // Configure link
  1181. configureSettings: '配置维护类型和间隔',
  1182. },
  1183. // Settings page
  1184. settings: {
  1185. title: '设置',
  1186. general: '通用',
  1187. // Tab names
  1188. tabs: {
  1189. general: '通用',
  1190. smartPlugs: '智能插座',
  1191. notifications: '通知',
  1192. filament: '耗材',
  1193. network: '网络',
  1194. apiKeys: 'API 密钥',
  1195. virtualPrinter: '虚拟打印机',
  1196. users: '身份验证',
  1197. backup: '备份',
  1198. emailAuth: '邮箱认证',
  1199. },
  1200. // Email settings
  1201. email: {
  1202. smtpSettings: 'SMTP 配置',
  1203. smtpHost: 'SMTP 服务器',
  1204. smtpPort: 'SMTP 端口',
  1205. security: '安全',
  1206. authentication: '认证',
  1207. username: '用户名',
  1208. password: '密码',
  1209. fromEmail: '发件邮箱',
  1210. fromName: '发件人名称',
  1211. testConnection: '测试 SMTP 连接',
  1212. testRecipient: '测试收件邮箱',
  1213. sendTest: '发送测试邮件',
  1214. sending: '发送中...',
  1215. save: '保存设置',
  1216. saving: '保存中...',
  1217. advancedAuth: '高级认证',
  1218. advancedAuthEnabled: '高级认证已启用',
  1219. advancedAuthEnabledDesc: '基于邮箱的用户管理功能已激活。新用户将通过邮件收到自动生成的密码,用户可以通过忘记密码功能重置密码。',
  1220. advancedAuthDisabled: '高级认证已禁用',
  1221. advancedAuthDisabledDesc: '启用高级认证以激活基于邮箱的用户管理功能。',
  1222. enable: '启用',
  1223. disable: '禁用',
  1224. feature1: '密码自动生成并通过邮件发送给新用户',
  1225. feature2: '用户可以使用用户名或邮箱登录',
  1226. feature3: '忘记密码功能可用',
  1227. feature4: '管理员可以通过邮件重置用户密码',
  1228. // Error messages
  1229. errors: {
  1230. requiredFields: '请填写所有必填字段',
  1231. usernameRequired: '启用认证时需要用户名',
  1232. enterTestEmail: '请输入测试邮箱地址',
  1233. smtpServerAndEmail: '测试前请填写 SMTP 服务器和发件邮箱',
  1234. usernamePasswordRequired: '启用认证时需要用户名和密码',
  1235. configureSmtpFirst: '请先配置并测试 SMTP 设置',
  1236. enableAuthFirst: '请先启用身份验证才能使用基于电子邮件的功能。',
  1237. },
  1238. // Success messages
  1239. success: {
  1240. settingsSaved: 'SMTP 设置保存成功',
  1241. },
  1242. // Security options
  1243. securityOptions: {
  1244. starttls: 'STARTTLS(端口 587)',
  1245. ssl: 'SSL/TLS(端口 465)',
  1246. none: '无(端口 25)',
  1247. },
  1248. // Authentication options
  1249. authOptions: {
  1250. enabled: '已启用',
  1251. disabled: '已禁用',
  1252. },
  1253. },
  1254. appearance: '外观',
  1255. notifications: '通知',
  1256. smartPlugs: '智能插座',
  1257. spoolman: 'Spoolman',
  1258. updates: '更新',
  1259. language: '语言',
  1260. languageDescription: '选择您的首选语言',
  1261. theme: '主题',
  1262. themeLight: '浅色',
  1263. themeDark: '深色',
  1264. themeSystem: '跟随系统',
  1265. defaultView: '默认视图',
  1266. defaultViewDescription: '打开应用时显示的页面',
  1267. checkForUpdates: '检查更新',
  1268. autoUpdate: '自动更新',
  1269. currentVersion: '当前版本',
  1270. latestVersion: '最新版本',
  1271. upToDate: '已是最新版本',
  1272. updateAvailable: '有可用更新',
  1273. // Notifications
  1274. notificationLanguage: '通知语言',
  1275. notificationLanguageDescription: '推送通知的语言',
  1276. bedCooledThreshold: '热床冷却阈值',
  1277. bedCooledThresholdDescription: '打印后热床被视为已冷却的温度',
  1278. notificationProviders: '通知提供商',
  1279. addProvider: '添加提供商',
  1280. editProvider: '编辑提供商',
  1281. providerType: '提供商类型',
  1282. testNotification: '测试通知',
  1283. testSuccess: '测试通知发送成功',
  1284. testFailed: '发送测试通知失败',
  1285. quietHours: '免打扰时间',
  1286. quietHoursDescription: '在此时间段内不发送通知',
  1287. quietHoursStart: '开始',
  1288. quietHoursEnd: '结束',
  1289. events: {
  1290. title: '通知事件',
  1291. printStart: '打印开始',
  1292. printComplete: '打印完成',
  1293. printFailed: '打印失败',
  1294. printStopped: '打印停止',
  1295. printProgress: '进度里程碑',
  1296. printProgressDescription: '在 25%、50%、75% 时通知',
  1297. printerOffline: '打印机离线',
  1298. printerError: '打印机错误',
  1299. filamentLow: '耗材不足',
  1300. maintenanceDue: '维护到期',
  1301. maintenanceDueDescription: '需要维护时通知',
  1302. },
  1303. // Smart Plugs
  1304. smartPlug: {
  1305. title: '智能插座',
  1306. add: '添加智能插座',
  1307. edit: '编辑智能插座',
  1308. name: '名称',
  1309. ipAddress: 'IP 地址',
  1310. linkedPrinter: '关联打印机',
  1311. autoOn: '自动开启',
  1312. autoOnDescription: '打印开始时开启',
  1313. autoOff: '自动关闭',
  1314. autoOffDescription: '打印完成后关闭',
  1315. offDelay: '关闭延迟',
  1316. offDelayMinutes: '打印后分钟数',
  1317. offDelayTemp: '当喷嘴温度低于',
  1318. currentState: '当前状态',
  1319. turnOn: '开启',
  1320. turnOff: '关闭',
  1321. },
  1322. // Filament Tracking Mode
  1323. filamentTracking: '耗材追踪',
  1324. filamentTrackingDesc: '选择如何追踪您的耗材。您可以使用内置库存或连接外部 Spoolman 服务器。',
  1325. filamentChecks: '耗材检查',
  1326. disableFilamentWarnings: '禁用耗材警告',
  1327. disableFilamentWarningsDesc: '在打印或加入队列时不显示耗材不足警告',
  1328. trackingModeBuiltIn: '内置库存',
  1329. trackingModeBuiltInDesc: '包含 RFID 自动匹配和用量追踪',
  1330. trackingModeSpoolmanDesc: '外部耗材管理服务器',
  1331. builtInFeatureRfid: '自动检测 AMS 中的拓竹 RFID 耗材',
  1332. builtInFeatureUsage: '追踪每次打印的耗材消耗',
  1333. builtInFeatureCatalog: '管理耗材、颜色和 K 值配置文件',
  1334. builtInFeatureThirdParty: '第三方耗材可分配到库存耗材',
  1335. amsSyncButton: '从 AMS 同步重量',
  1336. amsSyncTitle: '从 AMS 同步耗材重量',
  1337. amsSyncMessage: '这将使用已连接打印机的当前 AMS 剩余百分比值覆盖所有库存耗材重量。用于从损坏的重量数据中恢复。打印机必须在线。',
  1338. amsSyncing: '同步中...',
  1339. amsSyncSuccess: '已同步 {{synced}} 个耗材,跳过 {{skipped}} 个',
  1340. amsSyncError: '从 AMS 同步重量失败',
  1341. // Spoolman settings
  1342. spoolmanUrl: 'Spoolman URL',
  1343. spoolmanUrlHint: 'Spoolman 服务器的 URL(例如 http://localhost:7912)',
  1344. spoolmanConnected: '已连接',
  1345. spoolmanDisconnected: '未连接',
  1346. status: '状态',
  1347. connect: '连接',
  1348. disconnect: '断开',
  1349. howSyncWorks: '同步工作原理',
  1350. syncInfoRfidOnly: '仅同步带有 RFID 的官方拓竹耗材',
  1351. syncInfoAutoCreate: '首次同步时自动在 Spoolman 中创建新耗材',
  1352. syncInfoThirdPartySkipped: '非拓竹耗材(第三方、重新填充的)将被跳过',
  1353. linkingExistingSpools: '链接现有耗材',
  1354. linkingExistingSpoolsDesc: '要将现有的 Spoolman 耗材链接到您的 AMS,请将鼠标悬停在 AMS 槽位上并点击"链接到 Spoolman"。',
  1355. syncMode: '同步模式',
  1356. syncModeAuto: '自动',
  1357. syncModeManual: '仅手动',
  1358. syncModeAutoDesc: '检测到更改时自动同步 AMS 数据',
  1359. syncModeManualDesc: '仅在手动触发时同步',
  1360. syncAmsData: '同步 AMS 数据',
  1361. syncAmsDataDesc: '手动将打印机 AMS 数据同步到 Spoolman',
  1362. allPrinters: '所有打印机',
  1363. // Default printer
  1364. noDefaultPrinter: '无默认(每次询问)',
  1365. // Sidebar
  1366. sidebarOrder: '侧边栏顺序',
  1367. // Camera
  1368. saveThumbnails: '保存缩略图',
  1369. captureFinishPhoto: '拍摄完成照片',
  1370. noPrintersConfigured: '未配置打印机',
  1371. // Archive settings
  1372. archiveMode: {
  1373. always: '始终创建归档条目',
  1374. never: '从不创建归档条目',
  1375. ask: '每次询问',
  1376. },
  1377. // Updates
  1378. checkForUpdatesLabel: '检查更新',
  1379. checkPrinterFirmware: '检查打印机固件',
  1380. includeBetaUpdates: '包含测试版本',
  1381. includeBetaUpdatesDesc: '检查更新时通知测试版和预发布版本',
  1382. // Queue
  1383. enableRetry: '启用重试',
  1384. // Home Assistant
  1385. homeAssistantDescription: '通过 Home Assistant 控制智能插座',
  1386. environmentManagedLabel: '(环境变量管理)',
  1387. autoEnabledViaEnv: '通过环境变量自动启用',
  1388. urlFromEnvReadOnly: '值由 HA_URL 环境变量设置(只读)',
  1389. tokenFromEnvReadOnly: '值由 HA_TOKEN 环境变量设置(只读)',
  1390. // MQTT
  1391. mqttConnectedTo: '已连接到',
  1392. // Prometheus
  1393. prometheusDescription: '以 Prometheus 格式暴露打印机数据',
  1394. // Smart plugs empty state
  1395. noSmartPlugsTitle: '未配置智能插座',
  1396. noSmartPlugsDescription: '添加基于 Tasmota 的智能插座以追踪能耗并自动化电源控制。',
  1397. // Notifications empty state
  1398. noProvidersTitle: '未配置提供商',
  1399. noProvidersDescription: '添加提供商以接收警报。',
  1400. noTemplatesAvailable: '无可用模板。重启后端以加载默认模板。',
  1401. // API permissions
  1402. apiPermissionView: '查看打印机状态和队列',
  1403. apiPermissionEdit: '添加和移除打印队列中的项目',
  1404. // API keys
  1405. apiKeysEmptyTitle: '无 API 密钥',
  1406. apiKeysEmptyDescription: '创建 API 密钥以与外部服务集成。',
  1407. // Users
  1408. noUsersFound: '未找到用户',
  1409. noGroupsFound: '未找到组',
  1410. noGroupsAvailable: '无可用组',
  1411. passwordsDoNotMatch: '密码不匹配',
  1412. systemGroupWarning: '系统组名称不可更改',
  1413. // Auth disabled
  1414. authDisabledTitle: '身份验证已禁用',
  1415. authDisabledFeature1: '需要登录才能访问系统',
  1416. authDisabledFeature2: '创建多个用户并基于组的权限管理',
  1417. authDisabledFeature3: '使用 50+ 个细粒度权限控制访问',
  1418. // User deletion
  1419. userHasCreated: '此用户已创建:',
  1420. userItemsQuestion: '您想如何处理这些项目?',
  1421. deleteUserConfirm: '确定要删除此用户吗?',
  1422. actionCannotBeUndone: '此操作无法撤销。',
  1423. // Smart plugs
  1424. addFirstSmartPlug: '添加您的第一个智能插座',
  1425. // Notifications
  1426. providers: '提供商',
  1427. log: '日志',
  1428. testAll: '全部测试',
  1429. testResults: '测试结果',
  1430. testPassedCount: '{{count}} 个通过',
  1431. testFailedCount: '{{count}} 个失败',
  1432. messageTemplates: '消息模板',
  1433. messageTemplatesDescription: '自定义每个事件的通知消息。',
  1434. // API Keys section
  1435. apiKeys: 'API 密钥',
  1436. apiKeysDescription: '创建 API 密钥用于外部集成和 Webhook。',
  1437. createKey: '创建密钥',
  1438. apiKeyCreated: 'API 密钥创建成功',
  1439. apiKeyCopyWarning: '请立即复制此密钥 - 它不会再次显示!',
  1440. useInApiBrowser: '在 API 浏览器中使用',
  1441. createNewApiKey: '创建新 API 密钥',
  1442. keyName: '密钥名称',
  1443. keyNamePlaceholder: '例如:Home Assistant、OctoPrint',
  1444. readStatus: '读取状态',
  1445. readStatusDescription: '查看打印机状态和队列',
  1446. manageQueue: '管理队列',
  1447. manageQueueDescription: '添加和移除打印队列中的项目',
  1448. controlPrinter: '控制打印机',
  1449. controlPrinterDescription: '暂停、继续和停止打印',
  1450. unnamedKey: '未命名密钥',
  1451. lastUsed: '上次使用',
  1452. read: '读取',
  1453. control: '控制',
  1454. createFirstKey: '创建您的第一个密钥',
  1455. webhookEndpoints: 'Webhook 端点',
  1456. webhookApiKeyHint: '在 X-API-Key 请求头中使用您的 API 密钥。',
  1457. webhook: {
  1458. getAllStatus: '获取所有打印机状态',
  1459. getSpecificStatus: '获取特定打印机状态',
  1460. addToQueue: '添加到打印队列',
  1461. pausePrint: '暂停打印',
  1462. resumePrint: '继续打印',
  1463. stopPrint: '停止打印',
  1464. },
  1465. apiBrowser: 'API 浏览器',
  1466. apiBrowserDescription: '浏览和测试所有可用的 API 端点。',
  1467. apiKeyForTesting: '测试用 API 密钥',
  1468. apiKeyPlaceholder: '在此粘贴您的 API 密钥以测试需要认证的端点...',
  1469. apiKeyHint: '此密钥将作为 X-API-Key 请求头随请求发送。',
  1470. deleteApiKeyTitle: '删除 API 密钥',
  1471. deleteApiKeyMessage: '确定要删除此 API 密钥吗?使用此密钥的所有集成将停止工作。',
  1472. deleteKey: '删除密钥',
  1473. // Filament tab
  1474. amsDisplayThresholds: 'AMS 显示阈值',
  1475. amsThresholdsDescription: '配置 AMS 湿度和温度指示器的颜色阈值。',
  1476. humidity: '湿度',
  1477. goodGreen: '良好(绿色)',
  1478. fairOrange: '一般(橙色)',
  1479. aboveFairBad: '超过一般阈值显示为红色(差)',
  1480. fairAlsoDryingThreshold: '此阈值也用于触发自动干燥',
  1481. temperature: '温度',
  1482. goodBlue: '良好(蓝色)',
  1483. aboveFairHot: '超过一般阈值显示为红色(热)',
  1484. historyRetention: '历史保留',
  1485. keepSensorHistory: '保留传感器历史',
  1486. historyRetentionDescription: '较旧的湿度和温度数据将被自动删除',
  1487. queueDrying: '自动干燥',
  1488. queueDryingDescription: '在队列打印之间,打印机空闲时自动干燥AMS耗材。使用上方的湿度阈值触发干燥。',
  1489. queueDryingEnabled: '启用自动干燥',
  1490. queueDryingEnabledDescription: '当打印机空闲且湿度超过阈值时,自动启动AMS干燥',
  1491. queueDryingBlock: '等待干燥完成',
  1492. queueDryingBlockDescription: '阻止打印队列直到干燥完成。关闭时,打印优先于干燥。',
  1493. ambientDryingEnabled: '环境干燥',
  1494. ambientDryingEnabledDescription: '当空闲打印机的湿度超过阈值时自动干燥耗材,无需排队打印。',
  1495. dryingPresets: '干燥预设',
  1496. dryingPresetsDescription: '每种耗材类型的温度和时长。AMS 2 Pro使用较低温度,AMS-HT支持较高温度。',
  1497. dryingFilament: '耗材',
  1498. printModal: '打印对话框',
  1499. expandCustomMapping: '默认展开自定义映射',
  1500. expandCustomMappingDescription: '打印到多台打印机时,默认展开显示每台打印机的 AMS 映射',
  1501. // User management
  1502. authentication: '身份验证',
  1503. authEnabledDescription: '您的实例已通过用户身份验证保护',
  1504. authDisabledDescription: '启用以要求登录并管理用户访问',
  1505. authDisabledMessage: '启用身份验证以创建用户账户、管理权限并保护您的 Bambuddy 实例。',
  1506. enableAuthentication: '启用身份验证',
  1507. currentUser: '当前用户',
  1508. changePassword: '修改密码',
  1509. admin: '管理员',
  1510. users: '用户',
  1511. addUser: '添加用户',
  1512. groups: '组',
  1513. addGroup: '添加组',
  1514. system: '系统',
  1515. noDescription: '无描述',
  1516. userCount: '{{count}} 个用户',
  1517. permissionCount: '{{count}} 个权限',
  1518. createUser: '创建用户',
  1519. username: '用户名',
  1520. enterUsername: '输入用户名',
  1521. password: '密码',
  1522. enterPassword: '输入密码(至少 6 个字符)',
  1523. confirmPassword: '确认密码',
  1524. confirmPasswordPlaceholder: '确认密码',
  1525. // Title tooltips
  1526. viewReleaseOnGitHub: '在 GitHub 上查看发布',
  1527. turnAllPlugsOn: '开启所有插座',
  1528. turnAllPlugsOff: '关闭所有插座',
  1529. // Modal: Clear logs
  1530. clearNotificationLogs: '清除通知日志',
  1531. clearLogsMessage: '这将永久删除所有 30 天前的通知日志。此操作无法撤销。',
  1532. clearLogs: '清除日志',
  1533. // Modal: Reset UI
  1534. resetUiPreferences: '重置 UI 偏好',
  1535. resetUiPreferencesMessage: '这将重置所有 UI 偏好为默认值:侧边栏顺序、主题、仪表板布局、视图模式和排序偏好。您的打印机、归档和服务器设置不会受到影响。清除后页面将重新加载。',
  1536. resetPreferences: '重置偏好',
  1537. // Modal: Delete group
  1538. deleteGroupTitle: '删除组',
  1539. deleteGroupMessage: '确定要删除此组吗?此组中的用户将失去这些权限。',
  1540. deleteGroup: '删除组',
  1541. // Modal: Disable auth
  1542. disableAuthenticationTitle: '禁用身份验证',
  1543. disableAuthenticationMessage: '确定要禁用身份验证吗?这将使您的 Bambuddy 实例无需登录即可访问。所有用户将保留在数据库中但身份验证将被禁用。',
  1544. disableAuthentication: '禁用身份验证',
  1545. // Additional settings
  1546. configureBambuddy: '配置 Bambuddy',
  1547. systemDefault: '系统默认',
  1548. archiveSettings: '归档设置',
  1549. newWindow: '新窗口',
  1550. embeddedOverlay: '嵌入式叠加层',
  1551. preferredSlicer: '首选切片软件',
  1552. preferredSlicerDescription: '选择要用于打开文件的切片软件',
  1553. externalCameras: '外部摄像头',
  1554. costTracking: '成本追踪',
  1555. printsOnly: '仅打印',
  1556. totalConsumption: '总消耗',
  1557. dataManagement: '数据管理',
  1558. storageUsage: '存储使用情况',
  1559. storageUsageDescription: '按类别的数据使用情况明细',
  1560. storageUsageTotal: '总计',
  1561. storageUsageErrors: '错误',
  1562. storageUsageOtherBreakdown: '其他(包括静态资源、脚本和配置文件)',
  1563. storageUsageSystem: '系统',
  1564. storageUsageData: '数据',
  1565. storageUsageUnavailable: '存储使用信息不可用',
  1566. clearNotificationLogsDescription: '删除 30 天前的通知日志',
  1567. resetUiPreferencesDescription: '重置侧边栏顺序、主题、视图模式和布局偏好。打印机、归档和设置不受影响。',
  1568. enableHomeAssistant: '启用 Home Assistant',
  1569. enableMqtt: '启用 MQTT',
  1570. useTls: '使用 TLS',
  1571. enableMetricsEndpoint: '启用指标端点',
  1572. availableMetrics: '可用指标',
  1573. editUser: '编辑用户',
  1574. deleteUserTitle: '删除用户',
  1575. groupName: '组名称',
  1576. // Placeholders
  1577. leaveEmptyForAnonymous: '留空为匿名',
  1578. leaveEmptyForNoAuth: '留空为无认证',
  1579. enterNewPassword: '输入新密码',
  1580. confirmNewPassword: '确认新密码',
  1581. enterGroupName: '输入组名称',
  1582. enterDescriptionOptional: '输入描述(可选)',
  1583. enterCurrentPassword: '输入当前密码',
  1584. enterNewPasswordMin6: '输入新密码(至少 6 个字符)',
  1585. toast: {
  1586. keyCopied: '密钥已复制到剪贴板',
  1587. copyFailed: '复制密钥失败',
  1588. keyAddedToBrowser: '密钥已添加到 API 浏览器',
  1589. clearLogsFailed: '清除日志失败',
  1590. uiPreferencesReset: 'UI 偏好已重置。刷新中...',
  1591. authDisabled: '身份验证已成功禁用',
  1592. authDisableFailed: '禁用身份验证失败',
  1593. apiKeyCreated: 'API 密钥已创建',
  1594. apiKeyDeleted: 'API 密钥已删除',
  1595. userCreated: '用户创建成功',
  1596. userUpdated: '用户更新成功',
  1597. userDeleted: '用户删除成功',
  1598. groupCreated: '组创建成功',
  1599. groupUpdated: '组更新成功',
  1600. groupDeleted: '组删除成功',
  1601. fillRequiredFields: '请填写所有必填字段',
  1602. passwordsDoNotMatch: '密码不匹配',
  1603. passwordTooShort: '密码至少需要 6 个字符',
  1604. enterGroupName: '请输入组名称',
  1605. settingsSaved: '设置已保存',
  1606. cameraSettingsSaved: '摄像头设置已保存',
  1607. enterCameraUrl: '请输入摄像头 URL',
  1608. passwordChanged: '密码修改成功',
  1609. connectionFailed: '连接失败',
  1610. testFailed: '测试失败',
  1611. cameraConnected: '摄像头已连接{{resolution}}',
  1612. },
  1613. testConnection: '测试连接',
  1614. catalog: {
  1615. spoolCatalog: '耗材目录',
  1616. spoolCatalogDescription: '按品牌/类型的空耗材重量。用于添加耗材时的自动重量查找。',
  1617. searchCatalog: '搜索目录...',
  1618. addNewEntry: '添加新条目',
  1619. namePlaceholder: '名称(例如:Bambu Lab - 塑料)',
  1620. weight: '重量',
  1621. type: '类型',
  1622. default: '默认',
  1623. custom: '自定义',
  1624. noMatch: '没有条目匹配您的搜索',
  1625. empty: '目录中没有条目',
  1626. deleteEntry: '删除条目',
  1627. deleteConfirm: '确定要删除"{{name}}"吗?',
  1628. resetCatalog: '重置目录',
  1629. resetConfirm: '重置目录为默认值?这将移除所有自定义条目。',
  1630. loadFailed: '加载耗材目录失败',
  1631. nameWeightRequired: '名称和重量为必填项',
  1632. entryAdded: '条目已添加',
  1633. addFailed: '添加条目失败',
  1634. entryUpdated: '条目已更新',
  1635. updateFailed: '更新条目失败',
  1636. entryDeleted: '条目已删除',
  1637. deleteFailed: '删除条目失败',
  1638. resetSuccess: '目录已重置为默认值',
  1639. resetFailed: '重置目录失败',
  1640. exported: '已导出 {{count}} 条',
  1641. imported: '已导入 {{added}} 条(跳过 {{skipped}} 条)',
  1642. importFailed: '导入失败:无效的 JSON 格式',
  1643. exportTooltip: '导出目录为 JSON',
  1644. importTooltip: '从 JSON 导入目录',
  1645. resetTooltip: '重置为默认值',
  1646. selectedCount: '已选择 {{count}} 项',
  1647. deleteSelected: '删除所选',
  1648. bulkDeleteConfirm: '确定要删除 {{count}} 个条目吗?',
  1649. bulkDeleted: '已删除 {{count}} 个条目',
  1650. bulkDeleteFailed: '删除条目失败',
  1651. },
  1652. colorCatalog: {
  1653. title: '颜色目录',
  1654. description: '按制造商/材料的耗材颜色。用于添加耗材时的自动颜色查找。',
  1655. searchColors: '搜索颜色...',
  1656. allManufacturers: '所有制造商',
  1657. addNewColor: '添加新颜色',
  1658. manufacturer: '制造商',
  1659. colorName: '颜色名称',
  1660. hex: '十六进制',
  1661. materialOptional: '材料(可选)',
  1662. showing: '显示 {{filtered}} / {{total}} 种颜色',
  1663. noMatch: '没有颜色匹配您的搜索',
  1664. empty: '目录中没有颜色',
  1665. deleteColor: '删除颜色',
  1666. deleteConfirm: '确定要删除"{{name}}"吗?',
  1667. resetCatalog: '重置颜色目录',
  1668. resetConfirm: '重置目录为默认值?这将移除所有自定义颜色。',
  1669. sync: '同步',
  1670. starting: '启动中...',
  1671. syncTooltip: '从 FilamentColors.xyz 同步(2000+ 种颜色,可能需要一分钟)',
  1672. loadFailed: '加载颜色目录失败',
  1673. fieldsRequired: '制造商、颜色名称和十六进制颜色为必填项',
  1674. colorAdded: '颜色已添加',
  1675. addFailed: '添加颜色失败',
  1676. colorUpdated: '颜色已更新',
  1677. updateFailed: '更新颜色失败',
  1678. colorDeleted: '颜色已删除',
  1679. deleteFailed: '删除颜色失败',
  1680. resetSuccess: '颜色目录已重置为默认值',
  1681. resetFailed: '重置目录失败',
  1682. syncUpToDate: '已是最新(检查了 {{count}} 种颜色)',
  1683. syncComplete: '添加了 {{added}} 种新颜色({{skipped}} 种已存在)',
  1684. syncError: '同步错误',
  1685. syncFailed: '从 FilamentColors.xyz 同步失败',
  1686. exported: '已导出 {{count}} 种颜色',
  1687. imported: '已导入 {{added}} 种颜色(跳过 {{skipped}} 种)',
  1688. importFailed: '导入失败:无效的 JSON 格式',
  1689. selectedCount: '已选择 {{count}} 项',
  1690. deleteSelected: '删除所选',
  1691. bulkDeleteConfirm: '确定要删除 {{count}} 种颜色吗?',
  1692. bulkDeleted: '已删除 {{count}} 种颜色',
  1693. bulkDeleteFailed: '删除颜色失败',
  1694. },
  1695. dateFormat: '日期格式',
  1696. dateFormatUs: '美式 (MM/DD/YYYY)',
  1697. dateFormatEu: '欧式 (DD/MM/YYYY)',
  1698. dateFormatIso: 'ISO (YYYY-MM-DD)',
  1699. timeFormat: '时间格式',
  1700. timeFormat12: '12小时制 (3:30 PM)',
  1701. timeFormat24: '24小时制 (15:30)',
  1702. defaultPrinter: '默认打印机',
  1703. defaultPrinterDescription: '为上传、重印和其他操作预选此打印机。',
  1704. slicerBambuStudio: 'Bambu Studio',
  1705. slicerOrcaSlicer: 'OrcaSlicer',
  1706. sidebarOrderDescription: '拖拽侧边栏项目以重新排序。在此处重置为默认顺序。',
  1707. reset: '重置',
  1708. darkMode: '深色模式',
  1709. lightMode: '浅色模式',
  1710. active: '(当前)',
  1711. background: '背景',
  1712. accent: '强调色',
  1713. style: '样式',
  1714. bgNeutral: '中性',
  1715. bgWarm: '暖色',
  1716. bgCool: '冷色',
  1717. bgOled: 'OLED 纯黑',
  1718. bgSlate: '石板蓝',
  1719. bgForest: '森林绿',
  1720. accentGreen: '绿色',
  1721. accentTeal: '青色',
  1722. accentBlue: '蓝色',
  1723. accentOrange: '橙色',
  1724. accentPurple: '紫色',
  1725. accentRed: '红色',
  1726. styleClassic: '经典',
  1727. styleGlow: '发光',
  1728. styleVibrant: '鲜艳',
  1729. themeToggleHint: '使用侧边栏中的太阳/月亮图标在深色和浅色模式之间切换。',
  1730. autoArchivePrints: '自动归档打印',
  1731. autoArchiveDescription: '打印完成时自动保存3MF文件',
  1732. saveThumbnailsDescription: '从3MF文件中提取并保存预览图像',
  1733. captureFinishPhotoDescription: '打印完成时从打印机摄像头拍照',
  1734. ffmpegNotInstalled: '未安装ffmpeg',
  1735. ffmpegRequired: '摄像头捕获需要ffmpeg。通过 <brew>brew install ffmpeg</brew>(macOS)或 <apt>apt install ffmpeg</apt>(Linux)安装。',
  1736. camera: '摄像头',
  1737. cameraViewMode: '摄像头查看模式',
  1738. cameraOverlayDescription: '摄像头在主屏幕上以可调大小的覆盖层打开',
  1739. cameraWindowDescription: '摄像头在单独的浏览器窗口中打开',
  1740. externalCamerasDescription: '配置外部摄像头以替换内置打印机摄像头。支持MJPEG流、RTSP、HTTP快照和USB摄像头(V4L2)。启用后,外部摄像头将用于实时查看和完成照片。',
  1741. cameraPlaceholderUsb: '设备路径 (/dev/video0)',
  1742. cameraPlaceholderUrl: '摄像头URL (rtsp://... 或 http://...)',
  1743. cameraTypeMjpeg: 'MJPEG 流',
  1744. cameraTypeRtsp: 'RTSP 流',
  1745. cameraTypeSnapshot: 'HTTP 快照',
  1746. cameraTypeUsb: 'USB 摄像头 (V4L2)',
  1747. test: '测试',
  1748. connected: '已连接',
  1749. disconnected: '未连接',
  1750. currency: '货币',
  1751. defaultFilamentCost: '默认耗材成本(每公斤)',
  1752. electricityCost: '每千瓦时电费',
  1753. energyDisplayMode: '能源显示模式',
  1754. energyModePrintDescription: '仪表板显示打印期间使用的能源总和',
  1755. energyModeTotalDescription: '仪表板显示智能插座的累计能源',
  1756. fileManager: '文件管理器',
  1757. createArchiveEntry: '打印时创建归档条目',
  1758. createArchiveEntryDescription: '从文件管理器打印时,可选择创建归档条目',
  1759. lowDiskSpaceWarning: '磁盘空间不足警告',
  1760. lowDiskSpaceDescription: '当可用磁盘空间低于此阈值时显示警告',
  1761. printerFirmware: '打印机固件',
  1762. checkFirmwareDescription: '检查Bambu Lab的打印机固件更新',
  1763. bambuddySoftware: 'Bambuddy 软件',
  1764. autoCheckDescription: '启动时自动检查新版本',
  1765. checkNow: '立即检查',
  1766. updateAvailableVersion: '可用更新:v{{version}}',
  1767. releaseNotes: '发布说明',
  1768. updateViaDocker: '通过 Docker Compose 更新:',
  1769. installUpdate: '安装更新',
  1770. latestVersionRunning: '您正在运行最新版本',
  1771. failedToCheckUpdates: '检查更新失败:{{error}}',
  1772. backupRestore: '备份与恢复',
  1773. backupRestoreDescription: '导出/导入设置并配置GitHub备份',
  1774. goToBackup: '前往备份',
  1775. externalUrl: '外部URL',
  1776. externalUrlDescription: 'Bambuddy可访问的外部URL。用于通知图像和外部集成。',
  1777. bambuddyUrl: 'Bambuddy URL',
  1778. externalUrlHint: '包含协议和端口(例如:http://192.168.1.100:8000)',
  1779. ftpRetry: 'FTP重试',
  1780. ftpRetryDescription: '当打印机WiFi不稳定时重试FTP操作。适用于3MF下载、打印上传、延时摄影下载和固件更新。',
  1781. autoRetryDescription: '自动重试失败的FTP操作',
  1782. retryAttempts: '重试次数',
  1783. retryDelay: '重试延迟',
  1784. connectionTimeout: '连接超时',
  1785. time_one: '{{count}}次',
  1786. time_other: '{{count}}次',
  1787. second_one: '{{count}}秒',
  1788. second_other: '{{count}}秒',
  1789. nSeconds: '{{count}}秒',
  1790. increaseForWeakWifi: '对WiFi信号弱的打印机增加此值',
  1791. homeAssistant: 'Home Assistant',
  1792. homeAssistantFullDescription: '连接到Home Assistant,通过HA REST API控制智能插座。支持switch、light、input_boolean和script实体。',
  1793. homeAssistantUrl: 'Home Assistant URL',
  1794. longLivedAccessToken: '长期访问令牌',
  1795. haTokenHint: '在HA中创建令牌:个人资料 → 长期访问令牌 → 创建令牌',
  1796. connectionSuccessful: '连接成功',
  1797. connectionFailed: '连接失败',
  1798. haConnectionSuccess: '已成功连接到Home Assistant。',
  1799. haConnectionFailed: '连接Home Assistant失败。',
  1800. mqttPublishing: 'MQTT发布',
  1801. mqttDescription: '将BamBuddy事件发布到外部MQTT代理,用于与Node-RED、Home Assistant和其他自动化系统集成。',
  1802. mqttEnableDescription: '向外部MQTT代理发布事件',
  1803. brokerHostname: '代理主机名',
  1804. port: '端口',
  1805. usernameOptional: '用户名(可选)',
  1806. passwordOptional: '密码(可选)',
  1807. topicPrefix: '主题前缀',
  1808. topicPrefixHint: '主题格式:{{prefix}}/printers/<serial>/status 等',
  1809. prometheusMetrics: 'Prometheus 指标',
  1810. prometheusEndpointDescription: '在 <code>/api/v1/metrics</code> 公开打印机指标,用于Prometheus/Grafana监控。',
  1811. bearerTokenOptional: 'Bearer令牌(可选)',
  1812. bearerTokenHint: '设置后,请求必须包含 <code>Authorization: Bearer <token></code>',
  1813. metricsConnectionStatus: '连接状态',
  1814. metricsPrinterState: '打印机状态(空闲/打印中等)',
  1815. metricsPrintProgress: '打印进度 0-100%',
  1816. metricsBedTemp: '热床温度',
  1817. metricsNozzleTemp: '喷嘴温度',
  1818. metricsPrintsTotal: '按结果分类的总打印数',
  1819. metricsMore: '...以及更多(层数、风扇、队列、耗材用量)',
  1820. smartPlugsDescription: '连接智能插座(Tasmota或Home Assistant)以自动化电源控制并跟踪打印机的能源使用情况。',
  1821. allOn: '全部开启',
  1822. allOff: '全部关闭',
  1823. addSmartPlug: '添加智能插座',
  1824. energySummary: '能源概要',
  1825. currentPower: '当前功率',
  1826. plugsOnline: '{{reachable}}/{{total}} 个插座在线',
  1827. today: '今天',
  1828. yesterday: '昨天',
  1829. total: '总计',
  1830. enablePlugsForSummary: '启用插座以查看能源概要',
  1831. addNotificationProvider: '添加',
  1832. systemBadge: '(系统)',
  1833. creating: '创建中...',
  1834. changing: '修改中...',
  1835. deleteUserAndItems: '删除用户及其所有项目',
  1836. deleteUserKeepItems: '删除用户,保留项目(将变为无主项目)',
  1837. ok: '确定',
  1838. },
  1839. // Notifications (for push notifications)
  1840. notification: {
  1841. printStarted: {
  1842. title: '打印已开始',
  1843. body: '{{printer}}:{{filename}} 已开始打印',
  1844. },
  1845. printCompleted: {
  1846. title: '打印已完成',
  1847. body: '{{printer}}:{{filename}} 已成功完成',
  1848. },
  1849. printFailed: {
  1850. title: '打印失败',
  1851. body: '{{printer}}:{{filename}} 打印失败',
  1852. },
  1853. printStopped: {
  1854. title: '打印已停止',
  1855. body: '{{printer}}:{{filename}} 已停止',
  1856. },
  1857. printProgress: {
  1858. title: '打印进度',
  1859. body: '{{printer}}:{{filename}} 已完成 {{percent}}%',
  1860. },
  1861. printerOffline: {
  1862. title: '打印机离线',
  1863. body: '{{printer}} 已离线',
  1864. },
  1865. printerError: {
  1866. title: '打印机错误',
  1867. body: '{{printer}}:{{error}}',
  1868. },
  1869. filamentLow: {
  1870. title: '耗材不足',
  1871. body: '{{printer}}:耗材即将用完',
  1872. },
  1873. maintenanceDue: {
  1874. title: '维护到期',
  1875. body: '{{printer}}:{{items}} 需要关注',
  1876. },
  1877. },
  1878. // Errors
  1879. errors: {
  1880. generic: '出了点问题',
  1881. networkError: '网络错误。请检查您的连接。',
  1882. notFound: '未找到',
  1883. unauthorized: '未授权',
  1884. serverError: '服务器错误',
  1885. validationError: '请检查您的输入',
  1886. printerConnectionFailed: '连接打印机失败',
  1887. saveFailed: '保存更改失败',
  1888. deleteFailed: '删除失败',
  1889. loadFailed: '加载数据失败',
  1890. },
  1891. // HMS Errors modal
  1892. hmsErrors: {
  1893. title: '错误 - {{name}}',
  1894. noErrors: '无错误',
  1895. viewOnWiki: '在拓竹 Wiki 上查看',
  1896. clearInstructions: '在打印机上清除错误以在此处消除它们。',
  1897. clearErrors: '清除错误',
  1898. clearSuccess: 'HMS 错误已清除',
  1899. clearFailed: '清除 HMS 错误失败',
  1900. },
  1901. // MQTT Debug modal
  1902. mqttDebug: {
  1903. title: 'MQTT 调试日志',
  1904. searchPlaceholder: '搜索主题或负载...',
  1905. noMessages: '尚未记录消息',
  1906. startLoggingHint: '点击"开始记录"以开始捕获 MQTT 消息',
  1907. noMessagesMatch: '没有消息匹配您的筛选条件',
  1908. adjustFilterHint: '尝试调整您的搜索或筛选条件',
  1909. incoming: '传入',
  1910. outgoing: '传出',
  1911. loggingStopped: '记录已停止',
  1912. loggingActive: '记录中 - 消息将自动刷新',
  1913. startLogging: '开始记录',
  1914. stopLogging: '停止记录',
  1915. clearLog: '清除日志',
  1916. topic: '主题',
  1917. timestamp: '时间戳',
  1918. direction: '方向',
  1919. all: '全部',
  1920. },
  1921. // Printer File Manager modal (printer internal storage)
  1922. printerFiles: {
  1923. title: '文件管理器',
  1924. storageUsed: '已用:',
  1925. storageFree: '剩余:',
  1926. filterPlaceholder: '筛选文件...',
  1927. deleteButton: '删除',
  1928. deleteFiles: '删除 {{count}} 个文件',
  1929. deleteFileConfirm: '删除"{{name}}"?此操作无法撤销。',
  1930. deleteFilesConfirm: '删除 {{count}} 个选中的文件?此操作无法撤销。',
  1931. noFiles: '打印机上没有文件',
  1932. loadingFiles: '加载文件中...',
  1933. failedToLoad: '加载文件失败',
  1934. toast: {
  1935. filesDeleted: '已删除 {{count}} 个文件',
  1936. deleteFailed: '删除失败:{{error}}',
  1937. },
  1938. },
  1939. // Confirmations
  1940. confirm: {
  1941. delete: '确定要删除吗?',
  1942. unsavedChanges: '您有未保存的更改。确定要离开吗?',
  1943. clearQueue: '确定要清空队列吗?',
  1944. },
  1945. // Login page
  1946. login: {
  1947. title: 'Bambuddy 登录',
  1948. subtitle: '登录您的账户',
  1949. username: '用户名',
  1950. usernamePlaceholder: '输入您的用户名',
  1951. usernameOrEmail: '用户名或邮箱',
  1952. usernameOrEmailPlaceholder: '用户名或 @ 邮箱',
  1953. password: '密码',
  1954. passwordPlaceholder: '输入您的密码',
  1955. signIn: '登录',
  1956. signingIn: '登录中...',
  1957. forgotPassword: '忘记密码?',
  1958. loginSuccess: '登录成功',
  1959. loginFailed: '登录失败',
  1960. enterCredentials: '请输入用户名和密码',
  1961. forgotPasswordTitle: '忘记密码',
  1962. forgotPasswordMessage: '如果您忘记了密码,请联系系统管理员进行重置。',
  1963. forgotPasswordEmailMessage: '输入您的邮箱地址,我们将向您发送新密码。',
  1964. emailAddress: '邮箱地址',
  1965. emailPlaceholder: 'your.email@example.com',
  1966. cancel: '取消',
  1967. sending: '发送中...',
  1968. sendResetEmail: '发送重置邮件',
  1969. howToReset: '如何重置密码:',
  1970. resetStep1: '联系您的 Bambuddy 管理员',
  1971. resetStep2: '请他们在用户管理中重置您的密码',
  1972. resetStep3: '他们可以为您设置一个临时密码',
  1973. resetStep4: '使用新密码登录并在设置中修改密码',
  1974. gotIt: '知道了',
  1975. },
  1976. // Setup page
  1977. setup: {
  1978. title: 'Bambuddy 设置',
  1979. subtitle: '为您的 Bambuddy 实例配置身份验证',
  1980. enableAuth: '启用身份验证',
  1981. adminAccount: '管理员账户',
  1982. adminAccountDesc: '如果管理员用户已存在,将使用现有管理员账户启用身份验证。如需使用现有管理员,请将下方字段留空,或输入新凭据创建新管理员用户。',
  1983. adminUsername: '管理员用户名',
  1984. adminPassword: '管理员密码',
  1985. optionalIfAdminExists: '(如管理员用户已存在则为可选)',
  1986. adminUsernamePlaceholder: '输入管理员用户名(可选)',
  1987. adminPasswordPlaceholder: '输入管理员密码(可选)',
  1988. confirmPassword: '确认密码',
  1989. confirmPasswordPlaceholder: '确认管理员密码',
  1990. settingUp: '设置中...',
  1991. completeSetup: '完成设置',
  1992. toast: {
  1993. authEnabledAdminCreated: '身份验证已启用并创建了管理员用户',
  1994. authEnabledExistingAdmins: '使用现有管理员用户启用了身份验证',
  1995. setupCompleted: '设置完成',
  1996. enterBothCredentials: '请输入管理员用户名和密码,或将两者留空以使用现有管理员用户',
  1997. passwordsDoNotMatch: '密码不匹配',
  1998. passwordTooShort: '密码至少需要 6 个字符',
  1999. },
  2000. },
  2001. // Password change
  2002. changePassword: {
  2003. title: '修改密码',
  2004. currentPassword: '当前密码',
  2005. currentPasswordPlaceholder: '输入当前密码',
  2006. newPassword: '新密码',
  2007. newPasswordPlaceholder: '输入新密码(至少 6 个字符)',
  2008. confirmPassword: '确认新密码',
  2009. confirmPasswordPlaceholder: '确认新密码',
  2010. passwordsDoNotMatch: '密码不匹配',
  2011. passwordTooShort: '密码至少需要 6 个字符',
  2012. changing: '修改中...',
  2013. success: '密码修改成功',
  2014. failed: '密码修改失败',
  2015. },
  2016. // Plate detection alert
  2017. plateAlert: {
  2018. title: '打印已暂停!',
  2019. message: '在构建板上检测到物体。打印已自动暂停。请清理打印板并继续打印。',
  2020. understand: '我知道了',
  2021. },
  2022. // Camera page
  2023. camera: {
  2024. title: '摄像头视图',
  2025. invalidPrinterId: '无效的打印机 ID',
  2026. live: '实时',
  2027. snapshot: '快照',
  2028. restartStream: '重启流',
  2029. refreshSnapshot: '刷新快照',
  2030. fullscreen: '全屏',
  2031. exitFullscreen: '退出全屏',
  2032. connectingToCamera: '连接摄像头中...',
  2033. capturingSnapshot: '拍摄快照中...',
  2034. connectionLost: '连接已断开',
  2035. connectionFailed: '摄像头连接失败',
  2036. reconnecting: '{{countdown}} 秒后重新连接...(第 {{attempt}}/{{max}} 次尝试)',
  2037. reconnectNow: '立即重新连接',
  2038. cameraUnavailable: '摄像头不可用',
  2039. cameraUnavailableDesc: '请确保打印机已通电并已连接。',
  2040. noCamera: '无可用摄像头',
  2041. retry: '重试',
  2042. cameraStream: '摄像头流',
  2043. zoomOut: '缩小',
  2044. zoomIn: '放大',
  2045. resetZoom: '重置缩放',
  2046. recording: '录制中',
  2047. startRecording: '开始录制',
  2048. stopRecording: '停止录制',
  2049. chamberLight: '切换腔室灯',
  2050. },
  2051. // Groups management
  2052. groups: {
  2053. title: '组管理',
  2054. subtitle: '管理访问控制的权限组',
  2055. backToSettings: '返回设置',
  2056. createGroup: '创建组',
  2057. noPermission: '您没有访问此页面的权限。',
  2058. system: '系统',
  2059. noDescription: '无描述',
  2060. usersCount: '{{count}} 个用户',
  2061. permissionsCount: '{{count}} 个权限',
  2062. edit: '编辑',
  2063. delete: '删除',
  2064. toast: {
  2065. created: '组创建成功',
  2066. updated: '组更新成功',
  2067. deleted: '组删除成功',
  2068. enterGroupName: '请输入组名称',
  2069. },
  2070. modal: {
  2071. editGroup: '编辑组',
  2072. createGroup: '创建组',
  2073. cancel: '取消',
  2074. saving: '保存中...',
  2075. creating: '创建中...',
  2076. saveChanges: '保存更改',
  2077. },
  2078. form: {
  2079. groupName: '组名称',
  2080. groupNamePlaceholder: '输入组名称',
  2081. systemGroupWarning: '系统组名称不可更改',
  2082. description: '描述',
  2083. descriptionPlaceholder: '输入描述(可选)',
  2084. permissions: '权限(已选 {{count}} 个)',
  2085. },
  2086. deleteModal: {
  2087. title: '删除组',
  2088. message: '确定要删除此组吗?此组中的用户将失去这些权限。',
  2089. confirm: '删除组',
  2090. },
  2091. editor: {
  2092. title: '编辑组',
  2093. createTitle: '创建组',
  2094. search: '搜索权限...',
  2095. selectAll: '全选',
  2096. clearAll: '清除全部',
  2097. permissionsSelected: '已选 {{count}} 个',
  2098. noResults: '没有权限匹配您的搜索',
  2099. },
  2100. },
  2101. // Users management
  2102. users: {
  2103. title: '用户管理',
  2104. subtitle: '管理用户及其对 Bambuddy 实例的访问',
  2105. backToSettings: '返回设置',
  2106. createUser: '创建用户',
  2107. noPermission: '您没有访问此页面的权限。',
  2108. admin: '管理员',
  2109. noGroups: '无组',
  2110. active: '活跃',
  2111. inactive: '非活跃',
  2112. edit: '编辑',
  2113. delete: '删除',
  2114. system: '系统',
  2115. noGroupsAvailable: '无可用组',
  2116. table: {
  2117. username: '用户名',
  2118. groups: '组',
  2119. status: '状态',
  2120. actions: '操作',
  2121. },
  2122. toast: {
  2123. created: '用户创建成功',
  2124. updated: '用户更新成功',
  2125. deleted: '用户删除成功',
  2126. fillRequired: '请填写所有必填字段',
  2127. passwordsDoNotMatch: '密码不匹配',
  2128. passwordTooShort: '密码至少需要 6 个字符',
  2129. },
  2130. modal: {
  2131. createUser: '创建用户',
  2132. editUser: '编辑用户',
  2133. cancel: '取消',
  2134. creating: '创建中...',
  2135. saving: '保存中...',
  2136. saveChanges: '保存更改',
  2137. advancedAuthSubtitle: '使用高级认证',
  2138. },
  2139. form: {
  2140. username: '用户名',
  2141. usernamePlaceholder: '输入用户名',
  2142. email: '邮箱',
  2143. emailPlaceholder: 'user@example.com',
  2144. password: '密码',
  2145. passwordPlaceholder: '输入密码',
  2146. confirmPassword: '确认密码',
  2147. confirmPasswordPlaceholder: '确认密码',
  2148. newPasswordPlaceholder: '输入新密码',
  2149. confirmNewPasswordPlaceholder: '确认新密码',
  2150. leaveBlankToKeep: '留空以保持当前值',
  2151. groups: '组',
  2152. optional: '可选',
  2153. autoGeneratedPassword: '将自动生成安全密码并通过邮件发送给用户。',
  2154. passwordManagedByAdvancedAuth: '密码由高级认证管理。使用"重置密码"通过邮件向用户发送新密码。',
  2155. resetPassword: '重置密码',
  2156. resettingPassword: '重置密码中...',
  2157. },
  2158. deleteModal: {
  2159. title: '删除用户',
  2160. message: '确定要删除此用户吗?此操作无法撤销。',
  2161. confirm: '删除用户',
  2162. },
  2163. },
  2164. // Stream overlay
  2165. streamOverlay: {
  2166. title: '流叠加层',
  2167. invalidPrinterId: '无效的打印机 ID',
  2168. cameraStream: '摄像头流',
  2169. progress: '进度',
  2170. eta: '预计完成时间',
  2171. printerIdle: '打印机空闲',
  2172. printerOffline: '打印机离线',
  2173. status: {
  2174. printing: '打印中',
  2175. paused: '已暂停',
  2176. finished: '已完成',
  2177. failed: '失败',
  2178. idle: '空闲',
  2179. unknown: '未知',
  2180. },
  2181. },
  2182. // Profiles
  2183. profiles: {
  2184. title: '配置文件',
  2185. subtitle: '管理您的切片预设和压力推进校准',
  2186. tabs: {
  2187. cloud: '云端配置文件',
  2188. local: '本地配置文件',
  2189. kprofiles: 'K 值配置',
  2190. },
  2191. localProfiles: {
  2192. title: '本地配置文件',
  2193. subtitle: '从 OrcaSlicer 导入和管理切片预设',
  2194. import: '导入配置文件',
  2195. importDesc: '将 .bbscfg、.bbsflmt、.orca_filament、.zip 或 .json 文件拖放到此处',
  2196. importing: '导入中...',
  2197. search: '搜索本地预设...',
  2198. noPresets: '暂无本地预设',
  2199. badge: '本地',
  2200. edit: '编辑',
  2201. delete: '删除',
  2202. cancel: '取消',
  2203. deleteConfirmTitle: '删除预设',
  2204. deleteConfirm: '确定要删除此预设吗?此操作无法撤销。',
  2205. source: '来源',
  2206. inheritsFrom: '继承自',
  2207. filamentType: '类型',
  2208. vendor: '厂商',
  2209. compatiblePrinters: '兼容打印机',
  2210. nozzleTemp: '喷嘴温度',
  2211. cost: '成本',
  2212. density: '密度',
  2213. pressureAdvance: '压力推进',
  2214. filament: '耗材',
  2215. process: '工艺',
  2216. printer: '打印机',
  2217. toast: {
  2218. importSuccess: '已导入 {{count}} 个预设',
  2219. importSkipped: '跳过 {{count}} 个预设(重复)',
  2220. importError: '导入时出现 {{count}} 个错误',
  2221. deleted: '预设已删除',
  2222. updated: '预设已更新',
  2223. },
  2224. },
  2225. connectedAs: '已连接为',
  2226. logout: '退出登录',
  2227. noLogoutPermission: '您没有退出登录的权限',
  2228. failedToLoad: '加载配置文件失败',
  2229. retry: '重试',
  2230. time: {
  2231. justNow: '刚刚',
  2232. minsAgo: '{{count}} 分钟前',
  2233. hoursAgo: '{{count}} 小时前',
  2234. daysAgo: '{{count}} 天前',
  2235. },
  2236. toast: {
  2237. loggedOut: '已退出登录',
  2238. },
  2239. login: {
  2240. title: '连接到拓竹云',
  2241. subtitle: '跨设备同步您的切片预设',
  2242. email: '邮箱',
  2243. password: '密码',
  2244. region: '地区',
  2245. regionGlobal: '全球',
  2246. regionChina: '中国',
  2247. verificationCode: '验证码',
  2248. totpCode: '验证器代码',
  2249. checkEmail: '检查您的邮箱 ({{email}}) 获取 6 位验证码',
  2250. enterTotpHint: '输入验证器应用中的 6 位代码',
  2251. accessToken: '访问令牌',
  2252. accessTokenHint: '粘贴您的拓竹访问令牌(来自 Bambu Studio)',
  2253. back: '返回',
  2254. loginButton: '登录',
  2255. verifyButton: '验证',
  2256. setTokenButton: '设置令牌',
  2257. useToken: '改用访问令牌',
  2258. useEmail: '改用邮箱登录',
  2259. toast: {
  2260. loggedIn: '登录成功',
  2261. codeSent: '验证码已发送到您的邮箱',
  2262. enterTotp: '输入验证器应用中的代码',
  2263. tokenSet: '令牌设置成功',
  2264. },
  2265. },
  2266. presets: {
  2267. myPreset: '我的预设(可编辑)',
  2268. duplicate: '复制',
  2269. editable: '可编辑',
  2270. failedToLoadDetails: '加载预设详情失败',
  2271. deleteConfirm: '删除此预设?',
  2272. deleteWarning: '这将从拓竹云中永久删除"{{name}}"。此操作无法撤销。',
  2273. noDuplicatePermission: '您没有复制预设的权限',
  2274. noEditPermission: '您没有编辑预设的权限',
  2275. noDeletePermission: '您没有删除预设的权限',
  2276. types: {
  2277. filament: '耗材预设',
  2278. printer: '打印机预设',
  2279. process: '工艺预设',
  2280. },
  2281. toast: {
  2282. deleted: '预设已删除',
  2283. created: '预设已创建',
  2284. updated: '预设已更新',
  2285. duplicated: '预设已复制',
  2286. fieldAdded: '字段"{{key}}"已添加',
  2287. exported: '预设已导出',
  2288. },
  2289. baseLabel: '基础:{{name}}',
  2290. currentLabel: '当前:{{name}}',
  2291. newPreset: '新建预设',
  2292. editPreset: '编辑预设',
  2293. duplicatePreset: '复制预设',
  2294. createNewPreset: '创建新预设',
  2295. customizeSettings: '自定义新预设的设置',
  2296. compareWithBase: '与基础预设比较',
  2297. compare: '比较',
  2298. // CreatePresetModal - Basic Info
  2299. basePreset: '基础预设',
  2300. selectBasePreset: '选择基础预设...',
  2301. presetName: '预设名称',
  2302. myCustomPreset: '我的自定义预设',
  2303. inheritsFrom: '继承自',
  2304. dropJsonToImport: '拖放 JSON 以导入',
  2305. // CreatePresetModal - Tabs
  2306. tabs: {
  2307. common: '常用',
  2308. allFields: '所有字段',
  2309. },
  2310. // CreatePresetModal - All Fields Tab
  2311. availableFields: '可用字段',
  2312. searchFieldsPlaceholder: '搜索字段...',
  2313. noMatchingFields: '没有匹配的字段',
  2314. allFieldsAdded: '所有字段已添加',
  2315. addCustomField: '添加自定义字段',
  2316. yourOverrides: '您的覆盖值',
  2317. noOverridesYet: '暂无覆盖值',
  2318. clickFieldsToAdd: '点击左侧的字段进行添加',
  2319. saveAsTemplate: '保存为模板',
  2320. jsonTip: '提示:将 .json 文件拖放到此对话框的任意位置以导入设置',
  2321. },
  2322. cloudView: {
  2323. searchPlaceholder: '搜索预设...',
  2324. templates: '模板',
  2325. refresh: '刷新',
  2326. newPreset: '新建预设',
  2327. clearFilters: '清除筛选',
  2328. // Compare mode
  2329. compareMode: '比较模式',
  2330. selectAnotherPreset: '选择另一个 {{type}} 预设',
  2331. clickTwoPresets: '点击两个相同类型的预设进行比较',
  2332. selectFirst: '1. 选择第一个',
  2333. selectSecond: '2. 选择第二个',
  2334. compareNow: '立即比较',
  2335. // Status row
  2336. lastSynced: '上次同步:',
  2337. showingCount: '显示 {{showing}} / {{total}} 个预设',
  2338. noPresetsFound: '未找到预设',
  2339. // Column headers
  2340. columns: {
  2341. filament: '耗材',
  2342. process: '工艺',
  2343. printer: '打印机',
  2344. },
  2345. noFilamentPresets: '无耗材预设',
  2346. noProcessPresets: '无工艺预设',
  2347. noPrinterPresets: '无打印机预设',
  2348. // Filters
  2349. filters: {
  2350. type: '类型',
  2351. owner: '所有者',
  2352. printer: '打印机',
  2353. nozzle: '喷嘴',
  2354. filament: '耗材',
  2355. layer: '层',
  2356. all: '全部',
  2357. myPresets: '我的预设',
  2358. builtIn: '内置',
  2359. process: '工艺',
  2360. },
  2361. // Permissions
  2362. noTemplatesPermission: '您没有管理模板的权限',
  2363. noRefreshPermission: '您没有刷新配置文件的权限',
  2364. noCreatePermission: '您没有创建预设的权限',
  2365. },
  2366. templates: {
  2367. title: '快速模板',
  2368. noTemplates: '暂无模板',
  2369. createFirst: '从预设编辑器创建模板',
  2370. typeFilter: '类型:',
  2371. deleteTitle: '删除模板',
  2372. deleteWarning: '此操作无法撤销',
  2373. deleteConfirm: '确定要删除"{{name}}"吗?',
  2374. namePlaceholder: '模板名称',
  2375. descriptionPlaceholder: '描述',
  2376. settingsJson: '设置 (JSON)',
  2377. fieldsCount: '{{count}} 个字段',
  2378. shownInModals: '在对话框中显示',
  2379. hiddenInModals: '在对话框中隐藏',
  2380. apply: '应用',
  2381. toast: {
  2382. deleted: '模板已删除',
  2383. updated: '模板已更新',
  2384. created: '模板已创建',
  2385. applied: '模板已应用',
  2386. },
  2387. },
  2388. },
  2389. // Support/Debug
  2390. support: {
  2391. debugLoggingActive: '调试日志记录已激活',
  2392. manageLogs: '管理',
  2393. collectItem7: '打印机连接和固件版本',
  2394. collectItem8: '集成状态(Spoolman、MQTT、HA)',
  2395. collectItem9: '网络接口(仅子网)',
  2396. collectItem10: 'Python 包版本',
  2397. collectItem11: '数据库健康检查',
  2398. collectItem12: 'Docker 环境详情',
  2399. },
  2400. // File manager
  2401. fileManager: {
  2402. title: '文件管理器',
  2403. subtitle: '组织和管理您的打印文件',
  2404. uploadFiles: '上传文件',
  2405. newFolder: '新建文件夹',
  2406. folderName: '文件夹名称',
  2407. folderNamePlaceholder: '例如:功能零件',
  2408. renameFile: '重命名文件',
  2409. renameFolder: '重命名文件夹',
  2410. moveFiles: '移动 {{count}} 个文件',
  2411. rootNoFolder: '根目录(无文件夹)',
  2412. current: '当前',
  2413. linkFolder: '链接文件夹',
  2414. linkFolderDescription: '将"{{name}}"链接到项目或归档以便快速访问。',
  2415. project: '项目',
  2416. archive: '归档',
  2417. noProjectsFound: '未找到项目',
  2418. noArchivesFound: '未找到归档',
  2419. unlink: '取消链接',
  2420. link: '链接',
  2421. dragDropFiles: '将文件拖放到此处',
  2422. dropFilesHere: '将文件放在此处',
  2423. orClickToBrowse: '或点击浏览',
  2424. allFileTypesSupported: '支持所有文件类型。ZIP 文件将被解压。',
  2425. zipFilesDetected: '检测到 ZIP 文件',
  2426. zipExtractOptions: 'ZIP 文件将被解压。选择如何处理文件夹结构:',
  2427. preserveZipStructure: '保留 ZIP 中的文件夹结构',
  2428. createFolderFromZip: '从 ZIP 文件名创建文件夹',
  2429. stlThumbnailGeneration: 'STL 缩略图生成',
  2430. zipMayContainStl: 'ZIP 文件可能包含 STL 文件。可以在解压时生成缩略图。',
  2431. thumbnailsCanBeGenerated: '可以为 STL 文件生成缩略图。大型模型可能需要更长时间处理。',
  2432. generateThumbnailsForStl: '为 STL 文件生成缩略图',
  2433. threemfDetected: '检测到 3MF 文件',
  2434. threemfExtractionInfo: '将自动从 3MF 文件中提取打印机型号、材料、颜色和打印设置。',
  2435. willBeExtracted: '将被解压',
  2436. filesExtracted: '已解压 {{count}} 个文件',
  2437. uploadComplete: '上传完成:{{succeeded}} 个成功',
  2438. uploadFailed: '{{count}} 个失败',
  2439. zipFilesFailed: '{{count}} 个文件失败',
  2440. uploading: '上传中...',
  2441. changeLink: '更改链接...',
  2442. linkTo: '链接到...',
  2443. linkToProjectOrArchive: '链接到项目或归档',
  2444. addToQueue: '添加到队列',
  2445. schedulePrint: '排程',
  2446. generateThumbnail: '生成缩略图',
  2447. generateThumbnails: '生成缩略图',
  2448. generateThumbnailsForMissing: '为缺少缩略图的 STL 文件生成缩略图',
  2449. gridView: '网格视图',
  2450. listView: '列表视图',
  2451. lowDiskSpaceWarning: '磁盘空间不足警告',
  2452. lowDiskSpaceDetails: '仅剩 {{free}}(总共 {{total}})。阈值设置为 {{threshold}} GB。',
  2453. files: '文件',
  2454. folders: '文件夹',
  2455. size: '大小',
  2456. free: '剩余',
  2457. allFiles: '所有文件',
  2458. wrap: '换行',
  2459. enableTextWrapping: '启用文本换行',
  2460. disableTextWrapping: '禁用文本换行',
  2461. dragToResizeTooltip: '拖动调整大小,双击重置',
  2462. searchFiles: '搜索文件...',
  2463. allTypes: '所有类型',
  2464. prints: '打印',
  2465. ascending: '升序',
  2466. descending: '降序',
  2467. resultsCount: '{{showing}} / {{total}} 个文件',
  2468. selectAll: '全选',
  2469. deselectAll: '取消全选',
  2470. selected: '已选择 {{count}} 个',
  2471. adding: '添加中...',
  2472. loadingFiles: '加载文件中...',
  2473. folderIsEmpty: '文件夹为空',
  2474. noFilesYet: '暂无文件',
  2475. folderEmptyDescription: '上传文件或将文件移入此文件夹以开始使用。',
  2476. noFilesDescription: '上传文件以开始组织您的打印相关文件。',
  2477. noMatchingFiles: '没有匹配的文件',
  2478. noMatchingFilesDescription: '没有文件匹配您当前的搜索或筛选条件。',
  2479. clearFilters: '清除筛选',
  2480. printedCount: '已打印 {{count}} 次',
  2481. uploadedBy: '上传者',
  2482. deleteFolder: '删除文件夹',
  2483. deleteFile: '删除文件',
  2484. deleteFilesCount: '删除 {{count}} 个文件',
  2485. deleteFolderConfirm: '确定要删除此文件夹吗?其中的所有文件也将被删除。',
  2486. deleteFileConfirm: '确定要删除此文件吗?',
  2487. deleteFilesConfirm: '确定要删除 {{count}} 个选中的文件吗?此操作无法撤销。',
  2488. deleting: '删除中...',
  2489. noPermissionRenameFolder: '您没有重命名文件夹的权限',
  2490. noPermissionLinkFolder: '您没有链接文件夹的权限',
  2491. noPermissionDeleteFolder: '您没有删除文件夹的权限',
  2492. noPermissionPrint: '您没有打印的权限',
  2493. noPermissionAddToQueue: '您没有添加到队列的权限',
  2494. noPermissionDownload: '您没有下载文件的权限',
  2495. noPermissionRenameFile: '您没有重命名此文件的权限',
  2496. noPermissionGenerateThumbnail: '您没有生成缩略图的权限',
  2497. noPermissionDeleteFile: '您没有删除此文件的权限',
  2498. noPermissionCreateFolder: '您没有创建文件夹的权限',
  2499. noPermissionUpload: '您没有上传文件的权限',
  2500. noPermissionMoveFiles: '您没有移动文件的权限',
  2501. noPermissionDeleteFiles: '您没有删除文件的权限',
  2502. toast: {
  2503. folderCreated: '文件夹已创建',
  2504. folderDeleted: '文件夹已删除',
  2505. fileDeleted: '文件已删除',
  2506. filesDeleted: '已删除 {{count}} 个文件',
  2507. filesMoved: '文件已移动',
  2508. folderLinked: '文件夹已链接',
  2509. folderUnlinked: '文件夹已取消链接',
  2510. addedToQueue: '已将 {{count}} 个文件添加到队列',
  2511. addedToQueuePartial: '已添加 {{added}} 个文件,{{failed}} 个失败',
  2512. failedToAddToQueue: '添加文件失败:{{error}}',
  2513. fileRenamed: '文件已重命名',
  2514. folderRenamed: '文件夹已重命名',
  2515. thumbnailsGenerated: '已生成 {{count}} 个缩略图',
  2516. thumbnailsGeneratedPartial: '已生成 {{succeeded}} 个缩略图,{{failed}} 个失败',
  2517. noStlMissingThumbnails: '没有缺少缩略图的 STL 文件',
  2518. failedToGenerateThumbnails: '生成缩略图失败:{{error}}',
  2519. thumbnailGenerated: '缩略图已生成',
  2520. failedToGenerateThumbnail: '生成缩略图失败:{{error}}',
  2521. },
  2522. },
  2523. // Projects
  2524. projects: {
  2525. title: '项目',
  2526. subtitle: '组织和跟踪您的 3D 打印项目',
  2527. newProject: '新建项目',
  2528. editProject: '编辑项目',
  2529. deleteProject: '删除项目',
  2530. projectName: '项目名称',
  2531. description: '描述',
  2532. noProjects: '暂无项目',
  2533. noProjectsFiltered: '没有{{status}}项目',
  2534. noProjectsFilteredHelp: '您没有任何{{status}}项目。当项目状态更改时,它们将出现在这里。',
  2535. createFirst: '创建您的第一个项目以开始组织相关打印、跟踪进度和管理构建。',
  2536. createFirstButton: '创建您的第一个项目',
  2537. create: '创建',
  2538. files: '文件',
  2539. prints: '打印',
  2540. plates: '板',
  2541. parts: '零件',
  2542. lastModified: '最后修改',
  2543. deleteConfirm: '确定要删除此项目吗?归档和队列项目将被取消链接但不会被删除。',
  2544. addFiles: '添加文件',
  2545. removeFile: '移除文件',
  2546. viewDetails: '查看详情',
  2547. // Modal fields
  2548. namePlaceholder: '例如:Voron 2.4 构建',
  2549. descriptionPlaceholder: '可选描述...',
  2550. color: '颜色',
  2551. targetPlates: '目标板数',
  2552. targetPlatesPlaceholder: '例如:25',
  2553. targetPlatesHelp: '打印任务数量',
  2554. targetParts: '目标零件数',
  2555. targetPartsPlaceholder: '例如:150',
  2556. targetPartsHelp: '所需零件总数',
  2557. tagsLabel: '标签(逗号分隔)',
  2558. tagsPlaceholder: '例如:voron、功能件、礼物',
  2559. dueDate: '截止日期',
  2560. priority: '优先级',
  2561. priorityLow: '低',
  2562. priorityNormal: '普通',
  2563. priorityHigh: '高',
  2564. priorityUrgent: '紧急',
  2565. // Status
  2566. statusActive: '进行中',
  2567. statusCompleted: '已完成',
  2568. statusArchived: '已归档',
  2569. done: '完成',
  2570. completed: '已完成',
  2571. failed: '失败',
  2572. inQueue: '队列中',
  2573. noPrintsYet: '暂无打印',
  2574. // Footer stats
  2575. printJobs: '打印任务(板)',
  2576. partsPrinted: '已打印零件',
  2577. failedParts: '失败零件',
  2578. // Actions
  2579. import: '导入',
  2580. export: '导出',
  2581. importProject: '导入项目',
  2582. exportAll: '导出所有项目',
  2583. loading: '加载项目中...',
  2584. // Permissions
  2585. noEditPermission: '您没有编辑项目的权限',
  2586. noDeletePermission: '您没有删除项目的权限',
  2587. noCreatePermission: '您没有创建项目的权限',
  2588. noImportPermission: '您没有导入项目的权限',
  2589. noExportPermission: '您没有导出项目的权限',
  2590. // Toast
  2591. toast: {
  2592. created: '项目已创建',
  2593. updated: '项目已更新',
  2594. deleted: '项目已删除',
  2595. imported: '项目已导入',
  2596. multipleImported: '已导入 {{count}} 个项目',
  2597. importFailed: '导入失败',
  2598. exported: '项目已导出(仅元数据)',
  2599. },
  2600. },
  2601. // Project detail page
  2602. projectDetail: {
  2603. notFound: '未找到项目',
  2604. backToProjects: '返回项目',
  2605. export: '导出',
  2606. exportProject: '导出项目',
  2607. noExportPermission: '您没有导出项目的权限',
  2608. noEditPermission: '您没有编辑项目的权限',
  2609. partOf: '属于:',
  2610. priorityLabel: '优先级:',
  2611. noPrints: '此项目暂无打印',
  2612. status: {
  2613. active: '进行中',
  2614. completed: '已完成',
  2615. archived: '已归档',
  2616. },
  2617. priority: {
  2618. low: '低',
  2619. normal: '普通',
  2620. high: '高',
  2621. urgent: '紧急',
  2622. },
  2623. dueDate: {
  2624. overdue: '已逾期',
  2625. today: '今天到期',
  2626. daysLeft: '还有 {{count}} 天',
  2627. },
  2628. progress: {
  2629. platesProgress: '板进度',
  2630. partsProgress: '零件进度',
  2631. printJobs: '打印任务',
  2632. parts: '零件',
  2633. percentComplete: '{{percent}}% 完成',
  2634. remaining: '剩余 {{count}} 个',
  2635. },
  2636. stats: {
  2637. printJobs: '打印任务',
  2638. total: '总计',
  2639. failed: '{{count}} 个失败',
  2640. partsPrinted: '已打印 {{count}} 个零件',
  2641. printTime: '打印时间',
  2642. filamentUsed: '耗材用量',
  2643. },
  2644. cost: {
  2645. title: '成本追踪',
  2646. filamentCost: '耗材成本',
  2647. energy: '能源',
  2648. budget: '预算',
  2649. remaining: '剩余',
  2650. },
  2651. subProjects: {
  2652. title: '子项目 ({{count}})',
  2653. },
  2654. notes: {
  2655. title: '备注',
  2656. noEditPermission: '您没有编辑备注的权限',
  2657. placeholder: '添加关于此项目的备注...',
  2658. empty: '暂无备注。点击编辑添加备注。',
  2659. },
  2660. files: {
  2661. title: '文件',
  2662. linkFolders: '从文件管理器链接文件夹',
  2663. forQuickAccess: '到此项目以便快速访问。',
  2664. fileCount: '{{count}} 个文件',
  2665. empty: '未链接文件夹。前往文件管理器将文件夹链接到此项目。',
  2666. },
  2667. bom: {
  2668. title: '材料清单',
  2669. acquired: '已获取 {{completed}}/{{total}}',
  2670. showAll: '显示全部',
  2671. hideDone: '隐藏已完成',
  2672. addPart: '添加零件',
  2673. noAddPermission: '您没有添加零件的权限',
  2674. partNamePlaceholder: '零件名称(例如:M3x8 螺丝)',
  2675. partName: '零件名称',
  2676. qty: '数量',
  2677. price: '价格 ({{currency}})',
  2678. sourcingUrlPlaceholder: '采购链接(可选)',
  2679. remarksPlaceholder: '备注(可选)',
  2680. deletePart: '删除零件',
  2681. deleteConfirm: '确定要删除"{{name}}"吗?',
  2682. noUpdatePermission: '您没有更新零件的权限',
  2683. noEditPermission: '您没有编辑零件的权限',
  2684. noDeletePermission: '您没有删除零件的权限',
  2685. totalCost: '总成本:',
  2686. empty: '材料清单中没有零件。添加硬件、电子元件或其他组件以跟踪需要采购的物品。',
  2687. },
  2688. timeline: {
  2689. title: '活动时间线',
  2690. empty: '暂无活动。',
  2691. },
  2692. template: {
  2693. saveAsTemplate: '保存为模板',
  2694. noCreatePermission: '您没有创建模板的权限',
  2695. },
  2696. queue: {
  2697. title: '队列',
  2698. viewAll: '查看全部',
  2699. printing: '{{count}} 个打印中',
  2700. queued: '{{count}} 个排队中',
  2701. },
  2702. prints: {
  2703. title: '打印 ({{count}})',
  2704. },
  2705. toast: {
  2706. projectUpdated: '项目已更新',
  2707. partAdded: '零件已添加',
  2708. partRemoved: '零件已移除',
  2709. exportFailed: '导出失败',
  2710. projectExported: '项目已导出',
  2711. templateCreated: '模板已创建',
  2712. },
  2713. },
  2714. // System info
  2715. system: {
  2716. title: '系统信息',
  2717. version: '版本',
  2718. uptime: '运行时间',
  2719. cpuUsage: 'CPU 使用率',
  2720. memoryUsage: '内存使用率',
  2721. diskUsage: '磁盘使用率',
  2722. networkInfo: '网络信息',
  2723. logs: '日志',
  2724. debugMode: '调试模式',
  2725. enableDebug: '启用调试日志',
  2726. disableDebug: '禁用调试日志',
  2727. downloadLogs: '下载日志',
  2728. clearLogs: '清除日志',
  2729. dockerInfo: 'Docker 信息',
  2730. containerName: '容器名称',
  2731. imageName: '镜像名称',
  2732. platform: '平台',
  2733. architecture: '架构',
  2734. },
  2735. // Library (K Profiles)
  2736. library: {
  2737. title: '耗材库',
  2738. addFilament: '添加耗材',
  2739. editFilament: '编辑耗材',
  2740. deleteFilament: '删除耗材',
  2741. vendor: '厂商',
  2742. material: '材料',
  2743. color: '颜色',
  2744. kFactor: 'K 值',
  2745. temperature: '温度',
  2746. noFilaments: '耗材库中没有耗材',
  2747. deleteConfirm: '确定要删除此耗材吗?',
  2748. importFromPrinter: '从打印机导入',
  2749. exportToFile: '导出到文件',
  2750. },
  2751. // Spoolman
  2752. spoolman: {
  2753. title: 'Spoolman 集成',
  2754. enabled: 'Spoolman 已启用',
  2755. url: 'Spoolman URL',
  2756. connected: '已连接',
  2757. disconnected: '未连接',
  2758. testConnection: '测试连接',
  2759. sync: '同步',
  2760. syncing: '同步中...',
  2761. lastSync: '上次同步',
  2762. linkToSpoolman: '链接到 Spoolman',
  2763. openInSpoolman: '在 Spoolman 中打开',
  2764. unlinkSpool: '取消链接耗材',
  2765. unlinkConfirmTitle: '解开线轴?',
  2766. unlinkConfirmMessage: '这将断开卷轴与 Spoolman 的连接。Spoolman 中的卷轴数据将保持不变。',
  2767. selectSpool: '选择耗材',
  2768. noUnlinkedSpools: '无未链接的耗材',
  2769. linkSuccess: '耗材已成功链接到 Spoolman',
  2770. linkFailed: '链接耗材失败',
  2771. unlinkSuccess: '已成功从 Spoolman 取消链接耗材',
  2772. unlinkFailed: '取消链接耗材失败',
  2773. spoolId: '耗材 ID',
  2774. fillSourceLabel: '(Spoolman)',
  2775. weight: '重量',
  2776. remaining: '剩余',
  2777. disableWeightSync: '禁用 AMS 估计重量同步',
  2778. disableWeightSyncDesc: '不从 AMS 估计值更新剩余容量。如果您更喜欢 Spoolman 的用量追踪而非 AMS 百分比估计,请使用此选项。新耗材仍将使用 AMS 估计值作为初始重量。',
  2779. reportPartialUsage: '报告失败打印的部分用量',
  2780. reportPartialUsageDesc: '当打印失败或被取消时,根据层进度报告估计的耗材使用量。',
  2781. },
  2782. // Inventory
  2783. inventory: {
  2784. title: '耗材库存',
  2785. addSpool: '添加耗材',
  2786. editSpool: '编辑耗材',
  2787. material: '材料',
  2788. selectMaterial: '选择材料...',
  2789. subtype: '子类型',
  2790. brand: '品牌',
  2791. searchBrand: '搜索品牌...',
  2792. useCustomBrand: '使用"{{brand}}"',
  2793. useCustomMaterial: '使用自定义材料:{{material}}',
  2794. colorName: '颜色名称',
  2795. colorNamePlaceholder: '翡翠白、烈焰红...',
  2796. color: '颜色',
  2797. hexColor: '十六进制颜色',
  2798. pickColor: '选择自定义颜色',
  2799. labelWeight: '标签重量',
  2800. coreWeight: '空盘重量',
  2801. searchSpoolWeight: '搜索耗材重量...',
  2802. weightUsed: '已使用',
  2803. currentWeight: '剩余重量',
  2804. measuredWeight: '称量重量',
  2805. costPerKg: '每公斤成本',
  2806. measuredWeightError: '称量重量必须在 {{min}}g 到 {{max}}g 之间。',
  2807. slicerFilament: '切片耗材',
  2808. slicerFilamentName: '切片预设名称',
  2809. slicerPreset: '切片预设',
  2810. searchPresets: '搜索耗材预设...',
  2811. selectedPreset: '已选择',
  2812. noPresetsFound: '未找到预设',
  2813. tempOverrides: '温度覆盖',
  2814. note: '备注',
  2815. notePlaceholder: '关于此耗材的任何备注...',
  2816. archive: '归档',
  2817. restore: '恢复',
  2818. noSpools: '暂无耗材。添加您的第一个耗材开始使用。',
  2819. noManualSpools: '没有手动添加的耗材。请先向库存中添加耗材。',
  2820. kProfiles: 'K 值配置',
  2821. addKProfile: '添加 K 值配置',
  2822. assignSpool: '分配耗材',
  2823. unassignSpool: '取消分配',
  2824. assignSuccess: '耗材已分配,AMS 槽位已配置',
  2825. assignFailed: '分配耗材失败',
  2826. assignMismatchTitle: '材料不匹配',
  2827. assignMismatchMessage: '所选线轴材料 "{{spoolMaterial}}" 与 {{location}} 的料槽材料 "{{trayMaterial}}" 不匹配。仍要分配吗?',
  2828. assignMismatchConfirm: '仍然分配',
  2829. assignPartialMismatchMessage: '线轴材料 "{{spoolMaterial}}" 与 {{location}} 的 "{{trayMaterial}}" 相近但不完全一致。是否继续?',
  2830. assignProfileMismatchMessage: '线轴配置 "{{spoolProfile}}" 与 {{location}} 的料槽配置 "{{trayProfile}}" 不一致。是否继续?',
  2831. selectSpool: '选择要分配到此槽位的耗材',
  2832. assigned: '已分配',
  2833. assigning: '分配中...',
  2834. searchSpools: '搜索耗材...',
  2835. allMaterials: '所有材料',
  2836. filterByBrand: '按品牌筛选...',
  2837. showArchived: '显示已归档',
  2838. quickAdd: '快速添加(库存)',
  2839. quantity: '数量',
  2840. stock: '库存',
  2841. configured: '已配置',
  2842. spoolsCreated: '已创建 {{count}} 个耗材',
  2843. spoolCreated: '耗材已创建',
  2844. spoolUpdated: '耗材已更新',
  2845. spoolDeleted: '耗材已删除',
  2846. spoolArchived: '耗材已归档',
  2847. spoolRestored: '耗材已恢复',
  2848. deleteConfirm: '确定要删除此耗材吗?此操作无法撤销。',
  2849. archiveConfirm: '确定要归档此耗材吗?',
  2850. advancedSettings: '高级设置',
  2851. // Tabs
  2852. filamentInfoTab: '耗材信息',
  2853. paProfileTab: 'PA 配置',
  2854. filamentInfo: '耗材',
  2855. additional: '附加',
  2856. // Cloud
  2857. loadingPresets: '加载云端预设中...',
  2858. cloudConnected: '云端已连接',
  2859. cloudNotConnected: '云端未连接(使用默认值)',
  2860. // Colors
  2861. recentColors: '最近',
  2862. searchColors: '搜索颜色...',
  2863. searchResults: '搜索结果',
  2864. allColors: '所有颜色',
  2865. commonColors: '常用颜色',
  2866. showLess: '显示更少',
  2867. showAll: '显示全部',
  2868. noColorsFound: '没有颜色匹配您的搜索',
  2869. noResults: '未找到匹配项',
  2870. // PA Profiles
  2871. selectMaterialFirst: '请先在耗材信息选项卡中选择材料。',
  2872. noPrintersConfigured: '未配置打印机。添加打印机以使用 PA 配置。',
  2873. matchingFilter: '匹配',
  2874. anyBrand: '任何品牌',
  2875. anyVariant: '任何变体',
  2876. autoSelect: '自动选择',
  2877. matches: '匹配',
  2878. match: '匹配',
  2879. noMatches: '无匹配',
  2880. connected: '已连接',
  2881. offline: '离线',
  2882. printerOffline: '打印机离线。连接后查看校准配置。',
  2883. noKProfilesMatch: '没有 K 值配置匹配所选耗材。',
  2884. leftNozzle: '左喷嘴',
  2885. rightNozzle: '右喷嘴',
  2886. profilesSelected: '个校准配置已选择',
  2887. // Stats & enhanced table
  2888. totalInventory: '总库存',
  2889. totalConsumed: '总消耗',
  2890. byMaterial: '按材料',
  2891. inPrinter: '在打印机中',
  2892. lowStock: '库存不足',
  2893. sinceTracking: '自开始追踪',
  2894. loadedInAms: '已装载到 AMS/外置',
  2895. remaining: '剩余',
  2896. weightCheck: '重量检查',
  2897. lastWeighed: '上次称量',
  2898. neverWeighed: '从未称量',
  2899. search: '搜索耗材...',
  2900. showing: '显示',
  2901. to: '到',
  2902. of: '共',
  2903. show: '显示',
  2904. spools: '个耗材',
  2905. spool: '个耗材',
  2906. page: '页',
  2907. noSpoolsMatch: '未找到结果',
  2908. noSpoolsMatchDesc: '尝试调整您的搜索或筛选条件。',
  2909. active: '活跃',
  2910. archived: '已归档',
  2911. all: '全部',
  2912. used: '已使用',
  2913. new: '新的',
  2914. clearFilters: '清除筛选',
  2915. table: '表格',
  2916. cards: '卡片',
  2917. net: '净重',
  2918. // Grouping
  2919. groupSimilar: '分组',
  2920. groupedSpools: '{{count}} 个相同耗材',
  2921. groupedRows: '行',
  2922. // Column config
  2923. columns: '列',
  2924. configureColumns: '配置列',
  2925. configureColumnsDesc: '拖动以重新排序列或使用箭头。使用眼睛图标切换可见性。',
  2926. visible: '可见',
  2927. reset: '重置',
  2928. cancel: '取消',
  2929. applyChanges: '应用更改',
  2930. moveUp: '上移',
  2931. moveDown: '下移',
  2932. hideColumn: '隐藏列',
  2933. showColumn: '显示列',
  2934. // Tag linking
  2935. linkToSpool: '链接到耗材',
  2936. tagLinked: '标签已链接到耗材',
  2937. tagLinkFailed: '链接标签失败',
  2938. tagAlreadyLinked: '标签已链接到其他耗材',
  2939. unknownTag: '检测到未知 RFID 标签',
  2940. // Usage history
  2941. usageHistory: '使用历史',
  2942. noUsageHistory: '暂无使用记录',
  2943. printName: '打印名称',
  2944. weightConsumed: '消耗重量',
  2945. clearHistory: '清除',
  2946. historyCleared: '使用历史已清除',
  2947. fillSourceLabel: '(库存)',
  2948. lowStockThresholdError: '阈值必须在 0.1 到 99.9 之间',
  2949. },
  2950. // Timelapse
  2951. timelapse: {
  2952. title: '延时摄影',
  2953. create: '创建延时摄影',
  2954. download: '下载',
  2955. delete: '删除',
  2956. preview: '预览',
  2957. frameRate: '帧率',
  2958. quality: '质量',
  2959. processing: '处理中...',
  2960. noTimelapses: '无可用延时摄影',
  2961. },
  2962. // AMS
  2963. ams: {
  2964. title: 'AMS',
  2965. slot: '槽位',
  2966. empty: '空',
  2967. emptySlot: '空槽位',
  2968. unknown: '未知',
  2969. humidity: '湿度',
  2970. temperature: '温度',
  2971. filamentType: '耗材类型',
  2972. filamentColor: '颜色',
  2973. remaining: '剩余',
  2974. history: 'AMS 历史',
  2975. noHistory: '无可用历史',
  2976. configureSlot: '配置槽位',
  2977. externalSpool: '外置耗材',
  2978. profile: '配置',
  2979. kFactor: 'K 值',
  2980. fill: '填充',
  2981. configure: '配置',
  2982. used: '已使用',
  2983. remainingUnit: '剩余',
  2984. },
  2985. // Print modal
  2986. printModal: {
  2987. title: '开始打印',
  2988. selectPrinter: '选择打印机',
  2989. selectPlate: '选择板',
  2990. filamentMapping: '耗材映射',
  2991. totalCost: '总成本:',
  2992. slotRemainingShort: ' - 剩余 {{grams}}g',
  2993. printSettings: '打印设置',
  2994. bedLeveling: '热床调平',
  2995. flowCalibration: '流量校准',
  2996. vibrationCalibration: '振动校准',
  2997. layerInspection: '首层检查',
  2998. timelapse: '延时摄影',
  2999. startPrint: '开始打印',
  3000. addToQueue: '添加到队列',
  3001. cancel: '取消',
  3002. noPrintersAvailable: '无可用打印机',
  3003. printerBusy: '打印机忙碌',
  3004. printerOffline: '打印机离线',
  3005. sameTypeDifferentColor: '相同类型,不同颜色',
  3006. filamentTypeNotLoaded: '耗材类型未装载',
  3007. openCalendar: '打开日历',
  3008. leftNozzle: '左',
  3009. rightNozzle: '右',
  3010. leftNozzleTooltip: '左喷嘴',
  3011. rightNozzleTooltip: '右喷嘴',
  3012. filamentOverride: '耗材覆盖',
  3013. filamentOverrideHint: '可选覆盖用于基于模型的耗材分配。调度器将使用您选择的耗材而不是原始 3MF 值进行匹配。',
  3014. originalFilament: '原始',
  3015. overrideWith: '覆盖为',
  3016. resetToOriginal: '恢复为原始',
  3017. insufficientFilamentTitle: '耗材不足',
  3018. insufficientFilamentMessage: '部分已分配线轴的剩余耗材少于本次打印所需:',
  3019. insufficientFilamentLine: '{{printer}} - {{slot}}:需要 {{required}}g,剩余 {{remaining}}g',
  3020. printAnyway: '仍然打印',
  3021. forceColorMatch: '强制颜色匹配',
  3022. },
  3023. // Backup
  3024. backup: {
  3025. title: '备份与恢复',
  3026. createBackup: '创建备份',
  3027. restoreBackup: '恢复备份',
  3028. restoreDescription: '从备份文件替换所有数据',
  3029. downloadBackup: '下载备份',
  3030. uploadBackup: '上传备份',
  3031. lastBackup: '上次备份',
  3032. autoBackup: '自动备份',
  3033. backupNow: '立即备份',
  3034. restoreWarning: '警告:恢复备份将覆盖所有当前数据。',
  3035. includeArchives: '包含归档',
  3036. includeSettings: '包含设置',
  3037. includeProfiles: '包含配置文件',
  3038. backupSuccess: '备份创建成功',
  3039. restoreSuccess: '备份恢复成功',
  3040. backupFailed: '备份失败',
  3041. restoreFailed: '恢复失败',
  3042. restoreNote: '恢复期间虚拟打印机将停止',
  3043. // GitHub Backup
  3044. githubBackup: 'GitHub 备份',
  3045. enabled: '已启用',
  3046. cloudLoginRequired: '需要登录 Bambu Cloud。请在 配置文件 → 云配置文件 中登录以启用 GitHub 备份。',
  3047. cloudLoginRequiredShort: '需要Cloud登录',
  3048. githubDescription: '自动将您的配置文件同步到私有 GitHub 仓库以进行备份和版本历史记录。',
  3049. repositoryUrl: '仓库 URL',
  3050. personalAccessToken: '个人访问令牌',
  3051. tokenSaved: '(已保存)',
  3052. enterNewToken: '输入新令牌以更新',
  3053. tokenHint: '具有内容读写权限的细粒度令牌',
  3054. branch: '分支',
  3055. manualOnly: '仅手动',
  3056. hourly: '每小时',
  3057. daily: '每天',
  3058. weekly: '每周',
  3059. includeInBackup: '包含在备份中',
  3060. kProfiles: 'K 配置文件',
  3061. kProfilesDescription: '来自已连接打印机的压力推进校准',
  3062. noPrintersConnected: '没有打印机连接',
  3063. printersConnected: '{{connected}}/{{total}} 已连接',
  3064. cloudProfiles: '云配置文件',
  3065. cloudProfilesDescription: '来自 Bambu Cloud 的耗材、打印机和工艺预设',
  3066. appSettings: '应用设置',
  3067. appSettingsDescription: 'Bambuddy 配置(完整数据库)',
  3068. lastBackupAt: '上次备份:',
  3069. noBackupsYet: '尚无备份',
  3070. next: '下次:',
  3071. startingBackup: '正在启动备份...',
  3072. test: '测试',
  3073. enableBackup: '启用备份',
  3074. testConnection: '测试连接',
  3075. enterRepoUrl: '请输入仓库 URL',
  3076. enterRepoAndToken: '请输入仓库 URL 和访问令牌',
  3077. repoRequired: '仓库 URL 为必填项',
  3078. tokenRequired: '访问令牌为必填项',
  3079. githubBackupEnabled: 'GitHub 备份已启用',
  3080. tokenUpdated: '令牌已更新',
  3081. settingsSaved: '设置已保存',
  3082. failedToSave: '保存失败:{{message}}',
  3083. backupCompleteFiles: '备份完成 - {{count}} 个文件已更新',
  3084. backupSkippedNoChanges: '备份已跳过 - 无更改',
  3085. backupFailed2: '备份失败:{{message}}',
  3086. clearedLogs: '已清除 {{count}} 条日志',
  3087. failedToClearLogs: '清除日志失败:{{message}}',
  3088. // History
  3089. history: '历史记录',
  3090. clear: '清除',
  3091. date: '日期',
  3092. status: '状态',
  3093. commit: '提交',
  3094. // Local Backup
  3095. localBackup: '本地备份',
  3096. localBackupDescription: '创建 Bambuddy 数据的完整备份,包括数据库、档案、上传和所有文件。',
  3097. downloadBackupLabel: '下载备份',
  3098. completeBackupZip: '完整备份:数据库 + 所有文件(ZIP)',
  3099. download: '下载',
  3100. preparingBackup: '正在准备备份...',
  3101. creatingArchive: '正在创建备份归档...对于大型归档可能需要一些时间。',
  3102. downloadingFile: '正在下载备份文件...',
  3103. backupDownloaded: '备份下载成功',
  3104. failedToCreateBackup: '创建备份失败:{{message}}',
  3105. restore: '恢复',
  3106. restoreReplacesAll: '恢复将替换所有数据。',
  3107. restoreReplacesAllDetail: '您当前的数据库和文件将被完全替换。恢复后需要重启。',
  3108. restoreConfirmTitle: '恢复备份',
  3109. restoreConfirmMessage: '您确定要从"{{filename}}"恢复吗?这将完全替换您当前的数据库和所有文件。恢复后需要重启应用程序。',
  3110. restoreConfirmButton: '恢复备份',
  3111. uploadingFile: '正在上传备份文件...',
  3112. backupRestoredRestart: '备份已恢复。请重启 Bambuddy。',
  3113. failedToRestore: '恢复备份失败。请检查文件格式。',
  3114. reloadNow: '立即重新加载',
  3115. creatingBackup: '正在创建备份',
  3116. restoringBackup: '正在恢复备份',
  3117. preparing: '准备中...',
  3118. processing: '处理中...',
  3119. doNotClosePage: '请不要关闭此页面或导航离开。对于大型备份,此操作可能需要几分钟。',
  3120. // RestoreModal
  3121. restoring: '恢复中...',
  3122. restoreComplete: '恢复完成',
  3123. restoreFailed2: '恢复失败',
  3124. importSettings: '从备份文件导入设置',
  3125. pleaseWaitRestoring: '请等待数据恢复中',
  3126. selectBackupFile: '点击选择备份文件(.json 或 .zip)',
  3127. duplicateHandling: '重复项处理方式:',
  3128. matchPrinters: '打印机',
  3129. matchPrintersBy: '按序列号匹配',
  3130. matchSmartPlugs: '智能插座',
  3131. matchSmartPlugsBy: '按 IP 地址匹配',
  3132. matchNotificationProviders: '通知提供者',
  3133. matchNotificationProvidersBy: '按名称匹配',
  3134. matchFilaments: '耗材',
  3135. matchFilamentsBy: '按名称 + 类型 + 品牌匹配',
  3136. matchArchives: '档案',
  3137. matchArchivesBy: '按内容哈希匹配(始终跳过)',
  3138. matchPendingUploads: '待上传',
  3139. matchPendingUploadsBy: '按文件名匹配',
  3140. matchSettingsTemplates: '设置和模板',
  3141. matchSettingsTemplatesBy: '始终覆盖',
  3142. replaceExisting: '替换现有数据',
  3143. keepExisting: '保留现有数据',
  3144. overwriteDescription: '用备份数据覆盖已存在的项目',
  3145. keepDescription: '仅恢复尚不存在的项目',
  3146. overwriteCaution: '注意:',
  3147. overwriteWarning: '覆盖将用备份数据替换您当前的配置。出于安全考虑,打印机访问代码永远不会被覆盖。',
  3148. cancel: '取消',
  3149. processingBackup: '正在处理备份文件...',
  3150. itemsRestored: '已恢复项目',
  3151. itemsSkipped: '已跳过项目',
  3152. restored: '已恢复',
  3153. skippedAlreadyExist: '已跳过(已存在)',
  3154. filesCategory: '文件(3MF、缩略图等)',
  3155. andMore: '...还有 {{count}} 项',
  3156. newApiKeysGenerated: '已生成新的 API 密钥',
  3157. keysShownOnce: '这些密钥仅显示一次。请立即复制!',
  3158. copy: '复制',
  3159. noDataFound: '在备份文件中未找到可恢复的数据。',
  3160. close: '关闭',
  3161. // Category labels
  3162. categories: {
  3163. settings: '设置',
  3164. notification_providers: '通知提供者',
  3165. notification_templates: '通知模板',
  3166. smart_plugs: '智能插座',
  3167. printers: '打印机',
  3168. filaments: '耗材',
  3169. maintenance_types: '维护类型',
  3170. archives: '档案',
  3171. projects: '项目',
  3172. pending_uploads: '待上传',
  3173. external_links: '外部链接',
  3174. api_keys: 'API 密钥',
  3175. },
  3176. },
  3177. // Tags
  3178. tags: {
  3179. title: '标签',
  3180. addTag: '添加标签',
  3181. editTag: '编辑标签',
  3182. deleteTag: '删除标签',
  3183. tagName: '标签名称',
  3184. tagColor: '标签颜色',
  3185. noTags: '无标签',
  3186. deleteConfirm: '确定要删除此标签吗?',
  3187. manageTags: '管理标签',
  3188. },
  3189. // Upload modal (archives)
  3190. uploadModal: {
  3191. title: '上传 3MF 文件',
  3192. dragDrop: '将 .3mf 文件拖放到此处',
  3193. or: '或',
  3194. browseFiles: '浏览文件',
  3195. extractionInfo: '将从 3MF 文件元数据中自动提取打印机型号。',
  3196. uploaded: '已上传',
  3197. failed: '失败',
  3198. uploading: '上传中...',
  3199. upload: '上传',
  3200. uploadFailed: '上传失败',
  3201. },
  3202. // Edit archive modal
  3203. // Edit Archive Modal
  3204. editArchive: {
  3205. title: '编辑归档',
  3206. name: '名称',
  3207. namePlaceholder: '打印名称',
  3208. printer: '打印机',
  3209. noPrinter: '无打印机',
  3210. project: '项目',
  3211. noProject: '无项目',
  3212. itemsPrinted: '打印数量',
  3213. itemsPrintedHelp: '此打印任务中生产的物品数量',
  3214. notes: '备注',
  3215. notesPlaceholder: '添加关于此打印的备注...',
  3216. externalLink: '外部链接',
  3217. externalLinkPlaceholder: 'https://printables.com/model/...',
  3218. externalLinkHelp: '链接到 Printables、Thingiverse 或其他来源',
  3219. tags: '标签',
  3220. tagsPlaceholder: '添加标签...',
  3221. addMoreTags: '添加更多标签...',
  3222. matchingTags: '匹配"{{query}}"',
  3223. existingTags: '现有标签',
  3224. clickToAdd: '(点击添加)',
  3225. status: '状态',
  3226. failureReason: '失败原因',
  3227. selectReason: '选择原因...',
  3228. photos: '打印成品照片',
  3229. photosHelp: '点击 + 添加打印成品照片',
  3230. printResult: '打印成品',
  3231. saving: '保存中...',
  3232. // Failure reasons
  3233. failureReasons: {
  3234. adhesionFailure: '附着力失败',
  3235. spaghettiDetached: '拉丝 / 脱落',
  3236. layerShift: '层偏移',
  3237. cloggedNozzle: '喷嘴堵塞',
  3238. filamentRunout: '耗材用完',
  3239. warping: '翘曲',
  3240. stringing: '拉丝',
  3241. underExtrusion: '挤出不足',
  3242. powerFailure: '断电',
  3243. userCancelled: '用户取消',
  3244. other: '其他',
  3245. },
  3246. // Archive statuses
  3247. statuses: {
  3248. completed: '已完成',
  3249. failed: '失败',
  3250. aborted: '已取消',
  3251. printing: '打印中',
  3252. },
  3253. },
  3254. // K-Profiles
  3255. kProfiles: {
  3256. title: 'K 值配置',
  3257. noPrintersConfigured: '未配置打印机',
  3258. addPrinterInSettings: '在设置中添加打印机以管理 K 值配置',
  3259. noActivePrinters: '无活跃打印机',
  3260. enablePrinterConnection: '启用打印机连接以查看其 K 值配置',
  3261. loadingProfiles: '加载 K 值配置中...',
  3262. printerOffline: '打印机离线',
  3263. printerOfflineDesc: '所选打印机未连接。开启电源以查看 K 值配置。',
  3264. noMatchingProfiles: '无匹配的配置',
  3265. noMatchingProfilesDesc: '没有配置匹配您的搜索条件',
  3266. noKProfiles: '无 K 值配置',
  3267. noKProfilesDesc: '未找到 {{diameter}}mm 喷嘴的压力推进配置',
  3268. createFirstProfile: '创建第一个配置',
  3269. // Controls
  3270. printer: '打印机',
  3271. nozzle: '喷嘴',
  3272. refresh: '刷新',
  3273. addProfile: '添加配置',
  3274. export: '导出',
  3275. import: '导入',
  3276. select: '选择',
  3277. selectAll: '全选',
  3278. delete: '删除',
  3279. // Filters
  3280. searchPlaceholder: '按名称或耗材搜索...',
  3281. allExtruders: '所有挤出机',
  3282. leftOnly: '仅左侧',
  3283. rightOnly: '仅右侧',
  3284. allFlow: '所有流量',
  3285. hfOnly: '仅高流量',
  3286. sOnly: '仅标准',
  3287. sortName: '排序:名称',
  3288. sortKValue: '排序:K 值',
  3289. sortFilament: '排序:耗材',
  3290. // Dual extruder labels
  3291. leftExtruder: '左挤出机',
  3292. rightExtruder: '右挤出机',
  3293. // Modal
  3294. modal: {
  3295. addTitle: '添加 K 值配置',
  3296. editTitle: '编辑 K 值配置',
  3297. profileName: '配置名称',
  3298. profileNamePlaceholder: '我的 PLA 配置',
  3299. kValue: 'K 值',
  3300. kValuePlaceholder: '0.020',
  3301. kValueHelp: '典型范围:PLA 0.01 - 0.06,PETG 0.02 - 0.10',
  3302. filament: '耗材',
  3303. selectFilament: '选择耗材...',
  3304. noFilamentsHelp: '未找到耗材。请先在 Bambu Studio 中创建 K 值配置。',
  3305. flowType: '流量类型',
  3306. highFlow: '高流量',
  3307. standard: '标准',
  3308. nozzleSize: '喷嘴尺寸',
  3309. extruder: '挤出机',
  3310. extruders: '挤出机',
  3311. left: '左',
  3312. right: '右',
  3313. notes: '备注(本地存储)',
  3314. notesPlaceholder: '添加关于此配置的备注...',
  3315. notesHelp: '备注保存在 Bambuddy 中,不在打印机上',
  3316. syncing: '与打印机同步中...',
  3317. savingExtruder: '保存到挤出机 {{current}}/{{total}}...',
  3318. pleaseWait: '请稍候',
  3319. },
  3320. // Delete confirmation
  3321. deleteConfirm: {
  3322. title: '删除配置',
  3323. cannotUndo: '此操作无法撤销',
  3324. message: '确定要从打印机删除"{{name}}"吗?',
  3325. },
  3326. // Bulk delete
  3327. bulkDelete: {
  3328. title: '删除配置',
  3329. cannotUndo: '此操作无法撤销',
  3330. message: '确定要从打印机删除 {{count}} 个选中的配置吗?',
  3331. },
  3332. // Toast
  3333. toast: {
  3334. profileSaved: 'K 值配置已保存',
  3335. profilesSaved: 'K 值配置已保存到 {{count}} 个挤出机',
  3336. selectAtLeastOneExtruder: '请至少选择一个挤出机',
  3337. profileDeleted: 'K 值配置已删除',
  3338. profilesDeleted: '已删除 {{count}} 个配置',
  3339. exportedProfiles: '已导出 {{count}} 个配置',
  3340. importedProfiles: '已导入 {{count}} / {{total}} 个配置',
  3341. noProfilesToExport: '无可导出的配置',
  3342. invalidFileFormat: '无效的文件格式',
  3343. failedToParseImport: '解析导入文件失败',
  3344. failedToSaveBatch: '批量保存 K 值配置失败',
  3345. noteSaved: '备注已保存',
  3346. failedToSaveNote: '保存备注失败',
  3347. },
  3348. // Permissions
  3349. permission: {
  3350. noRead: '您没有刷新配置的权限',
  3351. noCreate: '您没有添加配置的权限',
  3352. noUpdate: '您没有更新 K 值配置的权限',
  3353. noDelete: '您没有删除 K 值配置的权限',
  3354. noExport: '您没有导出配置的权限',
  3355. noImport: '您没有导入配置的权限',
  3356. },
  3357. },
  3358. // Virtual Printer
  3359. virtualPrinter: {
  3360. title: '虚拟打印机',
  3361. running: '运行中',
  3362. stopped: '已停止',
  3363. description: {
  3364. default: '启用虚拟打印机,使其在 Bambu Studio 和 OrcaSlicer 中可见。发送到此打印机的文件将直接归档而不打印。',
  3365. proxy: '启用代理,将切片软件流量中继到真实打印机,允许在任何网络上远程打印。',
  3366. },
  3367. enable: {
  3368. title: '启用虚拟打印机',
  3369. visibleInSlicer: '在切片软件发现中显示为"Bambuddy"',
  3370. proxyingTo: '代理到 {{name}}',
  3371. notActive: '未激活',
  3372. },
  3373. model: {
  3374. title: '打印机型号',
  3375. description: '选择要模拟的打印机型号。',
  3376. restartWarning: '更改型号将重启虚拟打印机',
  3377. },
  3378. accessCode: {
  3379. title: '访问码',
  3380. isSet: '访问码已设置',
  3381. notSet: '未设置访问码 - 需要设置才能启用',
  3382. placeholder: '输入 8 位字符代码',
  3383. placeholderChange: '输入新代码以更改',
  3384. hint: '必须恰好 8 个字符。切片软件使用此代码进行认证。',
  3385. charCount: '({{count}}/8)',
  3386. },
  3387. targetPrinter: {
  3388. title: '目标打印机',
  3389. configured: '代理目标已配置',
  3390. notConfigured: '未选择目标打印机 - 代理模式需要设置',
  3391. placeholder: '选择打印机...',
  3392. hint: '选择要将切片软件流量代理到的打印机。打印机必须处于局域网模式。',
  3393. noPrinters: '未配置打印机。请先添加打印机以使用代理模式。',
  3394. },
  3395. remoteInterface: {
  3396. title: '网络接口覆盖',
  3397. configured: '接口覆盖已激活',
  3398. optional: '可选 - 当自动检测的 IP 不正确时使用(例如多网卡、Docker、VPN)',
  3399. placeholder: '自动检测(默认)...',
  3400. hint: '覆盖通过 SSDP 广播并在 TLS 证书中使用的 IP 地址。在 Bambuddy 有多个网络接口时很有用。',
  3401. },
  3402. mode: {
  3403. title: '模式',
  3404. archive: '归档',
  3405. archiveDesc: '立即归档文件',
  3406. review: '审核',
  3407. reviewDesc: '归档前审核',
  3408. queue: '队列',
  3409. queueDesc: '归档并添加到队列',
  3410. proxy: '代理',
  3411. proxyDesc: '中继到真实打印机',
  3412. },
  3413. autoDispatch: {
  3414. title: '自动派发',
  3415. description: '添加到队列时自动开始打印。关闭后,打印任务等待手动派发。',
  3416. },
  3417. setupRequired: {
  3418. title: '需要设置',
  3419. description: '虚拟打印机功能需要额外的系统配置才能工作。包括端口转发、防火墙规则和平台特定设置。',
  3420. readGuide: '启用前请阅读设置指南',
  3421. },
  3422. howItWorks: {
  3423. title: '工作原理',
  3424. step1: '在同一局域网中,虚拟打印机会通过发现机制自动出现在您的切片软件(Bambu Studio / OrcaSlicer)中。从其他网络,通过 IP 地址和访问码手动添加。',
  3425. step2: '在归档、审核和队列模式下,使用切片软件中的"发送"按钮将 3MF 文件上传到 Bambuddy。切片软件会显示"打印成功"— 文件已存储,未打印。',
  3426. step3: '在代理模式下,虚拟打印机将所有流量中继到真实打印机 — 打印会立即开始,就像直接连接一样。',
  3427. },
  3428. status: {
  3429. title: '状态详情',
  3430. printerName: '打印机名称',
  3431. model: '型号',
  3432. serialNumber: '序列号',
  3433. mode: '模式',
  3434. pendingFiles: '待处理文件',
  3435. targetPrinter: '目标打印机',
  3436. ftpPort: 'FTP 端口',
  3437. mqttPort: 'MQTT 端口',
  3438. ftpConnections: 'FTP 连接',
  3439. mqttConnections: 'MQTT 连接',
  3440. },
  3441. toast: {
  3442. updated: '虚拟打印机设置已更新',
  3443. failedToUpdate: '更新设置失败',
  3444. accessCodeRequired: '请先设置访问码',
  3445. targetPrinterRequired: '请先选择目标打印机',
  3446. bindIpRequired: '请先设置绑定 IP',
  3447. accessCodeEmpty: '访问码不能为空',
  3448. accessCodeLength: '访问码必须恰好 8 个字符',
  3449. created: '虚拟打印机已创建',
  3450. failedToCreate: '创建虚拟打印机失败',
  3451. deleted: '虚拟打印机已删除',
  3452. failedToDelete: '删除虚拟打印机失败',
  3453. },
  3454. list: {
  3455. title: '虚拟打印机',
  3456. add: '添加',
  3457. addFirst: '添加虚拟打印机',
  3458. empty: '未配置虚拟打印机。添加一个以开始使用。',
  3459. },
  3460. bindIp: {
  3461. title: '绑定接口',
  3462. placeholder: '选择接口...',
  3463. hint: '此虚拟打印机绑定的网络接口。每台打印机必须唯一。',
  3464. },
  3465. proxy: {
  3466. accessCodeHint: '在代理模式下,在切片软件中使用目标打印机的访问码。连接会透明转发到真实打印机。',
  3467. },
  3468. addDialog: {
  3469. title: '添加虚拟打印机',
  3470. name: '名称',
  3471. hint: '创建后可以配置访问码、目标打印机和其他设置。',
  3472. create: '创建',
  3473. },
  3474. deleteConfirm: {
  3475. title: '删除虚拟打印机',
  3476. message: '确定要删除"{{name}}"吗?这将停止此打印机的所有服务。',
  3477. },
  3478. },
  3479. // Model Viewer
  3480. modelViewer: {
  3481. openInSlicer: '在切片软件中打开',
  3482. tabs: {
  3483. model: '3D 模型',
  3484. gcode: 'G-code 预览',
  3485. },
  3486. notAvailable: '不可用',
  3487. notSliced: '未切片',
  3488. plates: '板',
  3489. allPlates: '所有板',
  3490. plateNumber: '板 {{number}}',
  3491. plateCount: '{{count}} 个板',
  3492. plateCount_other: '{{count}} 个板',
  3493. objectCount: '{{count}} 个对象',
  3494. objectCount_other: '{{count}} 个对象',
  3495. filamentCount: '{{count}} 种耗材',
  3496. filamentCount_other: '{{count}} 种耗材',
  3497. eta: '预计 {{minutes}} 分钟',
  3498. noPreview: '此文件无可用预览',
  3499. pagination: {
  3500. pageOf: '第 {{current}} / {{total}} 页',
  3501. prev: '上一页',
  3502. next: '下一页',
  3503. },
  3504. errors: {
  3505. failedToLoad: '加载文件失败',
  3506. noMeshes: '3MF 文件中未找到网格',
  3507. unsupportedFormat: '不支持的文件格式',
  3508. },
  3509. },
  3510. // Maintenance type descriptions (built-in)
  3511. maintenanceDescriptions: {
  3512. lubricateCarbonRods: '在碳纤维杆上涂抹润滑剂以确保顺畅运动',
  3513. lubricateRails: '在线性导轨上涂抹润滑剂以确保顺畅运动',
  3514. cleanNozzle: '清洁热端和喷嘴以防止堵塞',
  3515. checkBelts: '检查皮带张力以确保打印精度',
  3516. cleanBuildPlate: '清洁构建板以获得更好的附着力',
  3517. checkExtruder: '检查挤出机齿轮磨损情况',
  3518. checkCooling: '确保冷却风扇正常工作',
  3519. generalInspection: '打印机综合检查',
  3520. cleanCarbonRods: '清洁碳纤维杆以减少摩擦',
  3521. lubricateSteelRods: '在钢杆上涂抹润滑剂以确保顺畅运动',
  3522. cleanSteelRods: '清洁钢杆以减少摩擦',
  3523. cleanLinearRails: '擦拭线性导轨以清除灰尘和碎屑',
  3524. checkPtfeTube: '检查 PTFE 管的磨损或损坏',
  3525. replaceHepaFilter: '更换 HEPA 过滤器以保证空气质量',
  3526. replaceCarbonFilter: '更换活性炭过滤器',
  3527. lubricateLeftNozzleRail: '润滑左喷嘴导轨(H2 系列)',
  3528. },
  3529. // Smart Plugs
  3530. smartPlugs: {
  3531. offline: '离线',
  3532. admin: '管理',
  3533. openPlugAdminPage: '打开插座管理页面',
  3534. deleteSmartPlug: '删除智能插座',
  3535. turnOnSmartPlug: '开启智能插座',
  3536. turnOffSmartPlug: '关闭智能插座',
  3537. turnOn: '开启',
  3538. turnOff: '关闭',
  3539. addSmartPlug: {
  3540. scanningNetwork: '扫描网络中...',
  3541. chooseEntity: '选择实体...',
  3542. connectionFailed: '连接失败',
  3543. searchEntities: '搜索实体...',
  3544. searchPowerSensors: '搜索功率传感器...',
  3545. searchEnergySensors: '搜索能量传感器...',
  3546. placeholders: {
  3547. plugName: '客厅插座',
  3548. mqttStateOnValue: 'ON、true、1',
  3549. mqttSameAsPower: '与功率主题相同,或不同',
  3550. },
  3551. },
  3552. // SmartPlugCard
  3553. linkedTo: '关联到:',
  3554. monitorOnly: '仅监控',
  3555. alerts: '警报',
  3556. scheduleOn: '开启 {{time}}',
  3557. scheduleOff: '关闭 {{time}}',
  3558. on: '开启',
  3559. off: '关闭',
  3560. power: '功率',
  3561. kwhToday: '今日kWh',
  3562. settings: '设置',
  3563. automationSettings: '自动化设置',
  3564. showInSwitchbar: '在开关栏显示',
  3565. quickAccessSidebar: '从侧边栏快速访问',
  3566. enabled: '已启用',
  3567. enableAutomation: '为此插座启用自动化',
  3568. autoOn: '自动开启',
  3569. autoOnDescription: '打印开始时开启',
  3570. autoOff: '自动关闭',
  3571. autoOffDescription: '打印完成时关闭(一次性)',
  3572. turnOffDelayMode: '关闭延迟模式',
  3573. time: '时间',
  3574. temp: '温度',
  3575. delayMinutes: '延迟(分钟)',
  3576. tempThreshold: '温度阈值(°C)',
  3577. tempThresholdDescription: '当喷嘴冷却到此温度以下时关闭',
  3578. edit: '编辑',
  3579. deleteConfirm: '确定要删除"{{name}}"吗?此操作无法撤销。',
  3580. turnOnConfirm: '确定要开启"{{name}}"吗?',
  3581. turnOffConfirm: '确定要关闭"{{name}}"吗?这将切断连接设备的电源。',
  3582. failedToTurn: '无法{{action}}"{{name}}"',
  3583. unknown: '未知',
  3584. // AddSmartPlugModal
  3585. addTitle: '添加智能插座',
  3586. editTitle: '编辑智能插座',
  3587. stopScanning: '停止扫描',
  3588. discoverTasmota: '发现Tasmota设备',
  3589. foundDevices: '找到{{count}}个设备 - 点击选择:',
  3590. noDevicesFound: '未在您的网络中找到Tasmota设备',
  3591. haNotConfigured: 'Home Assistant未配置。请在以下位置设置',
  3592. haSettingsPath: '设置 → 网络 → Home Assistant',
  3593. selectEntity: '选择实体 *',
  3594. ipAddress: 'IP地址 *',
  3595. nameLabel: '名称 *',
  3596. username: '用户名',
  3597. password: '密码',
  3598. authHint: '如果您的Tasmota设备不需要认证,请留空',
  3599. linkToPrinter: '关联打印机',
  3600. noPrinter: '无打印机(仅手动控制)',
  3601. linkingDescription: '关联后可在打印开始/完成时自动开关',
  3602. powerAlerts: '功率警报',
  3603. alertAbove: '高于时警报(W)',
  3604. alertBelow: '低于时警报(W)',
  3605. alertDescription: '当电力消耗超过这些阈值时收到通知。留空以禁用该方向。',
  3606. dailySchedule: '每日计划',
  3607. turnOnAt: '开启时间',
  3608. turnOffAt: '关闭时间',
  3609. scheduleDescription: '每天在这些时间自动开关插座。留空以跳过该操作。',
  3610. showOnPrinterCard: '在打印机卡片上显示',
  3611. displayOnPrinterCard: '在打印机卡片上显示按钮',
  3612. connectedResult: '已连接!',
  3613. deviceLabel: '设备:{{name}} - ',
  3614. stateLabel: '状态:{{state}}',
  3615. test: '测试',
  3616. delete: '删除',
  3617. save: '保存',
  3618. add: '添加',
  3619. cancel: '取消',
  3620. failedToStartScan: '无法开始扫描',
  3621. nameRequired: '名称为必填项',
  3622. entityRequired: 'Home Assistant插座需要实体',
  3623. mqttTopicRequired: '必须为功率、能源或状态监控配置至少一个MQTT主题',
  3624. loadingEntities: '正在加载实体...',
  3625. loading: '加载中...',
  3626. failedToLoadEntities: '加载实体失败:{{error}}',
  3627. noEntitiesMatching: '未找到匹配"{{search}}"的实体',
  3628. noEntitiesAvailable: '无可用实体',
  3629. searchingEntities: '搜索所有实体(找到{{count}}个)',
  3630. showingEntities: '显示 switch、light、input_boolean({{count}}个可用)',
  3631. energyMonitoringOptional: '能源监控(可选)',
  3632. energyMonitoringHint: '搜索并选择提供功率/能源数据的传感器。',
  3633. powerSensorW: '功率传感器(W)',
  3634. energyTodayKwh: '今日能源(kWh)',
  3635. totalEnergyKwh: '总能源(kWh)',
  3636. noMatchingSensors: '无匹配的传感器',
  3637. none: '无',
  3638. mqttNotConfigured: 'MQTT代理未配置。请在以下位置设置代理地址',
  3639. mqttSettingsPath: '设置 → 网络 → MQTT发布',
  3640. mqttNotConfiguredSuffix: '(您不需要启用发布,只需填写代理详细信息)。',
  3641. mqttMonitorOnlyDescription: 'MQTT插座通过MQTT订阅接收功率/能源数据。开关控制不可用 - 请使用您的MQTT代理或家庭自动化系统。',
  3642. powerMonitoring: '功率监控',
  3643. energyMonitoring: '能源监控',
  3644. stateMonitoring: '状态监控',
  3645. optional: '可选',
  3646. topic: '主题',
  3647. jsonPath: 'JSON路径',
  3648. multiplier: '乘数',
  3649. onValue: 'ON值',
  3650. mqttPowerHint: 'JSON路径从JSON负载中提取值(例如"power_l1")。如果主题发布原始数值,请留空。\n乘数:mW→W使用0.001,kW→W使用1000。',
  3651. mqttEnergyHint: 'JSON路径从JSON负载中提取值。原始值请留空。\n乘数:Wh→kWh使用0.001,MWh→kWh使用1000。',
  3652. mqttStateHint: 'JSON路径从JSON负载中提取值。原始值请留空。\nON值:表示"ON"的确切字符串。留空以自动检测(ON、true、1)。',
  3653. noSwitchesInSwitchbar: '开关栏中没有开关',
  3654. enableSwitchbarHint: '在设置 > 智能插座中启用"在开关栏显示"',
  3655. },
  3656. // Notifications
  3657. notifications: {
  3658. // Provider types
  3659. providerTypes: {
  3660. callmebot: 'CallMeBot/WhatsApp',
  3661. ntfy: 'ntfy',
  3662. pushover: 'Pushover',
  3663. telegram: 'Telegram',
  3664. email: '电子邮件',
  3665. discord: 'Discord',
  3666. webhook: 'Webhook',
  3667. homeassistant: 'Home Assistant',
  3668. },
  3669. // Provider descriptions
  3670. providerDescriptions: {
  3671. email: 'SMTP 电子邮件通知',
  3672. telegram: '通过 Telegram 机器人发送通知',
  3673. discord: '通过 Webhook 发送到 Discord 频道',
  3674. ntfy: '免费、可自托管的推送通知',
  3675. pushover: '简单、可靠的推送通知',
  3676. callmebot: '通过 CallMeBot 免费发送 WhatsApp 通知',
  3677. webhook: '通用 HTTP POST 到任意 URL',
  3678. homeassistant: 'Home Assistant 仪表板中的持久通知',
  3679. },
  3680. // NotificationProviderCard
  3681. lastSuccess: '上次:{{date}}',
  3682. error: '错误',
  3683. printer: '打印机:',
  3684. allPrinters: '所有打印机',
  3685. sendTestNotification: '发送测试通知',
  3686. eventSettings: '事件设置',
  3687. enabled: '已启用',
  3688. sendFromProvider: '从此提供商发送通知',
  3689. // Event categories
  3690. printEvents: '打印事件',
  3691. printerStatus: '打印机状态',
  3692. amsAlarms: 'AMS 警报',
  3693. amsHtAlarms: 'AMS-HT 警报',
  3694. printQueue: '打印队列',
  3695. // Event tags (badges)
  3696. start: '开始',
  3697. plateCheck: '热床检测',
  3698. complete: '完成',
  3699. failed: '失败',
  3700. stopped: '已停止',
  3701. progress: '进度',
  3702. offline: '离线',
  3703. lowFilament: '耗材不足',
  3704. maintenance: '维护',
  3705. amsHumidity: 'AMS 湿度',
  3706. amsTemp: 'AMS 温度',
  3707. amsHtHumidity: 'AMS-HT 湿度',
  3708. amsHtTemp: 'AMS-HT 温度',
  3709. bedCooled: '热床已冷却',
  3710. firstLayer: '首层完成',
  3711. quiet: '免打扰',
  3712. digest: '摘要 {{time}}',
  3713. // Event labels (expanded settings)
  3714. printStarted: '打印已开始',
  3715. plateNotEmpty: '热床非空',
  3716. plateNotEmptyDescription: '打印前检测到物体',
  3717. printCompleted: '打印已完成',
  3718. bedCooledLabel: '热床已冷却',
  3719. bedCooledDescription: '打印后热床温度降至阈值以下',
  3720. firstLayerCompleteLabel: '首层打印完成',
  3721. firstLayerCompleteDescription: '首层完成时发送带照片的通知',
  3722. printFailed: '打印失败',
  3723. printStopped: '打印已停止',
  3724. progressMilestones: '进度里程碑',
  3725. progressMilestonesDescription: '在 25%、50%、75% 时通知',
  3726. printerOffline: '打印机离线',
  3727. printerError: '打印机错误',
  3728. lowFilamentLabel: '耗材不足',
  3729. maintenanceDue: '需要维护',
  3730. maintenanceDueDescription: '需要维护时通知',
  3731. amsHumidityHigh: 'AMS 湿度过高',
  3732. amsHumidityHighDescription: '普通 AMS 湿度超过阈值',
  3733. amsTemperatureHigh: 'AMS 温度过高',
  3734. amsTemperatureHighDescription: '普通 AMS 温度超过阈值',
  3735. amsHtHumidityHigh: 'AMS-HT 湿度过高',
  3736. amsHtHumidityHighDescription: 'AMS-HT 湿度超过阈值',
  3737. amsHtTemperatureHigh: 'AMS-HT 温度过高',
  3738. amsHtTemperatureHighDescription: 'AMS-HT 温度超过阈值',
  3739. // Queue events
  3740. jobAdded: '任务已添加',
  3741. jobAddedDescription: '任务已添加到队列',
  3742. jobAssigned: '任务已分配',
  3743. jobAssignedDescription: '基于模型的任务已分配给打印机',
  3744. jobStarted: '任务已开始',
  3745. jobStartedDescription: '队列任务已开始打印',
  3746. jobWaiting: '任务等待中',
  3747. jobWaitingDescription: '任务正在等待耗材',
  3748. jobSkipped: '任务已跳过',
  3749. jobSkippedDescription: '任务已跳过(上一个失败)',
  3750. jobFailed: '任务失败',
  3751. jobFailedDescription: '任务启动失败',
  3752. queueComplete: '队列已完成',
  3753. queueCompleteDescription: '所有队列任务已完成',
  3754. // Quiet hours
  3755. quietHours: '免打扰时段',
  3756. noNotificationsDuring: '在此时段内不发送通知',
  3757. editProviderToChangeQuietHours: '编辑提供商以更改免打扰时段',
  3758. // Daily digest
  3759. dailyDigest: '每日摘要',
  3760. batchNotifications: '将通知汇总为每日摘要',
  3761. sendAt: '发送于 {{time}}',
  3762. editProviderToChangeDigestTime: '编辑提供商以更改摘要时间',
  3763. // Actions
  3764. edit: '编辑',
  3765. deleteProvider: '删除通知提供商',
  3766. deleteConfirm: '确定要删除"{{name}}"吗?此操作无法撤销。',
  3767. delete: '删除',
  3768. // AddNotificationModal
  3769. addTitle: '添加通知提供商',
  3770. editTitle: '编辑通知提供商',
  3771. nameLabel: '名称 *',
  3772. namePlaceholder: '我的通知',
  3773. providerTypeLabel: '提供商类型 *',
  3774. configuration: '配置',
  3775. testConfiguration: '测试配置',
  3776. printerFilter: '打印机筛选',
  3777. onlyFromPrinter: '仅发送来自此打印机的事件通知',
  3778. quietHoursDnd: '免打扰时段',
  3779. quietStart: '开始',
  3780. quietEnd: '结束',
  3781. dailyDigestLabel: '每日摘要',
  3782. sendDigestAt: '发送摘要于',
  3783. digestCollected: '事件将被收集并在此时间作为单条摘要发送',
  3784. notificationEvents: '通知事件',
  3785. progressPercent: '(25%、50%、75%)',
  3786. bedCooledAfterPrint: '(打印完成后)',
  3787. cancel: '取消',
  3788. save: '保存',
  3789. add: '添加',
  3790. nameRequired: '名称为必填项',
  3791. fieldRequired: '{{field}}为必填项',
  3792. // Config field labels
  3793. phoneNumber: '电话号码',
  3794. apiKey: 'API 密钥',
  3795. serverUrl: '服务器 URL',
  3796. topic: '主题',
  3797. authToken: '认证令牌',
  3798. userKey: '用户密钥',
  3799. appToken: '应用令牌',
  3800. priority: '优先级',
  3801. botToken: '机器人令牌',
  3802. chatId: '聊天 ID',
  3803. smtpServer: 'SMTP 服务器',
  3804. smtpPort: 'SMTP 端口',
  3805. security: '安全',
  3806. authentication: '认证',
  3807. username: '用户名',
  3808. password: '密码',
  3809. fromEmail: '发件人邮箱',
  3810. toEmail: '收件人邮箱',
  3811. webhookUrl: 'Webhook URL',
  3812. payloadFormat: '负载格式',
  3813. authorization: '授权',
  3814. titleFieldName: '标题字段名',
  3815. messageFieldName: '消息字段名',
  3816. // NotificationTemplateEditor
  3817. editTemplate: '编辑模板:{{name}}',
  3818. titleLabel: '标题',
  3819. bodyLabel: '正文',
  3820. titlePlaceholder: '通知标题...',
  3821. bodyPlaceholder: '通知正文...',
  3822. availableVariables: '可用变量',
  3823. clickToInsert: '点击插入到正文光标位置',
  3824. livePreview: '实时预览',
  3825. hide: '隐藏',
  3826. show: '显示',
  3827. loadingPreview: '加载预览中...',
  3828. enterTemplateContent: '输入模板内容以查看预览',
  3829. titlePreview: '标题:',
  3830. bodyPreview: '正文:',
  3831. resetToDefault: '恢复默认',
  3832. titleRequired: '标题为必填项',
  3833. bodyRequired: '正文为必填项',
  3834. // NotificationLogViewer
  3835. notificationLog: '通知日志',
  3836. showFailedOnly: '仅显示失败',
  3837. last24Hours: '最近 24 小时',
  3838. last7Days: '最近 7 天',
  3839. last30Days: '最近 30 天',
  3840. last90Days: '最近 90 天',
  3841. justNow: '刚刚',
  3842. noFailedNotifications: '没有失败的通知',
  3843. noNotificationsLogged: '没有通知记录',
  3844. unknownProvider: '未知提供商',
  3845. logTitle: '标题',
  3846. logMessage: '消息',
  3847. logError: '错误',
  3848. logProvider: '提供商:{{type}}',
  3849. logTime: '时间:{{time}}',
  3850. refresh: '刷新',
  3851. clearOld: '清除旧记录',
  3852. statsSummary: '最近 {{days}} 天:',
  3853. statsNotifications: '条通知',
  3854. statsSent: '{{count}} 条已发送',
  3855. statsFailed: '{{count}} 条失败',
  3856. // Event type labels (for log viewer)
  3857. eventTypes: {
  3858. print_start: '打印已开始',
  3859. print_complete: '打印完成',
  3860. print_failed: '打印失败',
  3861. print_stopped: '打印已停止',
  3862. print_progress: '进度',
  3863. printer_offline: '打印机离线',
  3864. printer_error: '打印机错误',
  3865. filament_low: '耗材不足',
  3866. maintenance_due: '需要维护',
  3867. test: '测试',
  3868. },
  3869. },
  3870. // Rich Text Editor
  3871. richTextEditor: {
  3872. bold: '粗体',
  3873. italic: '斜体',
  3874. underline: '下划线',
  3875. bulletList: '无序列表',
  3876. numberedList: '有序列表',
  3877. alignLeft: '左对齐',
  3878. alignCenter: '居中对齐',
  3879. alignRight: '右对齐',
  3880. addLink: '添加链接',
  3881. removeLink: '移除链接',
  3882. },
  3883. // External Links
  3884. externalLinks: {
  3885. noLinksConfigured: '未配置外部链接',
  3886. deleteLink: '删除链接',
  3887. removeCustomIcon: '移除自定义图标',
  3888. openInNewTab: '在新标签页中打开',
  3889. placeholders: {
  3890. linkName: '我的链接',
  3891. },
  3892. },
  3893. // Keyboard Shortcuts Modal
  3894. keyboardShortcuts: {
  3895. title: '键盘快捷键',
  3896. navigation: '导航',
  3897. archivesSection: '归档',
  3898. kProfilesSection: 'K 值配置',
  3899. generalSection: '通用',
  3900. shortcuts: {
  3901. goToPrinters: '前往打印机',
  3902. goToArchives: '前往归档',
  3903. goToQueue: '前往队列',
  3904. goToStats: '前往统计',
  3905. goToProfiles: '前往云端配置',
  3906. goToSettings: '前往设置',
  3907. focusSearch: '聚焦搜索',
  3908. openUploadModal: '打开上传对话框',
  3909. clearSelection: '清除选择 / 取消焦点',
  3910. contextMenu: '卡片右键菜单',
  3911. refreshProfiles: '刷新配置',
  3912. newProfile: '新建配置',
  3913. exitSelectionMode: '退出选择模式',
  3914. showHelp: '显示此帮助',
  3915. },
  3916. footer: '按 Esc 或点击外部关闭',
  3917. },
  3918. // Notification Log
  3919. notificationLog: {
  3920. title: '通知日志',
  3921. events: {
  3922. printStarted: '打印开始',
  3923. printComplete: '打印完成',
  3924. printFailed: '打印失败',
  3925. printStopped: '打印停止',
  3926. progress: '进度',
  3927. printerOffline: '打印机离线',
  3928. printerError: '打印机错误',
  3929. lowFilament: '耗材不足',
  3930. maintenanceDue: '维护到期',
  3931. test: '测试',
  3932. },
  3933. timeAgo: {
  3934. justNow: '刚刚',
  3935. minutesAgo: '{{minutes}} 分钟前',
  3936. hoursAgo: '{{hours}} 小时前',
  3937. },
  3938. },
  3939. // Restore/Backup Modal
  3940. restoreBackup: {
  3941. title: '恢复备份',
  3942. restoring: '恢复中...',
  3943. restoreComplete: '恢复完成',
  3944. restoreFailed: '恢复失败',
  3945. importSettings: '从备份文件导入设置',
  3946. pleaseWait: '请稍候,正在恢复您的数据',
  3947. clickToSelect: '点击选择备份文件(.json 或 .zip)',
  3948. howDuplicateHandling: '重复处理方式:',
  3949. categories: {
  3950. printers: '打印机',
  3951. smartPlugs: '智能插座',
  3952. notificationProviders: '通知提供商',
  3953. filaments: '耗材',
  3954. archives: '归档',
  3955. pendingUploads: '待处理上传',
  3956. settingsTemplates: '设置和模板',
  3957. },
  3958. matchingInfo: {
  3959. printers: '按序列号匹配',
  3960. smartPlugs: '按 IP 地址匹配',
  3961. notificationProviders: '按名称匹配',
  3962. filaments: '按名称 + 类型 + 品牌匹配',
  3963. archives: '按内容哈希匹配',
  3964. pendingUploads: '按文件名匹配',
  3965. settingsTemplates: '始终覆盖',
  3966. },
  3967. replaceExisting: '替换现有数据',
  3968. keepExisting: '保留现有数据',
  3969. replaceDescription: '用备份数据覆盖已存在的项目',
  3970. keepDescription: '仅恢复不存在的项目',
  3971. caution: '注意:',
  3972. cautionText: '覆盖将用备份数据替换您当前的配置。出于安全考虑,打印机访问码永远不会被覆盖。',
  3973. itemsRestored: '已恢复项目',
  3974. itemsSkipped: '已跳过项目',
  3975. restored: '已恢复',
  3976. skipped: '已跳过(已存在)',
  3977. filesLabel: '文件(3MF、缩略图等)',
  3978. newApiKeysGenerated: '已生成新 API 密钥',
  3979. newApiKeysWarning: '这些密钥仅显示一次。请立即复制!',
  3980. processingBackup: '处理备份文件中...',
  3981. noDataFound: '备份文件中未找到可恢复的数据。',
  3982. failedToRestore: '恢复备份失败。请检查文件格式。',
  3983. },
  3984. // Backup Export Modal
  3985. backupExport: {
  3986. title: '导出备份',
  3987. selectData: '选择要包含的数据',
  3988. selectAll: '全选',
  3989. selectNone: '全不选',
  3990. categoryDescriptions: {
  3991. settings: '语言、主题、更新偏好',
  3992. notifications: 'ntfy、Pushover、Discord 等',
  3993. templates: '自定义消息模板',
  3994. smartPlugs: 'Tasmota 插座配置',
  3995. externalLinks: '侧边栏外部服务链接',
  3996. printers: '打印机信息(不含访问码)',
  3997. plateDetection: '空打印板参考图像',
  3998. filaments: '耗材类型和成本',
  3999. maintenance: '自定义维护计划',
  4000. archives: '所有打印数据 + 文件(3MF、缩略图、照片)',
  4001. projects: '项目、材料清单和附件',
  4002. pendingUploads: '虚拟打印机待审核的上传',
  4003. apiKeys: 'Webhook API 密钥(导入时生成新密钥)',
  4004. },
  4005. requiresPrinters: '需要选择打印机',
  4006. zipFileWarning: '将创建 ZIP 文件。',
  4007. zipFileDescription: '包括所有 3MF 文件、缩略图、延时摄影和照片。这可能需要一些时间并生成较大的文件。',
  4008. includeAccessCodes: '包含访问码',
  4009. includeAccessCodesDescription: '用于转移到另一台机器',
  4010. includeAccessCodesWarning: '访问码将以明文形式包含。请妥善保管此备份文件!',
  4011. categoriesSelected: '已选择 {{selectedCount}} 个类别',
  4012. },
  4013. // Pending Uploads Panel
  4014. pendingUploads: {
  4015. placeholders: {
  4016. notes: '添加关于此打印的备注...',
  4017. },
  4018. discardUpload: '丢弃上传',
  4019. archiveAllUploads: '归档所有上传',
  4020. discardAllUploads: '丢弃所有上传',
  4021. archive: '归档',
  4022. timeAgo: {
  4023. justNow: '刚刚',
  4024. minutesAgo: '{{minutes}} 分钟前',
  4025. hoursAgo: '{{hours}} 小时前',
  4026. daysAgo: '{{days}} 天前',
  4027. },
  4028. },
  4029. // API Browser
  4030. apiBrowser: {
  4031. placeholders: {
  4032. requestBody: 'JSON 请求体...',
  4033. searchEndpoints: '搜索端点...',
  4034. },
  4035. },
  4036. // Configure AMS Slot Modal
  4037. configureAmsSlot: {
  4038. title: '配置 AMS 槽位',
  4039. slotConfigured: '槽位已配置!',
  4040. configuringSlot: '正在配置槽位:',
  4041. slotLabel: '{{ams}} 槽位 {{slot}}',
  4042. searchPresets: '搜索预设...',
  4043. colorPlaceholder: '颜色名称或十六进制(例如:棕色、FF8800)',
  4044. clearCustomColor: '清除自定义颜色',
  4045. noCloudPresets: '无云端预设。登录拓竹云以同步。',
  4046. noPresetsAvailable: '无可用预设。登录拓竹云或导入本地配置。',
  4047. noMatchingPresets: '未找到匹配的预设。',
  4048. custom: '自定义',
  4049. builtin: '内置',
  4050. settingsSentToPrinter: '设置已发送到打印机',
  4051. filamentProfile: '耗材配置',
  4052. kProfileLabel: 'K 值配置(压力推进)',
  4053. filteringFor: '筛选:{{material}}',
  4054. noKProfile: '无 K 值配置(使用默认值 0.020)',
  4055. noMatchingKProfiles: '未找到匹配的 K 值配置。将使用默认 K=0.020。',
  4056. selectFilamentFirst: '请先选择耗材配置',
  4057. kFromCalibration: 'K={{value}}(来自打印机校准)',
  4058. customColorLabel: '自定义颜色(可选)',
  4059. presetColors: '{{name}} 颜色:',
  4060. showLessColors: '显示更少颜色',
  4061. showMoreColors: '显示更多颜色',
  4062. clear: '清除',
  4063. hexLabel: '十六进制:#{{hex}}',
  4064. resetting: '重置中...',
  4065. resetSlot: '重置槽位',
  4066. cancel: '取消',
  4067. configuring: '配置中...',
  4068. configureSlot: '配置槽位',
  4069. },
  4070. // GitHub Backup Settings
  4071. githubBackup: {
  4072. title: 'GitHub 备份',
  4073. history: '历史',
  4074. downloadBackup: '下载备份',
  4075. restoreBackup: '恢复备份',
  4076. noBackupsYet: '暂无备份',
  4077. },
  4078. // Email Settings
  4079. emailSettings: {
  4080. placeholders: {
  4081. fromName: 'BamBuddy',
  4082. },
  4083. },
  4084. // Tag Management Modal
  4085. tagManagement: {
  4086. searchTags: '搜索标签...',
  4087. renameTag: '重命名标签',
  4088. deleteTag: '删除标签',
  4089. },
  4090. // Notification Template Editor
  4091. notificationTemplates: {
  4092. placeholders: {
  4093. title: '通知标题...',
  4094. body: '通知正文...',
  4095. },
  4096. },
  4097. // Batch Tag Modal
  4098. batchTag: {
  4099. placeholders: {
  4100. newTag: '输入新标签...',
  4101. },
  4102. },
  4103. // Photo Gallery Modal
  4104. photoGallery: {
  4105. deletePhoto: '删除照片',
  4106. },
  4107. // Filament Hover Card
  4108. filamentHoverCard: {
  4109. copySpoolUuid: '复制耗材 UUID',
  4110. },
  4111. // K Profiles View
  4112. kProfilesView: {
  4113. hasNote: '有备注',
  4114. copyProfile: '复制配置',
  4115. },
  4116. // Layout/Navigation
  4117. layout: {
  4118. openMenu: '打开菜单',
  4119. noPermissionSystemInfo: '您没有查看系统信息的权限',
  4120. },
  4121. // Dashboard
  4122. dashboard: {
  4123. dragToReorder: '拖动以重新排列',
  4124. hideWidget: '隐藏小部件',
  4125. },
  4126. // Notification Provider Card
  4127. notificationProviderCard: {
  4128. deleteNotificationProvider: '删除通知提供商',
  4129. },
  4130. // File Manager Modal
  4131. fileManagerModal: {
  4132. closeFileManager: '关闭文件管理器',
  4133. sortFiles: '排序文件',
  4134. goToParentFolder: '返回上级文件夹',
  4135. threeView: '3D 视图',
  4136. },
  4137. // Embedded Camera Viewer
  4138. embeddedCameraViewer: {
  4139. refreshStream: '刷新流',
  4140. close: '关闭',
  4141. zoomOut: '缩小',
  4142. resetZoom: '重置缩放',
  4143. zoomIn: '放大',
  4144. dragToResize: '拖动调整大小',
  4145. },
  4146. // Timelapse Viewer
  4147. timelapseViewer: {
  4148. skipBack5s: '后退 5 秒',
  4149. skipForward5s: '前进 5 秒',
  4150. },
  4151. // Notification Providers
  4152. notificationProviders: {
  4153. descriptions: {
  4154. email: 'SMTP 邮件通知',
  4155. telegram: '通过 Telegram 机器人通知',
  4156. discord: '通过 Webhook 发送到 Discord 频道',
  4157. ntfy: '免费、可自托管的推送通知',
  4158. pushover: '简单、可靠的推送通知',
  4159. callmebot: '通过 CallMeBot 的免费 WhatsApp 通知',
  4160. webhook: '通用 HTTP POST 到任意 URL',
  4161. },
  4162. },
  4163. // Log Viewer
  4164. logViewer: {
  4165. searchPlaceholder: '搜索消息或日志名称...',
  4166. noLogEntries: '未找到日志条目',
  4167. },
  4168. // Switchbar Popover
  4169. switchbarPopover: {
  4170. noSwitchesInSwitchbar: '切换栏中没有开关',
  4171. },
  4172. // Project Page Modal
  4173. projectPageModal: {
  4174. placeholders: {
  4175. title: '标题',
  4176. designer: '设计师',
  4177. license: '许可证',
  4178. description: '输入描述...',
  4179. profileTitle: '配置标题',
  4180. profileDescription: '配置描述...',
  4181. },
  4182. },
  4183. // Spoolman Settings
  4184. spoolmanSettings: {},
  4185. // Time
  4186. time: {
  4187. unknown: '-',
  4188. waiting: '等待中',
  4189. justNow: '刚刚',
  4190. now: '现在',
  4191. minsAgo: '{{count}} 分钟前',
  4192. inMins: '{{count}} 分钟后',
  4193. hoursAgo: '{{count}} 小时前',
  4194. inHours: '{{count}} 小时后',
  4195. daysAgo: '{{count}} 天前',
  4196. inDays: '{{count}} 天后',
  4197. },
  4198. // SpoolBuddy Kiosk
  4199. spoolbuddy: {
  4200. nav: {
  4201. dashboard: '仪表板',
  4202. ams: 'AMS',
  4203. inventory: '库存',
  4204. writeTag: '写入',
  4205. settings: '设置',
  4206. },
  4207. status: {
  4208. nfcReady: 'NFC 就绪',
  4209. nfcOff: 'NFC 关闭',
  4210. offline: '离线',
  4211. online: '在线',
  4212. noPrinters: '无打印机',
  4213. deviceOffline: '设备离线',
  4214. waitingConnection: '等待设备连接...',
  4215. systemReady: '系统就绪',
  4216. status: '状态',
  4217. },
  4218. dashboard: {
  4219. readyToScan: '准备扫描',
  4220. idleMessage: '将耗材放在秤上以识别',
  4221. nfcHint: 'NFC 标签将自动读取',
  4222. device: '设备',
  4223. syncWeight: '同步重量',
  4224. weightSynced: '已同步!',
  4225. unknownTag: '未知标签',
  4226. newTag: '检测到新标签',
  4227. onScale: '在秤上',
  4228. linkSpool: '链接到耗材',
  4229. linkTagTitle: '将标签链接到耗材',
  4230. linkTag: '链接标签',
  4231. selectSpool: '选择要链接此标签的耗材:',
  4232. noUntagged: '未找到没有标签的耗材',
  4233. tagDetected: '检测到标签',
  4234. noTag: '无标签',
  4235. tagId: '标签',
  4236. grossWeight: '毛重',
  4237. spoolSize: '耗材盘尺寸',
  4238. close: '关闭',
  4239. currentSpool: '当前耗材',
  4240. },
  4241. modal: {
  4242. spoolDetected: '检测到耗材',
  4243. assignToAms: '分配到 AMS',
  4244. syncWeight: '同步重量',
  4245. weightSynced: '已同步!',
  4246. syncing: '同步中...',
  4247. newTagDetected: '检测到新标签',
  4248. addToInventory: '添加到库存',
  4249. assignToAmsTitle: '分配到 AMS',
  4250. selectSlot: '选择槽位',
  4251. assign: '分配',
  4252. assigning: '分配中...',
  4253. assignSuccess: '已分配!',
  4254. assignError: '分配耗材失败。请重试。',
  4255. noPrinterSelected: '选择打印机...',
  4256. noAmsDetected: '此打印机未检测到 AMS',
  4257. slot: '槽位',
  4258. },
  4259. weight: {
  4260. noReading: '无读数',
  4261. stable: '稳定',
  4262. measuring: '测量中...',
  4263. tare: '去皮',
  4264. calibrate: '校准',
  4265. },
  4266. spool: {
  4267. remaining: '剩余',
  4268. material: '材料',
  4269. brand: '品牌',
  4270. color: '颜色',
  4271. coreWeight: '空盘',
  4272. labelWeight: '标签',
  4273. scaleWeight: '秤重',
  4274. netWeight: '净重',
  4275. lastUsed: '上次使用',
  4276. },
  4277. ams: {
  4278. noData: '未检测到 AMS',
  4279. connectAms: '连接 AMS 以查看耗材槽位',
  4280. noPrinter: '未选择打印机',
  4281. selectPrinter: '从顶部栏选择打印机',
  4282. printerDisconnected: '打印机已断开',
  4283. humidity: '湿度',
  4284. level: '余量',
  4285. active: '活跃',
  4286. slot: '槽位',
  4287. empty: '空',
  4288. },
  4289. inventory: {
  4290. search: '搜索耗材...',
  4291. empty: '库存中没有耗材',
  4292. noResults: '没有匹配的耗材',
  4293. spools: '个耗材',
  4294. addSpool: '添加耗材',
  4295. },
  4296. settings: {
  4297. // Tabs
  4298. tabDevice: '设备',
  4299. tabDisplay: '显示',
  4300. tabScale: '秤',
  4301. tabUpdates: '更新',
  4302. // Device tab
  4303. nfcReader: 'NFC 读卡器',
  4304. type: '类型',
  4305. connection: '连接',
  4306. notConnected: '不适用',
  4307. deviceInfo: '设备信息',
  4308. hostname: '主机',
  4309. uptime: '运行时间',
  4310. // Display tab
  4311. brightness: '亮度',
  4312. saved: '已保存',
  4313. noBacklight: '未检测到 DSI 背光。亮度控制需要 DSI 显示屏。',
  4314. screenBlank: '屏幕熄灭超时',
  4315. screenBlankDesc: '不活动后屏幕关闭。触摸唤醒。',
  4316. displayNote: '亮度作为软件滤镜应用。',
  4317. // Scale tab
  4318. scaleCalibration: '秤校准',
  4319. currentWeight: '当前重量',
  4320. tareOffset: '去皮',
  4321. calFactor: '系数',
  4322. knownWeight: '已知重量',
  4323. calStep1: '移除秤上所有物品并按设置零点。',
  4324. calStep2: '将已知重量放在秤上。',
  4325. setZero: '设置零点',
  4326. calibrateNow: '校准',
  4327. calibrated: '已校准',
  4328. tareSet: '去皮命令已发送。等待设备响应...',
  4329. tareFailed: '发送去皮命令失败',
  4330. zeroSet: '零点已设置。将已知重量放在秤上。',
  4331. calibrationDone: '校准完成!',
  4332. calibrationFailed: '校准失败',
  4333. lastCalibrated: '上次校准',
  4334. stable: '稳定',
  4335. settling: '稳定中...',
  4336. firmware: '固件',
  4337. scale: '秤',
  4338. noDevice: '未找到 SpoolBuddy 设备',
  4339. // Updates tab
  4340. daemonVersion: '守护进程版本',
  4341. currentVersion: '当前',
  4342. versionPending: '等待守护进程...',
  4343. checking: '检查中...',
  4344. checkUpdates: '检查更新',
  4345. updateAvailable: '有可用更新',
  4346. updateInstructions: '通过 SSH 更新:运行 SpoolBuddy 安装脚本进行升级。',
  4347. upToDate: '已是最新',
  4348. includeBeta: '包含测试版本',
  4349. },
  4350. writeTag: {
  4351. tabExisting: '现有耗材',
  4352. tabNew: '新耗材',
  4353. tabReplace: '替换标签',
  4354. searchPlaceholder: '按材料、颜色、品牌搜索...',
  4355. noUntaggedSpools: '没有无标签的耗材',
  4356. noTaggedSpools: '没有有标签的耗材',
  4357. selectSpool: '选择一个耗材,然后将空白 NTAG 放在读卡器上',
  4358. placeTag: '将 NTAG 放在读卡器上',
  4359. tagReady: '检测到标签 — 准备写入',
  4360. writeTag: '写入标签',
  4361. replaceTag: '替换标签',
  4362. writing: '写入标签中...',
  4363. waiting: '等待 SpoolBuddy...',
  4364. writeSuccess: '标签写入成功!',
  4365. writeFailed: '写入失败',
  4366. queueFailed: '排队写入命令失败',
  4367. tryAgain: '重试',
  4368. cancel: '取消',
  4369. replaceWarning: '旧标签将被取消链接。新标签将替换它。',
  4370. deviceOffline: 'SpoolBuddy 离线',
  4371. material: '材料',
  4372. colorName: '颜色名称',
  4373. color: '颜色',
  4374. brand: '品牌',
  4375. weight: '重量 (g)',
  4376. createSpool: '创建耗材',
  4377. creating: '创建中...',
  4378. spoolCreated: '耗材已创建!准备写入。',
  4379. createFailed: '创建耗材失败',
  4380. },
  4381. },
  4382. bugReport: {
  4383. title: '报告错误',
  4384. description: '描述',
  4385. descriptionPlaceholder: '出了什么问题?请描述问题...',
  4386. email: '邮箱(可选)',
  4387. emailPlaceholder: 'your@email.com',
  4388. emailPrivacy: '如果提供,您的邮箱将包含在GitHub Issue的折叠部分中,以便维护者后续跟进。',
  4389. screenshot: '截图',
  4390. uploadOrPaste: '上传、粘贴或拖拽图片',
  4391. dataCollectedSummary: '报告中包含哪些数据?',
  4392. dataIncluded: '包含:',
  4393. dataIncludedList: '应用版本、操作系统、架构、Python版本、数据库统计(仅计数)、打印机型号、喷嘴数量、固件版本、连接状态、集成状态(Spoolman、MQTT、HA)、非敏感设置、网络接口数量、Docker详情、依赖版本。',
  4394. dataNeverIncluded: '绝不包含:',
  4395. dataNeverIncludedList: '打印机名称、序列号、访问代码、密码、IP地址、邮箱地址、API密钥、令牌、Webhook URL、主机名或用户名。',
  4396. submit: '提交',
  4397. collectingLogs: '正在收集诊断日志...',
  4398. collectingLogsHint: '已启用调试日志,正在查询打印机获取最新数据。',
  4399. submitting: '正在提交错误报告...',
  4400. submitSuccess: '错误报告提交成功!',
  4401. submitFailed: '提交错误报告失败',
  4402. thankYou: '谢谢!',
  4403. submitted: '您的错误报告已提交。',
  4404. viewIssue: '查看Issue',
  4405. unexpectedError: '发生了意外错误',
  4406. countdownSeconds: '{{seconds}}秒',
  4407. },
  4408. };