@chainingintention/pi-web-cn 2.202610.5 → 2.202611.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/bin/pi-web-server.sh +91 -0
- package/dist/bin/pi-web-sessiond.sh +91 -0
- package/dist/bin/pi-web.sh +91 -0
- package/dist/cli.js +33 -29
- package/dist/cli.js.map +1 -1
- package/dist/client/assets/3d-Dr68X8h8.svg +1 -0
- package/dist/client/assets/PiWebApp-D9e-Nrxi.js +3952 -0
- package/dist/client/assets/SettingsDialog-BvlvoXvD.js +1129 -0
- package/dist/client/assets/abap-uAHVFerN.svg +1 -0
- package/dist/client/assets/abc-CXjdSXsv.svg +1 -0
- package/dist/client/assets/actionscript-BCkIwjgm.svg +1 -0
- package/dist/client/assets/ada-GL6JWmc_.svg +1 -0
- package/dist/client/assets/adobe-illustrator-DhGvkpwi.svg +1 -0
- package/dist/client/assets/adobe-photoshop-0hmnA7cm.svg +1 -0
- package/dist/client/assets/adobe-swc-myFGSGFT.svg +1 -0
- package/dist/client/assets/adonis-SdGYdzCA.svg +1 -0
- package/dist/client/assets/advpl-BWLgf_Ky.svg +1 -0
- package/dist/client/assets/advpl-include-DYgH3R0u.svg +1 -0
- package/dist/client/assets/advpl-ptm-C5Y5ffZi.svg +1 -0
- package/dist/client/assets/advpl-tlpp-BAlVwpPL.svg +1 -0
- package/dist/client/assets/agent-DAWBwR7s.svg +1 -0
- package/dist/client/assets/amplify-BAWPaFFb.svg +1 -0
- package/dist/client/assets/android-TigHCxTb.svg +1 -0
- package/dist/client/assets/angular-D2ijCUIg.svg +1 -0
- package/dist/client/assets/angular-component-eczQQRE6.svg +1 -0
- package/dist/client/assets/angular-directive-C_jq8cjP.svg +1 -0
- package/dist/client/assets/angular-guard-B4iC5rXF.svg +1 -0
- package/dist/client/assets/angular-interceptor-CJvi6DuQ.svg +1 -0
- package/dist/client/assets/angular-pipe-BQZMATB_.svg +1 -0
- package/dist/client/assets/angular-service-DHYn6jIk.svg +1 -0
- package/dist/client/assets/antlr-DkzdiGgY.svg +1 -0
- package/dist/client/assets/apiblueprint-BDRvCIBM.svg +1 -0
- package/dist/client/assets/apollo-BAVoyYDs.svg +1 -0
- package/dist/client/assets/applescript-Bm_R8YT0.svg +1 -0
- package/dist/client/assets/apps-script-6efl-CXu.svg +1 -0
- package/dist/client/assets/appveyor-6B1suIBr.svg +1 -0
- package/dist/client/assets/appwrite-D7AlK8SW.svg +1 -0
- package/dist/client/assets/architecture-CtuqF8rD.svg +1 -0
- package/dist/client/assets/arduino-DFxCIupZ.svg +1 -0
- package/dist/client/assets/asciidoc-DUAdVwVP.svg +1 -0
- package/dist/client/assets/assembly-BKikEKKy.svg +1 -0
- package/dist/client/assets/astro-Bivf18eC.svg +1 -0
- package/dist/client/assets/astro-config-Cr5suFul.svg +1 -0
- package/dist/client/assets/astyle-BiqOWu-0.svg +1 -0
- package/dist/client/assets/audio-B4FatEUD.svg +1 -0
- package/dist/client/assets/aurelia-CnUjHPcZ.svg +1 -0
- package/dist/client/assets/authors-DdaDoKVR.svg +1 -0
- package/dist/client/assets/auto-BOO_fhxh.svg +1 -0
- package/dist/client/assets/autohotkey-D87F33UG.svg +1 -0
- package/dist/client/assets/autoit-DQTGS66r.svg +1 -0
- package/dist/client/assets/azure-DMSkMABH.svg +1 -0
- package/dist/client/assets/azure-pipelines-CcGJw3Rl.svg +1 -0
- package/dist/client/assets/babel-DFMbiqHA.svg +1 -0
- package/dist/client/assets/ballerina-BT8MyHl8.svg +1 -0
- package/dist/client/assets/bashly-settings-Ch9mIpw9.svg +1 -0
- package/dist/client/assets/bazel-CPXexffJ.svg +1 -0
- package/dist/client/assets/bbx-CB-6IYxw.svg +1 -0
- package/dist/client/assets/beancount-DR_GSwds.svg +1 -0
- package/dist/client/assets/bench-js-DOHd4EZB.svg +1 -0
- package/dist/client/assets/bench-jsx-CLJJl81D.svg +1 -0
- package/dist/client/assets/bench-ts-BM8GsfrF.svg +1 -0
- package/dist/client/assets/bibliography-D3emS1pd.svg +1 -0
- package/dist/client/assets/bibtex-style-CVY4tTiP.svg +1 -0
- package/dist/client/assets/bicep-BMMGt18P.svg +1 -0
- package/dist/client/assets/biome-Bf2373dl.svg +1 -0
- package/dist/client/assets/bitbucket-BQr8Az5R.svg +1 -0
- package/dist/client/assets/bithound-BOh7-s-G.svg +1 -0
- package/dist/client/assets/blender-B7Vz8gxa.svg +1 -0
- package/dist/client/assets/blink-DVWcfhba.svg +1 -0
- package/dist/client/assets/blitz-B4hhOxPa.svg +1 -0
- package/dist/client/assets/bower-CkFcC1Ou.svg +1 -0
- package/dist/client/assets/brainfuck-BXozg9z7.svg +1 -0
- package/dist/client/assets/browserlist-CUbhNMS9.svg +1 -0
- package/dist/client/assets/bruno-CoSNrNfv.svg +1 -0
- package/dist/client/assets/buck-BRuOl0ko.svg +1 -0
- package/dist/client/assets/bucklescript-TfoVgTnq.svg +1 -0
- package/dist/client/assets/buildkite-BrDKWLhW.svg +1 -0
- package/dist/client/assets/bun-CZtgPBjt.svg +1 -0
- package/dist/client/assets/c-CCkhSkL9.svg +1 -0
- package/dist/client/assets/c3-J0cVtsWq.svg +1 -0
- package/dist/client/assets/cabal-CQb4_DnV.svg +1 -0
- package/dist/client/assets/caddy-ywaArsUF.svg +1 -0
- package/dist/client/assets/cadence-BRBsaulT.svg +1 -0
- package/dist/client/assets/cairo-Cls19dwE.svg +1 -0
- package/dist/client/assets/cake-DpuWz3gE.svg +1 -0
- package/dist/client/assets/capacitor-CugB3p3d.svg +1 -0
- package/dist/client/assets/capnp-DtxOZ2_z.svg +1 -0
- package/dist/client/assets/cbx-QvSmyWq4.svg +1 -0
- package/dist/client/assets/cds-Bi3ghsEA.svg +1 -0
- package/dist/client/assets/certificate-B5QPOK_C.svg +1 -0
- package/dist/client/assets/changelog-mhp3hE32.svg +1 -0
- package/dist/client/assets/chess-4hVz24Rg.svg +1 -0
- package/dist/client/assets/chromatic-DRZoj4Hg.svg +1 -0
- package/dist/client/assets/chrome-ox3b9yI4.svg +1 -0
- package/dist/client/assets/circleci-DubwoSEv.svg +1 -0
- package/dist/client/assets/citation-ldCt-JF8.svg +1 -0
- package/dist/client/assets/clangd-bL8W2_13.svg +1 -0
- package/dist/client/assets/claude-DypBvzkn.svg +1 -0
- package/dist/client/assets/cline-Dd7x4bMT.svg +1 -0
- package/dist/client/assets/clojure-wfCfR06G.svg +1 -0
- package/dist/client/assets/cloudfoundry-BS-9yLUv.svg +1 -0
- package/dist/client/assets/cmake-B7q-R28A.svg +1 -0
- package/dist/client/assets/coala-D4YHPVOS.svg +1 -0
- package/dist/client/assets/cobol-wDz3o6g-.svg +1 -0
- package/dist/client/assets/coconut-C7cPswso.svg +1 -0
- package/dist/client/assets/code-climate-BJrwzyOv.svg +1 -0
- package/dist/client/assets/codecov-CXg1oY95.svg +1 -0
- package/dist/client/assets/codeowners-D_rztV49.svg +1 -0
- package/dist/client/assets/coderabbit-ai-DGoTDlyw.svg +1 -0
- package/dist/client/assets/coffee-D5JGmA63.svg +1 -0
- package/dist/client/assets/coldfusion-DhOnvVS_.svg +1 -0
- package/dist/client/assets/coloredpetrinets-DY894G_S.svg +1 -0
- package/dist/client/assets/command-Df3AkI2A.svg +1 -0
- package/dist/client/assets/commitizen-9SU1u7to.svg +1 -0
- package/dist/client/assets/commitlint-3vvjpxJt.svg +1 -0
- package/dist/client/assets/composerShortcuts-BggqvE9J.js +31 -0
- package/dist/client/assets/concourse-DAGkX2vY.svg +1 -0
- package/dist/client/assets/conduct-2Bm8RK0N.svg +1 -0
- package/dist/client/assets/console-pcgGAn8Z.svg +1 -0
- package/dist/client/assets/contentlayer-vXTwXOHk.svg +1 -0
- package/dist/client/assets/context-CebLrksE.svg +1 -0
- package/dist/client/assets/contributing-DLcmDS34.svg +1 -0
- package/dist/client/assets/controller-Doc75EnV.svg +1 -0
- package/dist/client/assets/copilot-DBlNrZ6L.svg +1 -0
- package/dist/client/assets/cpp-DT2939hp.svg +1 -0
- package/dist/client/assets/craco-BySmcQ23.svg +1 -0
- package/dist/client/assets/credits-GALyqcNu.svg +1 -0
- package/dist/client/assets/crystal-BbNQlJLs.svg +1 -0
- package/dist/client/assets/csharp-D5ZKsaqY.svg +1 -0
- package/dist/client/assets/css-JKwEyWYb.svg +1 -0
- package/dist/client/assets/css-map-Ctu4D9Ve.svg +1 -0
- package/dist/client/assets/cucumber-B3ZYwjRe.svg +1 -0
- package/dist/client/assets/cuda-CRW2z42A.svg +1 -0
- package/dist/client/assets/cue-ni2TTLiZ.svg +1 -0
- package/dist/client/assets/cursor-CJahHGg2.svg +1 -0
- package/dist/client/assets/cypress-DR0JRbfI.svg +1 -0
- package/dist/client/assets/d-B87zyVMx.svg +1 -0
- package/dist/client/assets/dart-Dx2oVcaR.svg +1 -0
- package/dist/client/assets/dart_generated-Wk58pte9.svg +1 -0
- package/dist/client/assets/database-B_oKaDcf.svg +1 -0
- package/dist/client/assets/deepsource-DUTIJ9mv.svg +1 -0
- package/dist/client/assets/denizenscript-BJc2vgOS.svg +1 -0
- package/dist/client/assets/deno-CyFvrzCm.svg +1 -0
- package/dist/client/assets/dependabot-BgJkJLU3.svg +1 -0
- package/dist/client/assets/dependencies-update-CdGy9ujO.svg +1 -0
- package/dist/client/assets/dhall-Dmhh82EO.svg +1 -0
- package/dist/client/assets/diff-6SXDCokN.svg +1 -0
- package/dist/client/assets/dinophp-D9hQnqAR.svg +1 -0
- package/dist/client/assets/disc-h_dLNGEL.svg +1 -0
- package/dist/client/assets/django-N1UNAXk1.svg +1 -0
- package/dist/client/assets/dll-1DkaBp0q.svg +1 -0
- package/dist/client/assets/docker-CfHcr61D.svg +1 -0
- package/dist/client/assets/doctex-installer-Cs7SA-ct.svg +1 -0
- package/dist/client/assets/document-o-3iA9GQ.svg +1 -0
- package/dist/client/assets/dotjs-DIyH7Gzv.svg +1 -0
- package/dist/client/assets/drawio-2RVDLi9g.svg +1 -0
- package/dist/client/assets/drizzle-hhBCZx1t.svg +1 -0
- package/dist/client/assets/drone-KvQ2n-xY.svg +1 -0
- package/dist/client/assets/dtx-DdGk8fFj.svg +1 -0
- package/dist/client/assets/duc-CHcAZQos.svg +1 -0
- package/dist/client/assets/dune-DuGO6qDA.svg +1 -0
- package/dist/client/assets/edge-ChHKXrYp.svg +1 -0
- package/dist/client/assets/editorconfig-BUzUAwRX.svg +1 -0
- package/dist/client/assets/ejs-D_Li05n3.svg +1 -0
- package/dist/client/assets/elixir-75mYTx2s.svg +1 -0
- package/dist/client/assets/elm-DE_LIp02.svg +1 -0
- package/dist/client/assets/email-G8mUttGa.svg +1 -0
- package/dist/client/assets/ember-B1y9-Oks.svg +1 -0
- package/dist/client/assets/epub-DPvrBCNf.svg +1 -0
- package/dist/client/assets/erlang-DosS6spf.svg +1 -0
- package/dist/client/assets/esbuild-DV6xNZ-T.svg +1 -0
- package/dist/client/assets/eslint-IU_g232-.svg +1 -0
- package/dist/client/assets/excalidraw-BllKd-7L.svg +1 -0
- package/dist/client/assets/exe-SfcXmkQy.svg +1 -0
- package/dist/client/assets/expo-B4PonO4I.svg +1 -0
- package/dist/client/assets/external-Bawe0tSn.js +1 -0
- package/dist/client/assets/fastlane-C4SZDg50.svg +1 -0
- package/dist/client/assets/favicon-VsCcG-A-.svg +1 -0
- package/dist/client/assets/figma-C8Gjq2Xj.svg +1 -0
- package/dist/client/assets/file-BEIHQH8Q.svg +256 -0
- package/dist/client/assets/firebase-DHIO0glR.svg +1 -0
- package/dist/client/assets/flash-Dck7x_rj.svg +1 -0
- package/dist/client/assets/flow-DD4KQiTg.svg +1 -0
- package/dist/client/assets/font-ChbWr8nk.svg +1 -0
- package/dist/client/assets/forth-C3qwGqMh.svg +1 -0
- package/dist/client/assets/fortran-B0jORJ3v.svg +1 -0
- package/dist/client/assets/foxpro-D3Wp1B1h.svg +1 -0
- package/dist/client/assets/freemarker-BLonnh3h.svg +1 -0
- package/dist/client/assets/fsharp-QwwPC8x_.svg +1 -0
- package/dist/client/assets/fusebox-DqjzyXyI.svg +1 -0
- package/dist/client/assets/gamemaker-C82Pt646.svg +1 -0
- package/dist/client/assets/garden-BUsWpFKW.svg +1 -0
- package/dist/client/assets/gatsby-OA1TADMJ.svg +1 -0
- package/dist/client/assets/gcp-CW2RG_Wp.svg +1 -0
- package/dist/client/assets/gemfile-1RY6BqSx.svg +1 -0
- package/dist/client/assets/gemini-CIgUY8Tg.svg +1 -0
- package/dist/client/assets/gemini-ai-Bwe7HeFb.svg +1 -0
- package/dist/client/assets/git-BEMs8TOZ.svg +1 -0
- package/dist/client/assets/gitlab-zt07_Oa4.svg +1 -0
- package/dist/client/assets/gitpod-BtZJQuF0.svg +1 -0
- package/dist/client/assets/gleam-CKPcrRAD.svg +1 -0
- package/dist/client/assets/gnuplot-BvFqM0ms.svg +1 -0
- package/dist/client/assets/go-ByY4sxRu.svg +1 -0
- package/dist/client/assets/go-mod-CB6BWQDr.svg +1 -0
- package/dist/client/assets/godot-C1EmL4jR.svg +1 -0
- package/dist/client/assets/godot-assets-D-FMsuJX.svg +1 -0
- package/dist/client/assets/google-BnrMOJ4V.svg +1 -0
- package/dist/client/assets/gradle-zsQ12U1q.svg +1 -0
- package/dist/client/assets/grafana-alloy-D2DQ33BM.svg +1 -0
- package/dist/client/assets/grain-5NkvKROL.svg +1 -0
- package/dist/client/assets/graphcool-CInCTIdE.svg +1 -0
- package/dist/client/assets/graphql-DnNt2maR.svg +1 -0
- package/dist/client/assets/gridsome-C2H5SpaD.svg +1 -0
- package/dist/client/assets/groovy-B93RxI7a.svg +1 -0
- package/dist/client/assets/grunt-cwitasVS.svg +1 -0
- package/dist/client/assets/gulp-BIZ8EAl0.svg +1 -0
- package/dist/client/assets/h-1bd73y8t.svg +1 -0
- package/dist/client/assets/hack-Bsd1y9bu.svg +1 -0
- package/dist/client/assets/hadolint-D1aEtESc.svg +1 -0
- package/dist/client/assets/haml-BKq8hU-U.svg +1 -0
- package/dist/client/assets/handlebars-Dem98Ago.svg +1 -0
- package/dist/client/assets/happo-B64XokX0.svg +1 -0
- package/dist/client/assets/hardhat-ByFzkuf4.svg +1 -0
- package/dist/client/assets/harmonix-CUh3S11M.svg +1 -0
- package/dist/client/assets/haskell-C6GxEwdX.svg +1 -0
- package/dist/client/assets/haxe-DdxZWPQy.svg +1 -0
- package/dist/client/assets/hcl-BJiZ3gWE.svg +1 -0
- package/dist/client/assets/helm-CF4Mi35z.svg +1 -0
- package/dist/client/assets/heroku-B6vPz_TJ.svg +1 -0
- package/dist/client/assets/hex-BuGJuqn1.svg +1 -0
- package/dist/client/assets/hip-DB4xe1Ab.svg +1 -0
- package/dist/client/assets/histoire-BMTufysg.svg +1 -0
- package/dist/client/assets/hjson-Dl4ZTgK4.svg +1 -0
- package/dist/client/assets/horusec-z6vyrVAy.svg +1 -0
- package/dist/client/assets/hosts-BydfWJ9z.svg +1 -0
- package/dist/client/assets/hpp-HerxyIaC.svg +1 -0
- package/dist/client/assets/html-BNRzQ3jk.svg +1 -0
- package/dist/client/assets/http-Cp7RCu8F.svg +1 -0
- package/dist/client/assets/huff-t3uGT10D.svg +1 -0
- package/dist/client/assets/hurl-S3Fvmz3R.svg +1 -0
- package/dist/client/assets/husky-A0ALYNcp.svg +1 -0
- package/dist/client/assets/i18n-BezCQ09L.svg +1 -0
- package/dist/client/assets/idris-CfHPjxcM.svg +1 -0
- package/dist/client/assets/ifanr-cloud-DnqgZYHA.svg +1 -0
- package/dist/client/assets/image-DYZiZ4CP.svg +1 -0
- package/dist/client/assets/imba-C1Q6aK1I.svg +1 -0
- package/dist/client/assets/index-0z4D-18M.js +2 -0
- package/dist/client/assets/installation-p19cVXO7.svg +1 -0
- package/dist/client/assets/instructions-CaWEzdge.svg +1 -0
- package/dist/client/assets/ionic-Xp-47Icg.svg +1 -0
- package/dist/client/assets/istanbul-DJKvMwnq.svg +1 -0
- package/dist/client/assets/jar-BaN44U3v.svg +1 -0
- package/dist/client/assets/java-QyMrrPma.svg +1 -0
- package/dist/client/assets/javaclass-BU8_3KBR.svg +1 -0
- package/dist/client/assets/javascript-CQjpTQab.svg +1 -0
- package/dist/client/assets/javascript-map-BQGiWnDM.svg +1 -0
- package/dist/client/assets/jenkins-Bf7aNz-w.svg +1 -0
- package/dist/client/assets/jest-BgbiFFEd.svg +1 -0
- package/dist/client/assets/jinja-4WR9tA6i.svg +1 -0
- package/dist/client/assets/jsconfig-ZAi6fTF1.svg +1 -0
- package/dist/client/assets/json-NsberLUP.svg +1 -0
- package/dist/client/assets/json_schema-sOuobP_H.svg +1 -0
- package/dist/client/assets/jsr-CWVSPSyV.svg +1 -0
- package/dist/client/assets/julia-DCKDSo9T.svg +1 -0
- package/dist/client/assets/jupyter-BKV2q0IB.svg +1 -0
- package/dist/client/assets/just-WQgcj-TR.svg +1 -0
- package/dist/client/assets/karma-Dm3AtiMd.svg +1 -0
- package/dist/client/assets/kcl-CyzArNE1.svg +1 -0
- package/dist/client/assets/key-CrFjkQiv.svg +1 -0
- package/dist/client/assets/keystatic-BECeLiHJ.svg +1 -0
- package/dist/client/assets/kivy-baDYR7ar.svg +1 -0
- package/dist/client/assets/kl-Dy3qeUbd.svg +1 -0
- package/dist/client/assets/knip-BWpBMXqu.svg +1 -0
- package/dist/client/assets/kotlin-DcjME28v.svg +1 -0
- package/dist/client/assets/kubernetes-B5EEXb3e.svg +1 -0
- package/dist/client/assets/kusto-CIjvTfRW.svg +1 -0
- package/dist/client/assets/label-AKZOJqFh.svg +1 -0
- package/dist/client/assets/laravel-DWauj5w4.svg +1 -0
- package/dist/client/assets/latexmk-DQ0u8QMa.svg +1 -0
- package/dist/client/assets/lbx-BMCQe48q.svg +1 -0
- package/dist/client/assets/lean-COOrALn9.svg +1 -0
- package/dist/client/assets/lefthook-DClcp3br.svg +1 -0
- package/dist/client/assets/lerna-BsWY3uYS.svg +1 -0
- package/dist/client/assets/less-0c0PeB1Z.svg +1 -0
- package/dist/client/assets/liara-CSN9sJzE.svg +1 -0
- package/dist/client/assets/lib-B-NXM8aC.svg +1 -0
- package/dist/client/assets/license-DmydDYqK.svg +1 -0
- package/dist/client/assets/lighthouse-CtbIoCdK.svg +1 -0
- package/dist/client/assets/lilypond-CBSm3LFL.svg +1 -0
- package/dist/client/assets/lintstaged-Bj1Eddi5.svg +1 -0
- package/dist/client/assets/liquid-ClnkrScY.svg +1 -0
- package/dist/client/assets/lisp-CMn3epg5.svg +1 -0
- package/dist/client/assets/lit-CJ6w1GHF.js +2 -0
- package/dist/client/assets/livescript-B5PkWD8e.svg +1 -0
- package/dist/client/assets/lock-DRloBj1S.svg +1 -0
- package/dist/client/assets/log-Db6NwxHZ.svg +1 -0
- package/dist/client/assets/lolcode-C6q6fY1O.svg +1 -0
- package/dist/client/assets/lottie-ExyLYhtq.svg +1 -0
- package/dist/client/assets/lua-CUh_Iwk8.svg +1 -0
- package/dist/client/assets/luau-De_4eP_9.svg +1 -0
- package/dist/client/assets/lynx-B49IBNBN.svg +1 -0
- package/dist/client/assets/lyric-Bm3UlVp3.svg +1 -0
- package/dist/client/assets/macaulay2-0YotwNnE.svg +1 -0
- package/dist/client/assets/main-DDgPZEYp.js +2 -0
- package/dist/client/assets/makefile-B2WlY55Y.svg +1 -0
- package/dist/client/assets/markdoc-DjROVW5I.svg +1 -0
- package/dist/client/assets/markdoc-config-BpVRhg1B.svg +1 -0
- package/dist/client/assets/markdown-Bm_LLmmi.svg +1 -0
- package/dist/client/assets/markdownlint-D4M2LXbH.svg +1 -0
- package/dist/client/assets/markojs-BohUrSLp.svg +1 -0
- package/dist/client/assets/mathematica-BGWNQXSR.svg +1 -0
- package/dist/client/assets/maven-BffVB5hm.svg +1 -0
- package/dist/client/assets/mdsvex-Dc9CFJJa.svg +1 -0
- package/dist/client/assets/mdx-D6qa5U8C.svg +1 -0
- package/dist/client/assets/mercurial-BDoD6ubd.svg +1 -0
- package/dist/client/assets/merlin-D5wTXfO4.svg +1 -0
- package/dist/client/assets/mermaid-BTscZDRS.svg +1 -0
- package/dist/client/assets/meson-dcvm8lmo.svg +1 -0
- package/dist/client/assets/metro-XIyWX0Go.svg +1 -0
- package/dist/client/assets/minecraft-CE8xXE3-.svg +1 -0
- package/dist/client/assets/minecraft-fabric-wG6LwgIf.svg +1 -0
- package/dist/client/assets/mint-Cb-YXACo.svg +1 -0
- package/dist/client/assets/mist-DAm4UkTw.svg +1 -0
- package/dist/client/assets/mjml-C_r30C5E.svg +1 -0
- package/dist/client/assets/mocha-BF5_j65C.svg +1 -0
- package/dist/client/assets/modernizr-89IMS8eL.svg +1 -0
- package/dist/client/assets/mojo-CscjT2Jm.svg +1 -0
- package/dist/client/assets/moon-_L_nTq1_.svg +1 -0
- package/dist/client/assets/moonscript-Ayut2PrD.svg +1 -0
- package/dist/client/assets/mrpack-BVpGpKVf.svg +1 -0
- package/dist/client/assets/mxml-B21Nbdgw.svg +1 -0
- package/dist/client/assets/nano-staged-CAVSFkY8.svg +1 -0
- package/dist/client/assets/ndst-DpYLiHkx.svg +1 -0
- package/dist/client/assets/nest-CUu_iPqI.svg +1 -0
- package/dist/client/assets/netlify-Bb7vRMfV.svg +1 -0
- package/dist/client/assets/next-2gAImGWJ.svg +1 -0
- package/dist/client/assets/nextflow-dPJG5e3G.svg +1 -0
- package/dist/client/assets/nginx-Ss9U_SJ3.svg +1 -0
- package/dist/client/assets/nim-CXHB5kuH.svg +1 -0
- package/dist/client/assets/nix-DoxxkZ2k.svg +1 -0
- package/dist/client/assets/nodejs-Czg5JT6z.svg +1 -0
- package/dist/client/assets/nodemon-CprsexAJ.svg +1 -0
- package/dist/client/assets/npm-BSKPS9CC.svg +1 -0
- package/dist/client/assets/nuget-D_mqKH22.svg +1 -0
- package/dist/client/assets/nunjucks-CSL1En7R.svg +1 -0
- package/dist/client/assets/nuxt-BszScKzK.svg +1 -0
- package/dist/client/assets/nx-CTIqtdbG.svg +1 -0
- package/dist/client/assets/objective-c-3E5wWl6u.svg +1 -0
- package/dist/client/assets/objective-cpp-DjpoLOMo.svg +1 -0
- package/dist/client/assets/ocaml-T4fLeZFT.svg +1 -0
- package/dist/client/assets/odin-DlWnbZWN.svg +1 -0
- package/dist/client/assets/onnx-C6WInyrb.svg +1 -0
- package/dist/client/assets/opa-D5GoZW5M.svg +1 -0
- package/dist/client/assets/opam-3IZadro4.svg +1 -0
- package/dist/client/assets/openapi-DjlVyoOp.svg +1 -0
- package/dist/client/assets/opencode-BaYncWio.svg +1 -0
- package/dist/client/assets/opentofu-jFw9lQBP.svg +1 -0
- package/dist/client/assets/otne-SLiO8whA.svg +1 -0
- package/dist/client/assets/oxc-DN6_023j.svg +1 -0
- package/dist/client/assets/packship-UyLXQ_8n.svg +1 -0
- package/dist/client/assets/palette-C0GOsJgu.svg +1 -0
- package/dist/client/assets/panda-D469wGns.svg +1 -0
- package/dist/client/assets/parcel-BrXQSBYb.svg +1 -0
- package/dist/client/assets/pascal-oxGvvJ_x.svg +1 -0
- package/dist/client/assets/pawn-BvapPd-t.svg +1 -0
- package/dist/client/assets/payload-Cks6N40-.svg +1 -0
- package/dist/client/assets/pdf-DtjgBDdX.svg +1 -0
- package/dist/client/assets/pdm-CbwhGqOl.svg +1 -0
- package/dist/client/assets/peg-BJdFn78b.svg +1 -0
- package/dist/client/assets/percy-CWbuYL05.svg +1 -0
- package/dist/client/assets/perl-DUX0zwsQ.svg +1 -0
- package/dist/client/assets/php-5lebFt-d.svg +1 -0
- package/dist/client/assets/php-cs-fixer-D3Vv91zO.svg +1 -0
- package/dist/client/assets/phpstan-D9FJYotS.svg +1 -0
- package/dist/client/assets/phpunit-BlNyjrEw.svg +1 -0
- package/dist/client/assets/pinejs-CDuWmsOY.svg +1 -0
- package/dist/client/assets/pipeline-CCHJ-CIC.svg +1 -0
- package/dist/client/assets/pkl-CzHZDqdt.svg +1 -0
- package/dist/client/assets/plastic-CvMMB3c5.svg +1 -0
- package/dist/client/assets/playwright-C8c_RKic.svg +1 -0
- package/dist/client/assets/plop-D4uymN-_.svg +1 -0
- package/dist/client/assets/pm2-ecosystem-Cv28zGx9.svg +1 -0
- package/dist/client/assets/pnpm-ndvMXYUu.svg +1 -0
- package/dist/client/assets/poetry-ClZfXo_0.svg +1 -0
- package/dist/client/assets/postcss-g3C3DDoi.svg +1 -0
- package/dist/client/assets/posthtml-BkDCsIkz.svg +1 -0
- package/dist/client/assets/powerpoint-CCXYfzLu.svg +1 -0
- package/dist/client/assets/powershell-DnXi9Rjx.svg +1 -0
- package/dist/client/assets/pre-commit-DXbl2unR.svg +1 -0
- package/dist/client/assets/preload-helper-CRzLMJPS.js +1 -0
- package/dist/client/assets/prettier-DFxlFAp4.svg +1 -0
- package/dist/client/assets/prisma-BgG1MIwh.svg +1 -0
- package/dist/client/assets/processing-B1bs0VmW.svg +1 -0
- package/dist/client/assets/prolog-CxwCfnlm.svg +1 -0
- package/dist/client/assets/prompt-7jgVTNou.svg +1 -0
- package/dist/client/assets/proto-Bv4-L0XU.svg +1 -0
- package/dist/client/assets/protractor-CJWv1lK-.svg +1 -0
- package/dist/client/assets/pug-BXlORXuH.svg +1 -0
- package/dist/client/assets/puppet-CKCVJvZX.svg +1 -0
- package/dist/client/assets/puppeteer-DDZkfQNZ.svg +1 -0
- package/dist/client/assets/purescript-CUdIfJrp.svg +1 -0
- package/dist/client/assets/python-misc-BZ5TXfdG.svg +1 -0
- package/dist/client/assets/python-oHA753pt.svg +1 -0
- package/dist/client/assets/pytorch-f0udCMaw.svg +1 -0
- package/dist/client/assets/qsharp-BaFNvoXS.svg +1 -0
- package/dist/client/assets/quarto-zhC7oGOB.svg +1 -0
- package/dist/client/assets/quasar-BXE2pW5w.svg +1 -0
- package/dist/client/assets/quokka-DrMOw93T.svg +1 -0
- package/dist/client/assets/r-AQewf3lz.svg +1 -0
- package/dist/client/assets/racket-BCyLzvrP.svg +1 -0
- package/dist/client/assets/raml-WDbT4cRb.svg +1 -0
- package/dist/client/assets/razor-BAUCpTxC.svg +1 -0
- package/dist/client/assets/rbxmk-CZ9pB7X6.svg +1 -0
- package/dist/client/assets/rc-BDgxm_A8.svg +1 -0
- package/dist/client/assets/react-CdMrIyLK.svg +1 -0
- package/dist/client/assets/react_ts-9WeLJBIj.svg +1 -0
- package/dist/client/assets/readme-BSIQKZwq.svg +1 -0
- package/dist/client/assets/reason-m9vOqeqw.svg +1 -0
- package/dist/client/assets/red-Dzf3O8j4.svg +1 -0
- package/dist/client/assets/regedit-DJzxfiQN.svg +1 -0
- package/dist/client/assets/remark-C55cxr93.svg +1 -0
- package/dist/client/assets/remix-Bk2h4zH7.svg +1 -0
- package/dist/client/assets/renovate-zzi8oRFv.svg +1 -0
- package/dist/client/assets/replit-BpeMxcBh.svg +1 -0
- package/dist/client/assets/requiredTerminalPlugin-ZZOwUcbr.js +3 -0
- package/dist/client/assets/rescript-interface-a87dYX5u.svg +1 -0
- package/dist/client/assets/rescript-qPAwtDLa.svg +1 -0
- package/dist/client/assets/restql-CnZcZpny.svg +1 -0
- package/dist/client/assets/riot-DjRzaRVp.svg +1 -0
- package/dist/client/assets/roadmap-DWpVc5P5.svg +1 -0
- package/dist/client/assets/roblox-Bv5zbklC.svg +1 -0
- package/dist/client/assets/robot-Cto_i8jo.svg +1 -0
- package/dist/client/assets/robots-COnOCAqh.svg +1 -0
- package/dist/client/assets/rocket-CAmUpMm6.svg +1 -0
- package/dist/client/assets/rolldown-Cy_4AzVW.svg +1 -0
- package/dist/client/assets/rollup-2ZkmBeWV.svg +1 -0
- package/dist/client/assets/rome-Cq3lb2xY.svg +1 -0
- package/dist/client/assets/routing-BNxHhbXZ.svg +1 -0
- package/dist/client/assets/rspec-CoEmfx5H.svg +1 -0
- package/dist/client/assets/rstack-DzJ3cPXM.svg +1 -0
- package/dist/client/assets/rubocop-CokGq15J.svg +1 -0
- package/dist/client/assets/ruby-DTGQ4xCM.svg +1 -0
- package/dist/client/assets/ruff-BN0KpNzC.svg +1 -0
- package/dist/client/assets/rust-B122pUHY.svg +1 -0
- package/dist/client/assets/salt-B8j0OVNV.svg +1 -0
- package/dist/client/assets/san-C0UnyaU4.svg +1 -0
- package/dist/client/assets/sas-RNoBA0-Y.svg +1 -0
- package/dist/client/assets/sass-B7y5mYt_.svg +1 -0
- package/dist/client/assets/sbt-DosCci-d.svg +1 -0
- package/dist/client/assets/scala-CsGkKwl5.svg +1 -0
- package/dist/client/assets/scheme-CS2UbTis.svg +1 -0
- package/dist/client/assets/scons-CyqfFgvx.svg +1 -0
- package/dist/client/assets/screwdriver-DjTKuDz7.svg +1 -0
- package/dist/client/assets/search-fq7VxV09.svg +1 -0
- package/dist/client/assets/semantic-release-BbLzZX96.svg +1 -0
- package/dist/client/assets/semgrep-Cl6VUQtd.svg +1 -0
- package/dist/client/assets/sentry-MrouyD-P.svg +1 -0
- package/dist/client/assets/sequelize-BQWikTCs.svg +1 -0
- package/dist/client/assets/serverless-C7Jdn6_T.svg +1 -0
- package/dist/client/assets/settings-CtzL1evz.svg +1 -0
- package/dist/client/assets/shader-BZXKDeiD.svg +1 -0
- package/dist/client/assets/shellcheck-BgWOclub.svg +1 -0
- package/dist/client/assets/simulink-yQnKyx__.svg +1 -0
- package/dist/client/assets/siyuan-CPWD86-6.svg +1 -0
- package/dist/client/assets/sketch-NbltjaPf.svg +1 -0
- package/dist/client/assets/skill-BThvgH87.svg +1 -0
- package/dist/client/assets/slim-CTjdZAfz.svg +1 -0
- package/dist/client/assets/slint-B0xbkqgr.svg +1 -0
- package/dist/client/assets/slug-CWkQgR9s.svg +1 -0
- package/dist/client/assets/smarty-BXDiLQNt.svg +1 -0
- package/dist/client/assets/sml-DMkoWEN5.svg +1 -0
- package/dist/client/assets/snakemake-xG7xUrdI.svg +1 -0
- package/dist/client/assets/snapcraft-zvgAcZ4p.svg +1 -0
- package/dist/client/assets/snowpack-l0uHt304.svg +1 -0
- package/dist/client/assets/snyk-DCW3rtvv.svg +1 -0
- package/dist/client/assets/solidity-C4TQWJKU.svg +1 -0
- package/dist/client/assets/sonarcloud-ClLIXGyx.svg +1 -0
- package/dist/client/assets/spwn-31WG9ftR.svg +1 -0
- package/dist/client/assets/stackblitz-ZX6aBRKb.svg +1 -0
- package/dist/client/assets/stan-CPcUXbxB.svg +1 -0
- package/dist/client/assets/steadybit-BZtlLY-3.svg +1 -0
- package/dist/client/assets/stencil-D0FNO32O.svg +1 -0
- package/dist/client/assets/stitches-BYlEJvuz.svg +1 -0
- package/dist/client/assets/storybook-KxGhpZYa.svg +1 -0
- package/dist/client/assets/stryker-CYflxT_R.svg +1 -0
- package/dist/client/assets/sty-C4HqHV4z.svg +1 -0
- package/dist/client/assets/stylable-Bi9Gr97T.svg +1 -0
- package/dist/client/assets/styleSources-CdF2T_pj.js +1 -0
- package/dist/client/assets/stylelint-JSbd-yhE.svg +1 -0
- package/dist/client/assets/styles-BwN5rgmt.js +10 -0
- package/dist/client/assets/styles-DK4aKhCE.js +1 -0
- package/dist/client/assets/stylus-ZoqbP9jE.svg +1 -0
- package/dist/client/assets/sublime-DFvp_Ess.svg +1 -0
- package/dist/client/assets/subtitles-BNOc1mEf.svg +1 -0
- package/dist/client/assets/supabase-CX7cap86.svg +1 -0
- package/dist/client/assets/svelte-B8HKO6BX.svg +1 -0
- package/dist/client/assets/svelte_js-C_RKcwSP.svg +1 -0
- package/dist/client/assets/svelte_ts-APH7lcVp.svg +1 -0
- package/dist/client/assets/svg-DVy7iktw.svg +1 -0
- package/dist/client/assets/svgo-CJXaeDEN.svg +1 -0
- package/dist/client/assets/svgr-Dn8OFGar.svg +1 -0
- package/dist/client/assets/swagger-Dqyrwr4g.svg +1 -0
- package/dist/client/assets/sway-C1Kkif7r.svg +1 -0
- package/dist/client/assets/swc-BUhoW8cb.svg +1 -0
- package/dist/client/assets/swift-D4_pkWil.svg +1 -0
- package/dist/client/assets/syncpack-DtZ994Gf.svg +1 -0
- package/dist/client/assets/table-YhsaNNk_.svg +1 -0
- package/dist/client/assets/tailwindcss-DODJSdj1.svg +1 -0
- package/dist/client/assets/tape-DGYhnMht.svg +1 -0
- package/dist/client/assets/taskfile-f5DM79_-.svg +1 -0
- package/dist/client/assets/tauri-DBBtDoCo.svg +1 -0
- package/dist/client/assets/taze-BPR9LgXp.svg +1 -0
- package/dist/client/assets/tcl-CiAJKGaA.svg +1 -0
- package/dist/client/assets/teal-WyfAQok0.svg +1 -0
- package/dist/client/assets/templ-BHla0pe-.svg +1 -0
- package/dist/client/assets/template-qJWiB5gQ.svg +1 -0
- package/dist/client/assets/terraform-R86_iPhv.svg +1 -0
- package/dist/client/assets/test-js-A34KrdbK.svg +1 -0
- package/dist/client/assets/test-jsx-C2PQBkQP.svg +1 -0
- package/dist/client/assets/test-ts-fdt299ek.svg +1 -0
- package/dist/client/assets/tex-DpewR4UN.svg +1 -0
- package/dist/client/assets/textlint-pjwsbDhs.svg +1 -0
- package/dist/client/assets/themeCatalog-B3yda95n.js +1 -0
- package/dist/client/assets/themePreference-BBiJxLjs.js +1 -0
- package/dist/client/assets/themeStartup-0b02tNrh.js +2 -0
- package/dist/client/assets/tilt-Dwon5dv-.svg +1 -0
- package/dist/client/assets/tldraw-BnDJmluq.svg +1 -0
- package/dist/client/assets/tobi-CQ-666uh.svg +1 -0
- package/dist/client/assets/tobimake-DzDbTYW1.svg +1 -0
- package/dist/client/assets/toc-nUTycYjl.svg +1 -0
- package/dist/client/assets/todo-CpcorlsE.svg +1 -0
- package/dist/client/assets/toml-DvUt-GOd.svg +1 -0
- package/dist/client/assets/toon-CGe9RDKY.svg +1 -0
- package/dist/client/assets/travis-CH6zNy43.svg +1 -0
- package/dist/client/assets/tree-epW9JaxP.svg +1 -0
- package/dist/client/assets/trigger-CqdxCyG0.svg +1 -0
- package/dist/client/assets/tsconfig-ROp_YdWL.svg +1 -0
- package/dist/client/assets/tsdoc-BEXcYgLD.svg +1 -0
- package/dist/client/assets/tsdown-B96z16my.svg +1 -0
- package/dist/client/assets/tsil-D-U9yWS8.svg +1 -0
- package/dist/client/assets/tune-DISlqKNZ.svg +1 -0
- package/dist/client/assets/turborepo-CWNwoZtI.svg +1 -0
- package/dist/client/assets/twig-CA70AYNK.svg +1 -0
- package/dist/client/assets/twine-BPJsGZd2.svg +1 -0
- package/dist/client/assets/typedoc-FY7jFoGW.svg +1 -0
- package/dist/client/assets/typescript-DjjXqw-n.svg +1 -0
- package/dist/client/assets/typescript-def-CTN5WM5i.svg +1 -0
- package/dist/client/assets/typst-CnDSkp_i.svg +1 -0
- package/dist/client/assets/uiua-BOsurlxn.svg +1 -0
- package/dist/client/assets/umi-DYOjFi8w.svg +1 -0
- package/dist/client/assets/uml-CYijxuna.svg +1 -0
- package/dist/client/assets/unity-CRNCEoK6.svg +1 -0
- package/dist/client/assets/unlicense-DG_b3BEE.svg +1 -0
- package/dist/client/assets/unocss-MqLuLfeL.svg +1 -0
- package/dist/client/assets/url-hE4h5p6b.svg +1 -0
- package/dist/client/assets/uv-DRTOVSi_.svg +1 -0
- package/dist/client/assets/vagrant-YnxMTuKe.svg +1 -0
- package/dist/client/assets/vala-m_i2ZWns.svg +1 -0
- package/dist/client/assets/vanilla-extract-76H6-A4R.svg +1 -0
- package/dist/client/assets/varnish-CX3oiNcp.svg +1 -0
- package/dist/client/assets/vedic-D6-oQUka.svg +1 -0
- package/dist/client/assets/velite-nLLNxKBA.svg +1 -0
- package/dist/client/assets/velocity-CSvfE9yM.svg +1 -0
- package/dist/client/assets/vercel-CgKLo9IO.svg +1 -0
- package/dist/client/assets/verdaccio-gsdiCbvv.svg +1 -0
- package/dist/client/assets/verified-BFLtqroG.svg +1 -0
- package/dist/client/assets/verilog-CbZvRaae.svg +1 -0
- package/dist/client/assets/verse-D_RZ0Bz0.svg +1 -0
- package/dist/client/assets/vfl-8CAM-hjs.svg +1 -0
- package/dist/client/assets/video-qxpJXkH6.svg +1 -0
- package/dist/client/assets/vim-CB8qTVuS.svg +1 -0
- package/dist/client/assets/virtual-Hoc2XbZN.svg +1 -0
- package/dist/client/assets/visualstudio-BHj2x5q7.svg +1 -0
- package/dist/client/assets/vite-JKzchVew.svg +1 -0
- package/dist/client/assets/vitest-Cl4_wKFu.svg +1 -0
- package/dist/client/assets/vlang-C3-DMUIm.svg +1 -0
- package/dist/client/assets/vscode-BtTXhPua.svg +1 -0
- package/dist/client/assets/vue-BlenztPP.svg +1 -0
- package/dist/client/assets/vue-config-o7yPAADv.svg +1 -0
- package/dist/client/assets/wakatime-DNz7qcxZ.svg +1 -0
- package/dist/client/assets/wallaby-C0UIkEOa.svg +1 -0
- package/dist/client/assets/wally-Ds1quKSG.svg +1 -0
- package/dist/client/assets/warp-B3X5Zoeh.svg +1 -0
- package/dist/client/assets/watchman-7EFq9LSa.svg +1 -0
- package/dist/client/assets/webassembly-Bs4UtU2T.svg +1 -0
- package/dist/client/assets/webhint-B4I6V0Ee.svg +1 -0
- package/dist/client/assets/webpack-zo2uWGOg.svg +1 -0
- package/dist/client/assets/wepy-Cho54Qlr.svg +1 -0
- package/dist/client/assets/werf-BW9FiKe5.svg +1 -0
- package/dist/client/assets/windicss-C_8y516i.svg +1 -0
- package/dist/client/assets/wolframlanguage-D6C1WBYh.svg +1 -0
- package/dist/client/assets/word-BcPLm6YH.svg +1 -0
- package/dist/client/assets/wrangler-CjgAkoTg.svg +1 -0
- package/dist/client/assets/wxt-c6drtC9H.svg +1 -0
- package/dist/client/assets/xaml-DE72OHNQ.svg +1 -0
- package/dist/client/assets/xmake-4WNmmIJj.svg +1 -0
- package/dist/client/assets/xml-S4aCxoUr.svg +1 -0
- package/dist/client/assets/yaml-DPTMsOTP.svg +1 -0
- package/dist/client/assets/yang-N-7dP4WI.svg +1 -0
- package/dist/client/assets/yarn-Cios8OFX.svg +1 -0
- package/dist/client/assets/zeabur-kqbNXTTH.svg +1 -0
- package/dist/client/assets/zig-CdphsgLN.svg +1 -0
- package/dist/client/assets/zip-GDnEynqi.svg +1 -0
- package/dist/client/assets/zizmor-IsFFdy6W.svg +1 -0
- package/dist/client/index.html +12 -6
- package/dist/config.js +233 -87
- package/dist/config.js.map +1 -1
- package/dist/configSessionNamingMigration.js +63 -0
- package/dist/configSessionNamingMigration.js.map +1 -0
- package/dist/nativeServices/serviceDoctor.js +3 -3
- package/dist/nativeServices/serviceDoctor.js.map +1 -1
- package/dist/nativeServices/servicePlan.js +53 -23
- package/dist/nativeServices/servicePlan.js.map +1 -1
- package/dist/nativeServices/serviceProbe.js +27 -7
- package/dist/nativeServices/serviceProbe.js.map +1 -1
- package/dist/pi-packages/relays/markdownDocument.js +8 -9
- package/dist/pi-packages/relays/pi-web-plugin.js +11 -11
- package/dist/pi-packages/relays/relays.messages.js +38 -0
- package/dist/pi-packages/relays/relaysLocalization.js +19 -0
- package/dist/pi-packages/relays/relaysPanelElement.js +151 -96
- package/dist/pi-packages/scheduled-tasks/browser/pi-web-plugin.js +1135 -0
- package/dist/pi-packages/scheduled-tasks/domain.js +63 -0
- package/dist/pi-packages/scheduled-tasks/extensions/index.js +710 -0
- package/dist/pi-packages/scheduled-tasks/package.json +30 -0
- package/dist/pi-packages/scheduled-tasks/scheduler.js +89 -0
- package/dist/pi-packages/scheduled-tasks/server-plugin.js +9872 -0
- package/dist/pi-packages/scheduled-tasks/service.js +178 -0
- package/dist/pi-packages/scheduled-tasks/skills/scheduled-tasks/SKILL.md +30 -0
- package/dist/pi-packages/scheduled-tasks/sqlite.js +18 -0
- package/dist/pi-packages/scheduled-tasks/store.js +230 -0
- package/dist/pi-packages/scheduled-tasks/vite.browser.config.mjs +16 -0
- package/dist/pi-packages/scheduled-tasks/vite.companion.config.mjs +17 -0
- package/dist/pi-packages/scheduled-tasks/vite.config.mjs +17 -0
- package/dist/pi-packages/session-naming/config.js +78 -0
- package/dist/pi-packages/session-naming/extensions/index.js +74 -0
- package/dist/pi-packages/session-naming/generator.js +76 -0
- package/dist/pi-packages/session-naming/package.json +15 -0
- package/dist/pi-packages/workflows/browser/pi-web-plugin.js +10 -7
- package/dist/pi-packages/workflows/browser/workflows.messages.js +32 -0
- package/dist/pi-packages/workflows/browser/worktreeDialog.js +71 -50
- package/dist/pi-packages/workflows/server-plugin.js +137 -23
- package/dist/pi-web-plugins/audio/audioElement.js +61 -0
- package/dist/pi-web-plugins/audio/audioFormats.js +18 -0
- package/dist/pi-web-plugins/audio/byteRange.js +21 -0
- package/dist/pi-web-plugins/audio/package.json +10 -0
- package/dist/pi-web-plugins/audio/pi-web-plugin.js +39 -0
- package/dist/pi-web-plugins/audio/server.js +71 -0
- package/dist/pi-web-plugins/code-highlight/browser/pi-web-plugin.js +4 -4
- package/dist/pi-web-plugins/custom-ui-codex/codex.css +8 -0
- package/dist/pi-web-plugins/custom-ui-codex/fileIcons.js +30 -0
- package/dist/pi-web-plugins/custom-ui-codex/package.json +8 -1
- package/dist/pi-web-plugins/custom-ui-codex/pi-web-plugin.js +8 -8
- package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +236 -259
- package/dist/pi-web-plugins/git/browser/git-panel.js +138 -59
- package/dist/pi-web-plugins/git/browser/git.messages.js +47 -0
- package/dist/pi-web-plugins/git/browser/gitFileIcon.js +71 -0
- package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +21 -4
- package/dist/pi-web-plugins/git/server-plugin.js +5 -3
- package/dist/pi-web-plugins/info/info.messages.js +66 -0
- package/dist/pi-web-plugins/info/infoInternals.js +217 -217
- package/dist/pi-web-plugins/info/pi-web-plugin.js +19 -14
- package/dist/pi-web-plugins/language-spanish/catalogs.js +1896 -0
- package/dist/pi-web-plugins/language-spanish/package.json +14 -0
- package/dist/pi-web-plugins/language-spanish/pi-web-plugin.js +90 -0
- package/dist/pi-web-plugins/language-swedish/catalogs.js +1896 -0
- package/dist/pi-web-plugins/language-swedish/package.json +14 -0
- package/dist/pi-web-plugins/language-swedish/pi-web-plugin.js +89 -0
- package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +4 -4
- package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +71 -66
- package/dist/pi-web-plugins/terminal/bunPtyProvider.js +109 -0
- package/dist/pi-web-plugins/terminal/nodePtyProvider.js +75 -0
- package/dist/pi-web-plugins/terminal/nodePtySpawnHelper.js +36 -0
- package/dist/pi-web-plugins/terminal/ptyComposition.js +12 -0
- package/dist/pi-web-plugins/terminal/ptyProvider.js +2 -0
- package/dist/pi-web-plugins/terminal/server-plugin.js +42 -14
- package/dist/pi-web-plugins/terminal/terminalService.js +218 -76
- package/dist/pi-web-plugins/themes/assets/graphite.css +56 -0
- package/dist/pi-web-plugins/themes/assets/paper.css +56 -0
- package/dist/pi-web-plugins/themes/package.json +21 -0
- package/dist/pi-web-plugins/updates/pi-web-plugin.js +200 -155
- package/dist/pi-web-plugins/updates/updates.messages.js +59 -0
- package/dist/pi-web-plugins/updates/updatesLogic.js +27 -29
- package/dist/pi-web-plugins/workspace-tasks/config.js +18 -19
- package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +13 -8
- package/dist/pi-web-plugins/workspace-tasks/tasks.messages.js +45 -0
- package/dist/pi-web-plugins/workspace-tasks/tasksLocalization.js +33 -0
- package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +56 -42
- package/dist/pi-web-plugins/workspace-tasks/workspaceTasksClient.js +7 -33
- package/dist/pi-web-plugins/zh-cn/catalogs.json +1803 -0
- package/dist/pi-web-plugins/zh-cn/main.json +5 -1
- package/dist/pi-web-plugins/zh-cn/management-errors.json +6 -0
- package/dist/pi-web-plugins/zh-cn/pi-web-plugin.js +13 -4
- package/dist/pi-web-plugins/zh-cn/server.json +1 -1
- package/dist/piWebVersionReport.js +2 -0
- package/dist/piWebVersionReport.js.map +1 -1
- package/dist/plugin-api.d.ts +194 -9
- package/dist/runtimePreflight.js +14 -0
- package/dist/runtimePreflight.js.map +1 -0
- package/dist/server/activity/workspaceActivityService.js +18 -1
- package/dist/server/activity/workspaceActivityService.js.map +1 -1
- package/dist/server/app.js +45 -10
- package/dist/server/app.js.map +1 -1
- package/dist/server/configRoutes.js +117 -139
- package/dist/server/configRoutes.js.map +1 -1
- package/dist/server/configUpdates.js +104 -0
- package/dist/server/configUpdates.js.map +1 -0
- package/dist/server/deploymentIdentity.js +12 -10
- package/dist/server/deploymentIdentity.js.map +1 -1
- package/dist/server/deploymentIdentityRoutes.js +2 -1
- package/dist/server/deploymentIdentityRoutes.js.map +1 -1
- package/dist/server/diagnostics/nodePtyNativeModule.js +0 -18
- package/dist/server/diagnostics/nodePtyNativeModule.js.map +1 -1
- package/dist/server/diagnostics/terminalPrerequisites.js +54 -0
- package/dist/server/diagnostics/terminalPrerequisites.js.map +1 -0
- package/dist/server/index.js +9 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/knownAutoInstallPiPackages.js +6 -0
- package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
- package/dist/server/knownPiPackages.js +4 -4
- package/dist/server/knownPiPackages.js.map +1 -1
- package/dist/server/machines/machineClient.js +39 -17
- package/dist/server/machines/machineClient.js.map +1 -1
- package/dist/server/machines/machinePluginProxyRoutes.js +3 -1
- package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -1
- package/dist/server/machines/machineProxyRoutes.js +60 -9
- package/dist/server/machines/machineProxyRoutes.js.map +1 -1
- package/dist/server/machines/machineService.js +81 -13
- package/dist/server/machines/machineService.js.map +1 -1
- package/dist/server/machines/machineStore.js.map +1 -1
- package/dist/server/managementEmbed.js +4 -1
- package/dist/server/managementEmbed.js.map +1 -1
- package/dist/server/managementEntryRoutes.js +51 -0
- package/dist/server/managementEntryRoutes.js.map +1 -0
- package/dist/server/managementEntryTickets.js +46 -0
- package/dist/server/managementEntryTickets.js.map +1 -0
- package/dist/server/managementTransportLimits.js +5 -0
- package/dist/server/managementTransportLimits.js.map +1 -0
- package/dist/server/navigationPreferenceRoutes.js +20 -1
- package/dist/server/navigationPreferenceRoutes.js.map +1 -1
- package/dist/server/normalAuth.js +3 -1
- package/dist/server/normalAuth.js.map +1 -1
- package/dist/server/notices/serverNoticeStore.js +4 -0
- package/dist/server/notices/serverNoticeStore.js.map +1 -1
- package/dist/server/piPackageService.js +15 -1
- package/dist/server/piPackageService.js.map +1 -1
- package/dist/server/piWebPluginCatalog.js +23 -11
- package/dist/server/piWebPluginCatalog.js.map +1 -1
- package/dist/server/piWebPluginLifecycle.js +14 -4
- package/dist/server/piWebPluginLifecycle.js.map +1 -1
- package/dist/server/piWebPluginService.js +11 -5
- package/dist/server/piWebPluginService.js.map +1 -1
- package/dist/server/piWebStatus.js +12 -10
- package/dist/server/piWebStatus.js.map +1 -1
- package/dist/server/piWebStatusCache.js +3 -1
- package/dist/server/piWebStatusCache.js.map +1 -1
- package/dist/server/plugins/pluginBackendRegistry.js +229 -4
- package/dist/server/plugins/pluginBackendRegistry.js.map +1 -1
- package/dist/server/plugins/pluginBackendResourceProxyRoutes.js +40 -0
- package/dist/server/plugins/pluginBackendResourceProxyRoutes.js.map +1 -0
- package/dist/server/plugins/pluginBackendResourceResponse.js +84 -0
- package/dist/server/plugins/pluginBackendResourceResponse.js.map +1 -0
- package/dist/server/plugins/projectPluginSettings.js +9 -2
- package/dist/server/plugins/projectPluginSettings.js.map +1 -1
- package/dist/server/plugins/serverPluginCatalogCapability.js +7 -2
- package/dist/server/plugins/serverPluginCatalogCapability.js.map +1 -1
- package/dist/server/plugins/serverPluginPiSessionsCapability.js +16 -3
- package/dist/server/plugins/serverPluginPiSessionsCapability.js.map +1 -1
- package/dist/server/plugins/serverPluginRuntime.js +25 -9
- package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
- package/dist/server/plugins/serverPluginSessionLifecycleCapability.js +87 -0
- package/dist/server/plugins/serverPluginSessionLifecycleCapability.js.map +1 -0
- package/dist/server/requestLogging.js +1 -1
- package/dist/server/requestLogging.js.map +1 -1
- package/dist/server/sessiond/agentHttpDispatcher.js +14 -7
- package/dist/server/sessiond/agentHttpDispatcher.js.map +1 -1
- package/dist/server/sessiond/autoInstallPiPackageSources.js +54 -0
- package/dist/server/sessiond/autoInstallPiPackageSources.js.map +1 -0
- package/dist/server/sessiond/autoInstallPiPackages.js +77 -30
- package/dist/server/sessiond/autoInstallPiPackages.js.map +1 -1
- package/dist/server/sessiond/pluginBackendChannelRoutes.js +3 -13
- package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -1
- package/dist/server/sessiond/pluginBackendResourceRoutes.js +62 -0
- package/dist/server/sessiond/pluginBackendResourceRoutes.js.map +1 -0
- package/dist/server/sessiond/pluginSessionLifecycleRoutes.js +45 -0
- package/dist/server/sessiond/pluginSessionLifecycleRoutes.js.map +1 -0
- package/dist/server/sessiond/sessionProxyRoutes.js +55 -11
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessiond/sessionServiceDependencies.js +3 -0
- package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
- package/dist/server/sessiond.js +46 -15
- package/dist/server/sessiond.js.map +1 -1
- package/dist/server/sessions/askUserDomain.js +24 -2
- package/dist/server/sessions/askUserDomain.js.map +1 -1
- package/dist/server/sessions/askUserTool.js +1 -1
- package/dist/server/sessions/askUserTool.js.map +1 -1
- package/dist/server/sessions/dockerEnvironmentFacts.js +10 -9
- package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
- package/dist/server/sessions/mcpOAuthCredentialAdapter.js +4 -4
- package/dist/server/sessions/mcpOAuthCredentialAdapter.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +490 -257
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/requestHumanInterventionTool.js +27 -0
- package/dist/server/sessions/requestHumanInterventionTool.js.map +1 -0
- package/dist/server/sessions/sendSessionMessageTool.js +32 -0
- package/dist/server/sessions/sendSessionMessageTool.js.map +1 -0
- package/dist/server/sessions/sessionActivityCoordinator.js.map +1 -1
- package/dist/server/sessions/sessionCleanup.js +18 -1
- package/dist/server/sessions/sessionCleanup.js.map +1 -1
- package/dist/server/sessions/sessionCommandService.js +58 -52
- package/dist/server/sessions/sessionCommandService.js.map +1 -1
- package/dist/server/sessions/sessionContentSearch.js +103 -30
- package/dist/server/sessions/sessionContentSearch.js.map +1 -1
- package/dist/server/sessions/sessionIntervention.js +29 -0
- package/dist/server/sessions/sessionIntervention.js.map +1 -0
- package/dist/server/sessions/sessionNameGenerator.js +0 -60
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
- package/dist/server/sessions/sessionNotificationStore.js +2 -1
- package/dist/server/sessions/sessionNotificationStore.js.map +1 -1
- package/dist/server/sessions/sessionRoutes.js +25 -1
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/sessions/sessionSummaryScanner.js +8 -0
- package/dist/server/sessions/sessionSummaryScanner.js.map +1 -1
- package/dist/server/sessions/sessionTreeProjection.js +108 -97
- package/dist/server/sessions/sessionTreeProjection.js.map +1 -1
- package/dist/server/sessions/sessionUiEvents.js +2 -0
- package/dist/server/sessions/sessionUiEvents.js.map +1 -1
- package/dist/server/sessions/sessionUnreadStore.js +11 -1
- package/dist/server/sessions/sessionUnreadStore.js.map +1 -1
- package/dist/server/sessions/spawnSubsessionTool.js +66 -15
- package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
- package/dist/server/sessions/subsessionCompletionDelivery.js +6 -3
- package/dist/server/sessions/subsessionCompletionDelivery.js.map +1 -1
- package/dist/server/sessions/subsessionCompletionInbox.js +6 -9
- package/dist/server/sessions/subsessionCompletionInbox.js.map +1 -1
- package/dist/server/status/machineStatusService.js +15 -3
- package/dist/server/status/machineStatusService.js.map +1 -1
- package/dist/server/storage/navigationPreferenceStore.js +11 -0
- package/dist/server/storage/navigationPreferenceStore.js.map +1 -1
- package/dist/server/storage/sessionPinStore.js +95 -0
- package/dist/server/storage/sessionPinStore.js.map +1 -0
- package/dist/server/terminals/maintenanceExecutionContext.js +18 -0
- package/dist/server/terminals/maintenanceExecutionContext.js.map +1 -0
- package/dist/server/terminals/maintenanceTerminalCapability.js +25 -0
- package/dist/server/terminals/maintenanceTerminalCapability.js.map +1 -0
- package/dist/server/terminals/requiredTerminalService.js.map +1 -1
- package/dist/server/terminals/terminalStatusRoutes.js +22 -0
- package/dist/server/terminals/terminalStatusRoutes.js.map +1 -0
- package/dist/server/themeBootstrap.js +123 -0
- package/dist/server/themeBootstrap.js.map +1 -0
- package/dist/server/themeCatalog.js +206 -0
- package/dist/server/themeCatalog.js.map +1 -0
- package/dist/server/themeMetadata.js +74 -0
- package/dist/server/themeMetadata.js.map +1 -0
- package/dist/server/webSocketBridge.js +16 -12
- package/dist/server/webSocketBridge.js.map +1 -1
- package/dist/server/webSocketPayloadLimit.js +17 -0
- package/dist/server/webSocketPayloadLimit.js.map +1 -0
- package/dist/server/workspaces/effectivePathAccess.js +1 -1
- package/dist/server/workspaces/effectivePathAccess.js.map +1 -1
- package/dist/server/workspaces/projectPiWebConfig.js +30 -7
- package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
- package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js +2 -0
- package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js.map +1 -1
- package/dist/server/workspaces/workspaceProviderRegistry.js +6 -2
- package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
- package/dist/server/workspaces/workspaceRemovalService.js +6 -4
- package/dist/server/workspaces/workspaceRemovalService.js.map +1 -1
- package/dist/server-plugin-api.d.ts +39 -1
- package/dist/server-plugin-api.js +18 -3
- package/dist/server-plugin-api.js.map +1 -1
- package/dist/sessiond/sessionDaemonClient.js +7 -1
- package/dist/sessiond/sessionDaemonClient.js.map +1 -1
- package/dist/sessiond/sessionDaemonTerminalStatus.js +27 -0
- package/dist/sessiond/sessionDaemonTerminalStatus.js.map +1 -0
- package/dist/shared/apiTypes.js +4 -0
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/capabilities.js +6 -0
- package/dist/shared/capabilities.js.map +1 -1
- package/dist/shared/commandOutputPresentation.js +17 -0
- package/dist/shared/commandOutputPresentation.js.map +1 -0
- package/dist/shared/commandResultPresentation.js +51 -0
- package/dist/shared/commandResultPresentation.js.map +1 -0
- package/dist/shared/configResolution.js +99 -0
- package/dist/shared/configResolution.js.map +1 -0
- package/dist/shared/defaultLocalization.js +60 -0
- package/dist/shared/defaultLocalization.js.map +1 -0
- package/dist/shared/federatedRoutes.js +11 -1
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/installationName.js +21 -0
- package/dist/shared/installationName.js.map +1 -0
- package/dist/shared/localization.d.ts +55 -0
- package/dist/shared/localization.js +4 -0
- package/dist/shared/machineStatus.js +2 -0
- package/dist/shared/machineStatus.js.map +1 -1
- package/dist/shared/piWebConfigParsing.js +16 -30
- package/dist/shared/piWebConfigParsing.js.map +1 -1
- package/dist/shared/piWebRuntime.js +17 -0
- package/dist/shared/piWebRuntime.js.map +1 -0
- package/dist/shared/piWebStatusParsing.js +5 -0
- package/dist/shared/piWebStatusParsing.js.map +1 -1
- package/dist/shared/pluginApiTypes.d.ts +35 -7
- package/dist/shared/pluginBackendProtocol.js +24 -0
- package/dist/shared/pluginBackendProtocol.js.map +1 -1
- package/dist/shared/pluginCatalogTypes.d.ts +8 -0
- package/dist/shared/pluginCatalogTypes.js +15 -0
- package/dist/shared/pluginCatalogTypes.js.map +1 -1
- package/dist/shared/pluginResourceMetadata.js +58 -0
- package/dist/shared/pluginResourceMetadata.js.map +1 -0
- package/dist/shared/pluginSessionLifecycleTypes.d.ts +24 -0
- package/dist/shared/pluginSessionLifecycleTypes.js +56 -0
- package/dist/shared/pluginSessionLifecycleTypes.js.map +1 -0
- package/dist/shared/serverNoticePresentation.d.ts +9 -0
- package/dist/shared/serverNoticePresentation.js +12 -0
- package/dist/shared/serverNoticePresentation.js.map +1 -0
- package/dist/shared/sessionActivityPresentation.js +73 -0
- package/dist/shared/sessionActivityPresentation.js.map +1 -0
- package/dist/shared/sessionNotificationPresentation.js +16 -0
- package/dist/shared/sessionNotificationPresentation.js.map +1 -0
- package/dist/shared/terminalCommandRun.js +4 -0
- package/dist/shared/terminalCommandRun.js.map +1 -1
- package/dist/shared/terminalServiceStatus.js +14 -0
- package/dist/shared/terminalServiceStatus.js.map +1 -0
- package/dist/shared/terminalTitlePresentation.d.ts +10 -0
- package/dist/shared/terminalTitlePresentation.js +13 -0
- package/dist/shared/terminalTitlePresentation.js.map +1 -0
- package/dist/shared/themeCatalog.js +2 -0
- package/dist/shared/themeCatalog.js.map +1 -0
- package/dist/shared/themePreference.js +1 -0
- package/dist/shared/themePreference.js.map +1 -1
- package/dist/shared/thinkingLevels.d.ts +29 -0
- package/dist/shared/thinkingLevels.js +6 -4
- package/dist/shared/thinkingLevels.js.map +1 -1
- package/dist/shared/versionCheckPolicy.js +10 -0
- package/dist/shared/versionCheckPolicy.js.map +1 -0
- package/dist/shared/workspaceRemovalPresentation.d.ts +8 -0
- package/dist/shared/workspaceRemovalPresentation.js +10 -0
- package/dist/shared/workspaceRemovalPresentation.js.map +1 -0
- package/docs/README.md +7 -3
- package/docs/assets/pi-web-desktop-graphite.png +0 -0
- package/docs/assets/pi-web-desktop-paper.png +0 -0
- package/docs/assets/pi-web-desktop-pi-web-dark.png +0 -0
- package/docs/assets/pi-web-desktop-pi-web-light.png +0 -0
- package/docs/assets/pi-web-desktop.png +0 -0
- package/docs/assets/pi-web-mobile-graphite.png +0 -0
- package/docs/assets/pi-web-mobile-paper.png +0 -0
- package/docs/assets/pi-web-mobile-pi-web-dark.png +0 -0
- package/docs/assets/pi-web-mobile-pi-web-light.png +0 -0
- package/docs/assets/pi-web-mobile-themes.gif +0 -0
- package/docs/assets/pi-web-mobile.png +0 -0
- package/docs/assets/pi-web-tablet-graphite.png +0 -0
- package/docs/assets/pi-web-tablet-paper.png +0 -0
- package/docs/assets/pi-web-tablet-pi-web-dark.png +0 -0
- package/docs/assets/pi-web-tablet-pi-web-light.png +0 -0
- package/docs/assets/pi-web-tablet-themes.gif +0 -0
- package/docs/assets/pi-web-tablet.png +0 -0
- package/docs/assets/pi-web-themes.gif +0 -0
- package/docs/config.md +193 -55
- package/docs/plugins.md +350 -21
- package/docs/scheduled-tasks.md +127 -0
- package/package.json +43 -19
- package/dist/client/assets/CommandPicker-8oDe6AaV.js +0 -70
- package/dist/client/assets/PiWebApp-TCQVYghs.js +0 -3761
- package/dist/client/assets/SettingsDialog-DFUpwUyp.js +0 -1015
- package/dist/client/assets/index-DzMPXVth.js +0 -2
- package/dist/client/assets/managementEmbed-Bx8Mwzdw.js +0 -2
- package/dist/client/assets/preload-helper-XpATwJ5c.js +0 -1
- package/dist/pi-packages/captains-log/README.md +0 -11
- package/dist/pi-packages/captains-log/dist/browser/channelProtocol.js +0 -29
- package/dist/pi-packages/captains-log/dist/browser/index.js +0 -143
- package/dist/pi-packages/captains-log/dist/browser/markdown.js +0 -68
- package/dist/pi-packages/captains-log/dist/browser/panel.js +0 -148
- package/dist/pi-packages/captains-log/dist/browser/protocol.js +0 -26
- package/dist/pi-packages/captains-log/dist/companion.js +0 -126
- package/dist/pi-packages/captains-log/dist/roundtrip.js +0 -62
- package/dist/pi-packages/captains-log/dist/server.js +0 -210
- package/dist/pi-packages/captains-log/dist/store.js +0 -75
- package/dist/pi-packages/captains-log/docs/usage.md +0 -29
- package/dist/pi-packages/captains-log/i18n.js +0 -7
- package/dist/pi-packages/captains-log/package.json +0 -35
- package/dist/pi-packages/captains-log/tsconfig.json +0 -21
- package/dist/pi-packages/captains-log/vite.config.mjs +0 -28
- package/examples/session-bridge-plugin/README.md +0 -20
- package/examples/session-bridge-plugin/docs/usage.md +0 -54
- package/examples/session-bridge-plugin/package.json +0 -26
- package/examples/session-bridge-plugin/src/browser/index.ts +0 -87
- package/examples/session-bridge-plugin/src/browser/protocol.ts +0 -24
- package/examples/session-bridge-plugin/src/companion.ts +0 -65
- package/examples/session-bridge-plugin/src/reviewRun.ts +0 -39
- package/examples/session-bridge-plugin/src/server.ts +0 -85
- package/examples/session-bridge-plugin/src/store.ts +0 -80
- package/examples/session-bridge-plugin/tsconfig.json +0 -21
- /package/dist/{client/assets/classic-CyM97Akm.css → pi-web-plugins/themes/assets/classic.css} +0 -0
- /package/dist/{client/assets/pi-web-dark-D_KtbM95.css → pi-web-plugins/themes/assets/pi-web-dark.css} +0 -0
- /package/dist/{client/assets/pi-web-light-DSNLMIBI.css → pi-web-plugins/themes/assets/pi-web-light.css} +0 -0
|
@@ -0,0 +1,1803 @@
|
|
|
1
|
+
{
|
|
2
|
+
"core.actions": {
|
|
3
|
+
"actions_show_title": "显示操作",
|
|
4
|
+
"actions_show_description": "打开命令面板",
|
|
5
|
+
"groupGeneral": "通用",
|
|
6
|
+
"prompt_focus_title": "聚焦提示词输入框",
|
|
7
|
+
"machine_add_title": "添加机器",
|
|
8
|
+
"machine_add_description": "注册另一个可从当前网关访问的 PI WEB 运行时",
|
|
9
|
+
"groupMachine": "机器",
|
|
10
|
+
"machine_refresh_title": "刷新所选机器",
|
|
11
|
+
"machine_refresh_description": "检查所选 PI WEB 运行时是否在线",
|
|
12
|
+
"machine_open_description": "在新标签页中直接打开所选远程 PI WEB",
|
|
13
|
+
"machine_remove_title": "移除所选机器",
|
|
14
|
+
"machine_remove_description": "从当前网关移除所选远程机器",
|
|
15
|
+
"project_add_title": "添加项目",
|
|
16
|
+
"groupProject": "项目",
|
|
17
|
+
"mcp_login_title": "MCP 登录",
|
|
18
|
+
"mcp_login_description": "选择所选会话的 MCP 服务器并登录",
|
|
19
|
+
"mcp_logout_title": "MCP 退出登录",
|
|
20
|
+
"mcp_logout_description": "移除本地 MCP 凭据,不禁用服务器,也不撤销提供方的授权",
|
|
21
|
+
"groupPreferences": "偏好设置",
|
|
22
|
+
"settings_open_title": "打开设置",
|
|
23
|
+
"settings_open_description": "管理 PI WEB 配置和键盘快捷键",
|
|
24
|
+
"app_reloadPage_description": "重新加载 PI WEB 浏览器页面",
|
|
25
|
+
"view_chat_title": "转到聊天",
|
|
26
|
+
"groupNavigation": "导航",
|
|
27
|
+
"workspace_delete_description": "执行工作区提供者的移除操作",
|
|
28
|
+
"groupWorkspace": "工作区",
|
|
29
|
+
"session_start_title": "启动会话",
|
|
30
|
+
"session_archive_title": "归档会话",
|
|
31
|
+
"session_archive_description": "归档所选会话",
|
|
32
|
+
"session_delete_title": "删除新会话",
|
|
33
|
+
"session_stop_title": "停止活动工作",
|
|
34
|
+
"selectMcpSession": "请选择一个会话以认证 MCP 服务器。",
|
|
35
|
+
"prompt_focus_description": "将键盘焦点移到消息输入框",
|
|
36
|
+
"machine_open_title": "打开所选机器的 PI WEB",
|
|
37
|
+
"auth_login_title": "配置提供商认证",
|
|
38
|
+
"auth_login_description": "运行 {command},无需绑定会话",
|
|
39
|
+
"auth_logout_title": "移除提供商认证",
|
|
40
|
+
"auth_logout_description": "运行 {command},管理已保存的 Pi 凭据",
|
|
41
|
+
"groupMCP": "MCP",
|
|
42
|
+
"theme_select_title": "选择主题",
|
|
43
|
+
"theme_select_description": "选择 PI WEB 配色主题",
|
|
44
|
+
"app_reloadPage_title": "重新加载整个页面",
|
|
45
|
+
"workspace_delete_title": "移除工作区",
|
|
46
|
+
"groupSession": "会话",
|
|
47
|
+
"model_select_title": "选择模型",
|
|
48
|
+
"model_select_description": "选择当前会话使用的模型",
|
|
49
|
+
"thinking_select_title": "选择思考强度",
|
|
50
|
+
"thinking_select_description": "选择当前会话的思考强度",
|
|
51
|
+
"session_reload_title": "从磁盘重新加载会话",
|
|
52
|
+
"session_reload_description": "关闭所选会话并从会话文件重新打开。刷新 Pi 运行时资源请在输入框中使用 {command}。",
|
|
53
|
+
"session_delete_description": "删除所选的临时新会话"
|
|
54
|
+
},
|
|
55
|
+
"core.messageActions": {
|
|
56
|
+
"fork": "从这条消息分叉",
|
|
57
|
+
"confirmFork": "从这条消息分叉出一个新会话?当前会话保持不变。",
|
|
58
|
+
"back": "回退",
|
|
59
|
+
"copy": "复制消息",
|
|
60
|
+
"copied": "已复制",
|
|
61
|
+
"copyFailed": "无法复制消息到剪贴板。",
|
|
62
|
+
"copyRole": "{role, select, user {复制用户消息} assistant {复制助手消息} other {复制消息}}",
|
|
63
|
+
"copiedRole": "{role, select, user {已复制用户消息} assistant {已复制助手消息} other {已复制消息}}"
|
|
64
|
+
},
|
|
65
|
+
"core.appFeedback": {
|
|
66
|
+
"navigationOrderFailed": "无法读取或保存导航顺序:{detail}",
|
|
67
|
+
"workspaceRemovalUnavailable": "当前工作区不支持移除",
|
|
68
|
+
"activityLabel": "最近在另一个实例中活动",
|
|
69
|
+
"activityNotice": "此会话最近在另一个 PI WEB 实例中活动。请避免在两个实例中同时操作此会话。",
|
|
70
|
+
"dismissActivity": "关闭提示并继续",
|
|
71
|
+
"loadingConversation": "正在加载对话...",
|
|
72
|
+
"workspaceRemovalFailed": "无法启动工作区移除:{detail}",
|
|
73
|
+
"workspaceRemovalRefreshFailed": "工作区已移除,但刷新工作区列表失败:{detail}。正在重试…",
|
|
74
|
+
"removeMachine": "移除 {name}?\n\n此操作仅从当前 PI WEB 网关移除其登记。",
|
|
75
|
+
"actionFailed": "操作失败:{detail}"
|
|
76
|
+
},
|
|
77
|
+
"core.appShell": {
|
|
78
|
+
"navigation": "导航",
|
|
79
|
+
"actions": "操作",
|
|
80
|
+
"showActions": "显示操作",
|
|
81
|
+
"sessions": "会话",
|
|
82
|
+
"chat": "聊天",
|
|
83
|
+
"unread": "{count, number} 个未读",
|
|
84
|
+
"expandNavigation": "展开导航面板",
|
|
85
|
+
"collapseNavigation": "折叠导航面板",
|
|
86
|
+
"expandWorkspace": "展开工作区面板",
|
|
87
|
+
"collapseWorkspace": "折叠工作区面板",
|
|
88
|
+
"resizeHint": "{label}。双击或双击轻触可重置。",
|
|
89
|
+
"resizeSection": "调整{section}高度",
|
|
90
|
+
"projects": "项目",
|
|
91
|
+
"workspaces": "工作区",
|
|
92
|
+
"close": "关闭",
|
|
93
|
+
"noDestinations": "没有匹配的导航目标。",
|
|
94
|
+
"destinationPosition": "{label},第 {index, number} 项,共 {count, number} 项",
|
|
95
|
+
"showAll": "显示全部标签",
|
|
96
|
+
"mobileNavigation": "移动导航",
|
|
97
|
+
"expanded": "展开",
|
|
98
|
+
"collapsed": "折叠",
|
|
99
|
+
"location": "位置",
|
|
100
|
+
"machineSelection": "机器:{label}。打开机器选择。",
|
|
101
|
+
"projectSelection": "项目:{label}。打开项目选择。",
|
|
102
|
+
"workspaceSelection": "工作区:{label}。打开工作区选择。",
|
|
103
|
+
"sessionSelection": "会话:{label}。打开会话选择。",
|
|
104
|
+
"project": "项目",
|
|
105
|
+
"workspace": "工作区",
|
|
106
|
+
"noProjectSelected": "未选择项目",
|
|
107
|
+
"noWorkspaceSelected": "未选择工作区",
|
|
108
|
+
"noSessionSelected": "未选择会话",
|
|
109
|
+
"chooseWorkspace": "选择工作区来使用其工具。",
|
|
110
|
+
"noTools": "没有可用的工作区工具",
|
|
111
|
+
"unavailablePanel": "工作区面板不可用: {id}",
|
|
112
|
+
"loadingProjects": "正在加载项目…",
|
|
113
|
+
"noProjects": "还没有项目",
|
|
114
|
+
"loadingWorkspaces": "正在加载工作区…",
|
|
115
|
+
"preparingTools": "正在为 {project} 准备工作区工具。",
|
|
116
|
+
"noWorkspaces": "未找到工作区",
|
|
117
|
+
"reload": "重新加载整个页面",
|
|
118
|
+
"badge": "{label},{badge}",
|
|
119
|
+
"resizeNavigation": "调整导航面板大小",
|
|
120
|
+
"resizeWorkspace": "调整工作区面板大小",
|
|
121
|
+
"search": "搜索导航",
|
|
122
|
+
"searchPlaceholder": "搜索导航…",
|
|
123
|
+
"pinHint": "将入口固定到标签栏。取消最后一个固定项后显示所有标签。",
|
|
124
|
+
"destinations": "导航入口",
|
|
125
|
+
"pin": "固定 {label}",
|
|
126
|
+
"unpin": "取消固定 {label}",
|
|
127
|
+
"currentLocation": "当前位置",
|
|
128
|
+
"session": "会话",
|
|
129
|
+
"remoteMachine": "{name} · 远端",
|
|
130
|
+
"noProject": "未选择项目",
|
|
131
|
+
"projectDetail": "{name} · {path}",
|
|
132
|
+
"noWorkspace": "未选择工作区",
|
|
133
|
+
"workspaceLabel": "{main, select, yes {{label} · 主工作区 · {path}} other {{label} · {path}}}",
|
|
134
|
+
"workspaceDetail": "{main, select, yes {{label} · 主工作区 · {path}} other {{label} · {path}}}",
|
|
135
|
+
"noSession": "未选择会话",
|
|
136
|
+
"selectWorkspace": "选择工作区",
|
|
137
|
+
"lookingForProjects": "正在查找你已添加到 PI WEB 的项目。",
|
|
138
|
+
"addProjectHint": "通过“操作 → 添加项目”添加文件夹。选择工作区后,此处将显示工作区工具。",
|
|
139
|
+
"selectProject": "选择项目",
|
|
140
|
+
"chooseProject": "从侧边栏选择项目,再选择工作区以使用其工具。",
|
|
141
|
+
"noWorkspacesHint": "{project} 没有可用的工作区。请重新选择或重新添加该项目。",
|
|
142
|
+
"chooseProjectWorkspace": "在 {project} 中选择工作区以使用其工具。"
|
|
143
|
+
},
|
|
144
|
+
"core.promptEditor": {
|
|
145
|
+
"placeholder": "给 pi 发送消息... 使用 / 输入命令,@ 输入已跟踪文件,@ 空格显示所有文件,# 选择模型",
|
|
146
|
+
"message": "给 pi 发送消息",
|
|
147
|
+
"attach": "附加文件",
|
|
148
|
+
"source": "附件来源",
|
|
149
|
+
"photosTitle": "从照片图库选择",
|
|
150
|
+
"cameraTitle": "拍摄新照片",
|
|
151
|
+
"filesTitle": "浏览文档及其他文件",
|
|
152
|
+
"files": "文件",
|
|
153
|
+
"queueTitle": "当前活动结束后排队发送",
|
|
154
|
+
"queue": "排队发送",
|
|
155
|
+
"send": "发送消息",
|
|
156
|
+
"steerTitle": "在下次模型调用前引导当前回复",
|
|
157
|
+
"steer": "引导当前回复",
|
|
158
|
+
"stopTitle": "停止当前工作并清空排队消息",
|
|
159
|
+
"idle": "当前没有运行任务",
|
|
160
|
+
"stop": "停止",
|
|
161
|
+
"noModel": "无模型",
|
|
162
|
+
"thinking": "思考级别:{level}",
|
|
163
|
+
"context": "待发送的插件上下文",
|
|
164
|
+
"remove": "移除 {name}",
|
|
165
|
+
"delivery": "附件投递方式",
|
|
166
|
+
"folder": "保存到 {folder}",
|
|
167
|
+
"file": "文件",
|
|
168
|
+
"readFailed": "读取附件失败。",
|
|
169
|
+
"retry": "消息未提交,上下文已保留,可重试。",
|
|
170
|
+
"submitFailed": "消息未提交:{error}",
|
|
171
|
+
"photos": "照片",
|
|
172
|
+
"camera": "相机",
|
|
173
|
+
"shell": "{excluded, select, yes {Shell 命令 · 不计入上下文} other {Shell 命令}}",
|
|
174
|
+
"compacting": "正在压缩历史 · 消息将加入队列",
|
|
175
|
+
"status": "会话状态",
|
|
176
|
+
"selectModel": "选择模型",
|
|
177
|
+
"attachments": "待发送附件",
|
|
178
|
+
"removeAttachment": "移除附件",
|
|
179
|
+
"deliveryTitle": "附件发送给代理的方式",
|
|
180
|
+
"filesDeliveryTitle": "普通文件将保存到工作区,并在消息中引用",
|
|
181
|
+
"inline": "{available, select, yes {附加到消息} other {附加到消息(仅限图片)}}",
|
|
182
|
+
"fileKind": "{kind, select, tracked {已跟踪} untracked {未跟踪} other {其他}}"
|
|
183
|
+
},
|
|
184
|
+
"core.projectWorkspace": {
|
|
185
|
+
"addProject": "添加项目",
|
|
186
|
+
"closeAdd": "关闭添加项目窗口",
|
|
187
|
+
"trustProject": "信任此项目",
|
|
188
|
+
"learnTrust": "了解项目信任",
|
|
189
|
+
"trustError": "无法检查项目信任状态:{error}。请重试以读取现有的信任决定。",
|
|
190
|
+
"retryTrust": "重试信任检查",
|
|
191
|
+
"folder": "项目文件夹",
|
|
192
|
+
"folderError": "无法读取此机器上的文件夹。请检查连接后重试,或直接输入文件夹路径。",
|
|
193
|
+
"retryFolders": "重新查找文件夹",
|
|
194
|
+
"loadingFolders": "正在加载文件夹…",
|
|
195
|
+
"cancel": "取消",
|
|
196
|
+
"projects": "项目",
|
|
197
|
+
"noProject": "未选择项目",
|
|
198
|
+
"actionsFor": "{name} 的操作",
|
|
199
|
+
"moveUp": "上移",
|
|
200
|
+
"moveDown": "下移",
|
|
201
|
+
"close": "关闭",
|
|
202
|
+
"projectUnread": "此项目中有未读会话",
|
|
203
|
+
"projectTerminal": "项目终端活动中",
|
|
204
|
+
"projectActive": "项目活动中",
|
|
205
|
+
"workspaces": "工作区",
|
|
206
|
+
"noWorkspace": "未选择工作区",
|
|
207
|
+
"workspaceUnread": "此工作区中有未读会话",
|
|
208
|
+
"workspaceTerminal": "工作区终端活动中",
|
|
209
|
+
"workspaceActive": "工作区活动中",
|
|
210
|
+
"deleting": "正在删除…",
|
|
211
|
+
"detailsFor": "{label}的操作和详情",
|
|
212
|
+
"removalProgress": "正在处理工作区",
|
|
213
|
+
"removing": "正在移除…",
|
|
214
|
+
"trusted": "已信任",
|
|
215
|
+
"workspace": "工作区",
|
|
216
|
+
"path": "路径",
|
|
217
|
+
"details": "详情",
|
|
218
|
+
"copyLabel": "复制工作区标签",
|
|
219
|
+
"copyPath": "复制路径",
|
|
220
|
+
"copied": "已复制",
|
|
221
|
+
"trustHelp": "信任项目后,Pi 可以加载该项目的 .pi 设置、扩展、技能和包。扩展及包可以在此机器上执行代码,请仅信任你了解且可信的项目。",
|
|
222
|
+
"localFolders": "本机(运行 PI WEB 的机器)上的文件夹。路径位于该机器,而非浏览器所在设备。",
|
|
223
|
+
"remoteFolders": "远端机器 {machine} 上的文件夹。路径位于该机器,而非浏览器所在设备。",
|
|
224
|
+
"folderPlaceholder": "/path/to/project 或 ~/code/project",
|
|
225
|
+
"noFolders": "没有匹配的文件夹。输入新路径可创建文件夹。",
|
|
226
|
+
"createFolder": "文件夹不存在时创建",
|
|
227
|
+
"projectActions": "项目操作",
|
|
228
|
+
"closeProject": "关闭项目",
|
|
229
|
+
"confirmClose": "关闭 {name}?\n\n此操作仅从 PI WEB 移除项目登记,不会更改项目文件夹。",
|
|
230
|
+
"mainLabel": "{label} · 主工作区",
|
|
231
|
+
"workspaceSummary": "{label} · {path}",
|
|
232
|
+
"workspaceActions": "工作区操作与详情",
|
|
233
|
+
"removeWorkspace": "移除工作区",
|
|
234
|
+
"trustedBusy": "已信任…"
|
|
235
|
+
},
|
|
236
|
+
"core.images": {
|
|
237
|
+
"show": "显示图片",
|
|
238
|
+
"loadingDisabled": "图片加载已禁用",
|
|
239
|
+
"attachedImage": "附件图片",
|
|
240
|
+
"unavailable": "图片不可用",
|
|
241
|
+
"enlarge": "放大{description}",
|
|
242
|
+
"enlargeHint": "点击放大",
|
|
243
|
+
"preview": "图片预览",
|
|
244
|
+
"position": "第{index, number}张,共{count, number}张",
|
|
245
|
+
"close": "关闭图片",
|
|
246
|
+
"previous": "上一张",
|
|
247
|
+
"previousImage": "上一张图片",
|
|
248
|
+
"next": "下一步",
|
|
249
|
+
"nextImage": "下一张图片",
|
|
250
|
+
"enlargeImage": "放大图片"
|
|
251
|
+
},
|
|
252
|
+
"core.pluginRecovery": {
|
|
253
|
+
"source": "PI WEB 插件",
|
|
254
|
+
"remoteSource": "来自 {name} 的 PI WEB 插件",
|
|
255
|
+
"loadFailed": "加载 {source} 失败:{detail}",
|
|
256
|
+
"terminalMissingAfterActivation": "插件激活后必需的终端插件仍不可用。请打开设置查看恢复指引。",
|
|
257
|
+
"terminalUnavailable": "必需的终端插件不可用。请打开设置查看恢复指引。",
|
|
258
|
+
"lifecycleRequired": "来自 {name} 的 PI WEB 插件需要匹配的插件生命周期能力;请更新并重启该机器上的 PI WEB",
|
|
259
|
+
"terminalLoadFailed": "必需的终端插件加载失败:{detail}。请打开设置查看恢复指引。",
|
|
260
|
+
"terminalActivationFailed": "必需的终端插件在浏览器端{phase, select, import {导入} validate {校验} activate {激活} start {启动} dispose {释放} other {激活}}时失败:{detail}。请打开设置查看恢复指引。",
|
|
261
|
+
"remoteTerminalUnavailable": "机器 {id} 上必需的终端插件不可用。请打开设置查看恢复指引。",
|
|
262
|
+
"capabilityLost": "激活后未保留必需的终端浏览器能力",
|
|
263
|
+
"revisionChanged": "激活后必需的终端版本已改变;请重新加载 PI WEB 以启用匹配的新版本",
|
|
264
|
+
"registrationMissing": "必需的终端浏览器注册不可用",
|
|
265
|
+
"declarationMissing": "必需的终端浏览器声明不可用"
|
|
266
|
+
},
|
|
267
|
+
"core.chatChrome": {
|
|
268
|
+
"navigation": "聊天导航",
|
|
269
|
+
"jumpTop": "跳到开头",
|
|
270
|
+
"jumpEnd": "跳到末尾",
|
|
271
|
+
"serverHeading": "排队中的消息",
|
|
272
|
+
"pending": "{count, number} 条待处理",
|
|
273
|
+
"unavailable": "当前运行时无法操作单条排队消息。",
|
|
274
|
+
"clearQueue": "清空队列",
|
|
275
|
+
"clearQueueTitle": "清除排队消息,不停止当前工作",
|
|
276
|
+
"attachmentsTitle": "这条排队消息包含的附件",
|
|
277
|
+
"copyQueue": "复制排队消息",
|
|
278
|
+
"copyTitle": "复制消息",
|
|
279
|
+
"copyFailed": "无法复制消息",
|
|
280
|
+
"recall": "撤回排队消息",
|
|
281
|
+
"recallTitle": "撤回这条消息的文本并清除后续排队消息",
|
|
282
|
+
"remove": "移除排队消息",
|
|
283
|
+
"removeTitle": "仅移除这条消息",
|
|
284
|
+
"compacting": "正在压缩历史记录…",
|
|
285
|
+
"loadingHistory": "正在加载较早消息…",
|
|
286
|
+
"loadHistory": "加载较早消息",
|
|
287
|
+
"scrollHistory": "向上滚动以加载较早消息",
|
|
288
|
+
"anthropicSubscriptionAuth": "正在使用 Anthropic 订阅认证。第三方代理工具使用额外用量,按 token 计费,不计入 Claude 套餐额度。可在 {usageUrl} 管理额外用量。",
|
|
289
|
+
"endTitle": "{state, select, disabled {跳到末尾} following {正在实时跟随 · 跳到末尾} other {跳到末尾并实时跟随}}",
|
|
290
|
+
"followState": "{state, select, disabled {自动跟随已禁用} following {正在实时跟随} other {实时跟随已暂停}}",
|
|
291
|
+
"clientHeading": "等待会话启动后发送",
|
|
292
|
+
"clientDetail": "后端会话就绪后将发送",
|
|
293
|
+
"queueKind": "{kind, select, steer {引导 {index, number}} other {排队 {index, number}}}",
|
|
294
|
+
"attachments": "{count, plural, =0 {附件} other {# 个附件}}",
|
|
295
|
+
"switchTitle": "{kind, select, steer {移到后续消息队列末尾} other {移到引导消息队列末尾}}",
|
|
296
|
+
"switchQueue": "{kind, select, steer {改为排队} other {改为引导}}",
|
|
297
|
+
"minimiseWarnings": "收起警告",
|
|
298
|
+
"minimise": "收起",
|
|
299
|
+
"dismissWarningTitle": "不再显示此警告",
|
|
300
|
+
"dismissWarning": "关闭警告",
|
|
301
|
+
"queuedDialogs": "{count, plural, other {还有 # 个扩展对话框排队中}}",
|
|
302
|
+
"compactionDetail": "代理正在总结较早的上下文。压缩完成前,新提示词将加入队列。",
|
|
303
|
+
"queuedCount": "{count, plural, other {# 条排队消息}}",
|
|
304
|
+
"beginning": "会话开头",
|
|
305
|
+
"range": "正在显示第 {from, number}–{to, number} 条消息,共 {total, number} 条"
|
|
306
|
+
},
|
|
307
|
+
"core.formattedText": {
|
|
308
|
+
"copy": "复制代码块",
|
|
309
|
+
"failed": "复制代码块失败",
|
|
310
|
+
"controls": "代码块操作",
|
|
311
|
+
"table": "表格",
|
|
312
|
+
"copied": "已复制代码块"
|
|
313
|
+
},
|
|
314
|
+
"core.sessionNotifications": {
|
|
315
|
+
"dismissFailed": "关闭通知失败:{detail}",
|
|
316
|
+
"dismissAllFailed": "关闭会话通知失败:{detail}",
|
|
317
|
+
"info": "信息",
|
|
318
|
+
"warning": "警告",
|
|
319
|
+
"error": "错误",
|
|
320
|
+
"heading": "通知({count, number})",
|
|
321
|
+
"dismiss": "关闭通知:{summary}",
|
|
322
|
+
"truncated": "消息已在 {limit, number} KiB 处截断。",
|
|
323
|
+
"expand": "展开通知",
|
|
324
|
+
"collapse": "折叠通知",
|
|
325
|
+
"clear": "清除",
|
|
326
|
+
"announcement": "{severity, select, error {收到错误通知。} warning {收到警告通知。} other {收到信息通知。}}",
|
|
327
|
+
"dismissEmpty": "{severity, select, error {关闭错误通知} warning {关闭警告通知} other {关闭信息通知}}",
|
|
328
|
+
"overflow": "{count, plural, other {还有 # 条较早的通知未显示。}}",
|
|
329
|
+
"clearAll": "清除所有通知",
|
|
330
|
+
"dismissTitle": "关闭通知"
|
|
331
|
+
},
|
|
332
|
+
"core.auth": {
|
|
333
|
+
"close": "关闭",
|
|
334
|
+
"cancel": "取消",
|
|
335
|
+
"subscriptionDetail": "ChatGPT Plus/Pro、Claude Pro/Max 或 GitHub Copilot",
|
|
336
|
+
"selectProvider": "选择提供商认证",
|
|
337
|
+
"selectSubscription": "选择订阅提供商",
|
|
338
|
+
"mcpAuthentication": "MCP 认证",
|
|
339
|
+
"mcpLogin": "MCP 登录",
|
|
340
|
+
"mcpLogout": "MCP 退出登录",
|
|
341
|
+
"loginProvider": "登录 {provider}",
|
|
342
|
+
"startMcpLogin": "登录 MCP 服务器",
|
|
343
|
+
"startMcpLogout": "退出 MCP 服务器登录",
|
|
344
|
+
"startingMcp": "正在启动 MCP 认证…",
|
|
345
|
+
"noProviders": "没有可用提供商。",
|
|
346
|
+
"noMatches": "没有匹配的提供商",
|
|
347
|
+
"approveBrowser": "请在浏览器中批准访问,然后返回此处。",
|
|
348
|
+
"authorizationLink": "打开此授权链接:",
|
|
349
|
+
"authorizationPage": "打开授权页面",
|
|
350
|
+
"cancellationRequested": "已请求取消,正在等待 Pi 结束…",
|
|
351
|
+
"finished": "操作已结束",
|
|
352
|
+
"waiting": "正在等待 Pi…",
|
|
353
|
+
"logoutWarning": "退出登录会移除 Pi 保存的凭据,但不会禁用服务器或撤销提供方的授权。使用这些凭据的其他会话也会受到影响。",
|
|
354
|
+
"reusedCredentials": "未请求浏览器授权。Pi 可能复用了已有凭据,请查看下方结果。",
|
|
355
|
+
"cancelWarning": "Pi 可能已经在完成认证。如果先批准授权、后请求取消,凭据可能已保存。",
|
|
356
|
+
"mcpPasteNote": "如果批准后无法加载重定向页面,请复制浏览器地址栏中的完整 URL 并粘贴到下方。",
|
|
357
|
+
"remotePasteNote": "授权完成后,重定向页面可能无法打开,这是正常现象。请复制浏览器地址栏中的完整 URL,并粘贴到下方输入框。",
|
|
358
|
+
"messages": "认证消息",
|
|
359
|
+
"related": "相关信息",
|
|
360
|
+
"typeSubscription": "订阅",
|
|
361
|
+
"configured": "✓ 已配置",
|
|
362
|
+
"runtime": "✓ 运行时",
|
|
363
|
+
"customKey": "✓ 自定义 key",
|
|
364
|
+
"selectSession": "请选择一个会话以认证 MCP 服务器。",
|
|
365
|
+
"submit": "提交",
|
|
366
|
+
"methodTitle": "配置提供商认证",
|
|
367
|
+
"subscription": "使用订阅",
|
|
368
|
+
"credentials": "使用提供商凭据",
|
|
369
|
+
"credentialsDetail": "在当前 Pi 兼容配置的 auth.json 中配置 API 密钥或提供商专用凭据",
|
|
370
|
+
"selectCredentials": "选择凭据提供商",
|
|
371
|
+
"removeTitle": "移除已保存的提供商认证",
|
|
372
|
+
"mcpLoginProvider": "MCP 登录:{provider}",
|
|
373
|
+
"mcpLogoutProvider": "MCP 退出:{provider}",
|
|
374
|
+
"search": "搜索提供商",
|
|
375
|
+
"noCredentials": "没有已保存的凭据。环境变量和 models.json 设置不受影响。",
|
|
376
|
+
"enterCode": "输入验证码:<codeTag>{code}</codeTag>",
|
|
377
|
+
"startingLogin": "正在启动登录流程…",
|
|
378
|
+
"failed": "认证失败",
|
|
379
|
+
"cancelled": "认证已取消",
|
|
380
|
+
"typeCredentials": "凭据",
|
|
381
|
+
"providerDetail": "{provider} · {type}",
|
|
382
|
+
"environment": "✓ 环境变量",
|
|
383
|
+
"environmentLabel": "✓ 环境变量:{label}",
|
|
384
|
+
"modelsKey": "✓ models.json 密钥",
|
|
385
|
+
"modelsCommand": "✓ models.json 命令",
|
|
386
|
+
"noStoredProvider": "没有 {provider} 的已保存凭据",
|
|
387
|
+
"providerNotFound": "找不到认证提供商:{provider}"
|
|
388
|
+
},
|
|
389
|
+
"core.appActions": {
|
|
390
|
+
"refreshTitle": "刷新当前面板",
|
|
391
|
+
"groupWorkspace": "工作区",
|
|
392
|
+
"groupView": "视图",
|
|
393
|
+
"openNavigationTitle": "打开导航",
|
|
394
|
+
"openNavigationDescription": "搜索目标并管理固定标签",
|
|
395
|
+
"groupNavigation": "导航",
|
|
396
|
+
"focusMachinesTitle": "聚焦机器",
|
|
397
|
+
"focusMachinesDescription": "将键盘焦点移到机器选择器",
|
|
398
|
+
"focusProjectsTitle": "聚焦项目",
|
|
399
|
+
"focusWorkspacesTitle": "聚焦工作区",
|
|
400
|
+
"focusSessionsTitle": "聚焦会话",
|
|
401
|
+
"resetNavigationTitle": "重置导航面板大小",
|
|
402
|
+
"resetNavigationDescription": "将导航面板恢复为默认宽度",
|
|
403
|
+
"resetWorkspaceTitle": "重置工作区面板大小",
|
|
404
|
+
"resetWorkspaceDescription": "将工作区面板恢复为默认宽度",
|
|
405
|
+
"resetAllTitle": "重置面板大小",
|
|
406
|
+
"resetAllDescription": "将所有侧边面板恢复为默认宽度",
|
|
407
|
+
"focusProjectsDescription": "将键盘焦点移到项目列表",
|
|
408
|
+
"focusWorkspacesDescription": "将键盘焦点移到工作区列表",
|
|
409
|
+
"focusSessionsDescription": "将键盘焦点移到会话列表"
|
|
410
|
+
},
|
|
411
|
+
"core.sessionCleanup": {
|
|
412
|
+
"title": "清理会话",
|
|
413
|
+
"eyebrow": "会话",
|
|
414
|
+
"closeCleanup": "关闭清理",
|
|
415
|
+
"cancel": "取消",
|
|
416
|
+
"close": "关闭",
|
|
417
|
+
"preview": "预览",
|
|
418
|
+
"previewing": "正在预览…",
|
|
419
|
+
"run": "执行清理",
|
|
420
|
+
"running": "正在运行…",
|
|
421
|
+
"selectRequiredTitle": "至少选择一个项目才能运行清理",
|
|
422
|
+
"selectRequired": "至少选择一个项目才能运行清理。",
|
|
423
|
+
"stale": "阈值已更改。运行清理前请重新预览。",
|
|
424
|
+
"previewLabel": "清理预览",
|
|
425
|
+
"empty": "没有会话匹配这些阈值。",
|
|
426
|
+
"tableLabel": "清理项目表",
|
|
427
|
+
"cleanupColumn": "清理",
|
|
428
|
+
"archiveColumn": "归档",
|
|
429
|
+
"selectionLabel": "项目选择",
|
|
430
|
+
"selectAll": "全选",
|
|
431
|
+
"deselectAll": "取消全选",
|
|
432
|
+
"selectProject": "清理 {path}",
|
|
433
|
+
"resultLabel": "清理结果",
|
|
434
|
+
"complete": "清理完成",
|
|
435
|
+
"disabled": "请至少启用一项清理操作。",
|
|
436
|
+
"previewFailed": "预览清理失败:{error}",
|
|
437
|
+
"runFailed": "运行清理失败:{error}",
|
|
438
|
+
"actionTitle": "清理会话",
|
|
439
|
+
"actionDescription": "预览并手动清理所选机器上的空闲或已归档会话",
|
|
440
|
+
"intro": "先预览此机器的手动清理结果,再归档闲置会话或永久删除旧归档会话。",
|
|
441
|
+
"previewRequiredTitle": "执行前请先预览清理",
|
|
442
|
+
"previewRequired": "执行前请先预览清理。",
|
|
443
|
+
"archiveEnabled": "归档闲置会话",
|
|
444
|
+
"deleteEnabled": "删除旧归档会话",
|
|
445
|
+
"archiveThreshold": "归档前闲置天数",
|
|
446
|
+
"deleteThreshold": "删除前归档天数",
|
|
447
|
+
"archiveRule": "归档闲置超过指定天数的未归档会话",
|
|
448
|
+
"deleteRule": "删除归档超过指定天数的会话",
|
|
449
|
+
"warning": "<strong>删除不可恢复。</strong>清理只会删除已经归档的会话。",
|
|
450
|
+
"pathColumn": "项目/工作区路径",
|
|
451
|
+
"deleteColumn": "删除归档",
|
|
452
|
+
"totals": "所选总计",
|
|
453
|
+
"skipped": "{count, plural, other {已跳过 # 个忙碌会话。}}",
|
|
454
|
+
"selection": "已选择 {selected, number} / {total, number} 个项目",
|
|
455
|
+
"result": "{archived, plural, other {已归档 # 个会话}};{deleted, plural, other {已永久删除 # 个归档会话。}}",
|
|
456
|
+
"confirm": "{archive, plural, =0 {{delete, plural, =0 {执行清理?} one {执行清理并永久删除 # 个归档会话?} other {执行清理并永久删除 # 个归档会话?}}} one {{delete, plural, =0 {执行清理并归档 {archive, number} 个闲置会话?} one {执行清理、归档 {archive, number} 个闲置会话并永久删除 # 个归档会话?} other {执行清理、归档 {archive, number} 个闲置会话并永久删除 # 个归档会话?}}} other {{delete, plural, =0 {执行清理并归档 {archive, number} 个闲置会话?} one {执行清理、归档 {archive, number} 个闲置会话并永久删除 # 个归档会话?} other {执行清理、归档 {archive, number} 个闲置会话并永久删除 # 个归档会话?}}}}\n\n永久删除仅适用于已归档会话,且无法撤销。",
|
|
457
|
+
"archiveRequired": "必须设置闲置会话归档天数。",
|
|
458
|
+
"archiveInvalid": "闲置会话归档天数必须是非负整数。",
|
|
459
|
+
"deleteRequired": "必须设置归档会话删除天数。",
|
|
460
|
+
"deleteInvalid": "归档会话删除天数必须是非负整数。"
|
|
461
|
+
},
|
|
462
|
+
"core.pendingSession": {
|
|
463
|
+
"newSession": "新会话",
|
|
464
|
+
"creating": "正在创建会话",
|
|
465
|
+
"failed": "会话创建失败",
|
|
466
|
+
"startFailure": "启动会话失败:{detail}",
|
|
467
|
+
"navigationChanged": "会话已启动,但选中完成前导航已改变,请从会话列表选择。",
|
|
468
|
+
"selectionChanged": "会话已启动,但导航完成前选择已改变,请从会话列表选择。",
|
|
469
|
+
"waiting": "等待后端会话就绪",
|
|
470
|
+
"queued": "{count, plural, other {后端会话就绪后将发送 # 条排队消息}}",
|
|
471
|
+
"failedDetail": "{count, plural, =0 {{detail}} other {{detail} · 下方保留了 # 条排队消息}}",
|
|
472
|
+
"queueUnavailable": "后端会话尚未就绪,无法发送排队消息。放弃此次失败的启动前,请先复制消息。",
|
|
473
|
+
"commandInput": "排队命令“{command}”需要输入;请打开会话并重新运行。",
|
|
474
|
+
"selectionFailure": "会话已启动,但无法选择:{detail}",
|
|
475
|
+
"attachments": "[{count, plural, other {# 个附件排队中}}]",
|
|
476
|
+
"namedAttachments": "[{count, plural, other {# 个附件排队中}}:{names}{remaining, plural, =0 {} other {,另有 # 个}}]",
|
|
477
|
+
"promptAttachments": "{text}\n\n{attachments}"
|
|
478
|
+
},
|
|
479
|
+
"core.projectWorkspaceFeedback": {
|
|
480
|
+
"workspaceNotFound": "找不到工作区:{id}",
|
|
481
|
+
"sessionNotFound": "找不到会话:{id}",
|
|
482
|
+
"projectNotFound": "未找到项目",
|
|
483
|
+
"degraded": "工作区权威目录暂不可用",
|
|
484
|
+
"trustUnavailable": "无法保存项目 {id} 的信任选择:主工作区不可用"
|
|
485
|
+
},
|
|
486
|
+
"core.piWebStatus": {
|
|
487
|
+
"checkFailed": "PI WEB 更新检查失败:{detail}",
|
|
488
|
+
"checkSkipped": "离线或版本检查设置禁用了远端版本检查,已跳过 PI WEB 更新检查"
|
|
489
|
+
},
|
|
490
|
+
"core.sessionFeedback": {
|
|
491
|
+
"archiveFailure": "归档失败:{detail}",
|
|
492
|
+
"deleteFailure": "删除失败:{detail}",
|
|
493
|
+
"sessionListRefresh": "无法刷新会话列表,请检查连接后重试。",
|
|
494
|
+
"conversationRefresh": "无法刷新对话,请检查连接后重试。",
|
|
495
|
+
"archivePartialFailure": "{count, plural, other {# 个会话归档失败}}:{details}",
|
|
496
|
+
"deletePartialFailure": "{count, plural, other {# 个会话删除失败}}:{details}"
|
|
497
|
+
},
|
|
498
|
+
"core.sessionTreeSummary": {
|
|
499
|
+
"image": "[图片]",
|
|
500
|
+
"message": "消息",
|
|
501
|
+
"user-message": "用户消息",
|
|
502
|
+
"assistant-response": "助手回复",
|
|
503
|
+
"assistant-error": "助手错误",
|
|
504
|
+
"assistant-aborted": "助手回复已终止",
|
|
505
|
+
"hidden-custom-message": "隐藏的自定义消息",
|
|
506
|
+
"compaction-summary": "上下文压缩摘要",
|
|
507
|
+
"branch-summary": "分支摘要",
|
|
508
|
+
"toolCalls": "工具调用: {names}",
|
|
509
|
+
"shell": "{hasValue, select, yes {Shell:{value}} other {Shell 命令}}",
|
|
510
|
+
"model": "{hasValue, select, yes {模型:{value}} other {模型已变更}}",
|
|
511
|
+
"thinking-level": "{hasValue, select, yes {思考强度:{value}} other {思考强度已变更}}",
|
|
512
|
+
"session-name": "{hasValue, select, yes {会话名称:{value}} other {会话信息已变更}}",
|
|
513
|
+
"label": "{hasValue, select, yes {标签:{value}} other {标签已移除}}",
|
|
514
|
+
"custom-entry": "{hasValue, select, yes {自定义条目:{value}} other {自定义条目}}",
|
|
515
|
+
"entry": "{hasValue, select, yes {条目:{value}} other {其他会话条目}}",
|
|
516
|
+
"toolResult": "{error, select, yes {工具错误} other {工具结果}}{hasName, select, yes {({name})} other {}}{hasContent, select, yes {:{content}} other {}}",
|
|
517
|
+
"customMessage": "自定义消息{hasName, select, yes {({name})} other {}}{hasContent, select, yes {:{content}} other {}}"
|
|
518
|
+
},
|
|
519
|
+
"core.machines": {
|
|
520
|
+
"addTitle": "添加机器",
|
|
521
|
+
"closeAdd": "关闭添加机器窗口",
|
|
522
|
+
"urlLabel": "远程 PI WEB URL",
|
|
523
|
+
"tokenHelp": "如果远端机器需要令牌,请粘贴令牌值,不要包含 Bearer 前缀。",
|
|
524
|
+
"cancel": "取消",
|
|
525
|
+
"saving": "正在保存…",
|
|
526
|
+
"adding": "正在添加…",
|
|
527
|
+
"urlRequired": "必须填写远程 PI WEB URL。",
|
|
528
|
+
"urlInvalid": "请输入包含 http:// 或 https:// 的有效 URL。",
|
|
529
|
+
"urlProtocol": "请使用 http:// 或 https:// URL。",
|
|
530
|
+
"urlCredentials": "机器 URL 中不要包含凭据。",
|
|
531
|
+
"urlQuery": "不要包含查询字符串或片段。",
|
|
532
|
+
"online": "在线",
|
|
533
|
+
"offline": "离线",
|
|
534
|
+
"error": "错误",
|
|
535
|
+
"unknown": "未知",
|
|
536
|
+
"local": "本机 PI WEB",
|
|
537
|
+
"remote": "远程 PI WEB",
|
|
538
|
+
"unread": "此机器上有未读会话",
|
|
539
|
+
"terminal": "机器终端活动中",
|
|
540
|
+
"active": "机器活动中",
|
|
541
|
+
"remove": "移除",
|
|
542
|
+
"machine": "机器",
|
|
543
|
+
"noSelection": "未选择机器",
|
|
544
|
+
"otherTerminal": "其他机器上的终端正在运行",
|
|
545
|
+
"otherActive": "其他机器正在运行",
|
|
546
|
+
"otherUnread": "其他机器上有未读会话",
|
|
547
|
+
"actionsFor": "{name} 的操作",
|
|
548
|
+
"removeNamed": "移除 {name}",
|
|
549
|
+
"switch": "机器:{name}。{status}。切换机器。",
|
|
550
|
+
"editTitle": "编辑本地显示名称",
|
|
551
|
+
"closeEdit": "关闭本地显示名称编辑",
|
|
552
|
+
"urlHelp": "请先输入可访问的基础 URL,包括 http:// 或 https://。",
|
|
553
|
+
"nameLabel": "本地显示名称(可选)",
|
|
554
|
+
"nameHelp": "只更改此处显示的名称。留空以使用远端机器名称。",
|
|
555
|
+
"tokenLabel": "Bearer 令牌(可选)",
|
|
556
|
+
"tokenPlaceholder": "远端机器无需令牌时留空",
|
|
557
|
+
"intro": "输入 URL 后,可填写本地显示名称和 Bearer 令牌。",
|
|
558
|
+
"save": "保存名称",
|
|
559
|
+
"actions": "机器操作",
|
|
560
|
+
"edit": "编辑显示名称",
|
|
561
|
+
"machines": "机器",
|
|
562
|
+
"cannotRemove": "无法移除本机。",
|
|
563
|
+
"subtitle": "{location} · {status}",
|
|
564
|
+
"identity": "{name} · {location} · {status}",
|
|
565
|
+
"reconnecting": "{name} 不可用,正在重连…",
|
|
566
|
+
"refreshFailed": "设置已保存,但刷新机器名称失败:{error}"
|
|
567
|
+
},
|
|
568
|
+
"core.routeFeedback": {
|
|
569
|
+
"machineNotFound": "找不到机器:{id}",
|
|
570
|
+
"projectNotFound": "找不到项目:{id}",
|
|
571
|
+
"remoteMachine": "远程机器",
|
|
572
|
+
"loadingProjects": "正在加载项目…",
|
|
573
|
+
"selectSession": "选择或启动会话。",
|
|
574
|
+
"selectWorkspace": "选择工作区以启动会话。",
|
|
575
|
+
"addProject": "添加项目以启动会话。",
|
|
576
|
+
"selectProject": "选择项目和工作区以开始会话。",
|
|
577
|
+
"unknownView": "未知视图:{view}",
|
|
578
|
+
"reconnecting": "{machine} 不可用,正在重连…{hasDetail, select, yes { {detail}} other {}}",
|
|
579
|
+
"exhausted": "{machine} 仍不可用。{hasDetail, select, yes { {detail}} other {}}"
|
|
580
|
+
},
|
|
581
|
+
"core.workspaceRemoval": {
|
|
582
|
+
"gitAction": "删除工作区",
|
|
583
|
+
"gitConfirmation": "删除工作区 {label}?\n\n将运行 {command} 并删除:\n{path}\n\n不会删除 Git 分支。"
|
|
584
|
+
},
|
|
585
|
+
"core.chatTranscript": {
|
|
586
|
+
"modelAuthRemoved": "{provider}/{model} 的认证已移除。请使用 /model 选择其他模型。",
|
|
587
|
+
"sessionNamingFailed": "会话已创建,但命名失败:{detail}",
|
|
588
|
+
"imagePlaceholder": "[图片]",
|
|
589
|
+
"shellExcluded": "已从上下文中排除\n\n",
|
|
590
|
+
"shellNoOutput": "(无输出)",
|
|
591
|
+
"shellFailed": "Bash 命令失败",
|
|
592
|
+
"shellCancelled": "已取消",
|
|
593
|
+
"shellTruncated": "输出已截断",
|
|
594
|
+
"shellFullOutput": "完整输出:{path}",
|
|
595
|
+
"sources": "来源({count, number})",
|
|
596
|
+
"output": "输出{index, number}",
|
|
597
|
+
"information": "消息信息",
|
|
598
|
+
"actions": "消息操作",
|
|
599
|
+
"noMetadata": "没有可用的 Pi 消息元数据",
|
|
600
|
+
"loadedSkill": "已加载{name}",
|
|
601
|
+
"readSkill": "读取{path}",
|
|
602
|
+
"modelFailure": "{detailed, select, yes {模型响应失败:{detail}} other {模型响应失败:模型返回了错误。}}",
|
|
603
|
+
"shellExit": "退出码 {code}",
|
|
604
|
+
"argsReplacement": "编辑文本替换",
|
|
605
|
+
"argsEdits": "{count, plural, other {# 处编辑}}",
|
|
606
|
+
"argsItems": "{count, plural, other {# 项}}",
|
|
607
|
+
"argsObject": "对象",
|
|
608
|
+
"role": "{role, select, user {用户} assistant {助手} tool {工具} system {系统} bash {shell} other {技能}}",
|
|
609
|
+
"toolOutput": "{named, select, yes {{name} 输出} other {工具输出}}",
|
|
610
|
+
"toolImage": "{named, select, yes {{name} 输出图片 {index, number}/{total, number}} other {工具输出图片 {index, number}/{total, number}}}",
|
|
611
|
+
"sourceHeader": "{named, select, yes {{name} 输出 · {index, number}} other {工具输出 · {index, number}}}",
|
|
612
|
+
"groupLabel": "{live, select, yes {实时事件} other {事件}}",
|
|
613
|
+
"groupSummary": "{kind, select, compaction {{count, plural, other {# 条历史压缩摘要}}} branch {{count, plural, other {# 条分支摘要}}} other {{count, plural, other {# 个事件}} · {roles}}}",
|
|
614
|
+
"roleCount": "{role, select, user {{count, number} 条用户消息} assistant {{count, number} 条助手消息} tool {{count, number} 条工具消息} system {{count, number} 条系统消息} bash {{count, number} 条 shell 消息} other {{count, number} 条技能消息}}",
|
|
615
|
+
"thinking": "思考",
|
|
616
|
+
"skill": "[技能]",
|
|
617
|
+
"toolResult": "{failed, select, yes {{name} 结果 · 失败} other {{name} 结果}}"
|
|
618
|
+
},
|
|
619
|
+
"core.extensionDialogs": {
|
|
620
|
+
"cancel": "取消",
|
|
621
|
+
"yes": "是",
|
|
622
|
+
"no": "否",
|
|
623
|
+
"yourAnswer": "你的回答",
|
|
624
|
+
"send": "发送",
|
|
625
|
+
"sending": "发送中…",
|
|
626
|
+
"answered": "已回答",
|
|
627
|
+
"cancelled": "已取消",
|
|
628
|
+
"timeout": "已超时",
|
|
629
|
+
"aborted": "已中止",
|
|
630
|
+
"session-ended": "会话已结束",
|
|
631
|
+
"hours": "{hours, number} 小时 {minutes, number} 分钟后自动取消",
|
|
632
|
+
"minutes": "{minutes, number} 分 {seconds, number} 秒后自动取消",
|
|
633
|
+
"seconds": "{seconds, number} 秒后自动取消",
|
|
634
|
+
"choices": "选项",
|
|
635
|
+
"dismiss": "关闭",
|
|
636
|
+
"missingAnswer": "已关闭,未作答。",
|
|
637
|
+
"booleanAnswer": "{answer, select, yes {已回答:是} other {已回答:否}}",
|
|
638
|
+
"textAnswer": "已回答:{answer}",
|
|
639
|
+
"emptyAnswer": "已提交空回答。",
|
|
640
|
+
"cancelledSummary": "已关闭,未作答。",
|
|
641
|
+
"timeoutSummary": "对话框超时前未收到回答。",
|
|
642
|
+
"abortedSummary": "运行已结束,此对话框尚未作答。",
|
|
643
|
+
"sessionEndedSummary": "会话已结束,此对话框尚未作答。",
|
|
644
|
+
"imminent": "即将自动取消"
|
|
645
|
+
},
|
|
646
|
+
"core.chatActions": {
|
|
647
|
+
"recallDraft": "撤回消息将替换尚未发送的草稿,是否继续?",
|
|
648
|
+
"backDraft": "回到此处将替换尚未发送的草稿,是否继续?",
|
|
649
|
+
"draftActionPending": "另一项替换草稿的操作正在进行。",
|
|
650
|
+
"historyUnavailable": "会话历史不可用",
|
|
651
|
+
"messageUnavailable": "这条消息已不在当前会话历史中",
|
|
652
|
+
"conversationUnavailable": "此消息所属的对话已不可用。",
|
|
653
|
+
"treeUnavailable": "会话树导航已不可用"
|
|
654
|
+
},
|
|
655
|
+
"core.commandResults": {
|
|
656
|
+
"forkCancelled": "已取消分叉",
|
|
657
|
+
"forked": "会话已分叉",
|
|
658
|
+
"requestExpired": "命令请求已过期",
|
|
659
|
+
"cloneEmpty": "无法克隆:没有当前会话条目",
|
|
660
|
+
"cloneCancelled": "已取消克隆",
|
|
661
|
+
"cloned": "会话已克隆",
|
|
662
|
+
"forkSelect": "从消息分叉",
|
|
663
|
+
"treeActive": "会话活动期间无法打开会话树。请先停止当前活动,再尝试 /tree。",
|
|
664
|
+
"treeEmpty": "无法导航空会话树。",
|
|
665
|
+
"navigationActive": "会话树导航期间无法运行命令。请先停止或完成导航。",
|
|
666
|
+
"unknown": "未知命令:/{command}",
|
|
667
|
+
"named": "会话已命名:{name}",
|
|
668
|
+
"reloadFailed": "重新加载失败:{detail}",
|
|
669
|
+
"treeFailed": "无法打开会话树: {detail}",
|
|
670
|
+
"nameUsage": "用法:/name '<会话名称>'",
|
|
671
|
+
"reloadActive": "会话活动中无法重新加载。请先停止当前活动。",
|
|
672
|
+
"reloadUnavailable": "此会话运行时不支持 /reload。",
|
|
673
|
+
"reloaded": "已重新加载会话运行时资源,包括扩展、技能、提示词模板、主题和上下文/系统提示文件。PI WEB 浏览器插件变更需另行刷新页面。",
|
|
674
|
+
"forkEmpty": "没有可用于分叉的用户消息",
|
|
675
|
+
"treeUnavailable": "此 Pi 运行时不支持会话树导航。",
|
|
676
|
+
"notImplemented": "Web 界面尚未实现 /{command}",
|
|
677
|
+
"replacementActive": "{command, select, fork {会话活动中无法分叉。请先停止当前活动。} other {会话活动中无法克隆。请先停止当前活动。}}",
|
|
678
|
+
"stats": "会话:{sessionId}\n消息:{totalMessages, number}(用户 {userMessages, number},助手 {assistantMessages, number})\n工具调用:{toolCalls, number}\nToken:↑{input, number} ↓{output, number} 总计 {total, number}\n费用:{cost}"
|
|
679
|
+
},
|
|
680
|
+
"core.pickers": {
|
|
681
|
+
"noActions": "未找到操作。",
|
|
682
|
+
"close": "关闭",
|
|
683
|
+
"select": "选择",
|
|
684
|
+
"search": "搜索",
|
|
685
|
+
"noOptions": "没有匹配选项",
|
|
686
|
+
"defaultHelp": "新会话默认",
|
|
687
|
+
"enabled": "已启用",
|
|
688
|
+
"allModels": "全部模型",
|
|
689
|
+
"projectOverride": "项目覆盖",
|
|
690
|
+
"catalogOrder": "按目录顺序显示的全部模型",
|
|
691
|
+
"enabledModels": "已启用模型",
|
|
692
|
+
"selectAll": "全选",
|
|
693
|
+
"deselectAll": "取消全选",
|
|
694
|
+
"workspaceControl": "工作区设置控制模型可用性",
|
|
695
|
+
"unavailableCurrent": "当前模型不可用",
|
|
696
|
+
"updating": "正在更新模型可用性",
|
|
697
|
+
"enableModel": "启用 {model}",
|
|
698
|
+
"remainEnabled": "当前模型必须保持启用",
|
|
699
|
+
"reasoningOff": "不使用推理",
|
|
700
|
+
"actionPalette": "操作面板",
|
|
701
|
+
"searchActions": "搜索操作",
|
|
702
|
+
"searchActionsPlaceholder": "搜索操作…",
|
|
703
|
+
"selectModel": "选择模型",
|
|
704
|
+
"selectThinking": "选择思考强度",
|
|
705
|
+
"searchOptions": "搜索选项",
|
|
706
|
+
"useDefault": "将 {label} 设为新会话默认值",
|
|
707
|
+
"modelScope": "模型范围",
|
|
708
|
+
"overrideNotice": "当前显示工作区 <code>{path}</code> 中的模型。模型可用性选择已禁用。",
|
|
709
|
+
"searchModels": "搜索模型",
|
|
710
|
+
"controlledModel": "{model} 的可用性由工作区设置控制",
|
|
711
|
+
"protectedModel": "无法取消选择当前模型 {model}",
|
|
712
|
+
"disableModel": "禁用 {model}",
|
|
713
|
+
"currentModel": "{model} ✓ 当前",
|
|
714
|
+
"reasoningMinimal": "极简推理(约 {tokens}k token)",
|
|
715
|
+
"reasoningLow": "轻量推理(约 {tokens}k token)",
|
|
716
|
+
"reasoningMedium": "适中推理(约 {tokens}k token)",
|
|
717
|
+
"reasoningHigh": "深度推理(约 {tokens}k token)",
|
|
718
|
+
"reasoningXhigh": "最高强度推理(约 {tokens}k token)"
|
|
719
|
+
},
|
|
720
|
+
"core.toolExecution": {
|
|
721
|
+
"details": "详情",
|
|
722
|
+
"result": "结果",
|
|
723
|
+
"previewDiff": "预览 diff",
|
|
724
|
+
"appliedDiff": "已应用 diff",
|
|
725
|
+
"fullDiff": "完整 diff",
|
|
726
|
+
"copied": "已复制",
|
|
727
|
+
"copyDiff": "复制 diff",
|
|
728
|
+
"showAll": "显示全部 {count, number} 行 diff",
|
|
729
|
+
"status": "{status, select, success {已完成} error {失败} running {运行中} other {等待中}}",
|
|
730
|
+
"targetLabel": "{kind, select, file {文件} command {命令} other {输入}}",
|
|
731
|
+
"targetDescription": "{kind, select, file {文件:{text}} command {命令:{text}} other {输入:{text}}}",
|
|
732
|
+
"edits": "{count, plural, other {# 处编辑}}",
|
|
733
|
+
"mismatch": "实际应用的差异与预览不同。",
|
|
734
|
+
"previewComputed": "编辑预览已生成。",
|
|
735
|
+
"lines": "{count, plural, other {# 行}}",
|
|
736
|
+
"showing": "正在显示 {visible, number} / {total, number} 行"
|
|
737
|
+
},
|
|
738
|
+
"core.deprecatedAgentInputs": {
|
|
739
|
+
"warning": "{machine}:{inputs}。对弃用代理配置输入的支持将在未来版本中移除。",
|
|
740
|
+
"configReplacement": "配置键 {name} 已弃用;请改用 {replacement}",
|
|
741
|
+
"environmentReplacement": "环境变量 {name} 已弃用;请改用 {replacement}",
|
|
742
|
+
"configIgnored": "配置键 {name} 已弃用并被忽略;请移除,无替代项",
|
|
743
|
+
"environmentIgnored": "环境变量 {name} 已弃用并被忽略;请移除,无替代项",
|
|
744
|
+
"configCompatibility": "配置项 {name} 已弃用;没有替代项,请手动移除(本地兼容行为暂时保留)",
|
|
745
|
+
"environmentCompatibility": "环境变量 {name} 已弃用;没有替代项,请手动移除(本地兼容行为暂时保留)"
|
|
746
|
+
},
|
|
747
|
+
"core.settingsDialog": {
|
|
748
|
+
"label": "PI WEB 设置",
|
|
749
|
+
"heading": "设置",
|
|
750
|
+
"general": "通用",
|
|
751
|
+
"sessiond": "会话守护进程",
|
|
752
|
+
"selectedMachine": "所选机器",
|
|
753
|
+
"packages": "Pi 包",
|
|
754
|
+
"plugins": "PI WEB 插件",
|
|
755
|
+
"selectedSession": "所选会话",
|
|
756
|
+
"connected": "已连接",
|
|
757
|
+
"unchecked": "尚未检查连接",
|
|
758
|
+
"unavailable": "不可用",
|
|
759
|
+
"scopeHeading": "哪些设置会改变?",
|
|
760
|
+
"scopeHelp": "代理权限、包、插件、文件访问和上传设置作用于此机器。网关设置、默认主题和键盘快捷键仍保存在当前服务器。浏览器主题、工作区和会话保持不变。",
|
|
761
|
+
"machineUnavailable": "此机器不可用。",
|
|
762
|
+
"connectionHelp": "请检查机器连接,然后刷新设置。",
|
|
763
|
+
"unsaved": "机器设置尚未保存",
|
|
764
|
+
"switchPrompt": "{current} 的文件访问或上传设置尚未保存。是否放弃修改并配置 {next}?",
|
|
765
|
+
"discard": "放弃修改并切换",
|
|
766
|
+
"keepEditing": "继续编辑",
|
|
767
|
+
"configDiagnostic": "配置:{error}",
|
|
768
|
+
"pluginsDiagnostic": "PI WEB 插件:{error}",
|
|
769
|
+
"loadGateway": "加载设置失败:{errors}",
|
|
770
|
+
"loadPackages": "从 {target} 加载 Pi 包失败:{error}",
|
|
771
|
+
"loadPluginSettings": "从 {target} 加载 PI WEB 插件设置失败:{errors}",
|
|
772
|
+
"pluginsSaved": "已保存 {name} 的插件设置。",
|
|
773
|
+
"shortcutsSaved": "键盘设置已保存。",
|
|
774
|
+
"gatewaySaved": "网关设置已保存。地址变更需重启 Web 服务后生效。",
|
|
775
|
+
"operationRunning": "已有设置操作正在运行。",
|
|
776
|
+
"refreshGatewayFailure": "刷新网关 PI WEB 插件失败:{error}",
|
|
777
|
+
"close": "关闭设置",
|
|
778
|
+
"sections": "设置分区",
|
|
779
|
+
"generalDetail": "外观、网关与机器",
|
|
780
|
+
"mcp": "MCP",
|
|
781
|
+
"shortcuts": "键盘快捷键",
|
|
782
|
+
"gateway": "当前网关",
|
|
783
|
+
"configure": "配置机器",
|
|
784
|
+
"machineOption": "{name}{kind, select, local {(当前网关)} other {}}",
|
|
785
|
+
"loadAccess": "从 {target} 加载文件访问/上传配置失败:{error}",
|
|
786
|
+
"loadSessiond": "从 {target} 加载会话守护进程配置失败:{error}",
|
|
787
|
+
"pluginConfigMissing": "尚未加载 {target} 的插件配置。更改设置前请先刷新插件。",
|
|
788
|
+
"savePlugins": "在 {target} 保存 PI WEB 插件配置失败:{error}",
|
|
789
|
+
"saveAccess": "在 {target} 保存机器配置失败:{error}",
|
|
790
|
+
"saveSessiond": "在 {target} 保存会话守护进程配置失败:{error}",
|
|
791
|
+
"loadPluginConfigUnsupported": "从 {target} 加载 PI WEB 插件配置失败:{error};{support}",
|
|
792
|
+
"machineSaved": "已保存 {name} 的机器设置。",
|
|
793
|
+
"themeSaved": "默认主题已保存。浏览器中已保存的选择不变。",
|
|
794
|
+
"themeFailure": "无法保存默认主题:{error}",
|
|
795
|
+
"quietFailure": "无法保存安静模式:{error}",
|
|
796
|
+
"settingsFailure": "无法保存设置:{error}",
|
|
797
|
+
"quietSaved": "{enabled, select, true {已开启安静模式。聊天事件默认收起为一条可展开的“事件”记录。} other {已关闭安静模式。聊天事件将随对话展开。}}",
|
|
798
|
+
"sessiondSaved": "已保存 {name} 的会话守护进程设置。代理权限变更需重启守护进程,重启会中断活跃会话。",
|
|
799
|
+
"packageMutationFailure": "在 {target} {operation, select, install {安装 Pi 包} remove {移除 Pi 包} other {更新 Pi 包}}失败:{error}",
|
|
800
|
+
"refreshPluginsFailure": "配置已保存,但从 {target} 刷新 PI WEB 插件失败:{error}"
|
|
801
|
+
},
|
|
802
|
+
"core.banners": {
|
|
803
|
+
"retry": "重试",
|
|
804
|
+
"dismissError": "关闭错误",
|
|
805
|
+
"dismissWarning": "关闭警告",
|
|
806
|
+
"dismissInfo": "关闭信息"
|
|
807
|
+
},
|
|
808
|
+
"core.sessionNavigation": {
|
|
809
|
+
"sessions": "会话",
|
|
810
|
+
"pinned": "已置顶",
|
|
811
|
+
"recent": "最近会话",
|
|
812
|
+
"archived": "已归档",
|
|
813
|
+
"noSelection": "未选择会话",
|
|
814
|
+
"unread": "{count, number} 个未读",
|
|
815
|
+
"closeCurrentSelection": "关闭当前会话选择",
|
|
816
|
+
"selectCurrent": "选择当前会话",
|
|
817
|
+
"closeArchivedSelection": "关闭已归档会话选择",
|
|
818
|
+
"selectArchived": "选择已归档会话",
|
|
819
|
+
"cleanupPreview": "预览会话清理",
|
|
820
|
+
"cleanup": "清理",
|
|
821
|
+
"startAnother": "再启动一个会话",
|
|
822
|
+
"archive": "归档",
|
|
823
|
+
"markRead": "标记已读",
|
|
824
|
+
"delete": "删除",
|
|
825
|
+
"deleteSelectedTitle": "永久删除所选已归档会话",
|
|
826
|
+
"selectAll": "全选",
|
|
827
|
+
"clearSelected": "清除所选({count, number})",
|
|
828
|
+
"selectSession": "选择 {label}",
|
|
829
|
+
"agentSubsessions": "代理子会话({count, number})",
|
|
830
|
+
"sendingSubsession": "正在发送子会话消息",
|
|
831
|
+
"activeSubsessions": "代理子会话正在运行",
|
|
832
|
+
"unreadSubsession": "子会话有未读活动",
|
|
833
|
+
"restore": "恢复",
|
|
834
|
+
"deleteArchivedTitle": "永久删除已归档会话",
|
|
835
|
+
"deleteArchived": "删除已归档会话",
|
|
836
|
+
"markReadTitle": "将会话标记为已读",
|
|
837
|
+
"markAsRead": "标记为已读",
|
|
838
|
+
"archiveTitle": "归档会话",
|
|
839
|
+
"archiveDescendantsTitle": "归档此会话及其后代会话",
|
|
840
|
+
"detach": "从父会话分离",
|
|
841
|
+
"stopBeforeReload": "请先停止当前会话活动,再从磁盘重新加载",
|
|
842
|
+
"reload": "从磁盘重新加载",
|
|
843
|
+
"pin": "置顶会话",
|
|
844
|
+
"unpin": "取消置顶会话",
|
|
845
|
+
"moveUp": "上移",
|
|
846
|
+
"moveDown": "下移",
|
|
847
|
+
"sending": "正在发送消息",
|
|
848
|
+
"active": "会话活跃",
|
|
849
|
+
"unreadActivity": "未读会话活动",
|
|
850
|
+
"start": "开始新会话",
|
|
851
|
+
"starting": "{count, plural, one {正在启动会话…} other {正在启动 # 个会话…}}",
|
|
852
|
+
"waiting": "{count, plural, other {等待创建新会话}}",
|
|
853
|
+
"sessionMeta": "{state, select, creating {创建中 · } error {错误 · } new {新会话 · } archived {只读 · } other {}}{count, plural, other {# 条消息}}",
|
|
854
|
+
"actions": "会话操作",
|
|
855
|
+
"restoreTitle": "恢复会话",
|
|
856
|
+
"deleteTransient": "删除临时新会话",
|
|
857
|
+
"markUnreadTitle": "将会话标为未读",
|
|
858
|
+
"markAsUnread": "标为未读",
|
|
859
|
+
"archiveDescendants": "连同子孙会话归档({count, number})",
|
|
860
|
+
"reloadTitle": "从磁盘重新加载会话,不刷新 Pi 运行时资源",
|
|
861
|
+
"missingParent": "父会话不可用",
|
|
862
|
+
"missingParentTitle": "此工作区中没有可用的父会话",
|
|
863
|
+
"depth": "深度 {count, number}",
|
|
864
|
+
"confirmArchive": "归档“{label}”及其 {count, plural, other {# 个子孙会话}}?",
|
|
865
|
+
"confirmDelete": "永久删除已归档会话“{label}”?此操作无法撤销。",
|
|
866
|
+
"confirmDeleteSelected": "永久删除 {count, plural, other {# 个所选归档会话}}?此操作无法撤销。"
|
|
867
|
+
},
|
|
868
|
+
"core.conversationLayout": {
|
|
869
|
+
"sending": "正在发送你的消息…",
|
|
870
|
+
"running": "运行中",
|
|
871
|
+
"queued": "正在排队",
|
|
872
|
+
"summary": "{label}:{detail}",
|
|
873
|
+
"compacting": "压缩中",
|
|
874
|
+
"bash": "bash",
|
|
875
|
+
"startup": "{intent, select, create {创建会话} other {打开会话}}:{stage, select, runtime {正在启动 Pi 会话} other {正在加载会话扩展}}{refreshing, select, yes { · 正在刷新提供商模型列表} other {}}"
|
|
876
|
+
},
|
|
877
|
+
"core.runtimeActivity": {
|
|
878
|
+
"model": "模型:{value}",
|
|
879
|
+
"compactionCancelledDetail": "压缩已取消。",
|
|
880
|
+
"automaticCompactionCancelledDetail": "自动压缩已取消。",
|
|
881
|
+
"thinking": "思考:{value}",
|
|
882
|
+
"event": "运行时事件:{value}",
|
|
883
|
+
"compactionFailedDetail": "无法压缩历史,请重试。"
|
|
884
|
+
},
|
|
885
|
+
"core.sessionTree": {
|
|
886
|
+
"eyebrow": "对话历史",
|
|
887
|
+
"intro": "选择要从哪一条历史记录继续。",
|
|
888
|
+
"activePath": "活动路径",
|
|
889
|
+
"activeLeaf": "活动叶节点",
|
|
890
|
+
"noChildren": "没有子条目",
|
|
891
|
+
"collapse": "折叠分支",
|
|
892
|
+
"expand": "展开分支",
|
|
893
|
+
"selected": "所选条目",
|
|
894
|
+
"choose": "选择继续方式",
|
|
895
|
+
"unavailableEntry": "所选历史条目已不可用。",
|
|
896
|
+
"operation": "如何继续?",
|
|
897
|
+
"continueOption": "在当前会话中继续",
|
|
898
|
+
"continueDescription": "在此会话文件内从所选条目创建分支,并保留其他分支。",
|
|
899
|
+
"forkDescription": "创建并切换到单独的会话文件,原会话保持不变。",
|
|
900
|
+
"summary": "已放弃分支摘要",
|
|
901
|
+
"noneDescription": "切换分支且不添加摘要条目。",
|
|
902
|
+
"custom": "按自定义重点生成摘要",
|
|
903
|
+
"customFocus": "自定义摘要重点",
|
|
904
|
+
"forkUser": "新会话会在此用户消息之前分叉,并把消息文本恢复为新会话的提示词草稿。",
|
|
905
|
+
"forkOther": "新会话会包含此条目以及此前的全部历史记录。",
|
|
906
|
+
"continueOther": "从此条目继续后,提示词编辑器将为空。",
|
|
907
|
+
"cancel": "取消",
|
|
908
|
+
"next": "下一步",
|
|
909
|
+
"back": "返回",
|
|
910
|
+
"cancelling": "正在取消…",
|
|
911
|
+
"continueAction": "从此处继续",
|
|
912
|
+
"forkAction": "分叉为新会话",
|
|
913
|
+
"forking": "正在分叉…",
|
|
914
|
+
"continuing": "正在继续…",
|
|
915
|
+
"summarizing": "正在生成摘要…",
|
|
916
|
+
"forkUnavailable": "会话树分叉不可用。请关闭并重新打开 /tree,然后重试。",
|
|
917
|
+
"forkCancelled": "分叉已取消,未创建新会话;所选历史条目未更改。",
|
|
918
|
+
"kind_user": "用户",
|
|
919
|
+
"kind_assistant": "助手",
|
|
920
|
+
"kind_tool_result": "工具结果",
|
|
921
|
+
"kind_custom_message": "自定义消息",
|
|
922
|
+
"kind_branch_summary": "分支摘要",
|
|
923
|
+
"kind_model_change": "模型",
|
|
924
|
+
"kind_label": "标签",
|
|
925
|
+
"kind_custom": "自定义",
|
|
926
|
+
"kind_other": "其他",
|
|
927
|
+
"required": "请输入自定义摘要重点说明。",
|
|
928
|
+
"tooLong": "自定义摘要重点不能超过 {max, number} 个字符。",
|
|
929
|
+
"title": "会话树导航",
|
|
930
|
+
"close": "关闭会话树",
|
|
931
|
+
"markers": "会话树标记",
|
|
932
|
+
"empty": "此会话没有可选择的历史条目。",
|
|
933
|
+
"history": "完整会话历史",
|
|
934
|
+
"forkOption": "分叉到新会话",
|
|
935
|
+
"none": "不生成摘要",
|
|
936
|
+
"default": "生成摘要",
|
|
937
|
+
"defaultDescription": "让 Pi 总结即将离开的上下文。",
|
|
938
|
+
"customDescription": "引导 Pi 关注新分支所需的细节。",
|
|
939
|
+
"sideEffectsTitle": "仅影响对话上下文。",
|
|
940
|
+
"sideEffects": "继续或分叉不会撤销文件修改、Shell 命令、工具调用或其他副作用。",
|
|
941
|
+
"continueUser": "此消息文本将回到输入框,可编辑后在当前会话重新提交。",
|
|
942
|
+
"cancelSummary": "取消摘要生成",
|
|
943
|
+
"navigationUnavailable": "会话树导航不可用。请关闭并重新打开 /tree 后重试。",
|
|
944
|
+
"summaryCancelled": "摘要生成已取消。所选历史条目未改变。",
|
|
945
|
+
"navigationCancelled": "导航已取消。所选历史条目未改变。",
|
|
946
|
+
"abortUnavailable": "此客户端无法取消摘要生成。",
|
|
947
|
+
"aborting": "正在取消摘要生成…",
|
|
948
|
+
"kind_bash": "Shell",
|
|
949
|
+
"kind_compaction": "压缩",
|
|
950
|
+
"kind_thinking_level_change": "思考",
|
|
951
|
+
"kind_session_info": "会话信息",
|
|
952
|
+
"navigationFailed": "无法导航会话历史:{error}",
|
|
953
|
+
"abortFailed": "无法取消摘要生成:{error}",
|
|
954
|
+
"forkFailed": "无法分叉会话历史:{error}",
|
|
955
|
+
"characterCount": "{count, number} / {max, number}"
|
|
956
|
+
},
|
|
957
|
+
"core.serverNotices": {
|
|
958
|
+
"workspaceRemovalCommandFailed": "工作区移除失败,请查看终端输出。",
|
|
959
|
+
"workspaceRemovalFailed": "工作区移除失败:{detail}"
|
|
960
|
+
},
|
|
961
|
+
"core.statusBar": {
|
|
962
|
+
"empty": "尚无会话状态",
|
|
963
|
+
"contextSize": "上下文 {size}",
|
|
964
|
+
"contextUnknown": "上下文未知",
|
|
965
|
+
"contextUsage": "{percent}/{size}",
|
|
966
|
+
"queued": "{count, plural, other {# 条排队中}}",
|
|
967
|
+
"minimizeWarnings": "{count, plural, other {收起 # 条警告}}",
|
|
968
|
+
"showWarnings": "{count, plural, other {在警告区显示 # 条警告}}"
|
|
969
|
+
},
|
|
970
|
+
"core.askUser": {
|
|
971
|
+
"questions": "问题",
|
|
972
|
+
"answers": "回答",
|
|
973
|
+
"skip": "关闭问题",
|
|
974
|
+
"send": "发送回答",
|
|
975
|
+
"sending": "发送中…",
|
|
976
|
+
"custom": "自定义",
|
|
977
|
+
"customAnswer": "自定义回答",
|
|
978
|
+
"keepEditing": "继续编辑",
|
|
979
|
+
"sendAnyway": "仍然发送",
|
|
980
|
+
"multiple": "可选择多项",
|
|
981
|
+
"skipped": "已跳过问题",
|
|
982
|
+
"sent": "回答已发送",
|
|
983
|
+
"superseded": "已被替代",
|
|
984
|
+
"cancelled": "已取消",
|
|
985
|
+
"unanswered": "未回答",
|
|
986
|
+
"draft": "草稿回答 · 未发送",
|
|
987
|
+
"progress": "已回答 {answered, number} / {total, number}",
|
|
988
|
+
"questionNumber": "{number, number}.",
|
|
989
|
+
"addComment": "添加备注",
|
|
990
|
+
"comment": "备注(可选)",
|
|
991
|
+
"closeComment": "关闭备注",
|
|
992
|
+
"closeCommentHint": "关闭备注(保留草稿)",
|
|
993
|
+
"confirmPartial": "确认部分回答",
|
|
994
|
+
"partialPrompt": "不回答以下问题,直接发送?",
|
|
995
|
+
"closed": "已关闭 · {total, plural, other {# 个问题}}",
|
|
996
|
+
"supersededSummary": "此问题组已被新问题组替代。下方回答草稿未发送给模型。",
|
|
997
|
+
"completeSummary": "已回答 {answered, number} / {total, number},全部作答",
|
|
998
|
+
"partialSummary": "已回答 {answered, number} / {total, number};未回答:{ids}",
|
|
999
|
+
"customRecord": "自定义:{answer}",
|
|
1000
|
+
"commentRecord": "备注:{comment}"
|
|
1001
|
+
},
|
|
1002
|
+
"core.content-renderer": {
|
|
1003
|
+
"controls": "代码块操作",
|
|
1004
|
+
"raw": "源码",
|
|
1005
|
+
"rawSource": "原始源码",
|
|
1006
|
+
"copySource": "复制源码",
|
|
1007
|
+
"copyFailed": "复制源码失败",
|
|
1008
|
+
"renderedContent": "渲染内容",
|
|
1009
|
+
"previewFailed": "预览失败。下方显示原始内容。",
|
|
1010
|
+
"copiedSource": "已复制原始内容"
|
|
1011
|
+
},
|
|
1012
|
+
"core.settingsLocalization": {
|
|
1013
|
+
"heading": "语言与区域",
|
|
1014
|
+
"description": "应用于此浏览器的所有机器和项目,不更改你的消息和代码。",
|
|
1015
|
+
"language": "界面语言",
|
|
1016
|
+
"languageHelp": "英文作为回退语言。安装语言包插件可获得更多翻译。",
|
|
1017
|
+
"languageOption": "{name}({code})",
|
|
1018
|
+
"region": "区域格式",
|
|
1019
|
+
"regionHelp": "留空使用默认值,或输入 en-GB、de-DE 等语言标签来设置日期和数字格式。",
|
|
1020
|
+
"useDefault": "使用默认值",
|
|
1021
|
+
"gatewayDefault": "网关默认值:<isolate>{value}</isolate>",
|
|
1022
|
+
"browserDefault": "浏览器默认值:<isolate>{value}</isolate>",
|
|
1023
|
+
"zone": "时区",
|
|
1024
|
+
"zoneHelp": "留空使用默认值,或输入 Asia/Shanghai、UTC 等时区名称。",
|
|
1025
|
+
"hours": "时钟格式",
|
|
1026
|
+
"hoursDefault": "区域默认值",
|
|
1027
|
+
"hoursGatewayDefault": "网关默认值",
|
|
1028
|
+
"h12": "12 小时制",
|
|
1029
|
+
"h23": "24 小时制(0–23)",
|
|
1030
|
+
"apply": "应用到此浏览器",
|
|
1031
|
+
"applying": "正在应用…",
|
|
1032
|
+
"reset": "使用默认值",
|
|
1033
|
+
"saved": "语言与区域已应用。",
|
|
1034
|
+
"preview": "当前格式",
|
|
1035
|
+
"datePreview": "日期与时间:{value}",
|
|
1036
|
+
"numberPreview": "数字:{value}",
|
|
1037
|
+
"invalidLanguage": "请选择有效的语言标签,如 zh-CN。",
|
|
1038
|
+
"invalidRegion": "请输入有效的语言标签(如 zh-CN),或留空。",
|
|
1039
|
+
"invalidZone": "请输入支持的时区名称(如 Asia/Shanghai),或留空。",
|
|
1040
|
+
"invalidHours": "请从列表选择时钟格式。",
|
|
1041
|
+
"applyFailure": "无法应用语言与区域:{diagnostic}"
|
|
1042
|
+
},
|
|
1043
|
+
"core.settingsPlugins": {
|
|
1044
|
+
"heading": "PI WEB 插件",
|
|
1045
|
+
"localTarget": "本机(本地网关)",
|
|
1046
|
+
"incompatibleTitle": "插件生命周期版本不匹配",
|
|
1047
|
+
"incompatibleFallback": "Web 进程与会话守护进程的插件生命周期协议不一致。",
|
|
1048
|
+
"safeTitle": "服务端插件安全启动模式已生效",
|
|
1049
|
+
"pendingTitle": "安全启动模式等待重启",
|
|
1050
|
+
"conflictTitle": "插件 ID 冲突",
|
|
1051
|
+
"diagnosticTitle": "插件发现诊断",
|
|
1052
|
+
"loading": "正在加载 PI WEB 插件…",
|
|
1053
|
+
"requiredAria": "{id} 为必需插件",
|
|
1054
|
+
"enableAria": "启用 {id}",
|
|
1055
|
+
"required": "必需插件",
|
|
1056
|
+
"configuredOnly": "仅有配置",
|
|
1057
|
+
"browserOnly": "仅浏览器",
|
|
1058
|
+
"conflict": "冲突",
|
|
1059
|
+
"showSafe": "检查安全启动模式",
|
|
1060
|
+
"bundledOnly": "仅加载内置服务端插件启动",
|
|
1061
|
+
"noServer": "不加载服务端插件启动(包括终端)",
|
|
1062
|
+
"clearSafe": "清除安全启动模式并正常启动",
|
|
1063
|
+
"description": "管理 <strong>{target}</strong> 上已保存的插件设置并查看运行中的服务端插件。此操作独立于 Pi 包安装。",
|
|
1064
|
+
"refresh": "刷新插件",
|
|
1065
|
+
"refreshTitle": "从 {target} 刷新插件设置与状态",
|
|
1066
|
+
"unavailableConfig": "插件设置不可用。更改前请先选择“刷新插件”重试。",
|
|
1067
|
+
"unavailableTitle": "运行中的插件状态不可用",
|
|
1068
|
+
"unavailableRuntime": "可以编辑已保存的设置,但 PI WEB 无法确认哪些服务端插件正在运行。{detail}",
|
|
1069
|
+
"connectionHelp": "检查机器连接后,选择“刷新插件”。",
|
|
1070
|
+
"incompatible": "{detail} 加载依赖服务端的浏览器插件前,请更新并重启两个组件。",
|
|
1071
|
+
"safeBundled": "仅导入了内置服务端插件。运行 <code>{command}</code> 关闭安全模式。",
|
|
1072
|
+
"safeNone": "未加载任何服务端插件。终端不可用,可通过文件夹工作区排查。运行 <code>{command}</code> 关闭安全模式。",
|
|
1073
|
+
"pendingOff": "已保存的设置关闭了安全模式,但需重启会话守护进程后生效。",
|
|
1074
|
+
"pendingSafe": "已保存的设置要求使用 {mode} 安全模式,将在下次重启会话守护进程后生效。",
|
|
1075
|
+
"restartTitle": "已保存的更改尚未生效",
|
|
1076
|
+
"restart": "重启 {target} 上的会话守护进程以应用服务端插件设置或包更新。重启会中断活跃会话。",
|
|
1077
|
+
"diagnostic": "{snapshot, select, active {运行中的插件} other {可用插件}}:{detail}",
|
|
1078
|
+
"trusted": "<strong>可信代码警告:</strong>PI WEB 插件和 Pi 包可使用你的用户权限运行。请仅启用可信来源的插件。",
|
|
1079
|
+
"savedRestart": "{saved} 服务端插件变更需重启会话守护进程,重启会中断活跃会话。纯浏览器插件变更只需重新加载此标签页。",
|
|
1080
|
+
"savedBrowser": "{saved} 重新加载此浏览器标签页以应用纯浏览器插件变更。",
|
|
1081
|
+
"unavailableList": "{target} 的 PI WEB 插件列表不可用。请选择“刷新插件”重试。",
|
|
1082
|
+
"empty": "{target} 上未发现或激活任何 PI WEB 插件。",
|
|
1083
|
+
"automatic": "更改将自动保存到 {target}。开关表示保存的设置,而非实际运行状态。纯浏览器插件变更需重新加载此标签页;服务端插件变更需重启会话守护进程。",
|
|
1084
|
+
"requiredState": "必需 · 无法在此禁用",
|
|
1085
|
+
"missingState": "已保存设置对应的包不再可用",
|
|
1086
|
+
"disabledState": "已保存:禁用",
|
|
1087
|
+
"enabledState": "已保存:启用",
|
|
1088
|
+
"defaultState": "使用包默认值",
|
|
1089
|
+
"configOnly": "仅有已保存设置 · 未找到包",
|
|
1090
|
+
"provenance": "{source} · {scope, select, bundled {内置} local {本地} user {用户} other {项目}}{machine, select, yes { · 机器专属} other {}}{required, select, yes { · 必需} other {}}{discovered, select, yes {} other { · 仅运行版本}}",
|
|
1091
|
+
"healthDetail": "健康状况:{detail}",
|
|
1092
|
+
"offlineDisable": "离线禁用:<code>{command}</code>",
|
|
1093
|
+
"enable": "启用插件",
|
|
1094
|
+
"statesAria": "{id} 插件状态",
|
|
1095
|
+
"serverState": "{state, select, active {运行中} failed {失败} incompatible {不兼容} disabled {已禁用} missing {未运行} other {运行状态不可用}}",
|
|
1096
|
+
"updatePending": "包更新待生效",
|
|
1097
|
+
"restartRequired": "需要重启",
|
|
1098
|
+
"health": "{status, select, healthy {健康} degraded {已降级} other {不健康}}",
|
|
1099
|
+
"recoveryAria": "离线服务端插件恢复命令",
|
|
1100
|
+
"recoveryTitle": "在 {target} 上离线恢复",
|
|
1101
|
+
"recoveryHelp": "在 {target} 的终端运行这些命令。命令无需连接会话守护进程或加载插件即可修改设置,且不包含机器凭据。",
|
|
1102
|
+
"recoveryRestart": "带 <code>--restart</code> 的命令会重启服务并中断活跃会话。"
|
|
1103
|
+
},
|
|
1104
|
+
"core.settingsPackages": {
|
|
1105
|
+
"relayName": "接力",
|
|
1106
|
+
"workflowsName": "工作流",
|
|
1107
|
+
"heading": "Pi 包",
|
|
1108
|
+
"loading": "正在从 {target} 加载 Pi 包…",
|
|
1109
|
+
"available": "可安装包",
|
|
1110
|
+
"installAria": "安装 {name}",
|
|
1111
|
+
"installing": "正在安装…",
|
|
1112
|
+
"install": "安装",
|
|
1113
|
+
"placeholder": "npm:@scope/package、Git URL 或本地路径",
|
|
1114
|
+
"installTitle": "安装此 Pi 包",
|
|
1115
|
+
"configured": "已配置的 Pi 包",
|
|
1116
|
+
"updateAll": "全部更新",
|
|
1117
|
+
"updating": "正在更新…",
|
|
1118
|
+
"refreshing": "正在从 {target} 刷新 Pi 包…",
|
|
1119
|
+
"updateTitle": "更新此 Pi 包",
|
|
1120
|
+
"update": "更新",
|
|
1121
|
+
"removeAria": "移除 {name}",
|
|
1122
|
+
"removeTitle": "移除此 Pi 包",
|
|
1123
|
+
"removing": "正在移除…",
|
|
1124
|
+
"remove": "移除",
|
|
1125
|
+
"relayDescription": "与工具无关的 Relay 接力方法、预设运行配置和需人工确认的准备提示词,用于串联独立 Pi 会话。",
|
|
1126
|
+
"workflowsDescription": "预设工作流提示词与快捷操作,包括基于当前检出 HEAD 创建命名 Git 工作树的 /worktree。",
|
|
1127
|
+
"description": "管理 <strong>{target}</strong> 上的 Pi 包。在所选机器上安装、移除和更新由 Pi 管理的包。Pi 包可提供扩展、技能、提示词模板、主题、上下文/系统提示文件和 PI WEB 浏览器插件。",
|
|
1128
|
+
"target": "{name}({kind, select, local {本地网关} other {远端机器}})",
|
|
1129
|
+
"refresh": "刷新包列表",
|
|
1130
|
+
"refreshTitle": "从 {target} 刷新 Pi 包",
|
|
1131
|
+
"community": "查找社区插件 ↗",
|
|
1132
|
+
"trusted": "<strong>可信代码警告:</strong>Pi 包和 PI WEB 插件可使用你的用户权限运行。请仅安装和启用可信来源的包及插件。",
|
|
1133
|
+
"unavailable": "{target} 的 Pi 包列表不可用。请选择“刷新包列表”重试。",
|
|
1134
|
+
"availableAria": "可用的已知 Pi 包",
|
|
1135
|
+
"availableHelp": "在 {target} 上安装随 PI WEB 提供的包。",
|
|
1136
|
+
"source": "Pi 包来源",
|
|
1137
|
+
"sourceHelp": "输入 npm 包名、Git URL 或 {target} 上的路径。包安装到 Pi 默认位置,与 <code>{command}</code> 一致。",
|
|
1138
|
+
"validation": "请输入 npm 包名、Git URL 或本地路径。",
|
|
1139
|
+
"configuredHelp": "列表来自 {target} 上 Pi 包管理器的设置。",
|
|
1140
|
+
"updateAllTitle": "更新所有用户范围的 Pi 包",
|
|
1141
|
+
"empty": "{target} 的 Pi 设置中尚未配置包。",
|
|
1142
|
+
"metadata": "{scope, select, project {项目范围} other {用户范围}} · {filtered, select, yes {受当前 Pi 包设置筛选} other {可用于当前 PI WEB 进程}}",
|
|
1143
|
+
"installedPath": "安装路径:<code>{path}</code>",
|
|
1144
|
+
"pathUnknown": "Pi 未报告安装路径",
|
|
1145
|
+
"projectUpdate": "请在项目文件夹内使用 Pi 包管理器更新此项目包。此视图仅更新用户包。",
|
|
1146
|
+
"noUpdates": "尚未配置 Pi 包。",
|
|
1147
|
+
"mixedUpdates": "列表包含项目范围的包时无法全部更新;请逐个更新用户范围的包。",
|
|
1148
|
+
"updateAria": "更新 {name}"
|
|
1149
|
+
},
|
|
1150
|
+
"core.settingsFrame": {
|
|
1151
|
+
"panel": "设置面板",
|
|
1152
|
+
"notices": "设置通知"
|
|
1153
|
+
},
|
|
1154
|
+
"core.settingsTheme": {
|
|
1155
|
+
"heading": "主题",
|
|
1156
|
+
"description": "选择此浏览器使用的主题,或保存网关默认主题。",
|
|
1157
|
+
"local": "正在使用此浏览器保存的主题",
|
|
1158
|
+
"default": "正在使用默认主题",
|
|
1159
|
+
"current": "当前:{name}",
|
|
1160
|
+
"unavailable": "{id}(不可用)",
|
|
1161
|
+
"unavailableHelp": "此主题不可用。请选择可用主题,或启用提供该主题的插件。",
|
|
1162
|
+
"auto": "跟随系统外观",
|
|
1163
|
+
"autoHelp": "主题支持时,在浅色和深色版本之间切换。",
|
|
1164
|
+
"useLocal": "在此浏览器使用",
|
|
1165
|
+
"setDefault": "设为网关默认主题",
|
|
1166
|
+
"useDefault": "使用默认主题",
|
|
1167
|
+
"scope": "设置默认主题不会改变已保存的浏览器选择。使用默认主题将移除此浏览器的覆盖。",
|
|
1168
|
+
"gateway": "默认:{name}{auto, select, yes { · 跟随系统外观} other {}}"
|
|
1169
|
+
},
|
|
1170
|
+
"core.settingsShortcuts": {
|
|
1171
|
+
"loading": "正在加载快捷键…",
|
|
1172
|
+
"unknown": "未知",
|
|
1173
|
+
"sendBehavior": "发送行为",
|
|
1174
|
+
"sendWhileRunning": "代理运行时发送",
|
|
1175
|
+
"steer": "引导(默认)",
|
|
1176
|
+
"followUp": "后续",
|
|
1177
|
+
"otherGroup": "其他",
|
|
1178
|
+
"composerDescription": "仅在消息编辑器内生效的单个组合键。编辑器内优先于全局快捷键。",
|
|
1179
|
+
"noDefaultShortcut": "无默认快捷键",
|
|
1180
|
+
"disabled": "已禁用",
|
|
1181
|
+
"unassigned": "未分配",
|
|
1182
|
+
"shortcut": "快捷键",
|
|
1183
|
+
"shortcutFor": "{title} 的快捷键",
|
|
1184
|
+
"save": "保存",
|
|
1185
|
+
"saveFor": "保存 {title} 的快捷键",
|
|
1186
|
+
"cancelRecording": "取消录制",
|
|
1187
|
+
"record": "录制",
|
|
1188
|
+
"disableFor": "禁用 {title} 的快捷键",
|
|
1189
|
+
"restoreFor": "恢复 {title} 的默认快捷键",
|
|
1190
|
+
"invalidKey": "请按字母、数字、标点、功能键或导航键。按 Esc 取消录制。",
|
|
1191
|
+
"saveFailure": "无法保存快捷键。{diagnostic}",
|
|
1192
|
+
"singleChord": "发送快捷键只能使用一个组合键,不能使用按键序列。",
|
|
1193
|
+
"unsupportedKey": "不支持的快捷键按键:{value}",
|
|
1194
|
+
"anotherAction": "另一项操作",
|
|
1195
|
+
"heading": "键盘快捷键",
|
|
1196
|
+
"description": "输入或录制快捷键,再逐项保存。<code>mod</code> 在 Mac 上表示 ⌘,其他平台表示 Ctrl。可使用 <code>mod+k</code> 或 <code>g p</code> 这样的按键序列。",
|
|
1197
|
+
"refresh": "刷新快捷键",
|
|
1198
|
+
"unavailable": "快捷键设置不可用,请刷新重试。",
|
|
1199
|
+
"details": "快捷键详情",
|
|
1200
|
+
"editableHelp": "无修饰键的应用快捷键仅在编辑区外生效。发送快捷键只接受单组组合键,在输入框中优先。未分配的 Enter 和 Shift+Enter 用于换行。",
|
|
1201
|
+
"screenHelp": "主指针为粗指针或视口宽度不超过 760px 时使用触屏/窄屏设置;其他情况使用桌面设置。",
|
|
1202
|
+
"priorityHelp": "自定义应用快捷键优先于默认值。同级冲突按操作 ID 排序。较短快捷键会阻止具有相同前缀的较长序列。",
|
|
1203
|
+
"configFile": "配置文件",
|
|
1204
|
+
"configHelp": "快捷键覆盖保存到 <code>shortcuts</code>。值为 <code>null</code> 时禁用该操作的快捷键。",
|
|
1205
|
+
"sendHelp": "仅适用于键盘快捷键。引导消息在下次模型调用前发送;后续消息等当前回复结束再发送。",
|
|
1206
|
+
"noActions": "尚未注册操作。",
|
|
1207
|
+
"composerGroup": "聊天输入框",
|
|
1208
|
+
"composerTitle": "发送消息 · {screen, select, mobile {触屏或窄屏} other {桌面}}",
|
|
1209
|
+
"defaultShortcut": "默认:<key>{shortcut}</key>",
|
|
1210
|
+
"state": "{state, select, default {默认} custom {自定义} disabled {已禁用} other {无默认值}}{unsaved, select, yes { · 未保存} other {}}",
|
|
1211
|
+
"recordFor": "{recording, select, yes {取消录制 {title} 的快捷键} other {录制 {title} 的快捷键}}",
|
|
1212
|
+
"disable": "禁用快捷键",
|
|
1213
|
+
"restore": "恢复默认值",
|
|
1214
|
+
"recording": "正在录制快捷键:按下组合键或按键序列。按 Esc 停止。",
|
|
1215
|
+
"recordingSequence": "正在录制快捷键:{shortcut}。继续按键可添加序列,或等待结束。",
|
|
1216
|
+
"empty": "请输入快捷键、选择无,或恢复默认值。",
|
|
1217
|
+
"missingKey": "组合键必须包含一个按键。",
|
|
1218
|
+
"duplicateModifier": "快捷键包含重复的 {value} 修饰键。",
|
|
1219
|
+
"multipleKeys": "每组快捷键只能包含一个非修饰按键。",
|
|
1220
|
+
"inactive": "冲突:未生效,已被 {title} 使用",
|
|
1221
|
+
"conflict": "冲突:优先于 {count, plural, other {# 个操作}}:{names}{more, plural, =0 {} other {,另有 # 个}}"
|
|
1222
|
+
},
|
|
1223
|
+
"core.settingsSessiond": {
|
|
1224
|
+
"heading": "会话守护进程",
|
|
1225
|
+
"selectedMachine": "所选机器",
|
|
1226
|
+
"spawn": "允许代理启动会话",
|
|
1227
|
+
"subsessionsSummary": "子会话",
|
|
1228
|
+
"enabled": "已启用",
|
|
1229
|
+
"disabled": "已禁用",
|
|
1230
|
+
"loading": "正在加载配置…",
|
|
1231
|
+
"description": "配置 {target} 的代理权限。变更需重启该机器的会话守护进程。重启会中断活跃会话和正在执行的任务。",
|
|
1232
|
+
"refresh": "刷新设置",
|
|
1233
|
+
"configFile": "配置文件",
|
|
1234
|
+
"spawnHelp": "代理可通过 <code>{tool}</code> 在同一注册项目的任意工作区启动会话。",
|
|
1235
|
+
"subsessions": "允许代理跟踪子会话",
|
|
1236
|
+
"subsessionsHelp": "代理可通过 <code>{spawn}</code>、<code>{list}</code>、<code>{check}</code> 和 <code>{read}</code> 启动子会话、查看进度并接收完成通知。",
|
|
1237
|
+
"spawnRequired": "需要启用“允许代理启动会话”。",
|
|
1238
|
+
"enableSpawn": "请先启用“允许代理启动会话”。",
|
|
1239
|
+
"sessionMessages": "允许代理向其他会话发送消息",
|
|
1240
|
+
"sessionMessagesHelp": "代理可通过 <code>{tool}</code> 向同一注册项目中的会话发送消息。这不会授予读取结果或控制其他会话的权限。",
|
|
1241
|
+
"sessionMessagesSummary": "会话消息",
|
|
1242
|
+
"askUser": "允许代理向你提问",
|
|
1243
|
+
"askUserHelp": "代理可通过 <code>{tool}</code> 显示问题表单并等待回答。",
|
|
1244
|
+
"envOverride": "<code>{variable}</code> 覆盖了此设置,因此只读。请先在守护进程环境中更改或移除该变量。",
|
|
1245
|
+
"restartHeading": "下次守护进程重启后",
|
|
1246
|
+
"restartHelp": "应用环境覆盖后的已保存代理权限,不代表当前守护进程正在使用的设置。",
|
|
1247
|
+
"spawnSummary": "启动会话",
|
|
1248
|
+
"askUserSummary": "向用户提问",
|
|
1249
|
+
"unavailable": "配置不可用,请刷新设置重试。"
|
|
1250
|
+
},
|
|
1251
|
+
"core.settingsMcp": {
|
|
1252
|
+
"description": "管理所选会话中已启用且支持 OAuth 的 MCP 服务器认证。",
|
|
1253
|
+
"refresh": "刷新服务器",
|
|
1254
|
+
"thisMachine": "此机器",
|
|
1255
|
+
"context": "会话上下文",
|
|
1256
|
+
"contextAria": "MCP 会话上下文",
|
|
1257
|
+
"machine": "机器:",
|
|
1258
|
+
"session": "会话:",
|
|
1259
|
+
"workspace": "工作区:",
|
|
1260
|
+
"loading": "正在加载 MCP 服务器…",
|
|
1261
|
+
"empty": "此会话中没有已启用且支持 OAuth 的 MCP 服务器。",
|
|
1262
|
+
"serversAria": "MCP 服务器",
|
|
1263
|
+
"login": "登录",
|
|
1264
|
+
"logout": "退出登录",
|
|
1265
|
+
"loginAria": "登录 {name}",
|
|
1266
|
+
"logoutAria": "退出 {name} 登录",
|
|
1267
|
+
"loadError": "无法加载 MCP 服务器:{error}",
|
|
1268
|
+
"authError": "无法打开 MCP 认证:{error}",
|
|
1269
|
+
"heading": "MCP",
|
|
1270
|
+
"selectSession": "在 {target} 上选择未归档会话以管理 MCP 认证。关闭设置以选择会话,或通过“配置机器”切换到所选会话的机器。",
|
|
1271
|
+
"logoutHelp": "退出会移除本地 Pi 凭据,不会禁用服务端或撤销提供商侧权限。使用这些凭据的其他会话也会受影响。"
|
|
1272
|
+
},
|
|
1273
|
+
"core.settingsFeedback": {
|
|
1274
|
+
"target": "{kind, select, local {{name}(本地网关)} other {{name}(远端机器)}}",
|
|
1275
|
+
"lifecycleUnavailable": "{name} 不提供插件生命周期诊断。加载依赖服务端的插件前,请更新并重启该机器的 PI WEB。",
|
|
1276
|
+
"packageFollowUp": "{kind, select, local {Pi 包已{action, select, install {安装} remove {移除} other {更新}}。请在每个空闲 PI WEB 会话输入 {reload} 以刷新扩展、技能、提示词和主题。浏览器插件变更需重新加载此标签页;服务端插件变更可能还需重启会话守护进程,重启会中断活跃会话。} other {已在 {name} 上{action, select, install {安装} remove {移除} other {更新}} Pi 包。请在 {name} 的每个空闲 PI WEB 会话输入 {reload} 以刷新扩展、技能、提示词和主题。由 {name} 提供的浏览器插件变更需重新加载此标签页;服务端插件变更可能还需重启会话守护进程,重启会中断活跃会话。}}"
|
|
1277
|
+
},
|
|
1278
|
+
"core.settingsGeneral": {
|
|
1279
|
+
"heading": "通用配置",
|
|
1280
|
+
"selectedMachine": "所选机器",
|
|
1281
|
+
"loadingGateway": "正在加载网关配置…",
|
|
1282
|
+
"gatewayAria": "网关服务器设置",
|
|
1283
|
+
"gateway": "网关服务器",
|
|
1284
|
+
"exists": "已有文件",
|
|
1285
|
+
"port": "端口",
|
|
1286
|
+
"allowedHosts": "允许的主机名",
|
|
1287
|
+
"unsaved": "有未保存的修改",
|
|
1288
|
+
"saving": "正在保存…",
|
|
1289
|
+
"name": "机器名称",
|
|
1290
|
+
"upload": "默认上传文件夹",
|
|
1291
|
+
"attachment": "默认附件文件夹",
|
|
1292
|
+
"noPaths": "未列出",
|
|
1293
|
+
"uploadFolder": "上传文件夹",
|
|
1294
|
+
"attachmentFolder": "附件文件夹",
|
|
1295
|
+
"anyHost": "任意 host",
|
|
1296
|
+
"noHosts": "未列出",
|
|
1297
|
+
"refresh": "刷新设置",
|
|
1298
|
+
"description": "网关设置应用于当前服务器。机器名称、文件访问和上传设置应用于 {target}。",
|
|
1299
|
+
"chatAria": "聊天显示设置",
|
|
1300
|
+
"chat": "聊天显示",
|
|
1301
|
+
"chatHelp": "选择默认展开多少代理活动。",
|
|
1302
|
+
"chatUnavailable": "聊天显示设置不可用,请选择“刷新设置”重试。",
|
|
1303
|
+
"quiet": "安静模式",
|
|
1304
|
+
"quietHelp": "将工具调用、思考和其他代理活动收起为一条可展开的“事件”记录。默认关闭。",
|
|
1305
|
+
"gatewayHelp": "在当前网关保存监听地址、端口和允许的主机。地址或端口更改需重启 Web 服务。",
|
|
1306
|
+
"gatewayUnavailable": "网关设置不可用,请选择“刷新设置”重试。",
|
|
1307
|
+
"gatewayFile": "网关配置文件",
|
|
1308
|
+
"createFile": "保存时将创建此文件",
|
|
1309
|
+
"host": "监听地址",
|
|
1310
|
+
"hostHelp": "Web 服务器绑定的地址。留空使用 PI WEB 默认值。",
|
|
1311
|
+
"portHelp": "TCP 端口范围为 {min, number}–{max, number}。留空使用 PI WEB 默认值。",
|
|
1312
|
+
"hostsList": "仅允许列出的主机",
|
|
1313
|
+
"hostsAll": "允许所有主机",
|
|
1314
|
+
"hostList": "主机列表",
|
|
1315
|
+
"hostsHelp": "每行输入一个主机。“允许所有主机”将禁用主机限制。",
|
|
1316
|
+
"saveGateway": "保存网关服务器配置",
|
|
1317
|
+
"machine": "所选机器设置",
|
|
1318
|
+
"machineHelp": "在 {target} 保存机器名称、文件访问和上传默认值。",
|
|
1319
|
+
"loadingMachine": "正在加载所选机器设置…",
|
|
1320
|
+
"machineUnavailable": "机器设置不可用,请选择“刷新设置”重试。",
|
|
1321
|
+
"machineFile": "所选机器配置文件",
|
|
1322
|
+
"nameHelp": "显示于机器选择器和已安装应用中。留空使用 PI-WEB。",
|
|
1323
|
+
"roots": "全局附加外部路径",
|
|
1324
|
+
"rootsHelp": "在 {target} 上为绝对路径 <code>@</code> 补全和工作区外文件浏览添加根路径。每行输入一个绝对路径、Windows 绝对路径或以 <code>~</code> 开头的路径。留空不会移除机器基础根路径或项目附加路径。",
|
|
1325
|
+
"uploadHelp": "在 {target} 手动上传文件的工作区相对目录。留空继承默认值,内置默认目录为 <code>{folder}</code>。",
|
|
1326
|
+
"attachmentHelp": "在 {target} 保存提示词附件的工作区相对目录。留空继承默认值,内置默认目录为 <code>{folder}</code>。",
|
|
1327
|
+
"saveMachine": "保存机器设置",
|
|
1328
|
+
"configuration": "配置",
|
|
1329
|
+
"override": "环境覆盖",
|
|
1330
|
+
"effectiveGatewayAria": "应用环境覆盖后的网关设置",
|
|
1331
|
+
"effectiveGateway": "覆盖后的网关设置",
|
|
1332
|
+
"effectiveHelp": "环境覆盖优先。地址和端口在 Web 服务重启后生效;这些值不证明当前运行地址。",
|
|
1333
|
+
"defaultValue": "默认 {value}",
|
|
1334
|
+
"effectiveMachineAria": "所选机器的有效文件访问与上传摘要",
|
|
1335
|
+
"effectiveMachine": "所选机器有效设置",
|
|
1336
|
+
"baseRoots": "机器基础根路径",
|
|
1337
|
+
"baseRootsHelp": "通过机器配置文件或 API 编辑基础根路径。",
|
|
1338
|
+
"externalRoots": "全局附加路径",
|
|
1339
|
+
"machineSummaryHelp": "此处仅显示机器级设置,项目可另加外部根路径,但不在此展示。",
|
|
1340
|
+
"unset": "未设置",
|
|
1341
|
+
"denied": "无机器级外部根路径。项目仍可添加外部根路径。",
|
|
1342
|
+
"invalidPort": "端口必须是 {min, number}–{max, number} 之间的整数。",
|
|
1343
|
+
"externalPath": "允许的外部路径必须为绝对路径或以 ~ 开头:{value}",
|
|
1344
|
+
"folderRelative": "{field, select, upload {默认上传目录必须是工作区相对路径。} other {默认附件目录必须是工作区相对路径。}}",
|
|
1345
|
+
"folderTraversal": "{field, select, upload {默认上传目录不得包含路径穿越。} other {默认附件目录不得包含路径穿越。}}"
|
|
1346
|
+
},
|
|
1347
|
+
"plugin:themes:themes": {
|
|
1348
|
+
"darkName": "PI WEB 深色",
|
|
1349
|
+
"darkDescription": "PI WEB 深色配色。",
|
|
1350
|
+
"lightName": "PI WEB 浅色",
|
|
1351
|
+
"lightDescription": "PI WEB 浅色配色。",
|
|
1352
|
+
"classicName": "PI WEB 经典",
|
|
1353
|
+
"classicDescription": "原始 PI WEB 深色配色。",
|
|
1354
|
+
"paperDescription": "白色和中性灰,搭配克制的状态色。",
|
|
1355
|
+
"graphiteDescription": "炭黑和中性灰,搭配克制的状态色。",
|
|
1356
|
+
"piWebPairName": "PI WEB",
|
|
1357
|
+
"piWebPairDescription": "跟随系统浅色/深色偏好使用 PI WEB 主题。",
|
|
1358
|
+
"neutralPairDescription": "跟随系统浅色/深色偏好使用中性灰主题。",
|
|
1359
|
+
"paperName": "纸白",
|
|
1360
|
+
"graphiteName": "石墨",
|
|
1361
|
+
"neutralPairName": "纸白 / 石墨",
|
|
1362
|
+
"materialName": "Material",
|
|
1363
|
+
"materialDescription": "内置 Material 文件图标,可离线使用。"
|
|
1364
|
+
},
|
|
1365
|
+
"plugin:files:files": {
|
|
1366
|
+
"table": "表格",
|
|
1367
|
+
"files": "文件",
|
|
1368
|
+
"goFiles": "转到文件",
|
|
1369
|
+
"refreshFiles": "刷新文件",
|
|
1370
|
+
"navigation": "导航",
|
|
1371
|
+
"workspace": "工作区",
|
|
1372
|
+
"unavailable": "文件不可用。",
|
|
1373
|
+
"hostUnavailable": "当前宿主不支持文件面板。",
|
|
1374
|
+
"capabilityRequired": "文件面板需要工作区文件能力 v1。",
|
|
1375
|
+
"loading": "加载中…",
|
|
1376
|
+
"stale": "数据已过期",
|
|
1377
|
+
"upload": "上传",
|
|
1378
|
+
"refresh": "刷新",
|
|
1379
|
+
"noFiles": "未加载文件。",
|
|
1380
|
+
"drop": "拖放文件以上传",
|
|
1381
|
+
"root": "工作区根目录",
|
|
1382
|
+
"cancel": "取消",
|
|
1383
|
+
"destination": "目标文件夹",
|
|
1384
|
+
"destinationHelp": "相对于工作区的路径,留空则上传到工作区根目录。",
|
|
1385
|
+
"done": "完成",
|
|
1386
|
+
"failed": "失败",
|
|
1387
|
+
"error": "错误",
|
|
1388
|
+
"cancelled": "已取消",
|
|
1389
|
+
"pending": "等待中",
|
|
1390
|
+
"selectFile": "请选择文件。",
|
|
1391
|
+
"loadingFile": "正在加载 {path}…",
|
|
1392
|
+
"empty": "文件为空。",
|
|
1393
|
+
"open": "打开 ↗",
|
|
1394
|
+
"download": "下载",
|
|
1395
|
+
"downloadTitle": "下载 {name}",
|
|
1396
|
+
"view": "查看 {path}",
|
|
1397
|
+
"preview": "预览",
|
|
1398
|
+
"raw": "源码",
|
|
1399
|
+
"rawTruncated": "源码已截断,请下载完整文件。",
|
|
1400
|
+
"previewTruncated": "预览基于截断源码生成,请下载完整文件。",
|
|
1401
|
+
"markdownFailed": "Markdown 预览失败,请查看源码或下载文件。",
|
|
1402
|
+
"previewOf": "{path} 的预览",
|
|
1403
|
+
"pdfHelp": "浏览器的内嵌 PDF 支持有所不同。若未显示,请在新窗口打开或下载。",
|
|
1404
|
+
"previewFailedHelp": "请在新窗口打开或下载文件。",
|
|
1405
|
+
"retry": "重试预览",
|
|
1406
|
+
"unsupported": "此文件类型不支持预览。",
|
|
1407
|
+
"imageOmitted": "[图片已省略{hasAlt, select, yes {:{alt}} other {}}]",
|
|
1408
|
+
"dropHelp": "立即上传到默认文件夹。",
|
|
1409
|
+
"uploadsRegion": "工作区上传",
|
|
1410
|
+
"uploads": "上传",
|
|
1411
|
+
"dismiss": "关闭",
|
|
1412
|
+
"reviewLabel": "确认文件上传",
|
|
1413
|
+
"review": "{count, plural, one {确认文件} other {确认 # 个文件}}",
|
|
1414
|
+
"cancelUpload": "取消上传",
|
|
1415
|
+
"createDirs": "创建父文件夹",
|
|
1416
|
+
"overwrite": "覆盖已有文件",
|
|
1417
|
+
"toUpload": "待上传文件",
|
|
1418
|
+
"fileHeading": "{count, plural, one {文件} other {文件}}",
|
|
1419
|
+
"chooseFile": "请至少选择一个要上传的文件。",
|
|
1420
|
+
"reviewFailed": "无法打开上传确认:{error}",
|
|
1421
|
+
"recent": "最近 {count, number} 批",
|
|
1422
|
+
"uploadingCount": "正在上传 {count, number} 批",
|
|
1423
|
+
"batchTitle": "{status, select, completed {已上传 {count, plural, one {# 个文件} other {# 个文件}}} error {{count, plural, one {# 个文件} other {# 个文件}}上传失败} cancelled {已取消上传 {count, plural, one {# 个文件} other {# 个文件}}} other {正在上传 {count, plural, one {# 个文件} other {# 个文件}}}}",
|
|
1424
|
+
"wrote": "已写入 {path}",
|
|
1425
|
+
"fileProgress": "{path} · {loaded} / {total}",
|
|
1426
|
+
"loadFailed": "无法加载 {path}:{error}",
|
|
1427
|
+
"wrongFile": "无法预览 {selected}:加载的内容属于 {loaded}。",
|
|
1428
|
+
"openTitle": "在新窗口打开",
|
|
1429
|
+
"previewFailed": "无法预览 {path}。",
|
|
1430
|
+
"downloadSize": "下载 {name} · {size}",
|
|
1431
|
+
"tooLarge": "文件过大,无法预览:{size},上限 {limit}。请使用上方下载按钮。",
|
|
1432
|
+
"metadata": "{format} · {size}{truncated, select, yes { · 已截断} other {}}"
|
|
1433
|
+
},
|
|
1434
|
+
"plugin:files:runtime": {
|
|
1435
|
+
"filesCapability": "文件面板需要工作区文件能力 v1,请更新 PI WEB 宿主。",
|
|
1436
|
+
"navigationCapability": "文件面板需要贡献导航 v1,请更新 PI WEB 宿主。",
|
|
1437
|
+
"capabilities": "文件面板需要工作区文件能力 v1 和贡献导航 v1,请更新 PI WEB 宿主。",
|
|
1438
|
+
"uploadCancelled": "上传已取消",
|
|
1439
|
+
"uploadFailed": "工作区上传失败",
|
|
1440
|
+
"notUploaded": "未上传。",
|
|
1441
|
+
"destinationEmpty": "上传目标不能为空",
|
|
1442
|
+
"destinationRelative": "上传目标必须是工作区相对路径",
|
|
1443
|
+
"destinationTraversal": "上传目标不能包含路径穿越",
|
|
1444
|
+
"nameEmpty": "上传文件名不能为空",
|
|
1445
|
+
"nameRelative": "上传文件名必须是工作区相对路径",
|
|
1446
|
+
"nameTraversal": "上传文件名不能包含路径穿越"
|
|
1447
|
+
},
|
|
1448
|
+
"plugin:git:panel": {
|
|
1449
|
+
"goToGit": "转到 Git",
|
|
1450
|
+
"refreshGit": "刷新 Git",
|
|
1451
|
+
"navigation": "导航",
|
|
1452
|
+
"workspace": "工作区",
|
|
1453
|
+
"stale": "数据已过期",
|
|
1454
|
+
"refresh": "刷新",
|
|
1455
|
+
"list": "列表",
|
|
1456
|
+
"tree": "树形",
|
|
1457
|
+
"collapseAll": "全部折叠",
|
|
1458
|
+
"expandAll": "全部展开",
|
|
1459
|
+
"loadingStatus": "正在加载状态…",
|
|
1460
|
+
"statusUnavailable": "状态不可用。",
|
|
1461
|
+
"notRepository": "当前工作区不是 Git 仓库。",
|
|
1462
|
+
"noChanges": "没有更改。",
|
|
1463
|
+
"selectFile": "请选择一个已更改文件。",
|
|
1464
|
+
"loadingDiff": "正在加载差异…",
|
|
1465
|
+
"noStagedDiff": "没有已暂存或未暂存的差异。",
|
|
1466
|
+
"diff": "差异",
|
|
1467
|
+
"noDiff": "没有差异。",
|
|
1468
|
+
"submodule": "子模块",
|
|
1469
|
+
"backendUnavailable": "Git 工作区后端不可用。请更新并重启此机器上的 PI WEB,然后重新加载浏览器。",
|
|
1470
|
+
"git": "Git",
|
|
1471
|
+
"changedFilesView": "已更改文件视图",
|
|
1472
|
+
"unifiedDiff": "统一差异",
|
|
1473
|
+
"detached": "分离",
|
|
1474
|
+
"requestFailed": "无法刷新 Git,请重试。",
|
|
1475
|
+
"diffState": "{staged, select, yes {{truncated, select, yes {已暂存 · 已截断} other {已暂存}}} other {{truncated, select, yes {未暂存 · 已截断} other {未暂存}}}}",
|
|
1476
|
+
"branchSummary": "<name>{branch}</name> · ↑{ahead, number} ↓{behind, number}",
|
|
1477
|
+
"fileState": "{state, select, modified {已修改} added {已添加} deleted {已删除} renamed {已重命名} copied {已复制} untracked {未跟踪} ignored {已忽略} conflicted {冲突} other {未修改}}",
|
|
1478
|
+
"stagedChanges": "已暂存",
|
|
1479
|
+
"unstagedChanges": "未暂存",
|
|
1480
|
+
"bothChanges": "两者",
|
|
1481
|
+
"stagingDetail": "已暂存:{index} · 未暂存:{workingTree}"
|
|
1482
|
+
},
|
|
1483
|
+
"plugin:code-highlight:renderer": {
|
|
1484
|
+
"highlighted": "语法高亮"
|
|
1485
|
+
},
|
|
1486
|
+
"plugin:workspace-tasks:tasks": {
|
|
1487
|
+
"workspaceTasks": "工作区任务",
|
|
1488
|
+
"tasks": "任务",
|
|
1489
|
+
"workspace": "工作区",
|
|
1490
|
+
"openTasks": "打开工作区任务",
|
|
1491
|
+
"openDescription": "打开工作区任务标签页。在 {path} 中配置任务。",
|
|
1492
|
+
"selectWorkspace": "请选择一个工作区。",
|
|
1493
|
+
"refresh": "刷新",
|
|
1494
|
+
"openTerminal": "打开终端",
|
|
1495
|
+
"loading": "正在加载 {path}…",
|
|
1496
|
+
"missing": "这里还没有配置工作区任务。",
|
|
1497
|
+
"unavailable": "无法加载工作区任务。",
|
|
1498
|
+
"refreshHint": "修复 {path} 后点击刷新。",
|
|
1499
|
+
"refreshing": "正在刷新 {path}…",
|
|
1500
|
+
"confirm": "运行 {title}?\n\n{command}",
|
|
1501
|
+
"cancelled": "已取消 {title}。",
|
|
1502
|
+
"starting": "正在启动 {title}…",
|
|
1503
|
+
"selectTerminal": "打开终端前请先选择工作区。",
|
|
1504
|
+
"dispatching": "正在分发…",
|
|
1505
|
+
"run": "运行",
|
|
1506
|
+
"readError": "无法读取 {path}: {error}",
|
|
1507
|
+
"binary": "{path} 必须是文本文件",
|
|
1508
|
+
"truncated": "{path} 过大,内容已被截断",
|
|
1509
|
+
"invalidJson": "JSON 无效: {error}",
|
|
1510
|
+
"configObject": "配置必须是对象",
|
|
1511
|
+
"configTasks": "配置 tasks 必须是数组",
|
|
1512
|
+
"duplicate": "任务 id 重复: {id}",
|
|
1513
|
+
"missingHint": "{path} 是可选文件。如需自定义任务,请在当前工作区创建它。",
|
|
1514
|
+
"empty": "{path} 中尚未定义任务。请添加任务后点击刷新。",
|
|
1515
|
+
"instructions": "任务在专用工作区终端中运行,并切换到该终端。编辑 {path} 后点击刷新。",
|
|
1516
|
+
"taskGone": "此任务已不可用。请刷新后重试。",
|
|
1517
|
+
"loaded": "已加载 {count, plural, one {# 个任务} other {# 个任务}}。",
|
|
1518
|
+
"busy": "另一个任务正在启动。请等待派发完成后重试。",
|
|
1519
|
+
"started": "已启动终端命令“{title}”。",
|
|
1520
|
+
"configVersion": "配置 version 必须为 {version, number}",
|
|
1521
|
+
"taskObject": "任务 {index, number} 必须是对象",
|
|
1522
|
+
"taskId": "任务 {index, number} 的 id 必须匹配 {pattern}",
|
|
1523
|
+
"requiredField": "任务 {index, number} 的 {field} 必须是非空字符串",
|
|
1524
|
+
"optionalField": "任务 {index, number} 的 {field} 如有提供,必须是非空字符串",
|
|
1525
|
+
"taskConfirm": "任务 {index, number} 的 confirm 必须是布尔值"
|
|
1526
|
+
},
|
|
1527
|
+
"plugin:updates:panel": {
|
|
1528
|
+
"updates": "更新",
|
|
1529
|
+
"check": "检查 PI WEB 更新",
|
|
1530
|
+
"restartNeeded": "需要重启",
|
|
1531
|
+
"current": "当前版本",
|
|
1532
|
+
"unknown": "未知",
|
|
1533
|
+
"installationUnknown": "安装方式未知",
|
|
1534
|
+
"piPackage": "Pi 包",
|
|
1535
|
+
"npmGlobal": "全局 npm 包",
|
|
1536
|
+
"local": "本地源码",
|
|
1537
|
+
"dockerDev": "Docker 开发运行时",
|
|
1538
|
+
"docker": "Docker 运行时",
|
|
1539
|
+
"web": "Web/界面",
|
|
1540
|
+
"sessiond": "会话守护进程",
|
|
1541
|
+
"copy": "复制",
|
|
1542
|
+
"run": "运行",
|
|
1543
|
+
"noMessages": "没有 PI WEB 更新或重启消息。",
|
|
1544
|
+
"recommended": "推荐",
|
|
1545
|
+
"recommendedHelp": "运行推荐命令。更新需要在终端确认,可能中断活动会话;若此终端无法安全执行更新,CLI 会给出后续指引。",
|
|
1546
|
+
"additional": "其他命令(可选)",
|
|
1547
|
+
"suggested": "建议命令",
|
|
1548
|
+
"checking": "正在检查 PI WEB 更新状态…",
|
|
1549
|
+
"services": "已安装服务",
|
|
1550
|
+
"skipped": "远程版本检查已跳过。",
|
|
1551
|
+
"update": "更新 PI WEB",
|
|
1552
|
+
"updateOptional": "更新",
|
|
1553
|
+
"restartAll": "全部重启",
|
|
1554
|
+
"restartWeb": "重启 Web/界面",
|
|
1555
|
+
"restartSessiond": "重启会话守护进程",
|
|
1556
|
+
"status": "状态",
|
|
1557
|
+
"info": "信息",
|
|
1558
|
+
"warning": "警告",
|
|
1559
|
+
"error": "错误",
|
|
1560
|
+
"updateTitle": "PI WEB 有可用更新",
|
|
1561
|
+
"webTitle": "Web/UI 服务需要重启",
|
|
1562
|
+
"webBody": "Web/UI 服务正在运行 {running},但已安装 {installed}。重启 Web/UI 服务或进程即可使用已安装版本。",
|
|
1563
|
+
"sessiondTitle": "会话守护进程需要重启",
|
|
1564
|
+
"sessiondBody": "会话守护进程正在运行 {running},但已安装 {installed}。重启会话守护进程服务或进程即可使用已安装版本。",
|
|
1565
|
+
"dockerTitle": "Docker 更新命令可用",
|
|
1566
|
+
"statusUnavailable": "联邦状态不可用",
|
|
1567
|
+
"checkDescription": "忽略发布缓存,立即检查所选机器",
|
|
1568
|
+
"disabled": "更新检查需要较新版本的 PI WEB 网关",
|
|
1569
|
+
"unavailable": "版本未知",
|
|
1570
|
+
"versions": "运行 {running} · 已安装 {installed}",
|
|
1571
|
+
"additionalHelp": "仅在需要单独重启服务等精细控制时使用。",
|
|
1572
|
+
"generated": "生成时间 {time}",
|
|
1573
|
+
"latest": "最新 npm 版本 {version}",
|
|
1574
|
+
"checked": "发布检查时间 {time}",
|
|
1575
|
+
"failed": "远程版本检查失败:{error}",
|
|
1576
|
+
"restart": "重启全部服务",
|
|
1577
|
+
"updateBody": "PI WEB {latest} 已可用{known, select, yes {;已安装版本为 {installed}} other {}}。{command, select, yes {运行更新命令,查看当前安装方式的更新计划并确认。更新可能中断活动会话;若此终端无法安全执行更新,CLI 会提供操作说明。} other {更新 PI WEB,然后重启此安装的服务或进程。}}",
|
|
1578
|
+
"unavailableTitle": "会话守护进程版本未知",
|
|
1579
|
+
"unavailableBody": "上次检查未能确定会话守护进程版本。更新或重启期间可能出现此情况。若持续失败,请检查会话守护进程服务或进程。{hasError, select, yes {上次检查:{error}} other {}}",
|
|
1580
|
+
"dockerBody": "此更新插件来自 Docker PI WEB 运行环境,但网关尚未提供 Docker 状态详情。仍可使用下方 Docker 维护命令。"
|
|
1581
|
+
},
|
|
1582
|
+
"plugin:mermaid:preview": {
|
|
1583
|
+
"diagram": "图表",
|
|
1584
|
+
"rendering": "正在渲染图表…",
|
|
1585
|
+
"frameTitle": "图表"
|
|
1586
|
+
},
|
|
1587
|
+
"plugin:info:panel": {
|
|
1588
|
+
"info": "信息",
|
|
1589
|
+
"copyDiagnostics": "复制 PI WEB 诊断信息",
|
|
1590
|
+
"folder": "文件夹",
|
|
1591
|
+
"current": "当前版本",
|
|
1592
|
+
"restartNeeded": "需要重启",
|
|
1593
|
+
"unavailable": "不可用",
|
|
1594
|
+
"unknown": "未知",
|
|
1595
|
+
"installationUnknown": "安装方式未知",
|
|
1596
|
+
"piPackage": "Pi 包",
|
|
1597
|
+
"globalNpm": "全局 npm 包",
|
|
1598
|
+
"localCheckout": "本地源码",
|
|
1599
|
+
"dockerDev": "Docker 开发运行时",
|
|
1600
|
+
"docker": "Docker 运行时",
|
|
1601
|
+
"localMachine": "本地机器",
|
|
1602
|
+
"remoteMachine": "远程机器",
|
|
1603
|
+
"updateAvailable": "有可用更新",
|
|
1604
|
+
"updateVersion": "有可用更新:{version}",
|
|
1605
|
+
"updateFailed": "更新检查失败:{error}",
|
|
1606
|
+
"updateSkipped": "已跳过更新检查",
|
|
1607
|
+
"upToDate": "已是最新版本",
|
|
1608
|
+
"folderWorkspace": "文件夹工作区",
|
|
1609
|
+
"mainWorkspace": "主工作区",
|
|
1610
|
+
"branch": "分支 {branch}",
|
|
1611
|
+
"gitRepository": "Git 仓库",
|
|
1612
|
+
"gitWorktree": "Git 工作树",
|
|
1613
|
+
"diagnostics": "PI WEB 诊断信息",
|
|
1614
|
+
"statusUnavailable": "状态:不可用",
|
|
1615
|
+
"packageLine": "包:{name}",
|
|
1616
|
+
"componentLine": "{label}:{details}",
|
|
1617
|
+
"generatedLine": "状态生成时间:{date}",
|
|
1618
|
+
"machineLine": "机器:{name}({kind})",
|
|
1619
|
+
"web": "Web/界面",
|
|
1620
|
+
"sessiond": "会话守护进程",
|
|
1621
|
+
"version": "版本",
|
|
1622
|
+
"installedVersion": "安装版本 {version}",
|
|
1623
|
+
"package": "包",
|
|
1624
|
+
"installation": "安装方式",
|
|
1625
|
+
"release": "发布状态",
|
|
1626
|
+
"services": "服务",
|
|
1627
|
+
"machine": "机器",
|
|
1628
|
+
"name": "名称",
|
|
1629
|
+
"type": "类型",
|
|
1630
|
+
"workspace": "工作区",
|
|
1631
|
+
"path": "路径",
|
|
1632
|
+
"copyDescription": "复制此机器的版本、安装及状态详情,可粘贴到问题报告",
|
|
1633
|
+
"packageScope": "{source} · {scope}",
|
|
1634
|
+
"componentDetails": "运行 {running} · 已安装 {installed} · Pi {pi} · {health} · {installation}",
|
|
1635
|
+
"detailPath": "{details} · {path}",
|
|
1636
|
+
"detailError": "{details} · 错误:{error}",
|
|
1637
|
+
"daemonVersion": "会话守护进程运行 {version}",
|
|
1638
|
+
"provider": "提供者:{provider}",
|
|
1639
|
+
"releaseLine": "发布:{summary}",
|
|
1640
|
+
"releaseCheckedLine": "发布:{summary}(检查于 {date})",
|
|
1641
|
+
"noWorkspace": "工作区:尚未选择",
|
|
1642
|
+
"workspaceLine": "工作区:{label} - {path}({flags})",
|
|
1643
|
+
"statusPending": "PI WEB 状态尚不可用,将在后台自动刷新。",
|
|
1644
|
+
"checked": "检查于 {date}",
|
|
1645
|
+
"statusMessages": "{count, plural, one {# 条状态消息,请打开更新面板查看详情。} other {# 条状态消息,请打开更新面板查看详情。}}",
|
|
1646
|
+
"statusGenerated": "状态生成于 {date}",
|
|
1647
|
+
"notGitRepository": "非 Git 仓库"
|
|
1648
|
+
},
|
|
1649
|
+
"plugin:pi-web.terminal:terminal": {
|
|
1650
|
+
"workspaceRemovalTitle": "删除工作区:{label}",
|
|
1651
|
+
"terminal": "终端",
|
|
1652
|
+
"goTerminal": "转到终端",
|
|
1653
|
+
"navigation": "导航",
|
|
1654
|
+
"cancel": "取消命令",
|
|
1655
|
+
"starting": "正在启动命令行…",
|
|
1656
|
+
"continueShell": "在命令行中继续",
|
|
1657
|
+
"noOutput": "没有可复制的终端输出。",
|
|
1658
|
+
"copied": "已复制全部终端输出。",
|
|
1659
|
+
"copyFailed": "无法复制终端输出。",
|
|
1660
|
+
"selectOutput": "选择并复制终端输出",
|
|
1661
|
+
"closeCopy": "关闭终端复制模式",
|
|
1662
|
+
"openCopy": "打开终端复制模式",
|
|
1663
|
+
"done": "完成",
|
|
1664
|
+
"select": "选择",
|
|
1665
|
+
"refresh": "刷新",
|
|
1666
|
+
"copyAll": "全部复制",
|
|
1667
|
+
"keys": "按键",
|
|
1668
|
+
"loading": "正在加载终端…",
|
|
1669
|
+
"failed": "命令执行失败",
|
|
1670
|
+
"connectionFailed": "终端连接失败:{error}",
|
|
1671
|
+
"connectionClosed": "终端连接已关闭:{error}",
|
|
1672
|
+
"sendFailed": "终端发送失败:{error}",
|
|
1673
|
+
"escape.title": "发送 Escape",
|
|
1674
|
+
"tab.title": "发送 Tab",
|
|
1675
|
+
"ctrl-d.title": "发送 EOF / 关闭输入",
|
|
1676
|
+
"arrow-left.aria": "左箭头",
|
|
1677
|
+
"arrow-left.title": "向左移动",
|
|
1678
|
+
"arrow-up.aria": "上箭头",
|
|
1679
|
+
"arrow-up.title": "向上移动 / 上一条命令",
|
|
1680
|
+
"arrow-down.aria": "下箭头",
|
|
1681
|
+
"arrow-down.title": "向下移动 / 下一条命令",
|
|
1682
|
+
"arrow-right.aria": "右箭头",
|
|
1683
|
+
"arrow-right.title": "向右移动",
|
|
1684
|
+
"page-up.aria": "向上翻页",
|
|
1685
|
+
"page-up.title": "向上翻页",
|
|
1686
|
+
"page-down.aria": "向下翻页",
|
|
1687
|
+
"page-down.title": "向下翻页",
|
|
1688
|
+
"delete.aria": "删除",
|
|
1689
|
+
"delete.title": "向前删除",
|
|
1690
|
+
"backspace.aria": "退格",
|
|
1691
|
+
"backspace.title": "退格",
|
|
1692
|
+
"meta-backward-word.title": "向后移动一个单词",
|
|
1693
|
+
"meta-forward-word.title": "向前移动一个单词",
|
|
1694
|
+
"processExited": "进程已退出",
|
|
1695
|
+
"processExitedCode": "进程已退出,退出码 {code, number}",
|
|
1696
|
+
"terminalError": "终端错误:{error}",
|
|
1697
|
+
"prompt": "终端输入",
|
|
1698
|
+
"tooMuchOutput": "输出过多,请手动定位到相应行阅读",
|
|
1699
|
+
"running": "命令正在运行。按 <key>{shortcut}</key> 或使用按钮取消。",
|
|
1700
|
+
"cancelSent": "已发送取消请求…",
|
|
1701
|
+
"preserved": "输出已保留。可继续进入 Shell 查看或执行后续命令。",
|
|
1702
|
+
"returnTerminal": "返回交互终端",
|
|
1703
|
+
"copyControls": "终端复制控件",
|
|
1704
|
+
"snapshot": "快照 · 长按选择文本",
|
|
1705
|
+
"copyMode": "终端复制模式",
|
|
1706
|
+
"selectable": "可选择的终端输出",
|
|
1707
|
+
"hideKeys": "隐藏终端快捷键",
|
|
1708
|
+
"showKeys": "显示终端快捷键",
|
|
1709
|
+
"shellName": "Shell {number, number}",
|
|
1710
|
+
"shell": "+ Shell",
|
|
1711
|
+
"softKeys": "终端快捷键",
|
|
1712
|
+
"succeeded": "命令执行成功",
|
|
1713
|
+
"unavailable": "终端已不可用",
|
|
1714
|
+
"rows": "{count, plural, one {# 行} other {# 行}}",
|
|
1715
|
+
"tab": "{scope, select, maintenance {维护 · <nameTag>{name}</nameTag>} other {<nameTag>{name}</nameTag>}}{status, select, exited { · 已退出} other {}}",
|
|
1716
|
+
"succeededCode": "命令执行成功,退出码 {code, number}",
|
|
1717
|
+
"failedCode": "命令执行失败,退出码 {code, number}",
|
|
1718
|
+
"channelClosed": "终端通道已关闭,代码 {code, number, ::group-off}",
|
|
1719
|
+
"escape.aria": "Escape",
|
|
1720
|
+
"tab.aria": "Tab",
|
|
1721
|
+
"ctrl-c.aria": "Ctrl+C",
|
|
1722
|
+
"ctrl-c.title": "中断前台进程",
|
|
1723
|
+
"ctrl-d.aria": "Ctrl+D",
|
|
1724
|
+
"ctrl-z.aria": "Ctrl+Z",
|
|
1725
|
+
"ctrl-z.title": "挂起前台进程",
|
|
1726
|
+
"ctrl-l.aria": "Ctrl+L",
|
|
1727
|
+
"ctrl-l.title": "清除或重绘终端",
|
|
1728
|
+
"ctrl-r.aria": "Ctrl+R",
|
|
1729
|
+
"ctrl-r.title": "反向搜索历史",
|
|
1730
|
+
"ctrl-u.aria": "Ctrl+U",
|
|
1731
|
+
"ctrl-u.title": "删除至行首",
|
|
1732
|
+
"ctrl-w.aria": "Ctrl+W",
|
|
1733
|
+
"ctrl-w.title": "删除前一个单词",
|
|
1734
|
+
"home.aria": "Home",
|
|
1735
|
+
"home.title": "移至开头",
|
|
1736
|
+
"end.aria": "End",
|
|
1737
|
+
"end.title": "移至结尾",
|
|
1738
|
+
"meta-backward-word.aria": "Meta+B",
|
|
1739
|
+
"meta-forward-word.aria": "Meta+F"
|
|
1740
|
+
},
|
|
1741
|
+
"plugin:relays:browser": {
|
|
1742
|
+
"relays": "接力",
|
|
1743
|
+
"openRelays": "打开工作区接力",
|
|
1744
|
+
"workspace": "工作区",
|
|
1745
|
+
"openRelay": "打开接力 {name},第 {leg} 段",
|
|
1746
|
+
"relayLabel": "接力",
|
|
1747
|
+
"selectWorkspace": "请选择一个工作区。",
|
|
1748
|
+
"refresh": "刷新",
|
|
1749
|
+
"relay": "接力",
|
|
1750
|
+
"containsOpen": "包含当前打开的文档",
|
|
1751
|
+
"scanFailed": "无法扫描工作区接力。",
|
|
1752
|
+
"scanning": "正在扫描 {path}…",
|
|
1753
|
+
"loadingDocuments": "正在加载接力文档…",
|
|
1754
|
+
"relayMissing": "此接力已不存在。",
|
|
1755
|
+
"rescanRoot": "点击“刷新”重新扫描 {path}。",
|
|
1756
|
+
"noDocuments": "此接力还没有文档。",
|
|
1757
|
+
"selectDocument": "请选择文档。",
|
|
1758
|
+
"loadingDocument": "正在加载 {name}…",
|
|
1759
|
+
"readFailed": "无法读取此文档。",
|
|
1760
|
+
"documentMissing": "此文档已不存在。",
|
|
1761
|
+
"binary": "二进制文件:{name}",
|
|
1762
|
+
"noRelays": "此工作区中没有接力。",
|
|
1763
|
+
"invalidLink": "接力链接必须指向规范的工作区相对资料包目录。",
|
|
1764
|
+
"table": "表格",
|
|
1765
|
+
"openDescription": "打开工作区接力面板。接力包保存在 {path}。",
|
|
1766
|
+
"documents": "接力文档",
|
|
1767
|
+
"listFailed": "无法列出此接力包的文档。",
|
|
1768
|
+
"partial": "部分嵌套内容未列出,此接力目录超过面板的深度或数量限制。",
|
|
1769
|
+
"packetHelp": "接力包包含 {charter}(目标)、{status}(当前交接状态)和 {log}(历史)。可选的 {decisions} 用于记录重要决策及理由。",
|
|
1770
|
+
"rescanRelay": "点击刷新重新扫描接力包。",
|
|
1771
|
+
"binaryHelp": "二进制文档无法以文本预览。",
|
|
1772
|
+
"truncated": "此文档已截断,仅显示开头部分。",
|
|
1773
|
+
"emptyHelp": "接力包保存在 {path},当前工作区尚无接力包。"
|
|
1774
|
+
},
|
|
1775
|
+
"plugin:workflows:worktree": {
|
|
1776
|
+
"action": "创建工作树",
|
|
1777
|
+
"actionDescription": "选择基础分支和用途,然后在主工作区发起新对话",
|
|
1778
|
+
"group": "工作流",
|
|
1779
|
+
"disabled": "请先选择 Workflows 后端可用的项目。",
|
|
1780
|
+
"title": "创建工作树",
|
|
1781
|
+
"target": "项目:{project}。将在其主工作区发起新对话,当前对话和草稿保持不变。",
|
|
1782
|
+
"loading": "正在加载分支...",
|
|
1783
|
+
"base": "基础分支",
|
|
1784
|
+
"description": "用途或描述",
|
|
1785
|
+
"descriptionHelp": "代理将据此命名分支和工作树。",
|
|
1786
|
+
"cancel": "取消",
|
|
1787
|
+
"close": "关闭",
|
|
1788
|
+
"required": "请输入基础分支和用途或描述。",
|
|
1789
|
+
"starting": "正在发起新对话...",
|
|
1790
|
+
"opening": "对话已开始,正在打开...",
|
|
1791
|
+
"started": "对话已开始。",
|
|
1792
|
+
"uncertain": "无法确认任务是否已发起。",
|
|
1793
|
+
"workspace": "主工作区:{path}",
|
|
1794
|
+
"loadFailed": "无法加载工作树选项。",
|
|
1795
|
+
"invalidBranches": "Workflows 返回的分支列表无效。",
|
|
1796
|
+
"invalidResponse": "Workflows 返回的响应无效。",
|
|
1797
|
+
"noProject": "请先选择项目。",
|
|
1798
|
+
"noRequests": "Workflows 后端不支持请求。",
|
|
1799
|
+
"baseHelp": "选择本地或远端分支。HEAD 使用主工作区的当前提交。",
|
|
1800
|
+
"openSession": "{error} 请在会话列表中打开会话 {session}。",
|
|
1801
|
+
"checkSessions": "{error} 重试前请先检查会话列表,可能已有会话启动。"
|
|
1802
|
+
}
|
|
1803
|
+
}
|