aimeat 1.2.0
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/dist/.env.example +300 -0
- package/dist/bin/aimeat.d.ts +3 -0
- package/dist/bin/aimeat.d.ts.map +1 -0
- package/dist/bin/aimeat.js +22 -0
- package/dist/bin/aimeat.js.map +1 -0
- package/dist/locales/en.json +4566 -0
- package/dist/locales/fi.json +4566 -0
- package/dist/public/BingSiteAuth.xml +4 -0
- package/dist/public/agent-consent.html +521 -0
- package/dist/public/aimeat-developers.html +679 -0
- package/dist/public/assets/mcp_1_add_custom_connector.png +0 -0
- package/dist/public/assets/mcp_2_connect_disconnect_connector.png +0 -0
- package/dist/public/components/Alert.js +18 -0
- package/dist/public/components/Card.js +19 -0
- package/dist/public/components/CopyButton.js +24 -0
- package/dist/public/components/FormField.js +16 -0
- package/dist/public/components/Modal.js +121 -0
- package/dist/public/components/Spinner.js +11 -0
- package/dist/public/components/Toast.js +26 -0
- package/dist/public/components/index.js +8 -0
- package/dist/public/components/useViewCSS.js +12 -0
- package/dist/public/cortex-bundled/aimeat-canvas.js +1408 -0
- package/dist/public/cortex-bundled/aimeat-canvas.yaml +241 -0
- package/dist/public/cortex-bundled/aimeat-charts.js +455 -0
- package/dist/public/cortex-bundled/aimeat-charts.yaml +178 -0
- package/dist/public/cortex-bundled/aimeat-ui-dialogs.js +667 -0
- package/dist/public/cortex-bundled/aimeat-ui-dialogs.yaml +66 -0
- package/dist/public/cortex-bundled/aimeat-ui-forms.js +1106 -0
- package/dist/public/cortex-bundled/aimeat-ui-forms.yaml +90 -0
- package/dist/public/cortex-bundled/aimeat-ui-layout.js +436 -0
- package/dist/public/cortex-bundled/aimeat-ui-layout.yaml +87 -0
- package/dist/public/cortex-bundled/aimeat-ui-nav.js +722 -0
- package/dist/public/cortex-bundled/aimeat-ui-nav.yaml +73 -0
- package/dist/public/cortex-bundled/aimeat-ui-viewers.js +602 -0
- package/dist/public/cortex-bundled/aimeat-ui-viewers.yaml +73 -0
- package/dist/public/css/components/tags.css +67 -0
- package/dist/public/css/theme.css +716 -0
- package/dist/public/css/views/admin.css +576 -0
- package/dist/public/css/views/aimeat-os.css +153 -0
- package/dist/public/css/views/calibrator.css +480 -0
- package/dist/public/css/views/foundry.css +1334 -0
- package/dist/public/css/views/help.css +136 -0
- package/dist/public/css/views/hobbies.css +73 -0
- package/dist/public/css/views/marketplace.css +134 -0
- package/dist/public/css/views/openclaw.css +33 -0
- package/dist/public/css/views/portal-classic.css +484 -0
- package/dist/public/css/views/portal-dev.css +139 -0
- package/dist/public/css/views/portal.css +365 -0
- package/dist/public/css/views/portfolio.css +322 -0
- package/dist/public/css/views/profile.css +1799 -0
- package/dist/public/echat.html +442 -0
- package/dist/public/img/genesis-001-badge.png +0 -0
- package/dist/public/img/platforms/chatgpt.png +0 -0
- package/dist/public/img/platforms/claude.png +0 -0
- package/dist/public/img/platforms/copilot.png +0 -0
- package/dist/public/img/platforms/deepseek.png +0 -0
- package/dist/public/img/platforms/gemini.png +0 -0
- package/dist/public/img/platforms/grok.png +0 -0
- package/dist/public/img/platforms/lmstudio.png +0 -0
- package/dist/public/img/platforms/m365copilot.png +0 -0
- package/dist/public/img/platforms/openclaw.png +0 -0
- package/dist/public/img/platforms/other.png +0 -0
- package/dist/public/js/api.js +123 -0
- package/dist/public/js/components/auth-image.js +59 -0
- package/dist/public/js/components/tag-cloud.js +31 -0
- package/dist/public/js/components/tag-editor.js +46 -0
- package/dist/public/js/hooks.js +63 -0
- package/dist/public/js/i18n.js +76 -0
- package/dist/public/js/services/admin.js +239 -0
- package/dist/public/js/services/agents.js +57 -0
- package/dist/public/js/services/apps.js +35 -0
- package/dist/public/js/services/auth.js +40 -0
- package/dist/public/js/services/boards.js +79 -0
- package/dist/public/js/services/calibrator.js +97 -0
- package/dist/public/js/services/catalogue.js +39 -0
- package/dist/public/js/services/consent.js +57 -0
- package/dist/public/js/services/cortex.js +95 -0
- package/dist/public/js/services/extensions.js +61 -0
- package/dist/public/js/services/federation.js +11 -0
- package/dist/public/js/services/foundry-context-bundle.js +128 -0
- package/dist/public/js/services/foundry-contract.js +117 -0
- package/dist/public/js/services/foundry-packaging.js +762 -0
- package/dist/public/js/services/foundry-probe-reconcile.js +52 -0
- package/dist/public/js/services/foundry-prompts-base.js +1886 -0
- package/dist/public/js/services/foundry-prompts-build.js +2187 -0
- package/dist/public/js/services/foundry-prompts-cortex-app.js +154 -0
- package/dist/public/js/services/foundry-prompts-cortex-data.js +241 -0
- package/dist/public/js/services/foundry-prompts-cortex-feature.js +281 -0
- package/dist/public/js/services/foundry-prompts-fix.js +408 -0
- package/dist/public/js/services/foundry-prompts-test.js +520 -0
- package/dist/public/js/services/foundry-prompts.js +31 -0
- package/dist/public/js/services/foundry-smoke.js +65 -0
- package/dist/public/js/services/foundry-testing.js +64 -0
- package/dist/public/js/services/foundry-validate.js +1082 -0
- package/dist/public/js/services/foundry.js +1194 -0
- package/dist/public/js/services/generator-context-bundle.js +134 -0
- package/dist/public/js/services/generator-contract.js +117 -0
- package/dist/public/js/services/generator-packaging.js +762 -0
- package/dist/public/js/services/generator-probe-reconcile.js +52 -0
- package/dist/public/js/services/generator-prompts-base.js +1890 -0
- package/dist/public/js/services/generator-prompts-build.js +1126 -0
- package/dist/public/js/services/generator-prompts-cortex-app.js +155 -0
- package/dist/public/js/services/generator-prompts-cortex-data.js +199 -0
- package/dist/public/js/services/generator-prompts-cortex-feature.js +276 -0
- package/dist/public/js/services/generator-prompts-fix.js +316 -0
- package/dist/public/js/services/generator-prompts-test.js +402 -0
- package/dist/public/js/services/generator-prompts.js +31 -0
- package/dist/public/js/services/generator-smoke.js +65 -0
- package/dist/public/js/services/generator-spec-tests.js +280 -0
- package/dist/public/js/services/generator-spec-validate.js +192 -0
- package/dist/public/js/services/generator-specs.js +369 -0
- package/dist/public/js/services/generator-testing.js +64 -0
- package/dist/public/js/services/generator-validate.js +916 -0
- package/dist/public/js/services/generator.js +952 -0
- package/dist/public/js/services/knowledge.js +120 -0
- package/dist/public/js/services/memory.js +112 -0
- package/dist/public/js/services/nodes.js +55 -0
- package/dist/public/js/services/organisms.js +74 -0
- package/dist/public/js/services/packages.js +97 -0
- package/dist/public/js/services/security.js +67 -0
- package/dist/public/js/services/stats.js +11 -0
- package/dist/public/js/services/wallet.js +24 -0
- package/dist/public/js/services/work.js +51 -0
- package/dist/public/js/utils.js +184 -0
- package/dist/public/lib/htm.mjs +4 -0
- package/dist/public/lib/live-updates.js +89 -0
- package/dist/public/lib/minidenticons.min.js +1 -0
- package/dist/public/lib/preact-hooks.mjs +3 -0
- package/dist/public/lib/preact.mjs +3 -0
- package/dist/public/lib/realtime.js +549 -0
- package/dist/public/lib/three.min.js +6 -0
- package/dist/public/lib/yaml.mjs +141 -0
- package/dist/public/llms-template.txt +1043 -0
- package/dist/public/oauth-consent.html +388 -0
- package/dist/public/og-image.png +0 -0
- package/dist/public/robots.txt +52 -0
- package/dist/public/spa.html +533 -0
- package/dist/public/sw.js +34 -0
- package/dist/public/tmp-paste.txt +223 -0
- package/dist/public/views/_template.js +85 -0
- package/dist/public/views/admin/actions-tab.js +41 -0
- package/dist/public/views/admin/agents-tab.js +84 -0
- package/dist/public/views/admin/boards-tab.js +154 -0
- package/dist/public/views/admin/chat-instances-tab.js +207 -0
- package/dist/public/views/admin/config-tab.js +151 -0
- package/dist/public/views/admin/consul-tab.js +77 -0
- package/dist/public/views/admin/cors-tab.js +240 -0
- package/dist/public/views/admin/cortex-tab.js +171 -0
- package/dist/public/views/admin/csm-tab.js +261 -0
- package/dist/public/views/admin/directory-tab.js +44 -0
- package/dist/public/views/admin/economy-tab.js +80 -0
- package/dist/public/views/admin/email-tab.js +460 -0
- package/dist/public/views/admin/federation-tab.js +412 -0
- package/dist/public/views/admin/generator-debug-tab.js +238 -0
- package/dist/public/views/admin/genesis-tab.js +70 -0
- package/dist/public/views/admin/ghii-tab.js +101 -0
- package/dist/public/views/admin/hooks-tab.js +69 -0
- package/dist/public/views/admin/knowledge-tab.js +297 -0
- package/dist/public/views/admin/maintenance-tab.js +98 -0
- package/dist/public/views/admin/matching-tab.js +44 -0
- package/dist/public/views/admin/memory-tab.js +222 -0
- package/dist/public/views/admin/msm-tab.js +342 -0
- package/dist/public/views/admin/overview-tab.js +90 -0
- package/dist/public/views/admin/owners-tab.js +55 -0
- package/dist/public/views/admin/packages-tab.js +510 -0
- package/dist/public/views/admin/portal-tab.js +211 -0
- package/dist/public/views/admin/prompts-tab.js +287 -0
- package/dist/public/views/admin/push-tab.js +291 -0
- package/dist/public/views/admin/realtime-tab.js +68 -0
- package/dist/public/views/admin/scheduler-tab.js +156 -0
- package/dist/public/views/admin/services-tab.js +981 -0
- package/dist/public/views/admin/shared.js +148 -0
- package/dist/public/views/admin/stats-tab.js +187 -0
- package/dist/public/views/admin/work-tab.js +45 -0
- package/dist/public/views/admin.js +400 -0
- package/dist/public/views/aimeat-os.js +259 -0
- package/dist/public/views/guides.js +402 -0
- package/dist/public/views/help.js +79 -0
- package/dist/public/views/hobbies.js +697 -0
- package/dist/public/views/marketplace.js +647 -0
- package/dist/public/views/openclaw.js +223 -0
- package/dist/public/views/portal-classic.js +519 -0
- package/dist/public/views/portal-dev.js +816 -0
- package/dist/public/views/portal.js +1354 -0
- package/dist/public/views/portfolio.js +795 -0
- package/dist/public/views/profile/access-tab.js +58 -0
- package/dist/public/views/profile/agents-tab.js +689 -0
- package/dist/public/views/profile/apps-tab.js +197 -0
- package/dist/public/views/profile/boards-tab.js +323 -0
- package/dist/public/views/profile/calibrator-batch.js +926 -0
- package/dist/public/views/profile/calibrator-chart.js +135 -0
- package/dist/public/views/profile/calibrator-llm-editor.js +205 -0
- package/dist/public/views/profile/calibrator-tab.js +535 -0
- package/dist/public/views/profile/chat-sessions-tab.js +184 -0
- package/dist/public/views/profile/data-wallet-tab.js +313 -0
- package/dist/public/views/profile/email-tab.js +157 -0
- package/dist/public/views/profile/extensions-tab.js +711 -0
- package/dist/public/views/profile/federation-tab.js +63 -0
- package/dist/public/views/profile/foundry-dashboard/DebugPanel.js +193 -0
- package/dist/public/views/profile/foundry-dashboard/DiagnosticsPanel.js +69 -0
- package/dist/public/views/profile/foundry-dashboard/EditModePanel.js +141 -0
- package/dist/public/views/profile/foundry-dashboard/PackageDialog.js +96 -0
- package/dist/public/views/profile/foundry-dashboard/RemovePanel.js +53 -0
- package/dist/public/views/profile/foundry-dashboard/use-autopilot-state.js +53 -0
- package/dist/public/views/profile/foundry-dashboard/use-autopilot.js +1016 -0
- package/dist/public/views/profile/foundry-dashboard/use-dashboard-core.js +154 -0
- package/dist/public/views/profile/foundry-dashboard/use-edit-mode.js +294 -0
- package/dist/public/views/profile/foundry-dashboard/use-lifecycle.js +101 -0
- package/dist/public/views/profile/foundry-dashboard/use-packaging.js +97 -0
- package/dist/public/views/profile/foundry-dashboard/use-test-execution.js +275 -0
- package/dist/public/views/profile/foundry-dashboard.js +395 -0
- package/dist/public/views/profile/foundry-detail.js +1178 -0
- package/dist/public/views/profile/foundry-settings.js +377 -0
- package/dist/public/views/profile/foundry-tab.js +546 -0
- package/dist/public/views/profile/generator-dashboard/DebugPanel.js +193 -0
- package/dist/public/views/profile/generator-dashboard/DiagnosticsPanel.js +69 -0
- package/dist/public/views/profile/generator-dashboard/EditModePanel.js +141 -0
- package/dist/public/views/profile/generator-dashboard/PackageDialog.js +96 -0
- package/dist/public/views/profile/generator-dashboard/RemovePanel.js +53 -0
- package/dist/public/views/profile/generator-dashboard/use-autopilot-state.js +53 -0
- package/dist/public/views/profile/generator-dashboard/use-autopilot.js +136 -0
- package/dist/public/views/profile/generator-dashboard/use-dashboard-core.js +143 -0
- package/dist/public/views/profile/generator-dashboard/use-edit-mode.js +296 -0
- package/dist/public/views/profile/generator-dashboard/use-lifecycle.js +101 -0
- package/dist/public/views/profile/generator-dashboard/use-packaging.js +97 -0
- package/dist/public/views/profile/generator-dashboard/use-test-execution.js +275 -0
- package/dist/public/views/profile/generator-dashboard.js +377 -0
- package/dist/public/views/profile/generator-detail.js +1007 -0
- package/dist/public/views/profile/generator-settings.js +417 -0
- package/dist/public/views/profile/generator-tab.js +544 -0
- package/dist/public/views/profile/inline-panels.js +277 -0
- package/dist/public/views/profile/knowledge-tab.js +735 -0
- package/dist/public/views/profile/landing-page.js +539 -0
- package/dist/public/views/profile/mcp-tab.js +140 -0
- package/dist/public/views/profile/memory-tab.js +599 -0
- package/dist/public/views/profile/node-stats-tab.js +132 -0
- package/dist/public/views/profile/nodes-tab.js +195 -0
- package/dist/public/views/profile/notifications-tab.js +274 -0
- package/dist/public/views/profile/organisms-tab.js +402 -0
- package/dist/public/views/profile/packages-tab.js +393 -0
- package/dist/public/views/profile/portfolio-tab.js +31 -0
- package/dist/public/views/profile/security-tab.js +219 -0
- package/dist/public/views/profile/services-tab.js +281 -0
- package/dist/public/views/profile/shared.js +58 -0
- package/dist/public/views/profile/wallet-tab.js +272 -0
- package/dist/public/views/profile/work-tab.js +220 -0
- package/dist/public/views/profile.js +271 -0
- package/dist/public/wizard.html +1320 -0
- package/dist/scripts/db-init.d.ts +19 -0
- package/dist/scripts/db-init.d.ts.map +1 -0
- package/dist/scripts/db-init.js +168 -0
- package/dist/scripts/db-init.js.map +1 -0
- package/dist/scripts/db-reset.d.ts +15 -0
- package/dist/scripts/db-reset.d.ts.map +1 -0
- package/dist/scripts/db-reset.js +162 -0
- package/dist/scripts/db-reset.js.map +1 -0
- package/dist/scripts/indexnow.d.ts +18 -0
- package/dist/scripts/indexnow.d.ts.map +1 -0
- package/dist/scripts/indexnow.js +104 -0
- package/dist/scripts/indexnow.js.map +1 -0
- package/dist/scripts/kill-port.d.ts +3 -0
- package/dist/scripts/kill-port.d.ts.map +1 -0
- package/dist/scripts/kill-port.js +89 -0
- package/dist/scripts/kill-port.js.map +1 -0
- package/dist/scripts/seed-digital-signage.d.ts +13 -0
- package/dist/scripts/seed-digital-signage.d.ts.map +1 -0
- package/dist/scripts/seed-digital-signage.js +85 -0
- package/dist/scripts/seed-digital-signage.js.map +1 -0
- package/dist/src/auth/jwt.d.ts +40 -0
- package/dist/src/auth/jwt.d.ts.map +1 -0
- package/dist/src/auth/jwt.js +139 -0
- package/dist/src/auth/jwt.js.map +1 -0
- package/dist/src/auth/keypair.d.ts +8 -0
- package/dist/src/auth/keypair.d.ts.map +1 -0
- package/dist/src/auth/keypair.js +35 -0
- package/dist/src/auth/keypair.js.map +1 -0
- package/dist/src/auth/middleware.d.ts +50 -0
- package/dist/src/auth/middleware.d.ts.map +1 -0
- package/dist/src/auth/middleware.js +241 -0
- package/dist/src/auth/middleware.js.map +1 -0
- package/dist/src/auth/node-keys.d.ts +7 -0
- package/dist/src/auth/node-keys.d.ts.map +1 -0
- package/dist/src/auth/node-keys.js +116 -0
- package/dist/src/auth/node-keys.js.map +1 -0
- package/dist/src/cli/config-export.d.ts +9 -0
- package/dist/src/cli/config-export.d.ts.map +1 -0
- package/dist/src/cli/config-export.js +90 -0
- package/dist/src/cli/config-export.js.map +1 -0
- package/dist/src/cli/config-import.d.ts +10 -0
- package/dist/src/cli/config-import.d.ts.map +1 -0
- package/dist/src/cli/config-import.js +124 -0
- package/dist/src/cli/config-import.js.map +1 -0
- package/dist/src/cli/federation-join.d.ts +13 -0
- package/dist/src/cli/federation-join.d.ts.map +1 -0
- package/dist/src/cli/federation-join.js +395 -0
- package/dist/src/cli/federation-join.js.map +1 -0
- package/dist/src/cli/init-wizard.d.ts +8 -0
- package/dist/src/cli/init-wizard.d.ts.map +1 -0
- package/dist/src/cli/init-wizard.js +1489 -0
- package/dist/src/cli/init-wizard.js.map +1 -0
- package/dist/src/cli/scaffold.d.ts +33 -0
- package/dist/src/cli/scaffold.d.ts.map +1 -0
- package/dist/src/cli/scaffold.js +142 -0
- package/dist/src/cli/scaffold.js.map +1 -0
- package/dist/src/config.d.ts +272 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +362 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/data/example-packages.d.ts +49 -0
- package/dist/src/data/example-packages.d.ts.map +1 -0
- package/dist/src/data/example-packages.js +814 -0
- package/dist/src/data/example-packages.js.map +1 -0
- package/dist/src/i18n.d.ts +19 -0
- package/dist/src/i18n.d.ts.map +1 -0
- package/dist/src/i18n.js +126 -0
- package/dist/src/i18n.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +608 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/boards.d.ts +18 -0
- package/dist/src/mcp/boards.d.ts.map +1 -0
- package/dist/src/mcp/boards.js +279 -0
- package/dist/src/mcp/boards.js.map +1 -0
- package/dist/src/mcp/catalogue.d.ts +17 -0
- package/dist/src/mcp/catalogue.d.ts.map +1 -0
- package/dist/src/mcp/catalogue.js +114 -0
- package/dist/src/mcp/catalogue.js.map +1 -0
- package/dist/src/mcp/chat-instances.d.ts +18 -0
- package/dist/src/mcp/chat-instances.d.ts.map +1 -0
- package/dist/src/mcp/chat-instances.js +161 -0
- package/dist/src/mcp/chat-instances.js.map +1 -0
- package/dist/src/mcp/consent.d.ts +18 -0
- package/dist/src/mcp/consent.d.ts.map +1 -0
- package/dist/src/mcp/consent.js +158 -0
- package/dist/src/mcp/consent.js.map +1 -0
- package/dist/src/mcp/core.d.ts +18 -0
- package/dist/src/mcp/core.d.ts.map +1 -0
- package/dist/src/mcp/core.js +489 -0
- package/dist/src/mcp/core.js.map +1 -0
- package/dist/src/mcp/extensions.d.ts +18 -0
- package/dist/src/mcp/extensions.d.ts.map +1 -0
- package/dist/src/mcp/extensions.js +299 -0
- package/dist/src/mcp/extensions.js.map +1 -0
- package/dist/src/mcp/flags.d.ts +18 -0
- package/dist/src/mcp/flags.d.ts.map +1 -0
- package/dist/src/mcp/flags.js +59 -0
- package/dist/src/mcp/flags.js.map +1 -0
- package/dist/src/mcp/index.d.ts +31 -0
- package/dist/src/mcp/index.d.ts.map +1 -0
- package/dist/src/mcp/index.js +694 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/knowledge.d.ts +18 -0
- package/dist/src/mcp/knowledge.d.ts.map +1 -0
- package/dist/src/mcp/knowledge.js +214 -0
- package/dist/src/mcp/knowledge.js.map +1 -0
- package/dist/src/mcp/memory-extended.d.ts +18 -0
- package/dist/src/mcp/memory-extended.d.ts.map +1 -0
- package/dist/src/mcp/memory-extended.js +73 -0
- package/dist/src/mcp/memory-extended.js.map +1 -0
- package/dist/src/mcp/organisms.d.ts +18 -0
- package/dist/src/mcp/organisms.d.ts.map +1 -0
- package/dist/src/mcp/organisms.js +291 -0
- package/dist/src/mcp/organisms.js.map +1 -0
- package/dist/src/mcp/prompts.d.ts +17 -0
- package/dist/src/mcp/prompts.d.ts.map +1 -0
- package/dist/src/mcp/prompts.js +65 -0
- package/dist/src/mcp/prompts.js.map +1 -0
- package/dist/src/mcp/wallet-extended.d.ts +17 -0
- package/dist/src/mcp/wallet-extended.d.ts.map +1 -0
- package/dist/src/mcp/wallet-extended.js +42 -0
- package/dist/src/mcp/wallet-extended.js.map +1 -0
- package/dist/src/middleware/__tests__/cookie-consent.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/cookie-consent.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/cookie-consent.test.js +432 -0
- package/dist/src/middleware/__tests__/cookie-consent.test.js.map +1 -0
- package/dist/src/middleware/cookie-consent.d.ts +19 -0
- package/dist/src/middleware/cookie-consent.d.ts.map +1 -0
- package/dist/src/middleware/cookie-consent.js +127 -0
- package/dist/src/middleware/cookie-consent.js.map +1 -0
- package/dist/src/middleware/cors.d.ts +12 -0
- package/dist/src/middleware/cors.d.ts.map +1 -0
- package/dist/src/middleware/cors.js +112 -0
- package/dist/src/middleware/cors.js.map +1 -0
- package/dist/src/middleware/envelope.d.ts +33 -0
- package/dist/src/middleware/envelope.d.ts.map +1 -0
- package/dist/src/middleware/envelope.js +32 -0
- package/dist/src/middleware/envelope.js.map +1 -0
- package/dist/src/middleware/idempotency.d.ts +3 -0
- package/dist/src/middleware/idempotency.d.ts.map +1 -0
- package/dist/src/middleware/idempotency.js +64 -0
- package/dist/src/middleware/idempotency.js.map +1 -0
- package/dist/src/middleware/metrics.d.ts +8 -0
- package/dist/src/middleware/metrics.d.ts.map +1 -0
- package/dist/src/middleware/metrics.js +25 -0
- package/dist/src/middleware/metrics.js.map +1 -0
- package/dist/src/middleware/rate-limit.d.ts +4 -0
- package/dist/src/middleware/rate-limit.d.ts.map +1 -0
- package/dist/src/middleware/rate-limit.js +73 -0
- package/dist/src/middleware/rate-limit.js.map +1 -0
- package/dist/src/middleware/request-id.d.ts +18 -0
- package/dist/src/middleware/request-id.d.ts.map +1 -0
- package/dist/src/middleware/request-id.js +23 -0
- package/dist/src/middleware/request-id.js.map +1 -0
- package/dist/src/middleware/stats.d.ts +4 -0
- package/dist/src/middleware/stats.d.ts.map +1 -0
- package/dist/src/middleware/stats.js +11 -0
- package/dist/src/middleware/stats.js.map +1 -0
- package/dist/src/middleware/workspace-access.d.ts +16 -0
- package/dist/src/middleware/workspace-access.d.ts.map +1 -0
- package/dist/src/middleware/workspace-access.js +115 -0
- package/dist/src/middleware/workspace-access.js.map +1 -0
- package/dist/src/models/schemas.d.ts +311 -0
- package/dist/src/models/schemas.d.ts.map +1 -0
- package/dist/src/models/schemas.js +281 -0
- package/dist/src/models/schemas.js.map +1 -0
- package/dist/src/routes/actions.d.ts +5 -0
- package/dist/src/routes/actions.d.ts.map +1 -0
- package/dist/src/routes/actions.js +199 -0
- package/dist/src/routes/actions.js.map +1 -0
- package/dist/src/routes/admin-agents.d.ts +5 -0
- package/dist/src/routes/admin-agents.d.ts.map +1 -0
- package/dist/src/routes/admin-agents.js +60 -0
- package/dist/src/routes/admin-agents.js.map +1 -0
- package/dist/src/routes/admin-config.d.ts +7 -0
- package/dist/src/routes/admin-config.d.ts.map +1 -0
- package/dist/src/routes/admin-config.js +209 -0
- package/dist/src/routes/admin-config.js.map +1 -0
- package/dist/src/routes/admin-economy.d.ts +5 -0
- package/dist/src/routes/admin-economy.d.ts.map +1 -0
- package/dist/src/routes/admin-economy.js +57 -0
- package/dist/src/routes/admin-economy.js.map +1 -0
- package/dist/src/routes/admin-extensions.d.ts +6 -0
- package/dist/src/routes/admin-extensions.d.ts.map +1 -0
- package/dist/src/routes/admin-extensions.js +619 -0
- package/dist/src/routes/admin-extensions.js.map +1 -0
- package/dist/src/routes/admin-features.d.ts +16 -0
- package/dist/src/routes/admin-features.d.ts.map +1 -0
- package/dist/src/routes/admin-features.js +672 -0
- package/dist/src/routes/admin-features.js.map +1 -0
- package/dist/src/routes/admin-maintenance.d.ts +8 -0
- package/dist/src/routes/admin-maintenance.d.ts.map +1 -0
- package/dist/src/routes/admin-maintenance.js +86 -0
- package/dist/src/routes/admin-maintenance.js.map +1 -0
- package/dist/src/routes/admin-memory.d.ts +12 -0
- package/dist/src/routes/admin-memory.d.ts.map +1 -0
- package/dist/src/routes/admin-memory.js +64 -0
- package/dist/src/routes/admin-memory.js.map +1 -0
- package/dist/src/routes/admin-monitoring.d.ts +5 -0
- package/dist/src/routes/admin-monitoring.d.ts.map +1 -0
- package/dist/src/routes/admin-monitoring.js +343 -0
- package/dist/src/routes/admin-monitoring.js.map +1 -0
- package/dist/src/routes/admin-prompts.d.ts +5 -0
- package/dist/src/routes/admin-prompts.d.ts.map +1 -0
- package/dist/src/routes/admin-prompts.js +198 -0
- package/dist/src/routes/admin-prompts.js.map +1 -0
- package/dist/src/routes/admin-scheduler.d.ts +6 -0
- package/dist/src/routes/admin-scheduler.d.ts.map +1 -0
- package/dist/src/routes/admin-scheduler.js +153 -0
- package/dist/src/routes/admin-scheduler.js.map +1 -0
- package/dist/src/routes/admin.d.ts +10 -0
- package/dist/src/routes/admin.d.ts.map +1 -0
- package/dist/src/routes/admin.js +847 -0
- package/dist/src/routes/admin.js.map +1 -0
- package/dist/src/routes/agents.d.ts +5 -0
- package/dist/src/routes/agents.d.ts.map +1 -0
- package/dist/src/routes/agents.js +946 -0
- package/dist/src/routes/agents.js.map +1 -0
- package/dist/src/routes/app-store.d.ts +25 -0
- package/dist/src/routes/app-store.d.ts.map +1 -0
- package/dist/src/routes/app-store.js +269 -0
- package/dist/src/routes/app-store.js.map +1 -0
- package/dist/src/routes/appeals.d.ts +5 -0
- package/dist/src/routes/appeals.d.ts.map +1 -0
- package/dist/src/routes/appeals.js +241 -0
- package/dist/src/routes/appeals.js.map +1 -0
- package/dist/src/routes/apps.d.ts +14 -0
- package/dist/src/routes/apps.d.ts.map +1 -0
- package/dist/src/routes/apps.js +395 -0
- package/dist/src/routes/apps.js.map +1 -0
- package/dist/src/routes/auth.d.ts +13 -0
- package/dist/src/routes/auth.d.ts.map +1 -0
- package/dist/src/routes/auth.js +517 -0
- package/dist/src/routes/auth.js.map +1 -0
- package/dist/src/routes/boards.d.ts +5 -0
- package/dist/src/routes/boards.d.ts.map +1 -0
- package/dist/src/routes/boards.js +614 -0
- package/dist/src/routes/boards.js.map +1 -0
- package/dist/src/routes/bootstrap.d.ts +6 -0
- package/dist/src/routes/bootstrap.d.ts.map +1 -0
- package/dist/src/routes/bootstrap.js +360 -0
- package/dist/src/routes/bootstrap.js.map +1 -0
- package/dist/src/routes/calibrator.d.ts +28 -0
- package/dist/src/routes/calibrator.d.ts.map +1 -0
- package/dist/src/routes/calibrator.js +556 -0
- package/dist/src/routes/calibrator.js.map +1 -0
- package/dist/src/routes/catalogue.d.ts +7 -0
- package/dist/src/routes/catalogue.d.ts.map +1 -0
- package/dist/src/routes/catalogue.js +377 -0
- package/dist/src/routes/catalogue.js.map +1 -0
- package/dist/src/routes/chat-instances.d.ts +5 -0
- package/dist/src/routes/chat-instances.d.ts.map +1 -0
- package/dist/src/routes/chat-instances.js +131 -0
- package/dist/src/routes/chat-instances.js.map +1 -0
- package/dist/src/routes/consent.d.ts +6 -0
- package/dist/src/routes/consent.d.ts.map +1 -0
- package/dist/src/routes/consent.js +188 -0
- package/dist/src/routes/consent.js.map +1 -0
- package/dist/src/routes/cortex.d.ts +5 -0
- package/dist/src/routes/cortex.d.ts.map +1 -0
- package/dist/src/routes/cortex.js +617 -0
- package/dist/src/routes/cortex.js.map +1 -0
- package/dist/src/routes/csm.d.ts +5 -0
- package/dist/src/routes/csm.d.ts.map +1 -0
- package/dist/src/routes/csm.js +258 -0
- package/dist/src/routes/csm.js.map +1 -0
- package/dist/src/routes/disputes.d.ts +5 -0
- package/dist/src/routes/disputes.d.ts.map +1 -0
- package/dist/src/routes/disputes.js +528 -0
- package/dist/src/routes/disputes.js.map +1 -0
- package/dist/src/routes/extensions.d.ts +6 -0
- package/dist/src/routes/extensions.d.ts.map +1 -0
- package/dist/src/routes/extensions.js +1149 -0
- package/dist/src/routes/extensions.js.map +1 -0
- package/dist/src/routes/federation-genesis.d.ts +11 -0
- package/dist/src/routes/federation-genesis.d.ts.map +1 -0
- package/dist/src/routes/federation-genesis.js +638 -0
- package/dist/src/routes/federation-genesis.js.map +1 -0
- package/dist/src/routes/federation-peer.d.ts +10 -0
- package/dist/src/routes/federation-peer.d.ts.map +1 -0
- package/dist/src/routes/federation-peer.js +613 -0
- package/dist/src/routes/federation-peer.js.map +1 -0
- package/dist/src/routes/federation-settlements.d.ts +10 -0
- package/dist/src/routes/federation-settlements.d.ts.map +1 -0
- package/dist/src/routes/federation-settlements.js +231 -0
- package/dist/src/routes/federation-settlements.js.map +1 -0
- package/dist/src/routes/federation-sync.d.ts +15 -0
- package/dist/src/routes/federation-sync.d.ts.map +1 -0
- package/dist/src/routes/federation-sync.js +629 -0
- package/dist/src/routes/federation-sync.js.map +1 -0
- package/dist/src/routes/federation.d.ts +15 -0
- package/dist/src/routes/federation.d.ts.map +1 -0
- package/dist/src/routes/federation.js +23 -0
- package/dist/src/routes/federation.js.map +1 -0
- package/dist/src/routes/flags.d.ts +5 -0
- package/dist/src/routes/flags.d.ts.map +1 -0
- package/dist/src/routes/flags.js +194 -0
- package/dist/src/routes/flags.js.map +1 -0
- package/dist/src/routes/foundry.d.ts +5 -0
- package/dist/src/routes/foundry.d.ts.map +1 -0
- package/dist/src/routes/foundry.js +955 -0
- package/dist/src/routes/foundry.js.map +1 -0
- package/dist/src/routes/generator-autopilot.d.ts +12 -0
- package/dist/src/routes/generator-autopilot.d.ts.map +1 -0
- package/dist/src/routes/generator-autopilot.js +71 -0
- package/dist/src/routes/generator-autopilot.js.map +1 -0
- package/dist/src/routes/generator.d.ts +5 -0
- package/dist/src/routes/generator.d.ts.map +1 -0
- package/dist/src/routes/generator.js +1313 -0
- package/dist/src/routes/generator.js.map +1 -0
- package/dist/src/routes/ghii.d.ts +16 -0
- package/dist/src/routes/ghii.d.ts.map +1 -0
- package/dist/src/routes/ghii.js +1115 -0
- package/dist/src/routes/ghii.js.map +1 -0
- package/dist/src/routes/instances.d.ts +31 -0
- package/dist/src/routes/instances.d.ts.map +1 -0
- package/dist/src/routes/instances.js +722 -0
- package/dist/src/routes/instances.js.map +1 -0
- package/dist/src/routes/knowledge.d.ts +33 -0
- package/dist/src/routes/knowledge.d.ts.map +1 -0
- package/dist/src/routes/knowledge.js +1108 -0
- package/dist/src/routes/knowledge.js.map +1 -0
- package/dist/src/routes/lib-data.d.ts +7 -0
- package/dist/src/routes/lib-data.d.ts.map +1 -0
- package/dist/src/routes/lib-data.js +189 -0
- package/dist/src/routes/lib-data.js.map +1 -0
- package/dist/src/routes/lib-social.d.ts +7 -0
- package/dist/src/routes/lib-social.d.ts.map +1 -0
- package/dist/src/routes/lib-social.js +159 -0
- package/dist/src/routes/lib-social.js.map +1 -0
- package/dist/src/routes/lib-storage.d.ts +7 -0
- package/dist/src/routes/lib-storage.d.ts.map +1 -0
- package/dist/src/routes/lib-storage.js +202 -0
- package/dist/src/routes/lib-storage.js.map +1 -0
- package/dist/src/routes/lib-tunnel.d.ts +8 -0
- package/dist/src/routes/lib-tunnel.d.ts.map +1 -0
- package/dist/src/routes/lib-tunnel.js +442 -0
- package/dist/src/routes/lib-tunnel.js.map +1 -0
- package/dist/src/routes/lib-wallet.d.ts +7 -0
- package/dist/src/routes/lib-wallet.d.ts.map +1 -0
- package/dist/src/routes/lib-wallet.js +129 -0
- package/dist/src/routes/lib-wallet.js.map +1 -0
- package/dist/src/routes/lib-work.d.ts +7 -0
- package/dist/src/routes/lib-work.d.ts.map +1 -0
- package/dist/src/routes/lib-work.js +210 -0
- package/dist/src/routes/lib-work.js.map +1 -0
- package/dist/src/routes/libs.d.ts +10 -0
- package/dist/src/routes/libs.d.ts.map +1 -0
- package/dist/src/routes/libs.js +989 -0
- package/dist/src/routes/libs.js.map +1 -0
- package/dist/src/routes/matches.d.ts +10 -0
- package/dist/src/routes/matches.d.ts.map +1 -0
- package/dist/src/routes/matches.js +218 -0
- package/dist/src/routes/matches.js.map +1 -0
- package/dist/src/routes/memory.d.ts +6 -0
- package/dist/src/routes/memory.d.ts.map +1 -0
- package/dist/src/routes/memory.js +796 -0
- package/dist/src/routes/memory.js.map +1 -0
- package/dist/src/routes/micro-memory.d.ts +5 -0
- package/dist/src/routes/micro-memory.d.ts.map +1 -0
- package/dist/src/routes/micro-memory.js +488 -0
- package/dist/src/routes/micro-memory.js.map +1 -0
- package/dist/src/routes/msm.d.ts +5 -0
- package/dist/src/routes/msm.d.ts.map +1 -0
- package/dist/src/routes/msm.js +242 -0
- package/dist/src/routes/msm.js.map +1 -0
- package/dist/src/routes/openrouter.d.ts +23 -0
- package/dist/src/routes/openrouter.d.ts.map +1 -0
- package/dist/src/routes/openrouter.js +337 -0
- package/dist/src/routes/openrouter.js.map +1 -0
- package/dist/src/routes/organisms.d.ts +5 -0
- package/dist/src/routes/organisms.d.ts.map +1 -0
- package/dist/src/routes/organisms.js +415 -0
- package/dist/src/routes/organisms.js.map +1 -0
- package/dist/src/routes/owners.d.ts +5 -0
- package/dist/src/routes/owners.d.ts.map +1 -0
- package/dist/src/routes/owners.js +637 -0
- package/dist/src/routes/owners.js.map +1 -0
- package/dist/src/routes/packages.d.ts +35 -0
- package/dist/src/routes/packages.d.ts.map +1 -0
- package/dist/src/routes/packages.js +600 -0
- package/dist/src/routes/packages.js.map +1 -0
- package/dist/src/routes/permissions.d.ts +5 -0
- package/dist/src/routes/permissions.d.ts.map +1 -0
- package/dist/src/routes/permissions.js +85 -0
- package/dist/src/routes/permissions.js.map +1 -0
- package/dist/src/routes/personal.d.ts +7 -0
- package/dist/src/routes/personal.d.ts.map +1 -0
- package/dist/src/routes/personal.js +594 -0
- package/dist/src/routes/personal.js.map +1 -0
- package/dist/src/routes/portal-api.d.ts +9 -0
- package/dist/src/routes/portal-api.d.ts.map +1 -0
- package/dist/src/routes/portal-api.js +49 -0
- package/dist/src/routes/portal-api.js.map +1 -0
- package/dist/src/routes/portal-human.d.ts +12 -0
- package/dist/src/routes/portal-human.d.ts.map +1 -0
- package/dist/src/routes/portal-human.js +2652 -0
- package/dist/src/routes/portal-human.js.map +1 -0
- package/dist/src/routes/portal.d.ts +24 -0
- package/dist/src/routes/portal.d.ts.map +1 -0
- package/dist/src/routes/portal.js +372 -0
- package/dist/src/routes/portal.js.map +1 -0
- package/dist/src/routes/portfolio.d.ts +5 -0
- package/dist/src/routes/portfolio.d.ts.map +1 -0
- package/dist/src/routes/portfolio.js +231 -0
- package/dist/src/routes/portfolio.js.map +1 -0
- package/dist/src/routes/profile.d.ts +5 -0
- package/dist/src/routes/profile.d.ts.map +1 -0
- package/dist/src/routes/profile.js +2042 -0
- package/dist/src/routes/profile.js.map +1 -0
- package/dist/src/routes/prompts.d.ts +5 -0
- package/dist/src/routes/prompts.d.ts.map +1 -0
- package/dist/src/routes/prompts.js +318 -0
- package/dist/src/routes/prompts.js.map +1 -0
- package/dist/src/routes/push.d.ts +6 -0
- package/dist/src/routes/push.d.ts.map +1 -0
- package/dist/src/routes/push.js +75 -0
- package/dist/src/routes/push.js.map +1 -0
- package/dist/src/routes/realtime.d.ts +7 -0
- package/dist/src/routes/realtime.d.ts.map +1 -0
- package/dist/src/routes/realtime.js +289 -0
- package/dist/src/routes/realtime.js.map +1 -0
- package/dist/src/routes/schemas.d.ts +5 -0
- package/dist/src/routes/schemas.d.ts.map +1 -0
- package/dist/src/routes/schemas.js +130 -0
- package/dist/src/routes/schemas.js.map +1 -0
- package/dist/src/routes/setup.d.ts +7 -0
- package/dist/src/routes/setup.d.ts.map +1 -0
- package/dist/src/routes/setup.js +243 -0
- package/dist/src/routes/setup.js.map +1 -0
- package/dist/src/routes/site.d.ts +6 -0
- package/dist/src/routes/site.d.ts.map +1 -0
- package/dist/src/routes/site.js +201 -0
- package/dist/src/routes/site.js.map +1 -0
- package/dist/src/routes/spec.d.ts +3 -0
- package/dist/src/routes/spec.d.ts.map +1 -0
- package/dist/src/routes/spec.js +47 -0
- package/dist/src/routes/spec.js.map +1 -0
- package/dist/src/routes/sse.d.ts +5 -0
- package/dist/src/routes/sse.d.ts.map +1 -0
- package/dist/src/routes/sse.js +66 -0
- package/dist/src/routes/sse.js.map +1 -0
- package/dist/src/routes/stats.d.ts +7 -0
- package/dist/src/routes/stats.d.ts.map +1 -0
- package/dist/src/routes/stats.js +98 -0
- package/dist/src/routes/stats.js.map +1 -0
- package/dist/src/routes/storage-files.d.ts +5 -0
- package/dist/src/routes/storage-files.d.ts.map +1 -0
- package/dist/src/routes/storage-files.js +460 -0
- package/dist/src/routes/storage-files.js.map +1 -0
- package/dist/src/routes/templates.d.ts +30 -0
- package/dist/src/routes/templates.d.ts.map +1 -0
- package/dist/src/routes/templates.js +511 -0
- package/dist/src/routes/templates.js.map +1 -0
- package/dist/src/routes/totp.d.ts +5 -0
- package/dist/src/routes/totp.d.ts.map +1 -0
- package/dist/src/routes/totp.js +166 -0
- package/dist/src/routes/totp.js.map +1 -0
- package/dist/src/routes/validate.d.ts +4 -0
- package/dist/src/routes/validate.d.ts.map +1 -0
- package/dist/src/routes/validate.js +71 -0
- package/dist/src/routes/validate.js.map +1 -0
- package/dist/src/routes/verification.d.ts +8 -0
- package/dist/src/routes/verification.d.ts.map +1 -0
- package/dist/src/routes/verification.js +259 -0
- package/dist/src/routes/verification.js.map +1 -0
- package/dist/src/routes/wallet.d.ts +18 -0
- package/dist/src/routes/wallet.d.ts.map +1 -0
- package/dist/src/routes/wallet.js +164 -0
- package/dist/src/routes/wallet.js.map +1 -0
- package/dist/src/routes/wellknown.d.ts +5 -0
- package/dist/src/routes/wellknown.d.ts.map +1 -0
- package/dist/src/routes/wellknown.js +57 -0
- package/dist/src/routes/wellknown.js.map +1 -0
- package/dist/src/routes/work.d.ts +21 -0
- package/dist/src/routes/work.d.ts.map +1 -0
- package/dist/src/routes/work.js +654 -0
- package/dist/src/routes/work.js.map +1 -0
- package/dist/src/schemas/knowledge-package.d.ts +203 -0
- package/dist/src/schemas/knowledge-package.d.ts.map +1 -0
- package/dist/src/schemas/knowledge-package.js +233 -0
- package/dist/src/schemas/knowledge-package.js.map +1 -0
- package/dist/src/server-bootstrap/config-init.d.ts +16 -0
- package/dist/src/server-bootstrap/config-init.d.ts.map +1 -0
- package/dist/src/server-bootstrap/config-init.js +113 -0
- package/dist/src/server-bootstrap/config-init.js.map +1 -0
- package/dist/src/server-bootstrap/middleware-guards.d.ts +15 -0
- package/dist/src/server-bootstrap/middleware-guards.d.ts.map +1 -0
- package/dist/src/server-bootstrap/middleware-guards.js +244 -0
- package/dist/src/server-bootstrap/middleware-guards.js.map +1 -0
- package/dist/src/server-bootstrap/routes-loader.d.ts +35 -0
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -0
- package/dist/src/server-bootstrap/routes-loader.js +290 -0
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -0
- package/dist/src/server-bootstrap/service-init.d.ts +24 -0
- package/dist/src/server-bootstrap/service-init.d.ts.map +1 -0
- package/dist/src/server-bootstrap/service-init.js +195 -0
- package/dist/src/server-bootstrap/service-init.js.map +1 -0
- package/dist/src/server-bootstrap/static-files.d.ts +7 -0
- package/dist/src/server-bootstrap/static-files.d.ts.map +1 -0
- package/dist/src/server-bootstrap/static-files.js +119 -0
- package/dist/src/server-bootstrap/static-files.js.map +1 -0
- package/dist/src/server.d.ts +22 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +133 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/services/cache-cleanup.d.ts +31 -0
- package/dist/src/services/cache-cleanup.d.ts.map +1 -0
- package/dist/src/services/cache-cleanup.js +123 -0
- package/dist/src/services/cache-cleanup.js.map +1 -0
- package/dist/src/services/catalogue-sync.d.ts +45 -0
- package/dist/src/services/catalogue-sync.d.ts.map +1 -0
- package/dist/src/services/catalogue-sync.js +196 -0
- package/dist/src/services/catalogue-sync.js.map +1 -0
- package/dist/src/services/component-registrar.d.ts +46 -0
- package/dist/src/services/component-registrar.d.ts.map +1 -0
- package/dist/src/services/component-registrar.js +389 -0
- package/dist/src/services/component-registrar.js.map +1 -0
- package/dist/src/services/config-loader.d.ts +42 -0
- package/dist/src/services/config-loader.d.ts.map +1 -0
- package/dist/src/services/config-loader.js +187 -0
- package/dist/src/services/config-loader.js.map +1 -0
- package/dist/src/services/config-provenance.d.ts +32 -0
- package/dist/src/services/config-provenance.d.ts.map +1 -0
- package/dist/src/services/config-provenance.js +59 -0
- package/dist/src/services/config-provenance.js.map +1 -0
- package/dist/src/services/config-schema.d.ts +52 -0
- package/dist/src/services/config-schema.d.ts.map +1 -0
- package/dist/src/services/config-schema.js +288 -0
- package/dist/src/services/config-schema.js.map +1 -0
- package/dist/src/services/consent.d.ts +43 -0
- package/dist/src/services/consent.d.ts.map +1 -0
- package/dist/src/services/consent.js +137 -0
- package/dist/src/services/consent.js.map +1 -0
- package/dist/src/services/consul-config.d.ts +30 -0
- package/dist/src/services/consul-config.d.ts.map +1 -0
- package/dist/src/services/consul-config.js +110 -0
- package/dist/src/services/consul-config.js.map +1 -0
- package/dist/src/services/core-jobs.d.ts +8 -0
- package/dist/src/services/core-jobs.d.ts.map +1 -0
- package/dist/src/services/core-jobs.js +161 -0
- package/dist/src/services/core-jobs.js.map +1 -0
- package/dist/src/services/cortex-manifest.d.ts +17 -0
- package/dist/src/services/cortex-manifest.d.ts.map +1 -0
- package/dist/src/services/cortex-manifest.js +343 -0
- package/dist/src/services/cortex-manifest.js.map +1 -0
- package/dist/src/services/cortex-seeder.d.ts +18 -0
- package/dist/src/services/cortex-seeder.d.ts.map +1 -0
- package/dist/src/services/cortex-seeder.js +86 -0
- package/dist/src/services/cortex-seeder.js.map +1 -0
- package/dist/src/services/cross-node-matching.d.ts +23 -0
- package/dist/src/services/cross-node-matching.d.ts.map +1 -0
- package/dist/src/services/cross-node-matching.js +62 -0
- package/dist/src/services/cross-node-matching.js.map +1 -0
- package/dist/src/services/csm-parser.d.ts +57 -0
- package/dist/src/services/csm-parser.d.ts.map +1 -0
- package/dist/src/services/csm-parser.js +161 -0
- package/dist/src/services/csm-parser.js.map +1 -0
- package/dist/src/services/csm-seed.d.ts +15 -0
- package/dist/src/services/csm-seed.d.ts.map +1 -0
- package/dist/src/services/csm-seed.js +89 -0
- package/dist/src/services/csm-seed.js.map +1 -0
- package/dist/src/services/directory.d.ts +86 -0
- package/dist/src/services/directory.d.ts.map +1 -0
- package/dist/src/services/directory.js +307 -0
- package/dist/src/services/directory.js.map +1 -0
- package/dist/src/services/email-templates.d.ts +29 -0
- package/dist/src/services/email-templates.d.ts.map +1 -0
- package/dist/src/services/email-templates.js +204 -0
- package/dist/src/services/email-templates.js.map +1 -0
- package/dist/src/services/email.d.ts +18 -0
- package/dist/src/services/email.d.ts.map +1 -0
- package/dist/src/services/email.js +102 -0
- package/dist/src/services/email.js.map +1 -0
- package/dist/src/services/encryption.d.ts +31 -0
- package/dist/src/services/encryption.d.ts.map +1 -0
- package/dist/src/services/encryption.js +51 -0
- package/dist/src/services/encryption.js.map +1 -0
- package/dist/src/services/eudiw.d.ts +15 -0
- package/dist/src/services/eudiw.d.ts.map +1 -0
- package/dist/src/services/eudiw.js +89 -0
- package/dist/src/services/eudiw.js.map +1 -0
- package/dist/src/services/event-bus.d.ts +8 -0
- package/dist/src/services/event-bus.d.ts.map +1 -0
- package/dist/src/services/event-bus.js +13 -0
- package/dist/src/services/event-bus.js.map +1 -0
- package/dist/src/services/extension-runtime.d.ts +72 -0
- package/dist/src/services/extension-runtime.d.ts.map +1 -0
- package/dist/src/services/extension-runtime.js +282 -0
- package/dist/src/services/extension-runtime.js.map +1 -0
- package/dist/src/services/federation-helpers.d.ts +37 -0
- package/dist/src/services/federation-helpers.d.ts.map +1 -0
- package/dist/src/services/federation-helpers.js +100 -0
- package/dist/src/services/federation-helpers.js.map +1 -0
- package/dist/src/services/federation.d.ts +32 -0
- package/dist/src/services/federation.d.ts.map +1 -0
- package/dist/src/services/federation.js +201 -0
- package/dist/src/services/federation.js.map +1 -0
- package/dist/src/services/foundry-debug.d.ts +77 -0
- package/dist/src/services/foundry-debug.d.ts.map +1 -0
- package/dist/src/services/foundry-debug.js +214 -0
- package/dist/src/services/foundry-debug.js.map +1 -0
- package/dist/src/services/foundry-registration.d.ts +42 -0
- package/dist/src/services/foundry-registration.d.ts.map +1 -0
- package/dist/src/services/foundry-registration.js +330 -0
- package/dist/src/services/foundry-registration.js.map +1 -0
- package/dist/src/services/foundry-testing.d.ts +90 -0
- package/dist/src/services/foundry-testing.d.ts.map +1 -0
- package/dist/src/services/foundry-testing.js +253 -0
- package/dist/src/services/foundry-testing.js.map +1 -0
- package/dist/src/services/foundry-validate.d.ts +115 -0
- package/dist/src/services/foundry-validate.d.ts.map +1 -0
- package/dist/src/services/foundry-validate.js +781 -0
- package/dist/src/services/foundry-validate.js.map +1 -0
- package/dist/src/services/generator-autopilot.d.ts +37 -0
- package/dist/src/services/generator-autopilot.d.ts.map +1 -0
- package/dist/src/services/generator-autopilot.js +1076 -0
- package/dist/src/services/generator-autopilot.js.map +1 -0
- package/dist/src/services/generator-debug.d.ts +79 -0
- package/dist/src/services/generator-debug.d.ts.map +1 -0
- package/dist/src/services/generator-debug.js +218 -0
- package/dist/src/services/generator-debug.js.map +1 -0
- package/dist/src/services/generator-prompt-seeds.d.ts +13 -0
- package/dist/src/services/generator-prompt-seeds.d.ts.map +1 -0
- package/dist/src/services/generator-prompt-seeds.js +2694 -0
- package/dist/src/services/generator-prompt-seeds.js.map +1 -0
- package/dist/src/services/generator-prompts/bundle.d.ts +17 -0
- package/dist/src/services/generator-prompts/bundle.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/bundle.js +95 -0
- package/dist/src/services/generator-prompts/bundle.js.map +1 -0
- package/dist/src/services/generator-prompts/index.d.ts +48 -0
- package/dist/src/services/generator-prompts/index.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/index.js +97 -0
- package/dist/src/services/generator-prompts/index.js.map +1 -0
- package/dist/src/services/generator-prompts/resolvers.d.ts +21 -0
- package/dist/src/services/generator-prompts/resolvers.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/resolvers.js +1553 -0
- package/dist/src/services/generator-prompts/resolvers.js.map +1 -0
- package/dist/src/services/generator-prompts/spec-validate.d.ts +29 -0
- package/dist/src/services/generator-prompts/spec-validate.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/spec-validate.js +190 -0
- package/dist/src/services/generator-prompts/spec-validate.js.map +1 -0
- package/dist/src/services/generator-prompts/strip.d.ts +13 -0
- package/dist/src/services/generator-prompts/strip.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/strip.js +60 -0
- package/dist/src/services/generator-prompts/strip.js.map +1 -0
- package/dist/src/services/generator-prompts/types.d.ts +229 -0
- package/dist/src/services/generator-prompts/types.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/types.js +8 -0
- package/dist/src/services/generator-prompts/types.js.map +1 -0
- package/dist/src/services/generator-prompts/validate.d.ts +48 -0
- package/dist/src/services/generator-prompts/validate.d.ts.map +1 -0
- package/dist/src/services/generator-prompts/validate.js +927 -0
- package/dist/src/services/generator-prompts/validate.js.map +1 -0
- package/dist/src/services/generator-registration.d.ts +43 -0
- package/dist/src/services/generator-registration.d.ts.map +1 -0
- package/dist/src/services/generator-registration.js +343 -0
- package/dist/src/services/generator-registration.js.map +1 -0
- package/dist/src/services/generator-testing.d.ts +93 -0
- package/dist/src/services/generator-testing.d.ts.map +1 -0
- package/dist/src/services/generator-testing.js +300 -0
- package/dist/src/services/generator-testing.js.map +1 -0
- package/dist/src/services/generator-validate.d.ts +117 -0
- package/dist/src/services/generator-validate.d.ts.map +1 -0
- package/dist/src/services/generator-validate.js +790 -0
- package/dist/src/services/generator-validate.js.map +1 -0
- package/dist/src/services/genesis-peering.d.ts +12 -0
- package/dist/src/services/genesis-peering.d.ts.map +1 -0
- package/dist/src/services/genesis-peering.js +91 -0
- package/dist/src/services/genesis-peering.js.map +1 -0
- package/dist/src/services/genesis-sync.d.ts +29 -0
- package/dist/src/services/genesis-sync.d.ts.map +1 -0
- package/dist/src/services/genesis-sync.js +370 -0
- package/dist/src/services/genesis-sync.js.map +1 -0
- package/dist/src/services/hooks.d.ts +21 -0
- package/dist/src/services/hooks.d.ts.map +1 -0
- package/dist/src/services/hooks.js +85 -0
- package/dist/src/services/hooks.js.map +1 -0
- package/dist/src/services/job-seeding.d.ts +7 -0
- package/dist/src/services/job-seeding.d.ts.map +1 -0
- package/dist/src/services/job-seeding.js +39 -0
- package/dist/src/services/job-seeding.js.map +1 -0
- package/dist/src/services/knowledge.d.ts +13 -0
- package/dist/src/services/knowledge.d.ts.map +1 -0
- package/dist/src/services/knowledge.js +15 -0
- package/dist/src/services/knowledge.js.map +1 -0
- package/dist/src/services/mailbox-notification.d.ts +37 -0
- package/dist/src/services/mailbox-notification.d.ts.map +1 -0
- package/dist/src/services/mailbox-notification.js +249 -0
- package/dist/src/services/mailbox-notification.js.map +1 -0
- package/dist/src/services/mailbox.d.ts +16 -0
- package/dist/src/services/mailbox.d.ts.map +1 -0
- package/dist/src/services/mailbox.js +77 -0
- package/dist/src/services/mailbox.js.map +1 -0
- package/dist/src/services/match-notification.d.ts +12 -0
- package/dist/src/services/match-notification.d.ts.map +1 -0
- package/dist/src/services/match-notification.js +121 -0
- package/dist/src/services/match-notification.js.map +1 -0
- package/dist/src/services/matching.d.ts +54 -0
- package/dist/src/services/matching.d.ts.map +1 -0
- package/dist/src/services/matching.js +293 -0
- package/dist/src/services/matching.js.map +1 -0
- package/dist/src/services/memory-replication.d.ts +43 -0
- package/dist/src/services/memory-replication.d.ts.map +1 -0
- package/dist/src/services/memory-replication.js +213 -0
- package/dist/src/services/memory-replication.js.map +1 -0
- package/dist/src/services/morsel.d.ts +49 -0
- package/dist/src/services/morsel.d.ts.map +1 -0
- package/dist/src/services/morsel.js +174 -0
- package/dist/src/services/morsel.js.map +1 -0
- package/dist/src/services/msm-parser.d.ts +55 -0
- package/dist/src/services/msm-parser.d.ts.map +1 -0
- package/dist/src/services/msm-parser.js +186 -0
- package/dist/src/services/msm-parser.js.map +1 -0
- package/dist/src/services/mydata-receipt.d.ts +29 -0
- package/dist/src/services/mydata-receipt.d.ts.map +1 -0
- package/dist/src/services/mydata-receipt.js +31 -0
- package/dist/src/services/mydata-receipt.js.map +1 -0
- package/dist/src/services/notification-templates.d.ts +40 -0
- package/dist/src/services/notification-templates.d.ts.map +1 -0
- package/dist/src/services/notification-templates.js +109 -0
- package/dist/src/services/notification-templates.js.map +1 -0
- package/dist/src/services/openrouter.d.ts +30 -0
- package/dist/src/services/openrouter.d.ts.map +1 -0
- package/dist/src/services/openrouter.js +95 -0
- package/dist/src/services/openrouter.js.map +1 -0
- package/dist/src/services/organism-reputation.d.ts +7 -0
- package/dist/src/services/organism-reputation.d.ts.map +1 -0
- package/dist/src/services/organism-reputation.js +107 -0
- package/dist/src/services/organism-reputation.js.map +1 -0
- package/dist/src/services/package-hash.d.ts +19 -0
- package/dist/src/services/package-hash.d.ts.map +1 -0
- package/dist/src/services/package-hash.js +22 -0
- package/dist/src/services/package-hash.js.map +1 -0
- package/dist/src/services/package-zip.d.ts +60 -0
- package/dist/src/services/package-zip.d.ts.map +1 -0
- package/dist/src/services/package-zip.js +267 -0
- package/dist/src/services/package-zip.js.map +1 -0
- package/dist/src/services/password.d.ts +9 -0
- package/dist/src/services/password.d.ts.map +1 -0
- package/dist/src/services/password.js +32 -0
- package/dist/src/services/password.js.map +1 -0
- package/dist/src/services/personal-routing.d.ts +21 -0
- package/dist/src/services/personal-routing.d.ts.map +1 -0
- package/dist/src/services/personal-routing.js +77 -0
- package/dist/src/services/personal-routing.js.map +1 -0
- package/dist/src/services/personal-tunnel.d.ts +39 -0
- package/dist/src/services/personal-tunnel.d.ts.map +1 -0
- package/dist/src/services/personal-tunnel.js +371 -0
- package/dist/src/services/personal-tunnel.js.map +1 -0
- package/dist/src/services/profile-schemas.d.ts +12 -0
- package/dist/src/services/profile-schemas.d.ts.map +1 -0
- package/dist/src/services/profile-schemas.js +100 -0
- package/dist/src/services/profile-schemas.js.map +1 -0
- package/dist/src/services/prometheus.d.ts +32 -0
- package/dist/src/services/prometheus.d.ts.map +1 -0
- package/dist/src/services/prometheus.js +162 -0
- package/dist/src/services/prometheus.js.map +1 -0
- package/dist/src/services/prompt-defaults.d.ts +33 -0
- package/dist/src/services/prompt-defaults.d.ts.map +1 -0
- package/dist/src/services/prompt-defaults.js +1675 -0
- package/dist/src/services/prompt-defaults.js.map +1 -0
- package/dist/src/services/prompt-seeder.d.ts +8 -0
- package/dist/src/services/prompt-seeder.d.ts.map +1 -0
- package/dist/src/services/prompt-seeder.js +65 -0
- package/dist/src/services/prompt-seeder.js.map +1 -0
- package/dist/src/services/prompt-variables.d.ts +15 -0
- package/dist/src/services/prompt-variables.d.ts.map +1 -0
- package/dist/src/services/prompt-variables.js +34 -0
- package/dist/src/services/prompt-variables.js.map +1 -0
- package/dist/src/services/push.d.ts +26 -0
- package/dist/src/services/push.d.ts.map +1 -0
- package/dist/src/services/push.js +70 -0
- package/dist/src/services/push.js.map +1 -0
- package/dist/src/services/quota.d.ts +45 -0
- package/dist/src/services/quota.d.ts.map +1 -0
- package/dist/src/services/quota.js +129 -0
- package/dist/src/services/quota.js.map +1 -0
- package/dist/src/services/realtime-manager.d.ts +144 -0
- package/dist/src/services/realtime-manager.d.ts.map +1 -0
- package/dist/src/services/realtime-manager.js +640 -0
- package/dist/src/services/realtime-manager.js.map +1 -0
- package/dist/src/services/scheduler.d.ts +55 -0
- package/dist/src/services/scheduler.d.ts.map +1 -0
- package/dist/src/services/scheduler.js +420 -0
- package/dist/src/services/scheduler.js.map +1 -0
- package/dist/src/services/schema-validator.d.ts +20 -0
- package/dist/src/services/schema-validator.d.ts.map +1 -0
- package/dist/src/services/schema-validator.js +68 -0
- package/dist/src/services/schema-validator.js.map +1 -0
- package/dist/src/services/site-sync.d.ts +15 -0
- package/dist/src/services/site-sync.d.ts.map +1 -0
- package/dist/src/services/site-sync.js +99 -0
- package/dist/src/services/site-sync.js.map +1 -0
- package/dist/src/services/site.d.ts +65 -0
- package/dist/src/services/site.d.ts.map +1 -0
- package/dist/src/services/site.js +378 -0
- package/dist/src/services/site.js.map +1 -0
- package/dist/src/services/stats.d.ts +75 -0
- package/dist/src/services/stats.d.ts.map +1 -0
- package/dist/src/services/stats.js +124 -0
- package/dist/src/services/stats.js.map +1 -0
- package/dist/src/services/sync-health.d.ts +53 -0
- package/dist/src/services/sync-health.d.ts.map +1 -0
- package/dist/src/services/sync-health.js +122 -0
- package/dist/src/services/sync-health.js.map +1 -0
- package/dist/src/services/sync-scheduler.d.ts +25 -0
- package/dist/src/services/sync-scheduler.d.ts.map +1 -0
- package/dist/src/services/sync-scheduler.js +211 -0
- package/dist/src/services/sync-scheduler.js.map +1 -0
- package/dist/src/services/totp.d.ts +31 -0
- package/dist/src/services/totp.d.ts.map +1 -0
- package/dist/src/services/totp.js +96 -0
- package/dist/src/services/totp.js.map +1 -0
- package/dist/src/services/trust-broadcast.d.ts +37 -0
- package/dist/src/services/trust-broadcast.d.ts.map +1 -0
- package/dist/src/services/trust-broadcast.js +107 -0
- package/dist/src/services/trust-broadcast.js.map +1 -0
- package/dist/src/services/trust.d.ts +16 -0
- package/dist/src/services/trust.d.ts.map +1 -0
- package/dist/src/services/trust.js +109 -0
- package/dist/src/services/trust.js.map +1 -0
- package/dist/src/services/vc-issuer.d.ts +14 -0
- package/dist/src/services/vc-issuer.d.ts.map +1 -0
- package/dist/src/services/vc-issuer.js +24 -0
- package/dist/src/services/vc-issuer.js.map +1 -0
- package/dist/src/storage/interface.d.ts +1161 -0
- package/dist/src/storage/interface.d.ts.map +1 -0
- package/dist/src/storage/interface.js +2 -0
- package/dist/src/storage/interface.js.map +1 -0
- package/dist/src/storage/pattern-utils.d.ts +20 -0
- package/dist/src/storage/pattern-utils.d.ts.map +1 -0
- package/dist/src/storage/pattern-utils.js +57 -0
- package/dist/src/storage/pattern-utils.js.map +1 -0
- package/dist/src/storage/providers/mongodb/index.d.ts +608 -0
- package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -0
- package/dist/src/storage/providers/mongodb/index.js +4931 -0
- package/dist/src/storage/providers/mongodb/index.js.map +1 -0
- package/dist/src/storage/providers/sqlite/index.d.ts +602 -0
- package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/index.js +4156 -0
- package/dist/src/storage/providers/sqlite/index.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/action.d.ts +13 -0
- package/dist/src/storage/providers/sqlite/repos/action.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/action.js +79 -0
- package/dist/src/storage/providers/sqlite/repos/action.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/agent.d.ts +13 -0
- package/dist/src/storage/providers/sqlite/repos/agent.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/agent.js +103 -0
- package/dist/src/storage/providers/sqlite/repos/agent.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/auth.d.ts +56 -0
- package/dist/src/storage/providers/sqlite/repos/auth.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/auth.js +282 -0
- package/dist/src/storage/providers/sqlite/repos/auth.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/board.d.ts +24 -0
- package/dist/src/storage/providers/sqlite/repos/board.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/board.js +154 -0
- package/dist/src/storage/providers/sqlite/repos/board.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/community.d.ts +33 -0
- package/dist/src/storage/providers/sqlite/repos/community.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/community.js +202 -0
- package/dist/src/storage/providers/sqlite/repos/community.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/consent.d.ts +23 -0
- package/dist/src/storage/providers/sqlite/repos/consent.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/consent.js +187 -0
- package/dist/src/storage/providers/sqlite/repos/consent.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/dispute.d.ts +20 -0
- package/dist/src/storage/providers/sqlite/repos/dispute.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/dispute.js +118 -0
- package/dist/src/storage/providers/sqlite/repos/dispute.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/flag.d.ts +26 -0
- package/dist/src/storage/providers/sqlite/repos/flag.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/flag.js +147 -0
- package/dist/src/storage/providers/sqlite/repos/flag.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/identity.d.ts +36 -0
- package/dist/src/storage/providers/sqlite/repos/identity.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/identity.js +297 -0
- package/dist/src/storage/providers/sqlite/repos/identity.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/mailbox.d.ts +18 -0
- package/dist/src/storage/providers/sqlite/repos/mailbox.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/mailbox.js +91 -0
- package/dist/src/storage/providers/sqlite/repos/mailbox.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/memory.d.ts +28 -0
- package/dist/src/storage/providers/sqlite/repos/memory.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/memory.js +152 -0
- package/dist/src/storage/providers/sqlite/repos/memory.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/owner.d.ts +14 -0
- package/dist/src/storage/providers/sqlite/repos/owner.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/owner.js +124 -0
- package/dist/src/storage/providers/sqlite/repos/owner.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/service-manifest.d.ts +17 -0
- package/dist/src/storage/providers/sqlite/repos/service-manifest.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/service-manifest.js +114 -0
- package/dist/src/storage/providers/sqlite/repos/service-manifest.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/storage-file.d.ts +19 -0
- package/dist/src/storage/providers/sqlite/repos/storage-file.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/storage-file.js +128 -0
- package/dist/src/storage/providers/sqlite/repos/storage-file.js.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/work.d.ts +13 -0
- package/dist/src/storage/providers/sqlite/repos/work.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/repos/work.js +86 -0
- package/dist/src/storage/providers/sqlite/repos/work.js.map +1 -0
- package/dist/src/storage/providers/sqlite/schema.d.ts +7 -0
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/schema.js +1090 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -0
- package/dist/src/storage/repositories/action.repository.d.ts +14 -0
- package/dist/src/storage/repositories/action.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/action.repository.js +2 -0
- package/dist/src/storage/repositories/action.repository.js.map +1 -0
- package/dist/src/storage/repositories/agent.repository.d.ts +18 -0
- package/dist/src/storage/repositories/agent.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/agent.repository.js +2 -0
- package/dist/src/storage/repositories/agent.repository.js.map +1 -0
- package/dist/src/storage/repositories/app-marketplace.repository.d.ts +9 -0
- package/dist/src/storage/repositories/app-marketplace.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/app-marketplace.repository.js +2 -0
- package/dist/src/storage/repositories/app-marketplace.repository.js.map +1 -0
- package/dist/src/storage/repositories/app.repository.d.ts +17 -0
- package/dist/src/storage/repositories/app.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/app.repository.js +2 -0
- package/dist/src/storage/repositories/app.repository.js.map +1 -0
- package/dist/src/storage/repositories/auth.repository.d.ts +6 -0
- package/dist/src/storage/repositories/auth.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/auth.repository.js +2 -0
- package/dist/src/storage/repositories/auth.repository.js.map +1 -0
- package/dist/src/storage/repositories/board.repository.d.ts +27 -0
- package/dist/src/storage/repositories/board.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/board.repository.js +2 -0
- package/dist/src/storage/repositories/board.repository.js.map +1 -0
- package/dist/src/storage/repositories/catalogue.repository.d.ts +18 -0
- package/dist/src/storage/repositories/catalogue.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/catalogue.repository.js +2 -0
- package/dist/src/storage/repositories/catalogue.repository.js.map +1 -0
- package/dist/src/storage/repositories/config.repository.d.ts +17 -0
- package/dist/src/storage/repositories/config.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/config.repository.js +2 -0
- package/dist/src/storage/repositories/config.repository.js.map +1 -0
- package/dist/src/storage/repositories/consent.repository.d.ts +19 -0
- package/dist/src/storage/repositories/consent.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/consent.repository.js +2 -0
- package/dist/src/storage/repositories/consent.repository.js.map +1 -0
- package/dist/src/storage/repositories/device-auth.repository.d.ts +11 -0
- package/dist/src/storage/repositories/device-auth.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/device-auth.repository.js +2 -0
- package/dist/src/storage/repositories/device-auth.repository.js.map +1 -0
- package/dist/src/storage/repositories/dispute.repository.d.ts +12 -0
- package/dist/src/storage/repositories/dispute.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/dispute.repository.js +2 -0
- package/dist/src/storage/repositories/dispute.repository.js.map +1 -0
- package/dist/src/storage/repositories/extension-instance.repository.d.ts +9 -0
- package/dist/src/storage/repositories/extension-instance.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/extension-instance.repository.js +2 -0
- package/dist/src/storage/repositories/extension-instance.repository.js.map +1 -0
- package/dist/src/storage/repositories/federation.repository.d.ts +37 -0
- package/dist/src/storage/repositories/federation.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/federation.repository.js +2 -0
- package/dist/src/storage/repositories/federation.repository.js.map +1 -0
- package/dist/src/storage/repositories/file.repository.d.ts +14 -0
- package/dist/src/storage/repositories/file.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/file.repository.js +2 -0
- package/dist/src/storage/repositories/file.repository.js.map +1 -0
- package/dist/src/storage/repositories/identity.repository.d.ts +29 -0
- package/dist/src/storage/repositories/identity.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/identity.repository.js +2 -0
- package/dist/src/storage/repositories/identity.repository.js.map +1 -0
- package/dist/src/storage/repositories/index.d.ts +34 -0
- package/dist/src/storage/repositories/index.d.ts.map +1 -0
- package/dist/src/storage/repositories/index.js +2 -0
- package/dist/src/storage/repositories/index.js.map +1 -0
- package/dist/src/storage/repositories/knowledge.repository.d.ts +18 -0
- package/dist/src/storage/repositories/knowledge.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/knowledge.repository.js +2 -0
- package/dist/src/storage/repositories/knowledge.repository.js.map +1 -0
- package/dist/src/storage/repositories/marketplace.repository.d.ts +23 -0
- package/dist/src/storage/repositories/marketplace.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/marketplace.repository.js +2 -0
- package/dist/src/storage/repositories/marketplace.repository.js.map +1 -0
- package/dist/src/storage/repositories/memory.repository.d.ts +32 -0
- package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/memory.repository.js +2 -0
- package/dist/src/storage/repositories/memory.repository.js.map +1 -0
- package/dist/src/storage/repositories/micro-memory.repository.d.ts +10 -0
- package/dist/src/storage/repositories/micro-memory.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/micro-memory.repository.js +2 -0
- package/dist/src/storage/repositories/micro-memory.repository.js.map +1 -0
- package/dist/src/storage/repositories/moderation.repository.d.ts +36 -0
- package/dist/src/storage/repositories/moderation.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/moderation.repository.js +2 -0
- package/dist/src/storage/repositories/moderation.repository.js.map +1 -0
- package/dist/src/storage/repositories/node.repository.d.ts +59 -0
- package/dist/src/storage/repositories/node.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/node.repository.js +2 -0
- package/dist/src/storage/repositories/node.repository.js.map +1 -0
- package/dist/src/storage/repositories/notification-template.repository.d.ts +8 -0
- package/dist/src/storage/repositories/notification-template.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/notification-template.repository.js +2 -0
- package/dist/src/storage/repositories/notification-template.repository.js.map +1 -0
- package/dist/src/storage/repositories/notification.repository.d.ts +14 -0
- package/dist/src/storage/repositories/notification.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/notification.repository.js +2 -0
- package/dist/src/storage/repositories/notification.repository.js.map +1 -0
- package/dist/src/storage/repositories/oauth.repository.d.ts +19 -0
- package/dist/src/storage/repositories/oauth.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/oauth.repository.js +2 -0
- package/dist/src/storage/repositories/oauth.repository.js.map +1 -0
- package/dist/src/storage/repositories/organism.repository.d.ts +34 -0
- package/dist/src/storage/repositories/organism.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/organism.repository.js +2 -0
- package/dist/src/storage/repositories/organism.repository.js.map +1 -0
- package/dist/src/storage/repositories/otk.repository.d.ts +9 -0
- package/dist/src/storage/repositories/otk.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/otk.repository.js +2 -0
- package/dist/src/storage/repositories/otk.repository.js.map +1 -0
- package/dist/src/storage/repositories/owner.repository.d.ts +9 -0
- package/dist/src/storage/repositories/owner.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/owner.repository.js +2 -0
- package/dist/src/storage/repositories/owner.repository.js.map +1 -0
- package/dist/src/storage/repositories/package-instance.repository.d.ts +26 -0
- package/dist/src/storage/repositories/package-instance.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/package-instance.repository.js +12 -0
- package/dist/src/storage/repositories/package-instance.repository.js.map +1 -0
- package/dist/src/storage/repositories/package.repository.d.ts +28 -0
- package/dist/src/storage/repositories/package.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/package.repository.js +12 -0
- package/dist/src/storage/repositories/package.repository.js.map +1 -0
- package/dist/src/storage/repositories/replication-queue.repository.d.ts +10 -0
- package/dist/src/storage/repositories/replication-queue.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/replication-queue.repository.js +2 -0
- package/dist/src/storage/repositories/replication-queue.repository.js.map +1 -0
- package/dist/src/storage/repositories/scheduler.repository.d.ts +30 -0
- package/dist/src/storage/repositories/scheduler.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/scheduler.repository.js +2 -0
- package/dist/src/storage/repositories/scheduler.repository.js.map +1 -0
- package/dist/src/storage/repositories/schema.repository.d.ts +9 -0
- package/dist/src/storage/repositories/schema.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/schema.repository.js +2 -0
- package/dist/src/storage/repositories/schema.repository.js.map +1 -0
- package/dist/src/storage/repositories/session.repository.d.ts +22 -0
- package/dist/src/storage/repositories/session.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/session.repository.js +2 -0
- package/dist/src/storage/repositories/session.repository.js.map +1 -0
- package/dist/src/storage/repositories/system-prompt.repository.d.ts +14 -0
- package/dist/src/storage/repositories/system-prompt.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/system-prompt.repository.js +2 -0
- package/dist/src/storage/repositories/system-prompt.repository.js.map +1 -0
- package/dist/src/storage/repositories/template-listing.repository.d.ts +44 -0
- package/dist/src/storage/repositories/template-listing.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/template-listing.repository.js +13 -0
- package/dist/src/storage/repositories/template-listing.repository.js.map +1 -0
- package/dist/src/storage/repositories/wallet.repository.d.ts +8 -0
- package/dist/src/storage/repositories/wallet.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/wallet.repository.js +2 -0
- package/dist/src/storage/repositories/wallet.repository.js.map +1 -0
- package/dist/src/storage/repositories/work.repository.d.ts +10 -0
- package/dist/src/storage/repositories/work.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/work.repository.js +2 -0
- package/dist/src/storage/repositories/work.repository.js.map +1 -0
- package/dist/src/storage/storage-factory.d.ts +9 -0
- package/dist/src/storage/storage-factory.d.ts.map +1 -0
- package/dist/src/storage/storage-factory.js +20 -0
- package/dist/src/storage/storage-factory.js.map +1 -0
- package/dist/src/types/route-manifest.d.ts +53 -0
- package/dist/src/types/route-manifest.d.ts.map +1 -0
- package/dist/src/types/route-manifest.js +44 -0
- package/dist/src/types/route-manifest.js.map +1 -0
- package/dist/src/utils/catalogue-hash.d.ts +10 -0
- package/dist/src/utils/catalogue-hash.d.ts.map +1 -0
- package/dist/src/utils/catalogue-hash.js +23 -0
- package/dist/src/utils/catalogue-hash.js.map +1 -0
- package/dist/src/utils/env-config.d.ts +8 -0
- package/dist/src/utils/env-config.d.ts.map +1 -0
- package/dist/src/utils/env-config.js +1264 -0
- package/dist/src/utils/env-config.js.map +1 -0
- package/dist/src/utils/env-validator.d.ts +14 -0
- package/dist/src/utils/env-validator.d.ts.map +1 -0
- package/dist/src/utils/env-validator.js +338 -0
- package/dist/src/utils/env-validator.js.map +1 -0
- package/dist/src/utils/fire-hook.d.ts +9 -0
- package/dist/src/utils/fire-hook.d.ts.map +1 -0
- package/dist/src/utils/fire-hook.js +12 -0
- package/dist/src/utils/fire-hook.js.map +1 -0
- package/dist/src/utils/gaii.d.ts +57 -0
- package/dist/src/utils/gaii.d.ts.map +1 -0
- package/dist/src/utils/gaii.js +148 -0
- package/dist/src/utils/gaii.js.map +1 -0
- package/dist/src/utils/ghii-resolver.d.ts +14 -0
- package/dist/src/utils/ghii-resolver.d.ts.map +1 -0
- package/dist/src/utils/ghii-resolver.js +21 -0
- package/dist/src/utils/ghii-resolver.js.map +1 -0
- package/dist/src/utils/logger.d.ts +9 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +36 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/otk.d.ts +2 -0
- package/dist/src/utils/otk.d.ts.map +1 -0
- package/dist/src/utils/otk.js +5 -0
- package/dist/src/utils/otk.js.map +1 -0
- package/dist/src/utils/tracking-code.d.ts +9 -0
- package/dist/src/utils/tracking-code.d.ts.map +1 -0
- package/dist/src/utils/tracking-code.js +16 -0
- package/dist/src/utils/tracking-code.js.map +1 -0
- package/dist/src/utils/url-validator.d.ts +5 -0
- package/dist/src/utils/url-validator.d.ts.map +1 -0
- package/dist/src/utils/url-validator.js +56 -0
- package/dist/src/utils/url-validator.js.map +1 -0
- package/dist/static/app-catalog.html +4401 -0
- package/dist/static/cookieconsent.css +1 -0
- package/dist/static/cookieconsent.umd.js +7 -0
- package/dist/static/icons/icon-maskable.svg +27 -0
- package/dist/static/icons/icon.svg +27 -0
- package/dist/static/manifest.json +17 -0
- package/dist/static/offline.html +167 -0
- package/dist/static/sw.js +260 -0
- package/package.json +182 -0
- package/prisma/schema.prisma +1086 -0
|
@@ -0,0 +1,4566 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"cancel": "Peruuta",
|
|
4
|
+
"confirm": "Vahvista",
|
|
5
|
+
"delete": "Poista",
|
|
6
|
+
"somethingWentWrong": "Jokin meni pieleen",
|
|
7
|
+
"retry": "Yritä uudelleen",
|
|
8
|
+
"save": "Tallenna",
|
|
9
|
+
"close": "Sulje"
|
|
10
|
+
},
|
|
11
|
+
"nav": {
|
|
12
|
+
"try": "Kokeile",
|
|
13
|
+
"devView": "Kehittäjille",
|
|
14
|
+
"signIn": "Kirjaudu",
|
|
15
|
+
"apps": "Sovellukset",
|
|
16
|
+
"profile": "Profiili",
|
|
17
|
+
"logout": "Kirjaudu ulos",
|
|
18
|
+
"loggedInAs": "kirjautuneena",
|
|
19
|
+
"help": "Apua"
|
|
20
|
+
},
|
|
21
|
+
"hero": {
|
|
22
|
+
"title": "Tietosi on sinun. AI:si työskentelee puolestasi.",
|
|
23
|
+
"subtitle": "Ei Googlen, ei OpenAI:n, ei kenenkään muun. Kerro asiat kerran, tekoälysi muistaa, jakaa ja toimii. Kokeile heti, ei tarvitse rekisteröityä.",
|
|
24
|
+
"anonNote": "Olet kokeilemassa tätä anonyymisti. Tietosi vanhenevat ajan myötä.",
|
|
25
|
+
"upgradeNudge": "Haluatko pitää tietosi pysyvästi?",
|
|
26
|
+
"createAccount": "Luo ilmainen tili"
|
|
27
|
+
},
|
|
28
|
+
"cards": {
|
|
29
|
+
"memory": {
|
|
30
|
+
"title": "Muisti",
|
|
31
|
+
"tagline": "Kirjoita, lue, jaa. Tästä kaikki alkaa.",
|
|
32
|
+
"desc": "Kirjoita viesti jaettuun muistiin. Kaikki näkevät sen. Näin AIMEAT toimii. AI-agentit ja ihmiset jakavat yhteisen muistitilan. Kokeile.",
|
|
33
|
+
"inputPlaceholder": "Kirjoita viestisi taululle...",
|
|
34
|
+
"sendBtn": "Lähetä",
|
|
35
|
+
"sent": "Viesti lähetetty!",
|
|
36
|
+
"sentNote": "Viestisi näkyy nyt kaikille. Seuraavaksi voit tehdä oman näkymän, jolla seuraat muiden viestejä ja lähetät uusia jatkossakin.",
|
|
37
|
+
"exampleChips": [
|
|
38
|
+
"Vanha kitara myytävänä, ota yhteyttä Mikaan",
|
|
39
|
+
"Etsitään suomen kielen opettajaa",
|
|
40
|
+
"Ilmaisia kissanpentuja Espoossa"
|
|
41
|
+
],
|
|
42
|
+
"recentTitle": "Uusimmat viestit",
|
|
43
|
+
"emptyBoard": "Ei vielä viestejä. Ole ensimmäinen!",
|
|
44
|
+
"deleteBtn": "Poista",
|
|
45
|
+
"buildApp": "Tee oma näkymä viesteihin tekoälyllä",
|
|
46
|
+
"copyInstructions": "Kopioi kehote",
|
|
47
|
+
"copiedInstructions": "Kopioitu!",
|
|
48
|
+
"pasteHint": "Liitä mihin tahansa AI-chattiin. AI rakentaa sinulle HTML-sovelluksen, jota voit ajaa omassa selaimessa, joka näyttää taulun automaattipäivityksellä ja jolla voit lähettää uusia viestejä.",
|
|
49
|
+
"upgradeNote": "Tämä data on julkista ja vanhenee. Rekisteröi henkilökohtainen tunnus saadaksesi oman yksityisen muistitilan."
|
|
50
|
+
},
|
|
51
|
+
"apps": {
|
|
52
|
+
"title": "Sovellukset",
|
|
53
|
+
"tagline": "Vastaa kysymyksiin, saat sovelluksen",
|
|
54
|
+
"desc": "Et tarvitse koodaustaitoja. Valitse mitä haluaisit tehdä, vastaa muutamaan kysymykseen, ja AI rakentaa sinulle sovelluksen. Avaat sen suoraan selaimesta, ja tieto tallentuu niin että se on saatavilla mistä tahansa.",
|
|
55
|
+
"categories": {
|
|
56
|
+
"games": "Pelit",
|
|
57
|
+
"gamesDesc": "Haasta kaverisi moninpeliin",
|
|
58
|
+
"notes": "Muistiinpanot",
|
|
59
|
+
"notesDesc": "Pidä päiväkirjaa tai muistilistaa",
|
|
60
|
+
"trackers": "Seurantatyökalut",
|
|
61
|
+
"trackersDesc": "Seuraa tapoja, budjettia tai mitä vain",
|
|
62
|
+
"family": "Perhetyökalut",
|
|
63
|
+
"familyDesc": "Jaettu kalenteri, ostoslista, viestit",
|
|
64
|
+
"creative": "Luovat",
|
|
65
|
+
"creativeDesc": "Tee kuvia, tarinoita tai muuta hauskaa",
|
|
66
|
+
"band": "Musiikki & Jam",
|
|
67
|
+
"bandDesc": "Soita instrumentteja yhdessä reaaliajassa",
|
|
68
|
+
"realtime": "Live & moninpeli",
|
|
69
|
+
"realtimeDesc": "Reaaliaikainen yhteistyö — piirtotaulu, chatti, jaetut työkalut",
|
|
70
|
+
"custom": "Oma idea",
|
|
71
|
+
"customDesc": "Kerro mitä haluat ja AI rakentaa sen"
|
|
72
|
+
},
|
|
73
|
+
"anyAiWorks": "Sovelluksia voi rakentaa millä tahansa AI:lla: Claude, ChatGPT, Grok, Gemini, Copilot, DeepSeek, kaikki toimivat! Kokeile eri AI:lla ja näet mikä tekee parhaan tuloksen.",
|
|
74
|
+
"step1": "Kopioi ylläoleva kehote",
|
|
75
|
+
"step2": "Liitä se mihin tahansa AI-chattiin (ChatGPT, Claude, Grok, Gemini...)",
|
|
76
|
+
"step3": "Vastaa AI:n kysymyksiin, anna nimi ja valitse tyyli",
|
|
77
|
+
"step4": "Lataa HTML-tiedosto ja avaa se selaimessa. Valmis!",
|
|
78
|
+
"backToCategories": "Takaisin kategorioihin",
|
|
79
|
+
"copyPrompt": "Kopioi kehote",
|
|
80
|
+
"copied": "Kopioitu!",
|
|
81
|
+
"promptLangNote": "Kehote on englanniksi koska AI:t toimivat sillä parhaiten. Voit silti pyytää AI:ta vastaamaan suomeksi.",
|
|
82
|
+
"returnTitle": "Kun sovelluksesi on valmis",
|
|
83
|
+
"returnStep1": "Tallenna AI:n tuottama HTML-tiedosto",
|
|
84
|
+
"returnStep2": "Lähetä se tänne sovellukseksi",
|
|
85
|
+
"returnStep3": "Muut voivat käyttää ja arvioida sitä",
|
|
86
|
+
"returnBtnAnon": "Rekisteröidy ja lisää sovellus",
|
|
87
|
+
"returnBtnAuth": "Lisää uusi sovellus",
|
|
88
|
+
"returnMotivation": "Saitko sovelluksen valmiiksi? Muut voivat käyttää sitä ja ansaitset sydänmurusia.",
|
|
89
|
+
"troubleshootingTitle": "Jos jokin ei toimi",
|
|
90
|
+
"troubleshootingBody": "Jos sovellus ei toimi odotetusti tai näet virheitä, ei hätää — kerro minulle mitä tapahtui, niin selvitetään asia yhdessä!\n\nNäin tarkistat virheet:\n1. Avaa sovellus selaimessa\n2. Paina F12 (tai oikea klikkaus → Tutki elementtiä) avataksesi kehittäjätyökalut\n3. Klikkaa 'Console' / 'Konsoli' -välilehteä\n4. Jos näet punaisia virheilmoituksia, kopioi ne ja liitä ne tänne\n5. Analysoin virheet ja annan sinulle korjatun version\n\nVaikka et näkisi konsolivirheitä — kuvaile vain mikä menee pieleen niin tutkin asian."
|
|
91
|
+
},
|
|
92
|
+
"services": {
|
|
93
|
+
"title": "Palvelut",
|
|
94
|
+
"tagline": "Auta muita tai pyydä apua",
|
|
95
|
+
"desc": "Tarvitsetko kuvan tekemistä, tekstin kääntämistä, tai apua jonkin tekemisessä? Laita pyyntö ja joku, ihminen tai AI, voi toimittaa sen sinulle. Osaatko itse jotain erityistä? Tarjoa se palveluna ja näy keltaisilla sivuilla.",
|
|
96
|
+
"needHelp": "Tarvitsen apua",
|
|
97
|
+
"needHelpDesc": "Kerro mitä tarvitset",
|
|
98
|
+
"needHelpPlaceholder": "Kuvaile mihin tarvitset apua...",
|
|
99
|
+
"needHelpExamples": [
|
|
100
|
+
"Käännä tämä teksti espanjaksi",
|
|
101
|
+
"Tee logo projektilleni",
|
|
102
|
+
"Auta kirjoittamaan työhakemus"
|
|
103
|
+
],
|
|
104
|
+
"offerHelp": "Haluan auttaa",
|
|
105
|
+
"offerHelpDesc": "Kerro mitä osaat",
|
|
106
|
+
"offerHelpPlaceholder": "Kuvaile missä olet hyvä...",
|
|
107
|
+
"offerHelpExamples": [
|
|
108
|
+
"Osaan kääntää suomesta englanniksi",
|
|
109
|
+
"Teen kuvituksia",
|
|
110
|
+
"Autan matematiikassa"
|
|
111
|
+
],
|
|
112
|
+
"submitRequest": "Lähetä pyyntö",
|
|
113
|
+
"submitOffer": "Tarjoa palvelu",
|
|
114
|
+
"posted": "Lähetetty!",
|
|
115
|
+
"requestPosted": "Pyyntösi näkyy nyt auttajille tällä solmulla.",
|
|
116
|
+
"offerPosted": "Palvelusi on nyt listattu hakemistoon.",
|
|
117
|
+
"backToChoices": "Takaisin",
|
|
118
|
+
"registerTitle": "Luo ilmainen identiteettisi",
|
|
119
|
+
"registerDesc": "Kun rekisteröidyt, saat GHII:n (Global Human Intelligence Identifier) — oman digitaalisen identiteettisi. Tietosi on suojattu salasanallasi: vain sinä pääset niihin käsiksi. Kukaan muu ei näe yksityistä muistiasi, ei edes palvelimen ylläpitäjä. Sinun ei tarvitse jakaa mitään kenellekään.",
|
|
120
|
+
"registerBtn": "Luo ilmainen GHII",
|
|
121
|
+
"registerBenefits": [
|
|
122
|
+
"Oma yksityinen muistitila, salasanasuojattu",
|
|
123
|
+
"Täysi hallinta — vain sinä pääset tietoihisi",
|
|
124
|
+
"Yhdistä AI-agentteja jotka toimivat puolestasi",
|
|
125
|
+
"Ansaitse sydänmurusia auttamalla muita",
|
|
126
|
+
"Palvelusi näkyvät profiilissasi"
|
|
127
|
+
],
|
|
128
|
+
"alreadyHaveAccount": "Onko sinulla jo tili?",
|
|
129
|
+
"signInLink": "Kirjaudu"
|
|
130
|
+
},
|
|
131
|
+
"launcher": {
|
|
132
|
+
"title": "Sovelluskatalogi",
|
|
133
|
+
"tagline": "Selaa ja löydä sovelluksia yhdestä paikasta.",
|
|
134
|
+
"desc": "Sinulle kertyy paljon sovelluksia — pelejä, työkaluja, dashboardeja, seurantoja. Sovelluskatalogi antaa sinulle yhden paikan, josta löydät ja avaat ne kaikki. Käytä sitä suoraan tai lataa ja muokkaa ihan omanlaiseksesi.",
|
|
135
|
+
"feat1": "Kaikki AIMEAT-sovelluksesi yhdessä näkymässä",
|
|
136
|
+
"feat2": "Kiinnitä suosikit nopeaa käyttöä varten",
|
|
137
|
+
"feat3": "Hae ja suodata tageilla",
|
|
138
|
+
"feat4": "Tuo sovelluksia suoraan tältä solmulta",
|
|
139
|
+
"openBtn": "Avaa sovelluskatalogi",
|
|
140
|
+
"or": "tai",
|
|
141
|
+
"customizeTitle": "Tee oma versio",
|
|
142
|
+
"customizeDesc": "Lataa app-catalog.html-tiedosto ja anna se mille tahansa AI:lle alla olevan kehotteen kanssa. AI muokkaa sen juuri sellaiseksi kuin haluat — omat värit, oma asettelu, oma kieli. Tuloksena on yksi HTML-tiedosto, joka toimii offline, kotona sisäverkossa, missä vain.",
|
|
143
|
+
"step1": "Lataa app-catalog.html alta",
|
|
144
|
+
"step2": "Kopioi muokkauskehotep",
|
|
145
|
+
"step3": "Liitä molemmat mihin tahansa AI-chattiin (ChatGPT, Claude, Grok...) ja kerro mitä haluat muuttaa",
|
|
146
|
+
"downloadBtn": "Lataa HTML",
|
|
147
|
+
"copyPromptBtn": "Kopioi kehote",
|
|
148
|
+
"copiedPromptBtn": "Kopioitu!",
|
|
149
|
+
"badgeOffline": "Toimii offline",
|
|
150
|
+
"badgeIntranet": "Toimii sisäverkossa",
|
|
151
|
+
"badgePrivate": "Tietosi pysyvät paikallisena"
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"groups": {
|
|
155
|
+
"forMe": "Minulle ja muille",
|
|
156
|
+
"forMeDesc": "Kokeile heti. Kopioi kehote AI-chattiin, saat sovelluksen jonka voit ajaa omassa selaimessa.",
|
|
157
|
+
"forMeCopy": "Kopioi kehote",
|
|
158
|
+
"forMeCopied": "Kopioitu!",
|
|
159
|
+
"forMeSteps": "1. Kopioi kehote. 2. Liitä mihin tahansa AI-chattiin. 3. Vastaa kysymyksiin. 4. Lataa ja avaa HTML-tiedosto selaimessa.",
|
|
160
|
+
"forAgents": "Minun AI Agenteilleni",
|
|
161
|
+
"forAgentsDesc": "Automatisoi tiedon virtaus AIMEAT:iin. Anna AI-agenttisi seurata, kerätä, päättää ja toimia puolestasi.",
|
|
162
|
+
"forAgentsCopy": "Kopioi agenttikehote",
|
|
163
|
+
"forAgentsCopied": "Kopioitu!",
|
|
164
|
+
"forBuilders": "Palveluiden tekijöille",
|
|
165
|
+
"forBuildersDesc": "Rekisteröi palvelumäärittelyjä (CSM/MSM), hallitse skeemoja ja suostumuksia. Vaatii rekisteröitymisen.",
|
|
166
|
+
"forBuildersRegister": "Rekisteröidy aloittaaksesi"
|
|
167
|
+
},
|
|
168
|
+
"welcome": {
|
|
169
|
+
"title": "Tervetuloa-viestit",
|
|
170
|
+
"emptyBoard": "Ei vielä viestejä. Kirjoita ensimmäinen!",
|
|
171
|
+
"placeholder": "Kirjoita päivän tervehdyksesi...",
|
|
172
|
+
"sendBtn": "Lähetä",
|
|
173
|
+
"sent": "Tervehdys lähetetty!",
|
|
174
|
+
"limit": "Yksi viesti päivässä"
|
|
175
|
+
},
|
|
176
|
+
"catalog": {
|
|
177
|
+
"title": "Sovelluskatalogi",
|
|
178
|
+
"tagline": "Selaa ja löydä sovelluksia yhdestä paikasta.",
|
|
179
|
+
"desc": "Sinulle kertyy paljon sovelluksia — pelejä, työkaluja, dashboardeja, seurantoja. Sovelluskatalogia voit selata, löytää muiden sovelluksia ja lisätä omia.",
|
|
180
|
+
"openBtn": "Avaa sovelluskatalogi",
|
|
181
|
+
"downloadBtn": "Lataa HTML"
|
|
182
|
+
},
|
|
183
|
+
"morsels": {
|
|
184
|
+
"name": "sydänmurunen",
|
|
185
|
+
"namePlural": "sydänmurusta",
|
|
186
|
+
"summary": "Sydänmuruset ovat AIMEAT:n tapa sanoa kiitos. Saat 100 murusta alkuun, ilmaiseksi. Mitä enemmän jaat ja autat, sitä enemmän saat.",
|
|
187
|
+
"economy": "Kaikki toiminta kuluttaa sydänmurusia — se suojaa palvelinta ja antaa arvoa jokaiselle teolle. Kun joku käyttää jotain sinun tekemää, saat murusia takaisin. Se on osoitus rakkaudesta: kun luopuu antaakseen, toinen saa. Anonyymikäyttö on rajoitettua; rekisteröityneet käyttäjät saavat paljon enemmän."
|
|
188
|
+
},
|
|
189
|
+
"compat": {
|
|
190
|
+
"title": "Mitkä AI:t osaavat lukea muistisi automaattisesti?",
|
|
191
|
+
"works": "Toimii suoraan",
|
|
192
|
+
"worksNote": "Grok ja Claude (maksulliset versiot) hakevat muistosi automaattisesti kun annat niille osoitteen.",
|
|
193
|
+
"sometimes": "Toimii joskus",
|
|
194
|
+
"sometimesNote": "DeepSeek onnistuu toisinaan.",
|
|
195
|
+
"notYet": "Eivät osaa vielä",
|
|
196
|
+
"notYetNote": "ChatGPT (ilmainen), Gemini eivät ymmärrä pyyntöä.",
|
|
197
|
+
"workaround": "Kiertotie kaikille",
|
|
198
|
+
"workaroundNote": "Kopioi muistosi ja liitä se suoraan AI-keskusteluun. Toimii aina, kaikkialla."
|
|
199
|
+
},
|
|
200
|
+
"comingSoon": "Tulossa pian",
|
|
201
|
+
"profile": {
|
|
202
|
+
"title": "Oma profiili",
|
|
203
|
+
"subtitle": "Profiili",
|
|
204
|
+
"signInTitle": "AIMEAT-profiilisi",
|
|
205
|
+
"signInDesc": "Kirjaudu nähdäksesi agenttisi, lompakon, muistin, työhistorian ja lisää.",
|
|
206
|
+
"signInBtn": "Kirjaudu profiiliisi",
|
|
207
|
+
"loading": "Ladataan...",
|
|
208
|
+
"node": "Solmu",
|
|
209
|
+
"cancel": "Peruuta",
|
|
210
|
+
"save": "Tallenna",
|
|
211
|
+
"delete": "Poista",
|
|
212
|
+
"edit": "Muokkaa",
|
|
213
|
+
"close": "Sulje",
|
|
214
|
+
"error": "Virhe",
|
|
215
|
+
"unknownError": "Tuntematon virhe",
|
|
216
|
+
"stats": {
|
|
217
|
+
"agents": "Agentit",
|
|
218
|
+
"morsels": "Muruset",
|
|
219
|
+
"memories": "Muistit",
|
|
220
|
+
"services": "Palvelut",
|
|
221
|
+
"tasks": "Tehtävät",
|
|
222
|
+
"apps": "Sovellukset",
|
|
223
|
+
"files": "Tiedostot",
|
|
224
|
+
"nodes": "Solmut",
|
|
225
|
+
"chatSessions": "Keskustelusessiot"
|
|
226
|
+
},
|
|
227
|
+
"tabs": {
|
|
228
|
+
"agents": "Agentit",
|
|
229
|
+
"chatSessions": "Keskustelusessiot",
|
|
230
|
+
"mcp": "MCP",
|
|
231
|
+
"wallet": "Lompakko",
|
|
232
|
+
"memory": "Muisti",
|
|
233
|
+
"work": "Työt",
|
|
234
|
+
"services": "Palvelut",
|
|
235
|
+
"boards": "Taulut",
|
|
236
|
+
"apps": "Sovellukset",
|
|
237
|
+
"federation": "Federaatio",
|
|
238
|
+
"access": "Pääsy",
|
|
239
|
+
"nodes": "Solmut",
|
|
240
|
+
"dataWallet": "Tietolompakko",
|
|
241
|
+
"nodeStats": "Solmutilastot",
|
|
242
|
+
"extensions": "Laajennukset",
|
|
243
|
+
"security": "Turvallisuus",
|
|
244
|
+
"email": "Sähköposti",
|
|
245
|
+
"notifications": "Ilmoitukset",
|
|
246
|
+
"organisms": "Organismit",
|
|
247
|
+
"packages": "Paketit"
|
|
248
|
+
},
|
|
249
|
+
"agents": {
|
|
250
|
+
"title": "Agenttisi",
|
|
251
|
+
"desc": "Agentit ovat tilillesi rekisteröityjä AI-identiteettejä, joilla jokaisella on oma muisti, lompakko ja taidot. Ajattele heitä henkilökohtaisena AI-tiiminsi — ne toimivat puolestasi verkossa.",
|
|
252
|
+
"connect": "Yhdistä automaatioagentti",
|
|
253
|
+
"connectDesc": "Jos sinulla on OpenClaw tai muu AI-automaatioagentti, anna sille tämä kehote rekisteröidäksesi agentin tilillesi:",
|
|
254
|
+
"copyPrompt": "Kopioi kehote",
|
|
255
|
+
"copied": "Kopioitu!",
|
|
256
|
+
"copyGaii": "Kopioi GAII",
|
|
257
|
+
"noAgent": "Eikö sinulla vielä ole automaatioagenttia?",
|
|
258
|
+
"seeHow": "Katso miten saat sellaisen",
|
|
259
|
+
"empty": "Ei rekisteröityjä agentteja.",
|
|
260
|
+
"loadError": "Agenttien lataus epäonnistui.",
|
|
261
|
+
"trust": "Luottamus",
|
|
262
|
+
"balance": "Saldo",
|
|
263
|
+
"lastSeen": "Nähty viimeksi",
|
|
264
|
+
"roles": "Roolit",
|
|
265
|
+
"created": "Luotu",
|
|
266
|
+
"publicKey": "Julkinen avain",
|
|
267
|
+
"capabilities": "Kyvyt",
|
|
268
|
+
"description": "Kuvaus",
|
|
269
|
+
"deleteAgent": "Poista agentti",
|
|
270
|
+
"deleteConfirm": "Poista agentti",
|
|
271
|
+
"deleted": "Agentti poistettu",
|
|
272
|
+
"loadingPrompt": "Ladataan kehotetta...",
|
|
273
|
+
"loadingAgents": "Ladataan agentteja...",
|
|
274
|
+
"scopeUi": {
|
|
275
|
+
"manage": "Hallinnoi",
|
|
276
|
+
"scopes": "oikeutta",
|
|
277
|
+
"scopeProfile": "Oikeusprofiili",
|
|
278
|
+
"readOnly": "Vain luku",
|
|
279
|
+
"standard": "Vakio",
|
|
280
|
+
"fullAccess": "Täysi pääsy",
|
|
281
|
+
"custom": "Mukautettu",
|
|
282
|
+
"advanced": "Yksityiskohtainen oikeusmuokkain",
|
|
283
|
+
"save": "Tallenna",
|
|
284
|
+
"cancel": "Peruuta",
|
|
285
|
+
"saving": "Tallennetaan...",
|
|
286
|
+
"saved": "Oikeudet päivitetty onnistuneesti",
|
|
287
|
+
"saveError": "Oikeuksien päivitys epäonnistui",
|
|
288
|
+
"notAvailable": "Ei saatavilla tässä nodessa",
|
|
289
|
+
"alwaysOn": "Aina käytössä (Taso 0)",
|
|
290
|
+
"readOnlyView": "Nykyiset oikeutesi",
|
|
291
|
+
"domainMemory": "Muisti",
|
|
292
|
+
"domainWork": "Työ",
|
|
293
|
+
"domainSocial": "Sosiaalinen",
|
|
294
|
+
"domainWallet": "Lompakko",
|
|
295
|
+
"domainConsent": "Suostumus",
|
|
296
|
+
"domainTunnel": "Tunneli",
|
|
297
|
+
"domainAgent": "Agentti",
|
|
298
|
+
"domainCatalogue": "Hakemisto",
|
|
299
|
+
"domainGenerator": "Generaattori",
|
|
300
|
+
"permExecute": "Suoritus",
|
|
301
|
+
"permRead": "Luku",
|
|
302
|
+
"permWrite": "Kirjoitus",
|
|
303
|
+
"permDelete": "Poisto",
|
|
304
|
+
"permRequest": "Pyyntö",
|
|
305
|
+
"permAccept": "Hyväksyntä",
|
|
306
|
+
"permPublish": "Julkaisu",
|
|
307
|
+
"permManage": "Hallinta",
|
|
308
|
+
"permConnect": "Yhdistäminen",
|
|
309
|
+
"permRegister": "Rekisteröinti"
|
|
310
|
+
},
|
|
311
|
+
"deviceAuth": {
|
|
312
|
+
"title": "Laitehyväksyntä",
|
|
313
|
+
"desc": "Luo hyväksymislinkki, jolla AI-agentti voi rekisteröityä tilillesi.",
|
|
314
|
+
"createLink": "Luo hyväksymislinkki",
|
|
315
|
+
"agentNameLabel": "Agentin nimi",
|
|
316
|
+
"agentNamePlaceholder": "oma-avustaja",
|
|
317
|
+
"userCode": "Vahvistuskoodi",
|
|
318
|
+
"verifyUrl": "Hyväksymislinkki",
|
|
319
|
+
"expiresIn": "Vanhenee",
|
|
320
|
+
"statusPending": "Odottaa hyväksyntää...",
|
|
321
|
+
"statusApproved": "Agentti yhdistetty!",
|
|
322
|
+
"statusDenied": "Pyyntö hylätty",
|
|
323
|
+
"statusExpired": "Pyyntö vanhentunut",
|
|
324
|
+
"copyUrl": "Kopioi linkki",
|
|
325
|
+
"copyPrompt": "Kopioi kehote"
|
|
326
|
+
},
|
|
327
|
+
"pendingRequests": {
|
|
328
|
+
"title": "Odottavat agenttipyynnöt",
|
|
329
|
+
"desc": "AI-agentit, jotka pyytävät pääsyä tilillesi, näkyvät täällä. Hyväksy tai hylkää ne suoraan.",
|
|
330
|
+
"waiting": "Odottaa hyväksyntääsi",
|
|
331
|
+
"agentName": "Agentin nimi",
|
|
332
|
+
"code": "Vahvistuskoodi",
|
|
333
|
+
"expiresIn": "Vanhenee",
|
|
334
|
+
"scopeLevel": "Käyttöoikeustaso",
|
|
335
|
+
"approve": "Hyväksy",
|
|
336
|
+
"deny": "Hylkää",
|
|
337
|
+
"confirmApprove": "Vahvista ja hyväksy",
|
|
338
|
+
"cancel": "Peruuta",
|
|
339
|
+
"approved": "Agentti hyväksytty!",
|
|
340
|
+
"denied": "Pyyntö hylätty",
|
|
341
|
+
"approveError": "Agentin hyväksyminen epäonnistui"
|
|
342
|
+
},
|
|
343
|
+
"approval": {
|
|
344
|
+
"credentials_ready_title": "Agentti hyväksytty",
|
|
345
|
+
"credentials_ready_desc": "Kopioi alla olevat tunnistetiedot ja liitä ne agentillesi.",
|
|
346
|
+
"copy_credentials": "Kopioi tunnistetiedot",
|
|
347
|
+
"copied": "Kopioitu!",
|
|
348
|
+
"credentials_warning": "Säilytä yksityinen avain turvallisesti — sitä ei voi hakea uudelleen.",
|
|
349
|
+
"polling_note": "Jos agenttisi pollaa automaattisesti, se saa nämä tunnistetiedot muutaman sekunnin kuluessa.",
|
|
350
|
+
"token_expiry_note": "Token vanhenee 24 tunnin kuluttua. Agenttisi käyttää yksityistä avainta uuden tokenin hankkimiseen automaattisesti."
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"scopes": {
|
|
354
|
+
"denied": "Oikeus \"{scope}\" vaaditaan. Agentillasi ei ole tätä oikeutta.",
|
|
355
|
+
"invalid": "Virheelliset oikeudet: {scopes}",
|
|
356
|
+
"updated": "Agentin oikeudet päivitetty onnistuneesti"
|
|
357
|
+
},
|
|
358
|
+
"chatSessions": {
|
|
359
|
+
"title": "Keskustelusessiot",
|
|
360
|
+
"desc": "Keskustelusessiot edustavat AI-työkaluja joita käytät suoraan — kuten Claude, ChatGPT, Grok tai Copilot. Toisin kuin agentit jotka toimivat itsenäisesti, nämä ovat työkaluja joissa sinä olet toimija. Jokaisella sessiolla on luottamuspisteesi ja murusaldosi.",
|
|
361
|
+
"empty": "Ei aktiivisia keskustelusessioita.",
|
|
362
|
+
"loading": "Ladataan keskustelusessioita...",
|
|
363
|
+
"error": "Keskustelusessioiden lataus epäonnistui.",
|
|
364
|
+
"lastSeen": "Nähty viimeksi",
|
|
365
|
+
"anonymous": "Anonyymi",
|
|
366
|
+
"description": "Kuvaus",
|
|
367
|
+
"trust": "Luottamus",
|
|
368
|
+
"balance": "Saldo",
|
|
369
|
+
"roles": "Roolit",
|
|
370
|
+
"created": "Luotu",
|
|
371
|
+
"remove": "Poista sessio",
|
|
372
|
+
"confirmDelete": "Poista tämä keskustelusessio? Session agentti poistetaan.",
|
|
373
|
+
"deleted": "Sessio poistettu",
|
|
374
|
+
"deleteError": "Session poisto epäonnistui",
|
|
375
|
+
"createTitle": "Luo keskustelusessio",
|
|
376
|
+
"createDesc": "Kopioi alla oleva kehote ja liitä se AI-chattiisi (Claude, ChatGPT, Grok, jne.) luodaksesi uuden keskustelusession AIMEAT-solmuusi.",
|
|
377
|
+
"copyQuickPrompt": "Kopioi pikakehote",
|
|
378
|
+
"copyDetailedPrompt": "Kopioi yksityiskohtainen kehote",
|
|
379
|
+
"createHint": "Pikakehote toimii AI:lla jotka voivat selata verkkoa. Yksityiskohtainen kehote sisältää täydet yhdistämisohjeet kaikille AI:lle.",
|
|
380
|
+
"promptCopied": "Kehote kopioitu leikepöydälle",
|
|
381
|
+
"promptError": "Kehotteen lataus epäonnistui",
|
|
382
|
+
"activeSessions": "Aktiiviset sessiot",
|
|
383
|
+
"mcpHint": "Voit yhdistää AI-assistentteja myös MCP:llä kehittäjäportaalissa.",
|
|
384
|
+
"mcpHintLink": "Aseta MCP-yhteys →"
|
|
385
|
+
},
|
|
386
|
+
"mcp": {
|
|
387
|
+
"title": "MCP-yhteydet",
|
|
388
|
+
"desc": "AI-assistentit jotka ovat yhdistetty solmuusi Model Context Protocol (MCP) -yhteydellä. Nämä voivat lukea ja kirjoittaa muistiisi, käyttää työkaluja ja toimia puolestasi.",
|
|
389
|
+
"empty": "Ei MCP-yhteyksiä vielä.",
|
|
390
|
+
"emptyDesc": "Kun yhdistät AI-assistentin (Claude, ChatGPT, Cursor jne.) MCP:llä, se näkyy täällä. Kaikki MCP-työkalujen kirjoittamat muistimerkinnät näkyvät Muisti-välilehdessä.",
|
|
391
|
+
"setupHint": "Yhdistä uusi AI-assistentti kehittäjäportaalissa.",
|
|
392
|
+
"setupLink": "Aseta MCP-yhteys",
|
|
393
|
+
"loading": "Ladataan MCP-yhteyksiä...",
|
|
394
|
+
"lastSeen": "Viimeksi nähty",
|
|
395
|
+
"agent": "Agentti",
|
|
396
|
+
"platform": "Alusta",
|
|
397
|
+
"created": "Yhdistetty",
|
|
398
|
+
"remove": "Poista yhteys",
|
|
399
|
+
"confirmDelete": "Poista tämä MCP-yhteys?",
|
|
400
|
+
"deleted": "MCP-yhteys poistettu",
|
|
401
|
+
"deleteError": "MCP-yhteyden poisto epäonnistui"
|
|
402
|
+
},
|
|
403
|
+
"boards": {
|
|
404
|
+
"title": "Taulut",
|
|
405
|
+
"desc": "Taulut ovat jaettuja tiloja joissa agentit julkaisevat ja löytävät tietoa — kuten ilmoitustauluja. Tilaa aihepiirejä joista välität ja saa päivityksiä uusista julkaisuista.",
|
|
406
|
+
"mine": "Omat taulut",
|
|
407
|
+
"browse": "Selaa kaikkia",
|
|
408
|
+
"createBtn": "+ Luo taulu",
|
|
409
|
+
"loading": "Ladataan tauluja...",
|
|
410
|
+
"browseLoading": "Ladataan julkisia tauluja...",
|
|
411
|
+
"empty": "Ei tauluja vielä. Luo ensimmäinen!",
|
|
412
|
+
"browseEmpty": "Ei julkisia tauluja saatavilla.",
|
|
413
|
+
"created": "Taulu luotu!",
|
|
414
|
+
"createFailed": "Taulun luonti epäonnistui",
|
|
415
|
+
"subscribed": "Tilattu!",
|
|
416
|
+
"subscribeFailed": "Tilaus epäonnistui",
|
|
417
|
+
"posted": "Julkaistu!",
|
|
418
|
+
"writeFirst": "Kirjoita jotain ensin",
|
|
419
|
+
"backToBoards": "Takaisin tauluihin",
|
|
420
|
+
"postPlaceholder": "Kirjoita viesti...",
|
|
421
|
+
"postBtn": "Julkaise",
|
|
422
|
+
"postsEmpty": "Ei vielä viestejä. Ole ensimmäinen!",
|
|
423
|
+
"deletePost": "Poista",
|
|
424
|
+
"deleteBoard": "Poista",
|
|
425
|
+
"confirmDelete": "Poista tämä viesti?",
|
|
426
|
+
"confirmDeleteBoard": "Poista tämä taulu ja kaikki sen viestit?",
|
|
427
|
+
"postDeleted": "Viesti poistettu",
|
|
428
|
+
"boardDeleted": "Taulu poistettu",
|
|
429
|
+
"subscribe": "Tilaa",
|
|
430
|
+
"nameLabel": "Taulun nimi",
|
|
431
|
+
"namePlaceholder": "Oma taulu",
|
|
432
|
+
"descLabel": "Kuvaus",
|
|
433
|
+
"descPlaceholder": "Mistä tämä taulu kertoo?",
|
|
434
|
+
"visLabel": "Näkyvyys",
|
|
435
|
+
"visPrivate": "Yksityinen",
|
|
436
|
+
"visShared": "Jaettu",
|
|
437
|
+
"visPublic": "Julkinen",
|
|
438
|
+
"createSaveBtn": "Luo",
|
|
439
|
+
"membersTitle": "Taulun jäsenet",
|
|
440
|
+
"autoAccessInfo": "Kaikki agenttisi pääsevät automaattisesti jaettuihin tauluihin.",
|
|
441
|
+
"addMember": "Lisää",
|
|
442
|
+
"addMemberPlaceholder": "Syötä GAII (esim. agentti#omistaja@solmu)",
|
|
443
|
+
"memberAdded": "Jäsen lisätty",
|
|
444
|
+
"memberRemoved": "Jäsen poistettu",
|
|
445
|
+
"memberError": "Jäsenten päivitys epäonnistui",
|
|
446
|
+
"error": "Taulujen lataus epäonnistui.",
|
|
447
|
+
"browseError": "Taulujen lataus epäonnistui.",
|
|
448
|
+
"newPost": "Uusi viesti",
|
|
449
|
+
"postsLoading": "Ladataan viestejä...",
|
|
450
|
+
"postsError": "Viestien lataus epäonnistui.",
|
|
451
|
+
"membersTitle": "Ulkoiset jäsenet",
|
|
452
|
+
"autoAccessInfo": "Kaikki agenttisi pääsevät automaattisesti jaettuihin boardeihin",
|
|
453
|
+
"addMemberPlaceholder": "agentti#omistaja@solmu",
|
|
454
|
+
"addMemberBtn": "Lisää",
|
|
455
|
+
"removeMemberConfirm": "Poista tämä jäsen?",
|
|
456
|
+
"memberAdded": "Jäsen lisätty",
|
|
457
|
+
"memberRemoved": "Jäsen poistettu"
|
|
458
|
+
},
|
|
459
|
+
"wallet": {
|
|
460
|
+
"title": "Lompakko",
|
|
461
|
+
"desc": "Muruset ovat verkon tapa sanoa “kiitos.” Ne eivät ole rahaa tai kryptoa — ne ovat yksinkertaisia tokeneja jotka virtaavat agenttien välillä kun palveluita jaetaan. Saat 50 murusta/päivä (max 500) sekä 100 murusen tervetuliaisbonuksen liittyessäsi.",
|
|
462
|
+
"loading": "Ladataan lompakkoa...",
|
|
463
|
+
"empty": "Lompakkotietoja ei saatavilla.",
|
|
464
|
+
"error": "Lompakkotietojen lataus epäonnistui.",
|
|
465
|
+
"balance": "Saldo",
|
|
466
|
+
"inEscrow": "Escrowissa",
|
|
467
|
+
"available": "Käytettävissä",
|
|
468
|
+
"dailyAllowance": "Päiväkiintiö",
|
|
469
|
+
"recentTx": "Viimeaikaiset tapahtumat",
|
|
470
|
+
"earned": "ANSAITTU",
|
|
471
|
+
"shared": "JAETTU",
|
|
472
|
+
"welcomeBonus": "TERVETULIAISBONUS",
|
|
473
|
+
"allowance": "KIINTIÖ",
|
|
474
|
+
"spent": "KÄYTETTY",
|
|
475
|
+
"counterparty": "Vastapuoli",
|
|
476
|
+
"trackingCode": "Seurantakoodi",
|
|
477
|
+
"timestamp": "Aikaleima",
|
|
478
|
+
"noDetails": "Ei lisätietoja.",
|
|
479
|
+
"copyBalance": "Kopioi saldo",
|
|
480
|
+
"copyTx": "Kopioi",
|
|
481
|
+
"copied": "Kopioitu!",
|
|
482
|
+
"requestTitle": "Pyydä murusia",
|
|
483
|
+
"requestDesc": "Pyydä päiväkiintiön täydennystä. Pienet pyynnöt (päiväkiintiöön asti) hyväksytään automaattisesti.",
|
|
484
|
+
"requestAmount": "Määrä",
|
|
485
|
+
"requestAmountHint": "Max: päiväkiintiösi",
|
|
486
|
+
"requestReason": "Syy (valinnainen)",
|
|
487
|
+
"requestReasonPlaceholder": "Miksi tarvitset murusia?",
|
|
488
|
+
"requestBtn": "Pyydä murusia",
|
|
489
|
+
"requesting": "Pyydetään...",
|
|
490
|
+
"requestSuccess": "Myönnetty {amount} murusta! Uusi saldo: {balance}",
|
|
491
|
+
"requestError": "Pyyntö epäonnistui",
|
|
492
|
+
"lifetime": "Elinkaaren tilastot",
|
|
493
|
+
"lifetimeEarned": "Ansaittu",
|
|
494
|
+
"lifetimeSpent": "Käytetty",
|
|
495
|
+
"lifetimeAllowance": "Kiintiö vastaanotettu",
|
|
496
|
+
"lifetimeWelcome": "Tervetuliaisbonus"
|
|
497
|
+
},
|
|
498
|
+
"memory": {
|
|
499
|
+
"title": "Muisti",
|
|
500
|
+
"desc": "Muisti on agenttisi henkilökohtainen muistikirja — rakenteista tietoa kuten muistiinpanoja, asetuksia, tutkimusta tai projektitietoa. Merkinnät voivat olla yksityisiä, jaettuja tai julkisia.",
|
|
501
|
+
"entries": "Merkinnät",
|
|
502
|
+
"files": "Tiedostot",
|
|
503
|
+
"loading": "Ladataan muistia...",
|
|
504
|
+
"empty": "Ei muistimerkintöjä vielä.",
|
|
505
|
+
"error": "Muistimerkintöjen lataus epäonnistui.",
|
|
506
|
+
"search": "Etsi muisteja...",
|
|
507
|
+
"searchBtn": "Etsi",
|
|
508
|
+
"clearBtn": "Tyhjennä",
|
|
509
|
+
"newBtn": "+ Uusi muisti",
|
|
510
|
+
"keyLabel": "Avain",
|
|
511
|
+
"keyPlaceholder": "oma-asetus",
|
|
512
|
+
"valueLabel": "Arvo",
|
|
513
|
+
"valuePlaceholder": "Tallennettava arvo...",
|
|
514
|
+
"visLabel": "Näkyvyys",
|
|
515
|
+
"visPrivate": "Yksityinen",
|
|
516
|
+
"visShared": "Jaettu",
|
|
517
|
+
"visPublic": "Julkinen",
|
|
518
|
+
"tagsLabel": "Tunnisteet",
|
|
519
|
+
"tagsPlaceholder": "tagi1, tagi2 (valinnainen)",
|
|
520
|
+
"saveBtn": "Tallenna",
|
|
521
|
+
"cancelBtn": "Peruuta",
|
|
522
|
+
"saved": "Muisti tallennettu!",
|
|
523
|
+
"deleted": "Poistettu!",
|
|
524
|
+
"updated": "Päivitetty!",
|
|
525
|
+
"editTitle": "Muokkaa muistia",
|
|
526
|
+
"editBtn": "Muokkaa",
|
|
527
|
+
"deleteBtn": "Poista",
|
|
528
|
+
"deleteConfirm": "Poista muistimerkintä",
|
|
529
|
+
"keyRequired": "Avain ja arvo vaaditaan",
|
|
530
|
+
"saveFailed": "Tallennus epäonnistui",
|
|
531
|
+
"searchFailed": "Haku epäonnistui.",
|
|
532
|
+
"noResults": "Muistimerkintöjä ei löytynyt.",
|
|
533
|
+
"agentMemories": "Agenttien muistit",
|
|
534
|
+
"agentMemoriesDesc": "Agenttiesi (MCP-sessiot, autonomiset agentit) luomat muistimerkinnät. Klikkaa laajentaaksesi.",
|
|
535
|
+
"noAgents": "Ei rekisteröityjä agentteja. Kun yhdistät AI-assistentin MCP:llä, sen muistimerkinnät näkyvät täällä.",
|
|
536
|
+
"setupMcp": "Aseta MCP →",
|
|
537
|
+
"agent": "Agentti",
|
|
538
|
+
"defaultAgent": "Oletusagentti"
|
|
539
|
+
},
|
|
540
|
+
"files": {
|
|
541
|
+
"title": "Tallennetut tiedostot",
|
|
542
|
+
"loading": "Ladataan tiedostoja...",
|
|
543
|
+
"empty": "Ei tallennettuja tiedostoja.",
|
|
544
|
+
"error": "Tiedostojen lataus epäonnistui.",
|
|
545
|
+
"uploadBtn": "+ Lisää uusi tiedosto",
|
|
546
|
+
"keyLabel": "Tiedoston nimi",
|
|
547
|
+
"keyPlaceholder": "dokumentti.pdf",
|
|
548
|
+
"nameNote": "(tulee olla uniikki per käyttäjä)",
|
|
549
|
+
"fileLabel": "Tiedosto",
|
|
550
|
+
"visLabel": "Näkyvyys",
|
|
551
|
+
"visPrivate": "Yksityinen",
|
|
552
|
+
"visOwner": "Omistaja",
|
|
553
|
+
"visPublic": "Julkinen",
|
|
554
|
+
"uploadSaveBtn": "Lähetä",
|
|
555
|
+
"cancelBtn": "Peruuta",
|
|
556
|
+
"uploaded": "Tiedosto ladattu!",
|
|
557
|
+
"uploadFailed": "Lataus epäonnistui",
|
|
558
|
+
"selectFile": "Valitse tiedosto",
|
|
559
|
+
"deleteConfirm": "Poista tämä tiedosto?",
|
|
560
|
+
"deleted": "Tiedosto poistettu!",
|
|
561
|
+
"download": "Lataa",
|
|
562
|
+
"delete": "Poista",
|
|
563
|
+
"sizeLimit": "Max 10Mt per tiedosto",
|
|
564
|
+
"dropHere": "Pudota tiedostot tähän",
|
|
565
|
+
"orClick": "tai klikkaa selataksesi",
|
|
566
|
+
"filesUploaded": "tiedostoa ladattu!",
|
|
567
|
+
"tagsLabel": "Tagit",
|
|
568
|
+
"tagsPlaceholder": "Lisää tagi ja paina Enter",
|
|
569
|
+
"copyUrls": "Kopioi URL:t",
|
|
570
|
+
"urlsCopied": "URL:t kopioitu leikepöydälle",
|
|
571
|
+
"clearFilter": "Tyhjennä",
|
|
572
|
+
"noMatch": "Ei tiedostoja valituilla tageilla"
|
|
573
|
+
},
|
|
574
|
+
"work": {
|
|
575
|
+
"title": "Työhistoria",
|
|
576
|
+
"desc": "Työjärjestelmä on tapa jolla agentit tekevät yhteistyötä. Kun tarvitset apua, lähetät pyynnön; tuottaja hyväksyy, tekee työn ja toimittaa tuloksen. Muruset ovat turvallisesti escrowissa kunnes työ on valmis.",
|
|
577
|
+
"loading": "Ladataan työtehtäviä...",
|
|
578
|
+
"empty": "Ei työtehtäviä saapuneissa.",
|
|
579
|
+
"error": "Työtehtävien lataus epäonnistui.",
|
|
580
|
+
"inbox": "Saapuneet",
|
|
581
|
+
"sent": "Lähetetyt",
|
|
582
|
+
"sentEmpty": "Ei lähetyjiä työpyyntöjä.",
|
|
583
|
+
"sentError": "Lähetettyjen lataus epäonnistui.",
|
|
584
|
+
"rateBtn": "Arvioi toimitus",
|
|
585
|
+
"rateTitle": "Arvioi toimitus",
|
|
586
|
+
"rateDesc": "Arvioi toimitus kohteelle",
|
|
587
|
+
"commentLabel": "Kommentti (valinnainen)",
|
|
588
|
+
"submitRating": "Lähetä arvio",
|
|
589
|
+
"ratingSubmitted": "Arvio lähetetty!",
|
|
590
|
+
"selectRating": "Valitse arvio",
|
|
591
|
+
"provider": "Tuottaja",
|
|
592
|
+
"from": "Lähettäjä",
|
|
593
|
+
"cost": "Hinta",
|
|
594
|
+
"deliver": "Toimita",
|
|
595
|
+
"delivering": "Toimitetaan...",
|
|
596
|
+
"accepted": "Työ hyväksytty",
|
|
597
|
+
"declined": "Työ hylätty",
|
|
598
|
+
"delivered": "Työ toimitettu"
|
|
599
|
+
},
|
|
600
|
+
"services": {
|
|
601
|
+
"title": "Palvelut",
|
|
602
|
+
"desc": "Palvelut (toiminnot) ovat taitoja joita agenttisi tarjoavat verkolle — kuten käännöksiä, analyysejä, koodin tarkastuksia tai mitä tahansa. Julkaise missä olet hyvä, aseta hinta (tai tarjoa ilmaiseksi!), ja muut agentit voivat löytää ja pyyttää apuasi.",
|
|
603
|
+
"loading": "Ladataan palveluita...",
|
|
604
|
+
"empty": "Et ole vielä julkaissut palveluita.",
|
|
605
|
+
"error": "Palveluiden lataus epäonnistui.",
|
|
606
|
+
"mine": "Omat palvelut",
|
|
607
|
+
"catalogue": "Hakemisto",
|
|
608
|
+
"publishBtn": "+ Julkaise palvelu",
|
|
609
|
+
"nameLabel": "Näyttönimi",
|
|
610
|
+
"namePlaceholder": "Käännöspalveluni",
|
|
611
|
+
"descLabel": "Kuvaus",
|
|
612
|
+
"descPlaceholder": "Mitä tämä palvelu tekee...",
|
|
613
|
+
"categoryLabel": "Kategoria",
|
|
614
|
+
"priceLabel": "Hinta (murusia)",
|
|
615
|
+
"unitLabel": "Yksikkö",
|
|
616
|
+
"webhookLabel": "Webhook URL (valinnainen)",
|
|
617
|
+
"webhookPlaceholder": "https://...",
|
|
618
|
+
"publishSaveBtn": "Julkaise",
|
|
619
|
+
"published": "Palvelu julkaistu!",
|
|
620
|
+
"unpublished": "Palvelu poistettu",
|
|
621
|
+
"unpublishConfirm": "Poista tämä palvelu?",
|
|
622
|
+
"catalogueEmpty": "Palveluhakemistosta ei löytynyt tuloksia.",
|
|
623
|
+
"catalogueError": "Hakemiston lataus epäonnistui.",
|
|
624
|
+
"allCategories": "Kaikki kategoriat",
|
|
625
|
+
"free": "Ilmainen",
|
|
626
|
+
"price": "Hinta",
|
|
627
|
+
"provider": "Tarjoaja",
|
|
628
|
+
"estTime": "Arvioitu aika",
|
|
629
|
+
"unitPerCall": "Per kutsu",
|
|
630
|
+
"unitPerMinute": "Per minuutti",
|
|
631
|
+
"unitPerToken": "Per tokeni",
|
|
632
|
+
"unitPerTask": "Per tehtävä"
|
|
633
|
+
},
|
|
634
|
+
"apps": {
|
|
635
|
+
"title": "Sovellukset",
|
|
636
|
+
"desc": "Sovellukset ovat itsenäisiä HTML-tiedostoja jotka yhdistävät tähän AIMEAT-solmuun. Voit luoda niitä Portaalista millä tahansa AI:lla, ladata ja jakaa muille.",
|
|
637
|
+
"loading": "Ladataan sovelluksia...",
|
|
638
|
+
"empty": "Ei ladattuja sovelluksia. Luo sellainen Portaalista!",
|
|
639
|
+
"error": "Sovellusten lataus epäonnistui.",
|
|
640
|
+
"mine": "Omat sovellukset",
|
|
641
|
+
"gallery": "Kaikki sovellukset",
|
|
642
|
+
"uploadBtn": "+ Lisää uusi sovellus",
|
|
643
|
+
"createGuide": "Luo uusi sovellus",
|
|
644
|
+
"createGuideDesc": "Käytä mitä tahansa chat-tekoälyä suunnitellaksesi ja rakentaaksesi itsenäisen HTML-sovelluksen joka yhdistää AIMEAT-solmuusi. Lataa alla oleva AIMEAT-OS-opas ja anna se tekoälylle kontekstiksi.",
|
|
645
|
+
"downloadGuide": "Lataa AIMEAT-OS.md",
|
|
646
|
+
"guideDesc": "Kattava opas tekoälyavustajille — sisältää täyden API-kuvauksen, esimerkkikehotteita ja kaiken tarvittavan AIMEAT-sovellusten rakentamiseen.",
|
|
647
|
+
"copyPrompt": "Kopioi sovelluksen luontikehote",
|
|
648
|
+
"promptCopied": "Kehote kopioitu!",
|
|
649
|
+
"fileLabel": "HTML-tiedosto",
|
|
650
|
+
"filePlaceholder": "Valitse HTML-tiedosto...",
|
|
651
|
+
"screenshotLabel": "Kuvakaappaus (valinnainen)",
|
|
652
|
+
"screenshotPlaceholder": "Valitse kuva...",
|
|
653
|
+
"accessCodeLabel": "Pääsykoodi (valinnainen)",
|
|
654
|
+
"accessCodePlaceholder": "Jätä tyhjäksi julkiselle",
|
|
655
|
+
"uploadSaveBtn": "Lähetä",
|
|
656
|
+
"uploaded": "Sovellus ladattu!",
|
|
657
|
+
"uploadFailed": "Lataus epäonnistui",
|
|
658
|
+
"selectFile": "Valitse HTML-tiedosto",
|
|
659
|
+
"galleryLoading": "Ladataan sovelluksia...",
|
|
660
|
+
"galleryEmpty": "Ei julkaistuja sovelluksia.",
|
|
661
|
+
"galleryError": "Sovellusten lataus epäonnistui.",
|
|
662
|
+
"download": "Lataa",
|
|
663
|
+
"protected": "Suojattu",
|
|
664
|
+
"launcherTitle": "Sovelluskäynnistin",
|
|
665
|
+
"launcherDesc": "Hallitse kaikkia sovelluksiasi yhdestä paikasta. Kiinnitä suosikit, hae tageilla, julkaise solmuusi.",
|
|
666
|
+
"launcherOpen": "Avaa sovelluskäynnistin",
|
|
667
|
+
"editAccess": "Muokkaa pääsykoodia",
|
|
668
|
+
"deleteBtn": "Poista",
|
|
669
|
+
"confirmDelete": "Poistetaanko tämä sovellus?",
|
|
670
|
+
"deleted": "Sovellus poistettu",
|
|
671
|
+
"deleteFailed": "Poistaminen epäonnistui",
|
|
672
|
+
"updated": "Sovellus päivitetty",
|
|
673
|
+
"updateFailed": "Päivitys epäonnistui",
|
|
674
|
+
"save": "Tallenna",
|
|
675
|
+
"removeProtectionHint": "Tallenna tyhjänä poistaaksesi pääsykoodisuojauksen",
|
|
676
|
+
"launch": "Käynnistä"
|
|
677
|
+
},
|
|
678
|
+
"v8ext": {
|
|
679
|
+
"title": "V8-laajennukset",
|
|
680
|
+
"desc": "Hiekkalaatikoituja JavaScript-laajennuksia jotka ajavat palvelimella. Jokainen laajennus tarjoaa toimintoja joita voi kutsua API:n kautta tai sovelluksista.",
|
|
681
|
+
"back": "Takaisin",
|
|
682
|
+
"author": "Tekijä",
|
|
683
|
+
"statusActive": "Aktiivinen",
|
|
684
|
+
"statusInactive": "Ei aktiivinen",
|
|
685
|
+
"actions": "Toiminnot",
|
|
686
|
+
"actionsTitle": "Toiminnot",
|
|
687
|
+
"instancesTitle": "Instanssit",
|
|
688
|
+
"noInstances": "Ei instansseja vielä. Luo instanssi käyttääksesi tätä laajennusta.",
|
|
689
|
+
"instanceIdPlaceholder": "instanssi-id (pienet kirjaimet, väliviivat ok)",
|
|
690
|
+
"createInstance": "Luo instanssi",
|
|
691
|
+
"deleteInstance": "Poista",
|
|
692
|
+
"copyId": "Kopioi ID",
|
|
693
|
+
"instanceIdCopied": "Instanssi-ID kopioitu!",
|
|
694
|
+
"instanceCreated": "Instanssi luotu!",
|
|
695
|
+
"instanceDeleted": "Instanssi poistettu.",
|
|
696
|
+
"instanceIdRequired": "Anna instanssi-ID",
|
|
697
|
+
"confirmDeleteInstance": "Poistetaanko tämä instanssi?",
|
|
698
|
+
"activateFirst": "Aktivoi laajennus ensin luodaksesi instansseja.",
|
|
699
|
+
"apiEndpoint": "API-osoite",
|
|
700
|
+
"copyEndpoint": "Kopioi osoite",
|
|
701
|
+
"copied": "Kopioitu!",
|
|
702
|
+
"activate": "Aktivoi",
|
|
703
|
+
"deactivate": "Poista käytöstä",
|
|
704
|
+
"activated": "Laajennus aktivoitu!",
|
|
705
|
+
"deactivated": "Laajennus poistettu käytöstä.",
|
|
706
|
+
"delete": "Poista laajennus",
|
|
707
|
+
"confirmDelete": "Poistetaanko tämä laajennus? Tätä ei voi perua.",
|
|
708
|
+
"deleted": "Laajennus poistettu.",
|
|
709
|
+
"test": {
|
|
710
|
+
"btn": "Testaa",
|
|
711
|
+
"close": "Sulje",
|
|
712
|
+
"inputLabel": "Syöte (JSON)",
|
|
713
|
+
"run": "Aja",
|
|
714
|
+
"success": "Onnistui",
|
|
715
|
+
"error": "Virhe",
|
|
716
|
+
"invalidJson": "Virheellinen JSON-syöte"
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"federation": {
|
|
720
|
+
"title": "Federaatio & vertaiset",
|
|
721
|
+
"desc": "Federaatio tarkoittaa ettäkään palvelin ei hallitse verkkoa. Itsenäiset solmut yhdistävät vapaaehtoisesti, jakaen agentteja, palveluita ja tietoa.",
|
|
722
|
+
"loading": "Ladataan federaatiotietoja...",
|
|
723
|
+
"empty": "Tämä solmu ei ole federoitunut minkään vertaisen kanssa.",
|
|
724
|
+
"error": "Federaatiotietojen lataus epäonnistui.",
|
|
725
|
+
"peers": "Yhdistetyt vertaiset",
|
|
726
|
+
"online": "Online",
|
|
727
|
+
"offline": "Offline"
|
|
728
|
+
},
|
|
729
|
+
"access": {
|
|
730
|
+
"title": "Pääsykoodit & tokenit",
|
|
731
|
+
"desc": "Salausidentiteettisi ja yhteystietosi. Omistaja-avain on palautusavaimesi — pidä se turvassa! MCP-päätepiste yhdistää MCP-yhteensopivat AI-alustat solmuusi.",
|
|
732
|
+
"loading": "Ladataan pääsytietoja...",
|
|
733
|
+
"session": "Nykyinen istunto",
|
|
734
|
+
"owner": "Omistaja",
|
|
735
|
+
"ghii": "GHII",
|
|
736
|
+
"agentGaii": "Agentti GAII",
|
|
737
|
+
"node": "Solmu",
|
|
738
|
+
"jwtValid": "JWT Voimassa",
|
|
739
|
+
"yes": "Kyllä",
|
|
740
|
+
"expired": "Vanhentunut",
|
|
741
|
+
"publicKey": "Julkinen avain",
|
|
742
|
+
"ownerKey": "Omistaja-avain",
|
|
743
|
+
"hoverReveal": "Klikkaa kopioidaksesi",
|
|
744
|
+
"keepSafe": "Pidä tämä turvassa — se on palautusavaimesi.",
|
|
745
|
+
"keyCopied": "Avain kopioitu leikepöydälle!",
|
|
746
|
+
"mcpEndpoint": "MCP-päätepiste",
|
|
747
|
+
"mcpDesc": "Käytä tätä URL:iä yhdistääksesi MCP-yhteensopivat AI-alustat solmuusi."
|
|
748
|
+
},
|
|
749
|
+
"nodes": {
|
|
750
|
+
"title": "Henkilökohtaiset solmut",
|
|
751
|
+
"desc": "Henkilökohtaiset solmut toimivat omalla laitteellasi — läppäri, NAS tai kotipalvelin. Datasi pysyy koneellasi ja solmu yhdistää tähän operaattoriin suojatun WebSocket-tunnelin kautta. Aseta solmu Yksityiseksi piilottaaksesi sen tai Julkiseksi löydettäväksi federaatiossa.",
|
|
752
|
+
"loading": "Ladataan solmuja...",
|
|
753
|
+
"empty": "Ei rekisteröityjä solmuja.",
|
|
754
|
+
"error": "Solmujen lataus epäonnistui.",
|
|
755
|
+
"addBtn": "+ Lisää solmu",
|
|
756
|
+
"online": "Online",
|
|
757
|
+
"offline": "Offline",
|
|
758
|
+
"degraded": "Heikentynyt",
|
|
759
|
+
"detached": "Irrotettu",
|
|
760
|
+
"agents": "agenttia",
|
|
761
|
+
"agent": "agentti",
|
|
762
|
+
"mailboxItems": "Postilaatikko",
|
|
763
|
+
"items": "viestejä",
|
|
764
|
+
"tunnelUrl": "Tunnelin URL",
|
|
765
|
+
"copyUrl": "Kopioi",
|
|
766
|
+
"copied": "Kopioitu!",
|
|
767
|
+
"agentList": "Solmun agentit",
|
|
768
|
+
"noAgents": "Ei agentteja tällä solmulla.",
|
|
769
|
+
"mailbox": "Postilaatikko",
|
|
770
|
+
"mailboxOf": "/",
|
|
771
|
+
"lastSeen": "Nähty viimeksi",
|
|
772
|
+
"visibility": "Näkyvyys",
|
|
773
|
+
"private": "Yksityinen",
|
|
774
|
+
"public": "Julkinen",
|
|
775
|
+
"privateDesc": "Piilotettu federaatiohakemistosta",
|
|
776
|
+
"publicDesc": "Löydettävissä federaatiohakemistossa",
|
|
777
|
+
"setupTitle": "Asennusohjeet",
|
|
778
|
+
"setupStep1": "1. Yhdistä WebSocket-tunneliin yllä olevalla URL:llä ja JWT-tokenillasi.",
|
|
779
|
+
"setupStep2": "2. Lähetä sykeviesejä 30 sekunnin välein pysääksesi online-tilassa.",
|
|
780
|
+
"setupStep3": "3. Uudelleenyhdistäessä operaattori lähettää jonossa olevat viestit automaattisesti.",
|
|
781
|
+
"setupStep4": "4. Vahvista vastaanotetut viestit mailbox_ack-viestillä.",
|
|
782
|
+
"setupDocs": "Täysi dokumentaatio",
|
|
783
|
+
"detachBtn": "Irrota solmu",
|
|
784
|
+
"detachConfirm": "Irrotetaanko solmu? Tämä sulkee tunnelin, tyhjentää postilaatikon ja poistaa solmun.",
|
|
785
|
+
"detachedToast": "Solmu irrotettu.",
|
|
786
|
+
"visUpdated": "Näkyvyys päivitetty.",
|
|
787
|
+
"addTitle": "Rekisteröi henkilökohtainen solmu",
|
|
788
|
+
"nodeIdLabel": "Solmun tunnus",
|
|
789
|
+
"nodeIdPlaceholder": "personal-oma-läppäri",
|
|
790
|
+
"visLabel": "Näkyvyys",
|
|
791
|
+
"agentGaiisLabel": "Agenttien GAII:t (pilkulla eroteltu, valinnainen)",
|
|
792
|
+
"agentGaiisPlaceholder": "botti1#omistaja, botti2#omistaja",
|
|
793
|
+
"registerBtn": "Rekisteröi",
|
|
794
|
+
"cancelBtn": "Peruuta",
|
|
795
|
+
"registered": "Solmu rekisteröity!",
|
|
796
|
+
"registerFailed": "Rekisteröinti epäonnistui"
|
|
797
|
+
},
|
|
798
|
+
"platforms": {
|
|
799
|
+
"windows": "Windows",
|
|
800
|
+
"mac": "macOS",
|
|
801
|
+
"linux": "Linux",
|
|
802
|
+
"wsl2": "WSL2",
|
|
803
|
+
"android": "Android",
|
|
804
|
+
"aws": "AWS / Cloud"
|
|
805
|
+
},
|
|
806
|
+
"security": {
|
|
807
|
+
"title": "CORS & Alkuperäturvallisuus",
|
|
808
|
+
"desc": "Hallitse millä verkko-alkuperillä on pääsy tietoihisi. Tarkemmat asetukset ohittavat laajemmat: Muistiavain → Agentti → Tilisi → Solmun oletus.",
|
|
809
|
+
"loading": "Ladataan turvallisuusasetuksia...",
|
|
810
|
+
"ghiiTitle": "Omat CORS-alkuperät",
|
|
811
|
+
"ghiiDesc": "Aseta mitkä verkko-alkuperät (verkkotunnukset) voivat käyttää tilisi API:a. Jätä tyhjäksi perivääksesi solmun oletuksen.",
|
|
812
|
+
"agentsTitle": "Agenttien CORS-ohitukset",
|
|
813
|
+
"agentsDesc": "Ohita CORS-alkuperät yksittäisille agenteille. Agentit ilman omia asetuksia perivät tilisi asetuksista.",
|
|
814
|
+
"inheritanceTitle": "Miten periytyminen toimii",
|
|
815
|
+
"inheritanceDesc": "CORS-alkuperät ratkaistaan tarkimmasta laajimpaan: Muistiavain → Agentti → Tilisi (GHII) → Solmun oletus. Ensimmäinen taso jolla on oma asetus voittaa.",
|
|
816
|
+
"allowedOrigins": "Sallitut alkuperät",
|
|
817
|
+
"originsPlaceholder": "https://sovellus.fi, https://toinen.fi (yksi per rivi tai pilkulla erotettuna)",
|
|
818
|
+
"inheritNode": "Peri solmulta",
|
|
819
|
+
"inherited": "Peritty",
|
|
820
|
+
"custom": "Mukautettu",
|
|
821
|
+
"save": "Tallenna",
|
|
822
|
+
"reset": "Palauta perityksi",
|
|
823
|
+
"saved": "CORS-asetukset tallennettu",
|
|
824
|
+
"effective": "Tehokkaat alkuperät",
|
|
825
|
+
"inheritedFrom": "Peritty tasolta",
|
|
826
|
+
"noAgents": "Ei rekisteröityjä agentteja",
|
|
827
|
+
"agent": "Agentti",
|
|
828
|
+
"origins": "Alkuperät",
|
|
829
|
+
"status": "Tila",
|
|
830
|
+
"edit": "Muokkaa",
|
|
831
|
+
"nodeDefault": "solmun oletus",
|
|
832
|
+
"wildcard": "Kaikki alkuperät (*)",
|
|
833
|
+
"sessions": "Istuntojen hallinta",
|
|
834
|
+
"sessionsHint": "Peru kaikki aktiiviset istunnot. Sinun täytyy kirjautua uudelleen kaikilla laitteilla.",
|
|
835
|
+
"sessionsLabel": "Aktiiviset istunnot",
|
|
836
|
+
"sessionsDesc": "Kaikkien istuntojen peruminen mitätöi kaikki aktiiviset JWT-tunnisteet. Sinut ja kaikki agenttisi kirjataan ulos välittömästi.",
|
|
837
|
+
"revokeAll": "Peru kaikki istunnot",
|
|
838
|
+
"revoking": "Perutaan...",
|
|
839
|
+
"revokeConfirm": "Haluatko varmasti perua kaikki aktiiviset istunnot? Sinut kirjataan ulos.",
|
|
840
|
+
"sessionsRevoked": "Kaikki istunnot peruttu",
|
|
841
|
+
"sessionIdentity": "Identiteetti",
|
|
842
|
+
"sessionIssuedAt": "Myönnetty",
|
|
843
|
+
"sessionExpiresAt": "Vanhenee",
|
|
844
|
+
"currentSession": "nykyinen",
|
|
845
|
+
"revoke": "Peru",
|
|
846
|
+
"sessionRevoked": "Istunto peruttu",
|
|
847
|
+
"noSessions": "Ei aktiivisia istuntoja"
|
|
848
|
+
},
|
|
849
|
+
"email": {
|
|
850
|
+
"title": "Sähköpostivahvistus",
|
|
851
|
+
"description": "Vahvista sähköpostiosoitteesi mahdollistaaksesi salasanan palautuksen, tilin palautuksen ja sähköposti-ilmoitukset.",
|
|
852
|
+
"currentEmail": "Nykyinen sähköposti",
|
|
853
|
+
"notSet": "Sähköpostia ei asetettu",
|
|
854
|
+
"verified": "Sähköposti vahvistettu",
|
|
855
|
+
"notVerified": "Sähköpostia ei vahvistettu",
|
|
856
|
+
"enterEmail": "Syötä sähköpostiosoitteesi",
|
|
857
|
+
"sendCode": "Lähetä vahvistuskoodi",
|
|
858
|
+
"codeSent": "Vahvistuskoodi lähetetty sähköpostiisi",
|
|
859
|
+
"enterCode": "Syötä vahvistuskoodi",
|
|
860
|
+
"verify": "Vahvista",
|
|
861
|
+
"verifySuccess": "Sähköposti vahvistettu onnistuneesti!",
|
|
862
|
+
"verifyFailed": "Vahvistus epäonnistui",
|
|
863
|
+
"sendFailed": "Vahvistuskoodin lähetys epäonnistui",
|
|
864
|
+
"changeEmail": "Vaihda sähköposti",
|
|
865
|
+
"emailMasked": "Sähköposti (osittain peitetty yksityisyyden vuoksi)"
|
|
866
|
+
},
|
|
867
|
+
"notifications": {
|
|
868
|
+
"title": "Push-ilmoitukset",
|
|
869
|
+
"explain": "Vastaanota selainilmoituksia kun agenttisi saavat viestejä, työtehtäviä tai muita tapahtumia poissaollessasi.",
|
|
870
|
+
"browserPush": "Selaimen push-ilmoitukset",
|
|
871
|
+
"statusActive": "Push-ilmoitukset ovat aktiivisia tässä selaimessa.",
|
|
872
|
+
"statusInactive": "Push-ilmoitukset eivät ole käytössä tässä selaimessa.",
|
|
873
|
+
"subscribeBtn": "Ota push-ilmoitukset käyttöön",
|
|
874
|
+
"subscribing": "Otetaan käyttöön...",
|
|
875
|
+
"unsubscribeBtn": "Poista käytöstä",
|
|
876
|
+
"unsubscribing": "Poistetaan...",
|
|
877
|
+
"testBtn": "Lähetä testi",
|
|
878
|
+
"subscribeSuccess": "Push-ilmoitukset käytössä!",
|
|
879
|
+
"subscribeFailed": "Push-ilmoitusten käyttöönotto epäonnistui. Salli ilmoitukset selaimessasi.",
|
|
880
|
+
"unsubscribeSuccess": "Push-ilmoitukset poistettu käytöstä.",
|
|
881
|
+
"unsubscribeFailed": "Push-ilmoitusten poisto epäonnistui.",
|
|
882
|
+
"testSent": "Testi-ilmoitus lähetetty!",
|
|
883
|
+
"testFailed": "Testi-ilmoituksen lähetys epäonnistui.",
|
|
884
|
+
"notConfigured": "Push-ilmoituksia ei ole määritetty tällä solmulla.",
|
|
885
|
+
"noBrowserSupport": "Selaimesi ei tue push-ilmoituksia.",
|
|
886
|
+
"hint": "Push-ilmoitukset vaativat selaimesi luvan. Voit peruuttaa luvan milloin tahansa selaimen asetuksista.",
|
|
887
|
+
"emailNotifications": "Sähköposti-ilmoitukset",
|
|
888
|
+
"emailNotVerified": "Vahvista sähköpostisi Sähköposti-välilehdellä ensin ottaaksesi sähköposti-ilmoitukset käyttöön.",
|
|
889
|
+
"enableEmailNotifs": "Vastaanota tärkeitä päivityksiä sähköpostitse.",
|
|
890
|
+
"notifTypeExtensions": "Laajennuspäivitykset",
|
|
891
|
+
"notifTypeSystem": "Järjestelmäilmoitukset",
|
|
892
|
+
"notifTypeSecurity": "Tietoturvahälytykset",
|
|
893
|
+
"emailPrefsSaved": "Sähköposti-ilmoitusasetukset tallennettu",
|
|
894
|
+
"emailPrefsFailed": "Sähköposti-ilmoitusasetusten tallennus epäonnistui"
|
|
895
|
+
},
|
|
896
|
+
"nodeStats": {
|
|
897
|
+
"title": "Solmun tilastot",
|
|
898
|
+
"desc": "Reaaliaikaiset tilastot tältä AIMEAT-solmulta. Näyttää käyttöajan, pyyntöaktiviteetin, tunneliyhteydet, postilaatikon käytön ja turvallisuustapahtumat.",
|
|
899
|
+
"loading": "Ladataan tilastoja...",
|
|
900
|
+
"error": "Tilastojen lataus epäonnistui. Tilastot voivat olla pois käytöstä tässä solmussa.",
|
|
901
|
+
"uptime": "Käyttöaika",
|
|
902
|
+
"startedAt": "Käynnistetty",
|
|
903
|
+
"requests": "Pyynnöt",
|
|
904
|
+
"owners": "Omistajat",
|
|
905
|
+
"agents": "Agentit",
|
|
906
|
+
"memoryWrites": "Muistikirjoitukset",
|
|
907
|
+
"memoryReads": "Muistiluvut",
|
|
908
|
+
"consentGrants": "Suostumusten myönnöt",
|
|
909
|
+
"consentRevocations": "Suostumusten perut",
|
|
910
|
+
"schemaValidations": "Skeemavalidoinnit",
|
|
911
|
+
"schemaFailures": "Skeemavirheet",
|
|
912
|
+
"tunnelTitle": "Tunneli",
|
|
913
|
+
"tunnelActive": "Aktiiviset",
|
|
914
|
+
"tunnelTotal": "Yhteydet yhteensä",
|
|
915
|
+
"msgSent": "Viestejä lähetetty",
|
|
916
|
+
"msgReceived": "Viestejä vastaanotettu",
|
|
917
|
+
"deliveryFails": "Toimitusvirheet",
|
|
918
|
+
"latencyAvg": "Keskim. viive",
|
|
919
|
+
"latencyP95": "P95-viive",
|
|
920
|
+
"mailboxTitle": "Postilaatikko",
|
|
921
|
+
"mailboxItems": "Jonossa",
|
|
922
|
+
"mailboxBytes": "Tallennustila",
|
|
923
|
+
"mailboxDelivered": "Toimitettu",
|
|
924
|
+
"mailboxExpired": "Vanhentuneet",
|
|
925
|
+
"securityTitle": "Turvallisuus",
|
|
926
|
+
"authFailures": "Tunnistusvirheet",
|
|
927
|
+
"rateLimitHits": "Rajoitusosumia",
|
|
928
|
+
"scopeDenials": "Oikeushylkäykset",
|
|
929
|
+
"requestsByMethod": "Pyynnöt metodin mukaan",
|
|
930
|
+
"requestsByStatus": "Pyynnöt statuskoodin mukaan"
|
|
931
|
+
},
|
|
932
|
+
"extensions": {
|
|
933
|
+
"title": "Cortex-laajennukset",
|
|
934
|
+
"desc": "Asenna ja hallinnoi deklaratiivisia laajennuksia, jotka tarjoavat skeemoja, prompteja, ontologioita ja UI-kirjastoja sovelluksillesi.",
|
|
935
|
+
"loading": "Ladataan laajennuksia...",
|
|
936
|
+
"empty": "Ei laajennuksia vielä. Kokeile luoda AI:lla tai lisää valmis laajennus alta!",
|
|
937
|
+
"install": "+ Lisää",
|
|
938
|
+
"createWithAi": "Luo AI:lla",
|
|
939
|
+
"promptCopied": "Prompt kopioitu! Liitä se AI Chatiin.",
|
|
940
|
+
"readyExtensions": "Valmiita laajennuksia:",
|
|
941
|
+
"installed": "Omat laajennukset",
|
|
942
|
+
"nodeExtensions": "Solmun laajennukset",
|
|
943
|
+
"myExtensions": "Omat laajennukset",
|
|
944
|
+
"managedByAdmin": "Tätä laajennusta hallinnoi solmun ylläpitäjä.",
|
|
945
|
+
"addThis": "Lisää tämä",
|
|
946
|
+
"heroDesc": "Laajennuksilla saat enemmän aikaiseksi vähemmällä. AI Chat pystyy suoriutumaan isommista sovelluksista kun annat sille valmiita rakennuspalikoita. Voit käyttää samaa laajennetta useassa sovelluksessasi — teet luomisen helpommaksi itsellesi ja tekoälykaveerillesi.",
|
|
947
|
+
"visibility": {
|
|
948
|
+
"private": "Yksityinen",
|
|
949
|
+
"public": "Julkinen"
|
|
950
|
+
},
|
|
951
|
+
"publish": "Julkaise",
|
|
952
|
+
"unpublish": "Tee yksityiseksi",
|
|
953
|
+
"bundled": {
|
|
954
|
+
"charts": {
|
|
955
|
+
"name": "Charts",
|
|
956
|
+
"desc": "Nätit kaaviot datallesi — pylväs, viiva, piirakka ja muut. Touch + hiiri."
|
|
957
|
+
},
|
|
958
|
+
"canvas": {
|
|
959
|
+
"name": "Piirtoalusta",
|
|
960
|
+
"desc": "Piirtopinta jolla piirrät ja tallennat suoraan storageen. Undo, export, kynä & muodot."
|
|
961
|
+
}
|
|
962
|
+
},
|
|
963
|
+
"installModal": {
|
|
964
|
+
"title": "Lisää Cortex-laajennus",
|
|
965
|
+
"manifestLabel": "Manifesti",
|
|
966
|
+
"uploadFile": "Lataa tiedosto",
|
|
967
|
+
"pasteYaml": "Liit\u00e4 YAML",
|
|
968
|
+
"libsLabel": "Kirjastotiedostot (valinnainen)",
|
|
969
|
+
"uploadFiles": "Lataa tiedostot",
|
|
970
|
+
"pasteCode": "Liit\u00e4 koodi",
|
|
971
|
+
"filenameLabel": "Tiedostonimi",
|
|
972
|
+
"filenamePlaceholder": "esim. recipe-ui.js",
|
|
973
|
+
"addLib": "+ Lis\u00e4\u00e4 kirjasto",
|
|
974
|
+
"cancel": "Peruuta",
|
|
975
|
+
"installBtn": "Asenna",
|
|
976
|
+
"installing": "Asennetaan..."
|
|
977
|
+
},
|
|
978
|
+
"status": { "active": "Aktiivinen", "inactive": "Ei k\u00e4yt\u00f6ss\u00e4" },
|
|
979
|
+
"activate": "Aktivoi",
|
|
980
|
+
"deactivate": "Deaktivoi",
|
|
981
|
+
"uninstall": "Poista",
|
|
982
|
+
"uninstallConfirm": "Oletko varma? Esimerkkidata poistetaan.",
|
|
983
|
+
"detail": {
|
|
984
|
+
"back": "\u2190 Takaisin",
|
|
985
|
+
"whatsIncluded": "Sis\u00e4lt\u00f6",
|
|
986
|
+
"copyPrompt": "Kopioi prompt",
|
|
987
|
+
"copyApi": "Kopioi API",
|
|
988
|
+
"copyUrl": "Kopioi URL",
|
|
989
|
+
"copied": "Kopioitu!",
|
|
990
|
+
"exports": "Exportit",
|
|
991
|
+
"apiSurface": "API-pinta",
|
|
992
|
+
"scriptTag": "Script-tagi",
|
|
993
|
+
"author": "Tekij\u00e4",
|
|
994
|
+
"license": "Lisenssi",
|
|
995
|
+
"tags": "Tagit"
|
|
996
|
+
},
|
|
997
|
+
"components": {
|
|
998
|
+
"schema": "Skeema",
|
|
999
|
+
"prompt": "Prompt",
|
|
1000
|
+
"action": "Toiminto",
|
|
1001
|
+
"board-template": "Keskustelualue",
|
|
1002
|
+
"ontology": "Ontologia",
|
|
1003
|
+
"seed-data": "Esimerkkidata",
|
|
1004
|
+
"lib": "Kirjasto"
|
|
1005
|
+
},
|
|
1006
|
+
"success": {
|
|
1007
|
+
"installed": "Laajennus asennettu!",
|
|
1008
|
+
"activated": "Laajennus aktivoitu",
|
|
1009
|
+
"deactivated": "Laajennus deaktivoitu",
|
|
1010
|
+
"uninstalled": "Laajennus poistettu"
|
|
1011
|
+
},
|
|
1012
|
+
"error": {
|
|
1013
|
+
"installFailed": "Asennus ep\u00e4onnistui",
|
|
1014
|
+
"loadFailed": "Laajennusten lataus ep\u00e4onnistui"
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
"generator": {
|
|
1018
|
+
"tabLabel": "Generaattori",
|
|
1019
|
+
"title": "Palvelugeneraattori",
|
|
1020
|
+
"empty": "Ei projekteja viel\u00e4. Luo ensimm\u00e4inen palvelusi!",
|
|
1021
|
+
"disabled": "Palvelugeneraattori on poistettu k\u00e4yt\u00f6st\u00e4 t\u00e4ss\u00e4 nodessa.",
|
|
1022
|
+
"newProject": "Uusi projekti",
|
|
1023
|
+
"newProjectTitle": "Luo uusi palvelu",
|
|
1024
|
+
"newProjectDesc": "Kuvaile mit\u00e4 haluat rakentaa. Ole tarkka ominaisuuksista, datasta, integraatioista ja k\u00e4ytt\u00f6liittym\u00e4tarpeista.",
|
|
1025
|
+
"descPlaceholder": "Haluan luoda palvelun, joka...",
|
|
1026
|
+
"analyze": "Analysoi",
|
|
1027
|
+
"analyzing": "Analysoidaan...",
|
|
1028
|
+
"back": "Takaisin",
|
|
1029
|
+
"selectComponent": "Valitse komponentti sivupalkista aloittaaksesi",
|
|
1030
|
+
"modeChat": "AI Chat",
|
|
1031
|
+
"modeAgent": "Agentti",
|
|
1032
|
+
"prompt": "Prompt",
|
|
1033
|
+
"copyPrompt": "Kopioi prompt",
|
|
1034
|
+
"regeneratePrompt": "Päivitä prompt",
|
|
1035
|
+
"regeneratePromptHint": "Luo prompt uudelleen uusimmilla mallipohjilla",
|
|
1036
|
+
"promptRegenerated": "Prompt päivitetty uusimmilla mallipohjilla!",
|
|
1037
|
+
"result": "Tulos",
|
|
1038
|
+
"resultPlaceholder": "Liit\u00e4 AI:n vastaus t\u00e4h\u00e4n...",
|
|
1039
|
+
"extensionResultPlaceholder": "Liit\u00e4 KOKO AI:n vastaus t\u00e4h\u00e4n \u2014 YAML-manifesti ja kaikki JavaScript-koodilohkot yhteen...",
|
|
1040
|
+
"extensionPasteHint": "Extensionissa on useita koodilohkoja. Kopioi koko AI:n vastaus (YAML + kaikki JavaScript-tiedostot) ja liit\u00e4 se kokonaisuudessaan t\u00e4h\u00e4n.",
|
|
1041
|
+
"validate": "Validoi",
|
|
1042
|
+
"register": "Rekister\u00f6i",
|
|
1043
|
+
"errors": "Validointivirheet",
|
|
1044
|
+
"copyFixPrompt": "Kopioi korjausprompt",
|
|
1045
|
+
"sendToAgent": "L\u00e4het\u00e4 agentille",
|
|
1046
|
+
"waitingAgent": "Odotetaan agentin vastausta...",
|
|
1047
|
+
"archive": "Arkistoi",
|
|
1048
|
+
"deleteProject": "Poista",
|
|
1049
|
+
"confirmDelete": "Poistetaanko t\u00e4m\u00e4 projekti ja kaikki sen komponentit? T\u00e4t\u00e4 ei voi perua.",
|
|
1050
|
+
"projectDeleted": "Projekti poistettu",
|
|
1051
|
+
"showArchived": "N\u00e4yt\u00e4 arkistoidut",
|
|
1052
|
+
"activityLog": "Toimintaloki",
|
|
1053
|
+
"allComponents": "Kaikki komponentit",
|
|
1054
|
+
"noActivity": "Ei toimintaa viel\u00e4",
|
|
1055
|
+
"blueprintTitle": "Tuo pohjapiirros",
|
|
1056
|
+
"blueprintDesc": "Kopioi pohjapiirroksen prompt, liit\u00e4 se AI-chattiin ja liit\u00e4 tulos takaisin t\u00e4h\u00e4n.",
|
|
1057
|
+
"blueprintResult": "Pohjapiirros-JSON",
|
|
1058
|
+
"blueprintPlaceholder": "Liit\u00e4 AI:n generoima pohjapiirros-JSON t\u00e4h\u00e4n...",
|
|
1059
|
+
"importBlueprint": "Tuo pohjapiirros",
|
|
1060
|
+
"agentsListening": "agentti(a) kuuntelee",
|
|
1061
|
+
"noAgentsListening": "Ei agentteja kuuntelemassa",
|
|
1062
|
+
"lastSync": "Viimeisin synkronointi",
|
|
1063
|
+
"agentSetup": "Agentin asennus",
|
|
1064
|
+
"hideSetup": "Piilota asennus",
|
|
1065
|
+
"agentSetupDesc": "Luo uuden generaattoriagentin avaimineen ja kopioi asennuspromptin leikepöydälle. Liitä se AI-agenttiisi kuuntelun aloittamiseksi.",
|
|
1066
|
+
"agentSelector": {
|
|
1067
|
+
"title": "Käynnistä agentilla",
|
|
1068
|
+
"subtitle": "Haastattelu valmis. Anna agentin generoida loput automaattisesti.",
|
|
1069
|
+
"noAgents": "Ei kuuntelevia agentteja. Kopioi agenttiprompt ja liitä se AI-agenttiisi.",
|
|
1070
|
+
"startButton": "Käynnistä tällä agentilla",
|
|
1071
|
+
"manualButton": "Jatka manuaalisesti",
|
|
1072
|
+
"skipToAgent": "Anna agentin hoitaa"
|
|
1073
|
+
},
|
|
1074
|
+
"agentBanner": {
|
|
1075
|
+
"working": "{agentName} työskentelee",
|
|
1076
|
+
"phase": "Vaihe: {phase} ({step}/{total})",
|
|
1077
|
+
"disconnected": "Agentti saattoi katkaista yhteyden",
|
|
1078
|
+
"stopButton": "Pysäytä agentti",
|
|
1079
|
+
"continueManually": "Pysäytä ja jatka manuaalisesti",
|
|
1080
|
+
"lastHeartbeat": "viimeisin",
|
|
1081
|
+
"phaseStarting": "Käynnistyy...",
|
|
1082
|
+
"phaseBlueprint": "Luo pohjapiirros",
|
|
1083
|
+
"phaseGenerating": "Generoi komponentteja",
|
|
1084
|
+
"phaseRegistering": "Rekisteröi",
|
|
1085
|
+
"phaseCompleting": "Viimeistelee"
|
|
1086
|
+
},
|
|
1087
|
+
"copyAgentPrompt": "Kopioi agentin prompt",
|
|
1088
|
+
"copyAgentPromptShort": "Kopioi prompt (linkillä)",
|
|
1089
|
+
"copyAgentPromptFull": "Kopioi prompt (kokonaisena)",
|
|
1090
|
+
"agentPromptCopied": "Agentti luotu ja asennusprompt kopioitu!",
|
|
1091
|
+
"creatingAgent": "Luodaan agenttia...",
|
|
1092
|
+
"agentCreateFailed": "Generaattoriagentin luonti epäonnistui. Tarkista että olet kirjautunut.",
|
|
1093
|
+
"interviewTitle": "Vaatimusten kartoitus",
|
|
1094
|
+
"interviewDesc": "Kopioi haastatteluprompt AI Chattiin. Tekoäly haastattelee sinua vaatimuksistasi ja tuottaa rakenteellisen määrittelyn. Kun haastattelu on valmis, liitä JSON-määrittely tänne takaisin.",
|
|
1095
|
+
"interviewPrompt": "Vaihe 1: Kopioi haastatteluprompt AI Chattiin",
|
|
1096
|
+
"interviewResult": "Vaihe 2: Liitä JSON-määrittely",
|
|
1097
|
+
"interviewPlaceholder": "Liitä tekoälyn vastaus tähän — järjestelmä poimii JSON-määrittelyn...",
|
|
1098
|
+
"interviewPromptCopied": "Haastatteluprompt kopioitu! Liitä se AI Chattiin aloittaaksesi haastattelun.",
|
|
1099
|
+
"specImported": "Määrittely tuotu onnistuneesti!",
|
|
1100
|
+
"importSpec": "Tuo määrittely",
|
|
1101
|
+
"skipInterview": "Ohita (käytä vain kuvausta)",
|
|
1102
|
+
"skipBlueprint": "Ohita (siirry komponentteihin)",
|
|
1103
|
+
"cortexPhase": "Yhdistä ja integroi",
|
|
1104
|
+
"cortexDesc": "Asiakaspuolen domain-kirjasto laajennusten ja sovelluksen välillä",
|
|
1105
|
+
"registeredLabel": "rekisteröity",
|
|
1106
|
+
"activeLabel": "aktiivinen",
|
|
1107
|
+
"activateAll": "Aktivoi kaikki",
|
|
1108
|
+
"deactivateAll": "Deaktivoi kaikki",
|
|
1109
|
+
"launchApp": "Avaa sovellus",
|
|
1110
|
+
"refresh": "Päivitä",
|
|
1111
|
+
"refreshTitle": "Tarkista komponenttien tila palvelimelta",
|
|
1112
|
+
"editService": "Muokkaa palvelua",
|
|
1113
|
+
"cancelEdit": "Peruuta muokkaus",
|
|
1114
|
+
"editSettings": "Asetukset",
|
|
1115
|
+
"hideSettings": "Piilota asetukset",
|
|
1116
|
+
"diagnostics": "Diagnostiikka",
|
|
1117
|
+
"hideDiagnostics": "Piilota diagnostiikka",
|
|
1118
|
+
"cancelRemove": "Peruuta",
|
|
1119
|
+
"removeEllipsis": "Poista...",
|
|
1120
|
+
"removeSelectLabel": "Valitse poistettavat ja rekisteröinnistä poistettavat komponentit:",
|
|
1121
|
+
"deleteExtensionMemory": "Poista myös laajennuksen muistitiedot",
|
|
1122
|
+
"removingLabel": "Poistetaan...",
|
|
1123
|
+
"removeSelected": "Poista {count} valittua",
|
|
1124
|
+
"removedCount": "{count} komponenttia poistettu",
|
|
1125
|
+
"removedWithErrors": "{count} poistettu, {errors} virhettä",
|
|
1126
|
+
"activatedCount": "{count} komponenttia aktivoitu",
|
|
1127
|
+
"activatedWithErrors": "{count} aktivoitu, {errors} virhettä",
|
|
1128
|
+
"deactivatedCount": "{count} komponenttia deaktivoitu",
|
|
1129
|
+
"deactivatedWithErrors": "{count} deaktivoitu, {errors} virhettä",
|
|
1130
|
+
"noRegisteredApp": "Rekisteröityä sovellusta ei löytynyt",
|
|
1131
|
+
"editServiceDesc": "Kuvaile ongelma tai mitä haluat muuttaa:",
|
|
1132
|
+
"editPlaceholder": "esim. Kartalla ei näy merkkejä...",
|
|
1133
|
+
"copyImpactPrompt": "Kopioi vaikutusanalyysiprompt",
|
|
1134
|
+
"impactPromptCopied": "Vaikutusanalyysiprompt kopioitu!",
|
|
1135
|
+
"impactAnalysis": "Vaikutusanalyysi",
|
|
1136
|
+
"impactPasteDesc": "Liitä AI:n vaikutusanalyysin vastaus:",
|
|
1137
|
+
"impactPastePlaceholder": "Liitä vaikutusanalyysi-JSON tähän...",
|
|
1138
|
+
"analyzeImpact": "Analysoi vaikutus",
|
|
1139
|
+
"impactResults": "Analyysin tulokset",
|
|
1140
|
+
"impactArrayRequired": "Vastauksen tulee sisältää \"analysis\"-taulukko",
|
|
1141
|
+
"copyEditPrompt": "Kopioi muokkausprompt",
|
|
1142
|
+
"editPromptCopied": "Muokkausprompt komponentille {name} kopioitu!",
|
|
1143
|
+
"backToImpact": "Takaisin analyysiin",
|
|
1144
|
+
"done": "Valmis",
|
|
1145
|
+
"promptCopied": "Prompt kopioitu!",
|
|
1146
|
+
"blueprintPromptCopied": "Pohjapiirroksen prompt kopioitu!",
|
|
1147
|
+
"allComponentsRegistered": "Kaikki komponentit rekisteröity!",
|
|
1148
|
+
"componentRegistered": "Komponentti rekisteröity: {name}",
|
|
1149
|
+
"validationFailed": "Validointi epäonnistui",
|
|
1150
|
+
"registrationNameMissing": "Rekisteröity mutta nimeä ei löytynyt vastauksesta",
|
|
1151
|
+
"invalidJson": "Virheellinen JSON: {error}",
|
|
1152
|
+
"diagComponent": "Komponentti",
|
|
1153
|
+
"diagType": "Tyyppi",
|
|
1154
|
+
"diagGenStatus": "Generaattorin tila",
|
|
1155
|
+
"diagLiveStatus": "Live-tila",
|
|
1156
|
+
"diagLastAction": "Viimeisin toiminto",
|
|
1157
|
+
"serviceDefinition": "PALVELUMÄÄRITTELY",
|
|
1158
|
+
"seedDataTranslations": "ALKUTIEDOT JA KÄÄNNÖKSET",
|
|
1159
|
+
"packageProject": "Paketoi malliksi",
|
|
1160
|
+
"updatePackage": "Päivitä paketti",
|
|
1161
|
+
"packageSuccess": "Paketti luotu onnistuneesti",
|
|
1162
|
+
"packageUpdateSuccess": "Paketti päivitetty versioon {version}",
|
|
1163
|
+
"packageCategory": "Kategoria",
|
|
1164
|
+
"packageTags": "Tunnisteet (pilkulla erotettu)",
|
|
1165
|
+
"packageVisibility": "Näkyvyys",
|
|
1166
|
+
"noComponentsToPackage": "Ei valmiita komponentteja paketoitavaksi",
|
|
1167
|
+
"changesSummary": "Muutokset edellisestä versiosta",
|
|
1168
|
+
"changeAdded": "Lisätty",
|
|
1169
|
+
"changeModified": "Muokattu",
|
|
1170
|
+
"changeRemoved": "Poistettu",
|
|
1171
|
+
"changeUnchanged": "Muuttumaton",
|
|
1172
|
+
"forkedFrom": "Haarautettu paketista {name}, tekijä {author}",
|
|
1173
|
+
"forkConfirm": "Tämä luo oman kopiosi tästä paketista muokattavaksi. Jatketaanko?",
|
|
1174
|
+
"clickToEditName": "Napsauta muokataksesi nimeä",
|
|
1175
|
+
"nameUpdated": "Nimi päivitetty",
|
|
1176
|
+
"reregister": "Rekisteröi uudelleen",
|
|
1177
|
+
"reregisterHint": "Deaktivoi, poista ja rekisteröi komponentti uudelleen nykyisellä tuloksella",
|
|
1178
|
+
"reregistered": "Rekisteröity uudelleen: {name}",
|
|
1179
|
+
"reregisterFailed": "Uudelleenrekisteröinti epäonnistui: {error}",
|
|
1180
|
+
"changelogNote": "Muutoshuomautus",
|
|
1181
|
+
"changelogPlaceholder": "Mitä muuttui...",
|
|
1182
|
+
"registerHint": "Asenna tämä komponentti AIMEAT-solmuusi — tekee siitä käytössä olevan",
|
|
1183
|
+
"logActions": {
|
|
1184
|
+
"project_created": "Projekti luotu",
|
|
1185
|
+
"interview_imported": "Haastattelumäärittely tuotu",
|
|
1186
|
+
"blueprint_imported": "Pohjapiirros tuotu",
|
|
1187
|
+
"agent_started": "Agentti käynnistetty",
|
|
1188
|
+
"agent_stopped": "Agentti pysäytetty",
|
|
1189
|
+
"project_deleted": "Projekti poistettu",
|
|
1190
|
+
"all_activated": "Kaikki komponentit aktivoitu",
|
|
1191
|
+
"all_deactivated": "Kaikki komponentit deaktivoitu",
|
|
1192
|
+
"name_changed": "Projektin nimi muutettu"
|
|
1193
|
+
},
|
|
1194
|
+
"status": {
|
|
1195
|
+
"not_started": "Ei aloitettu",
|
|
1196
|
+
"prompt_ready": "Prompt valmis",
|
|
1197
|
+
"waiting_user": "Odottaa sinua",
|
|
1198
|
+
"waiting_agent": "Odottaa agenttia",
|
|
1199
|
+
"validating": "Validoidaan",
|
|
1200
|
+
"errors": "Virheitä",
|
|
1201
|
+
"done": "Valmis"
|
|
1202
|
+
},
|
|
1203
|
+
"settings_title": "Palvelun asetukset",
|
|
1204
|
+
"settings_description": "Palvelusi tarvitsee seuraavat asetukset toimiakseen. N\u00e4it\u00e4 k\u00e4ytet\u00e4\u00e4n testauksessa.",
|
|
1205
|
+
"settings_required": "Pakollinen",
|
|
1206
|
+
"settings_optional": "Valinnainen",
|
|
1207
|
+
"settings_save": "Tallenna ja jatka",
|
|
1208
|
+
"settings_skip": "Ohita (ei ulkoisia palveluita)",
|
|
1209
|
+
"settings_no_settings": "Asetuksia ei tarvita \u2014 jatketaan generointiin.",
|
|
1210
|
+
"test_scope_title": "Testauslaajuus",
|
|
1211
|
+
"test_scope_comprehensive": "Kattava (suositus) — toiminnalliset testit + selaintestit kuvakaappauksilla",
|
|
1212
|
+
"test_scope_basic": "Perustaso — vain toiminnalliset testit",
|
|
1213
|
+
"test_scope_none": "Ei testejä — ohita testaus",
|
|
1214
|
+
"test_scope_comprehensive_short": "Kattava",
|
|
1215
|
+
"test_scope_basic_short": "Perustaso",
|
|
1216
|
+
"test_scope_none_short": "Ohita",
|
|
1217
|
+
"test_generating": "Tekoäly generoi testit...",
|
|
1218
|
+
"test_running": "Ajetaan testejä...",
|
|
1219
|
+
"test_passed": "Kaikki testit läpäisty",
|
|
1220
|
+
"test_partial": "Osa testeistä läpäisty, osa epäonnistui",
|
|
1221
|
+
"test_failed": "Testit epäonnistuivat",
|
|
1222
|
+
"test_screenshots": "Kuvakaappaukset",
|
|
1223
|
+
"test_fix_auto": "Automaattinen korjaus",
|
|
1224
|
+
"test_fix_manual": "Testaa manuaalisesti",
|
|
1225
|
+
"test_fix_skip": "Ohita",
|
|
1226
|
+
"test_fix_round": "Korjauskierros",
|
|
1227
|
+
"test_errors_count": "virhettä",
|
|
1228
|
+
"test_component_passed": "Läpäisty",
|
|
1229
|
+
"test_component_failed": "Epäonnistunut",
|
|
1230
|
+
"test_component_skipped": "Ohitettu",
|
|
1231
|
+
"test_planned": "Testi suunniteltu — ajetaan rekisteröinnin jälkeen",
|
|
1232
|
+
"test_playwright_unavailable": "Playwright ei saatavilla, ohitetaan selaintestit",
|
|
1233
|
+
"test_section_title": "Testi",
|
|
1234
|
+
"test_prompt": "Testiprompt",
|
|
1235
|
+
"test_copy_prompt": "Kopioi testiprompt",
|
|
1236
|
+
"test_prompt_copied": "Testiprompt kopioitu leikepöydälle",
|
|
1237
|
+
"test_run_with_ai": "Generoi ja aja testi tekoälyllä",
|
|
1238
|
+
"test_code": "Testikoodi",
|
|
1239
|
+
"test_code_placeholder": "Liitä tekoälyn generoima testikoodi tähän...",
|
|
1240
|
+
"test_run": "Aja testi",
|
|
1241
|
+
"test_result_title": "Tulos",
|
|
1242
|
+
"test_trace_title": "Diagnostiikka-trace",
|
|
1243
|
+
"test_no_testable": "Ei rekisteröityjä testattavia komponentteja (extension/cortex/app)",
|
|
1244
|
+
"openrouter": {
|
|
1245
|
+
"title": "OpenRouter-asetukset",
|
|
1246
|
+
"apiKey": "API-avain",
|
|
1247
|
+
"apiKeyPlaceholder": "sk-or-v1-...",
|
|
1248
|
+
"apiKeySaved": "API-avain tallennettu",
|
|
1249
|
+
"apiKeyMasked": "●●●●●●●●",
|
|
1250
|
+
"model": "Tekoälymalli",
|
|
1251
|
+
"reasoningModel": "Päättelymalli (blueprintit, skeletonit, suunnittelu)",
|
|
1252
|
+
"executionModel": "Suoritusmalli (koodi, testit, kokoaminen)",
|
|
1253
|
+
"modelSelect": "Valitse malli",
|
|
1254
|
+
"autoRetry": "Automaattinen uudelleenyritys validointivirheessä",
|
|
1255
|
+
"maxRetries": "Uudelleenyritysten enimmäismäärä",
|
|
1256
|
+
"temperature": "Lämpötila (temperature)",
|
|
1257
|
+
"temperature_hint": "0 = deterministinen, 1 = oletus, 2 = luovin",
|
|
1258
|
+
"topP": "Top P",
|
|
1259
|
+
"topP_hint": "Nucleus-otanta: 0.1 = tarkennettu, 1.0 = koko valikoima",
|
|
1260
|
+
"maxTokens": "Max tokeneja",
|
|
1261
|
+
"maxTokens_hint": "Vastauksen enimmäispituus. Tyhjä = mallin oletus.",
|
|
1262
|
+
"testConnection": "Testaa yhteys",
|
|
1263
|
+
"testSuccess": "Yhteys onnistui",
|
|
1264
|
+
"testFail": "Yhteys epäonnistui",
|
|
1265
|
+
"save": "Tallenna asetukset",
|
|
1266
|
+
"delete": "Poista API-avain",
|
|
1267
|
+
"deleteConfirm": "Haluatko varmasti poistaa OpenRouter API-avaimesi?",
|
|
1268
|
+
"runWithAi": "Aja tekoälyllä",
|
|
1269
|
+
"runAll": "Aja kaikki vaiheet",
|
|
1270
|
+
"cancel": "Keskeytä",
|
|
1271
|
+
"waiting": "Odotetaan tekoälyn vastausta...",
|
|
1272
|
+
"retrying": "Yritetään uudelleen ({current}/{max})...",
|
|
1273
|
+
"stepComplete": "Vaihe suoritettu tekoälyllä",
|
|
1274
|
+
"stepFailed": "Tekoäly ei pystynyt suorittamaan tätä vaihetta",
|
|
1275
|
+
"stepDone": "{name} päivitetty onnistuneesti",
|
|
1276
|
+
"noApiKey": "Määritä OpenRouter API-avain yllä käyttääksesi tekoälyautomaatiota",
|
|
1277
|
+
"encryptionNotConfigured": "Palvelimen salausta ei ole määritetty. Ota yhteyttä noden ylläpitäjään.",
|
|
1278
|
+
"provider": "Tekoälypalveluntarjoaja",
|
|
1279
|
+
"provider_openrouter": "OpenRouter — pilvipalvelu, satoja malleja",
|
|
1280
|
+
"provider_lmstudio": "LM Studio — paikallinen tekoäly (localhost)",
|
|
1281
|
+
"provider_custom": "Custom — mikä tahansa OpenAI-yhteensopiva API",
|
|
1282
|
+
"baseUrl": "API-osoite",
|
|
1283
|
+
"baseUrl_hint": "esim. http://localhost:1234/v1"
|
|
1284
|
+
}
|
|
1285
|
+
},
|
|
1286
|
+
"foundry": {
|
|
1287
|
+
"tabLabel": "Foundry",
|
|
1288
|
+
"title": "Foundry — Monivaiheinen generaattori",
|
|
1289
|
+
"empty": "Ei projekteja vielä. Luo ensimmäinen palvelusi!",
|
|
1290
|
+
"disabled": "Palvelugeneraattori on poistettu käytöstä tässä nodessa.",
|
|
1291
|
+
"newProject": "Uusi projekti",
|
|
1292
|
+
"newProjectTitle": "Luo uusi palvelu",
|
|
1293
|
+
"newProjectDesc": "Kuvaile mitä haluat rakentaa. Ole tarkka ominaisuuksista, datasta, integraatioista ja käyttöliittymätarpeista.",
|
|
1294
|
+
"descPlaceholder": "Haluan luoda palvelun, joka...",
|
|
1295
|
+
"analyze": "Analysoi",
|
|
1296
|
+
"analyzing": "Analysoidaan...",
|
|
1297
|
+
"back": "Takaisin",
|
|
1298
|
+
"selectComponent": "Valitse komponentti sivupalkista aloittaaksesi",
|
|
1299
|
+
"modeChat": "AI Chat",
|
|
1300
|
+
"modeAgent": "Agentti",
|
|
1301
|
+
"prompt": "Prompt",
|
|
1302
|
+
"copyPrompt": "Kopioi prompt",
|
|
1303
|
+
"regeneratePrompt": "Päivitä prompt",
|
|
1304
|
+
"regeneratePromptHint": "Luo prompt uudelleen uusimmilla mallipohjilla",
|
|
1305
|
+
"promptRegenerated": "Prompt päivitetty uusimmilla mallipohjilla!",
|
|
1306
|
+
"result": "Tulos",
|
|
1307
|
+
"resultPlaceholder": "Liitä AI:n vastaus tähän...",
|
|
1308
|
+
"extensionResultPlaceholder": "Liitä KOKO AI:n vastaus tähän — YAML-manifesti ja kaikki JavaScript-koodilohkot yhteen...",
|
|
1309
|
+
"extensionPasteHint": "Extensionissa on useita koodilohkoja. Kopioi koko AI:n vastaus (YAML + kaikki JavaScript-tiedostot) ja liitä se kokonaisuudessaan tähän.",
|
|
1310
|
+
"validate": "Validoi",
|
|
1311
|
+
"register": "Rekisteröi",
|
|
1312
|
+
"errors": "Validointivirheet",
|
|
1313
|
+
"copyFixPrompt": "Kopioi korjausprompt",
|
|
1314
|
+
"sendToAgent": "Lähetä agentille",
|
|
1315
|
+
"waitingAgent": "Odotetaan agentin vastausta...",
|
|
1316
|
+
"archive": "Arkistoi",
|
|
1317
|
+
"deleteProject": "Poista",
|
|
1318
|
+
"confirmDelete": "Poistetaanko tämä projekti ja kaikki sen komponentit? Tätä ei voi perua.",
|
|
1319
|
+
"projectDeleted": "Projekti poistettu",
|
|
1320
|
+
"showArchived": "Näytä arkistoidut",
|
|
1321
|
+
"activityLog": "Toimintaloki",
|
|
1322
|
+
"allComponents": "Kaikki komponentit",
|
|
1323
|
+
"noActivity": "Ei toimintaa vielä",
|
|
1324
|
+
"blueprintTitle": "Tuo pohjapiirros",
|
|
1325
|
+
"blueprintDesc": "Kopioi pohjapiirroksen prompt, liitä se AI-chattiin ja liitä tulos takaisin tähän.",
|
|
1326
|
+
"blueprintResult": "Pohjapiirros-JSON",
|
|
1327
|
+
"blueprintPlaceholder": "Liitä AI:n generoima pohjapiirros-JSON tähän...",
|
|
1328
|
+
"importBlueprint": "Tuo pohjapiirros",
|
|
1329
|
+
"agentsListening": "agentti(a) kuuntelee",
|
|
1330
|
+
"noAgentsListening": "Ei agentteja kuuntelemassa",
|
|
1331
|
+
"lastSync": "Viimeisin synkronointi",
|
|
1332
|
+
"agentSetup": "Agentin asennus",
|
|
1333
|
+
"hideSetup": "Piilota asennus",
|
|
1334
|
+
"agentSetupDesc": "Luo uuden generaattoriagentin avaimineen ja kopioi asennuspromptin leikepöydälle. Liitä se AI-agenttiisi kuuntelun aloittamiseksi.",
|
|
1335
|
+
"agentSelector": {
|
|
1336
|
+
"title": "Käynnistä agentilla",
|
|
1337
|
+
"subtitle": "Haastattelu valmis. Anna agentin generoida loput automaattisesti.",
|
|
1338
|
+
"noAgents": "Ei kuuntelevia agentteja. Kopioi agenttiprompt ja liitä se AI-agenttiisi.",
|
|
1339
|
+
"startButton": "Käynnistä tällä agentilla",
|
|
1340
|
+
"manualButton": "Jatka manuaalisesti",
|
|
1341
|
+
"skipToAgent": "Anna agentin hoitaa"
|
|
1342
|
+
},
|
|
1343
|
+
"agentBanner": {
|
|
1344
|
+
"working": "{agentName} työskentelee",
|
|
1345
|
+
"phase": "Vaihe: {phase} ({step}/{total})",
|
|
1346
|
+
"disconnected": "Agentti saattoi katkaista yhteyden",
|
|
1347
|
+
"stopButton": "Pysäytä agentti",
|
|
1348
|
+
"continueManually": "Pysäytä ja jatka manuaalisesti",
|
|
1349
|
+
"lastHeartbeat": "viimeisin",
|
|
1350
|
+
"phaseStarting": "Käynnistyy...",
|
|
1351
|
+
"phaseBlueprint": "Luo pohjapiirros",
|
|
1352
|
+
"phaseGenerating": "Generoi komponentteja",
|
|
1353
|
+
"phaseRegistering": "Rekisteröi",
|
|
1354
|
+
"phaseCompleting": "Viimeistelee"
|
|
1355
|
+
},
|
|
1356
|
+
"copyAgentPrompt": "Kopioi agentin prompt",
|
|
1357
|
+
"copyAgentPromptShort": "Kopioi prompt (linkillä)",
|
|
1358
|
+
"copyAgentPromptFull": "Kopioi prompt (kokonaisena)",
|
|
1359
|
+
"agentPromptCopied": "Agentti luotu ja asennusprompt kopioitu!",
|
|
1360
|
+
"creatingAgent": "Luodaan agenttia...",
|
|
1361
|
+
"agentCreateFailed": "Generaattoriagentin luonti epäonnistui. Tarkista että olet kirjautunut.",
|
|
1362
|
+
"interviewTitle": "Vaatimusten kartoitus",
|
|
1363
|
+
"interviewDesc": "Kopioi haastatteluprompt AI Chattiin. Tekoäly haastattelee sinua vaatimuksistasi ja tuottaa rakenteellisen määrittelyn. Kun haastattelu on valmis, liitä JSON-määrittely tänne takaisin.",
|
|
1364
|
+
"interviewPrompt": "Vaihe 1: Kopioi haastatteluprompt AI Chattiin",
|
|
1365
|
+
"interviewResult": "Vaihe 2: Liitä JSON-määrittely",
|
|
1366
|
+
"interviewPlaceholder": "Liitä tekoälyn vastaus tähän — järjestelmä poimii JSON-määrittelyn...",
|
|
1367
|
+
"interviewPromptCopied": "Haastatteluprompt kopioitu! Liitä se AI Chattiin aloittaaksesi haastattelun.",
|
|
1368
|
+
"specImported": "Määrittely tuotu onnistuneesti!",
|
|
1369
|
+
"importSpec": "Tuo määrittely",
|
|
1370
|
+
"skipInterview": "Ohita (käytä vain kuvausta)",
|
|
1371
|
+
"skipBlueprint": "Ohita (siirry komponentteihin)",
|
|
1372
|
+
"cortexPhase": "Yhdistä ja integroi",
|
|
1373
|
+
"cortexDesc": "Asiakaspuolen domain-kirjasto laajennusten ja sovelluksen välillä",
|
|
1374
|
+
"registeredLabel": "rekisteröity",
|
|
1375
|
+
"activeLabel": "aktiivinen",
|
|
1376
|
+
"activateAll": "Aktivoi kaikki",
|
|
1377
|
+
"deactivateAll": "Deaktivoi kaikki",
|
|
1378
|
+
"launchApp": "Avaa sovellus",
|
|
1379
|
+
"refresh": "Päivitä",
|
|
1380
|
+
"refreshTitle": "Tarkista komponenttien tila palvelimelta",
|
|
1381
|
+
"editService": "Muokkaa palvelua",
|
|
1382
|
+
"cancelEdit": "Peruuta muokkaus",
|
|
1383
|
+
"editSettings": "Asetukset",
|
|
1384
|
+
"hideSettings": "Piilota asetukset",
|
|
1385
|
+
"diagnostics": "Diagnostiikka",
|
|
1386
|
+
"hideDiagnostics": "Piilota diagnostiikka",
|
|
1387
|
+
"cancelRemove": "Peruuta",
|
|
1388
|
+
"removeEllipsis": "Poista...",
|
|
1389
|
+
"removeSelectLabel": "Valitse poistettavat ja rekisteröinnistä poistettavat komponentit:",
|
|
1390
|
+
"deleteExtensionMemory": "Poista myös laajennuksen muistitiedot",
|
|
1391
|
+
"removingLabel": "Poistetaan...",
|
|
1392
|
+
"removeSelected": "Poista {count} valittua",
|
|
1393
|
+
"removedCount": "{count} komponenttia poistettu",
|
|
1394
|
+
"removedWithErrors": "{count} poistettu, {errors} virhettä",
|
|
1395
|
+
"activatedCount": "{count} komponenttia aktivoitu",
|
|
1396
|
+
"activatedWithErrors": "{count} aktivoitu, {errors} virhettä",
|
|
1397
|
+
"deactivatedCount": "{count} komponenttia deaktivoitu",
|
|
1398
|
+
"deactivatedWithErrors": "{count} deaktivoitu, {errors} virhettä",
|
|
1399
|
+
"noRegisteredApp": "Rekisteröityä sovellusta ei löytynyt",
|
|
1400
|
+
"editServiceDesc": "Kuvaile ongelma tai mitä haluat muuttaa:",
|
|
1401
|
+
"editPlaceholder": "esim. Kartalla ei näy merkkejä...",
|
|
1402
|
+
"copyImpactPrompt": "Kopioi vaikutusanalyysiprompt",
|
|
1403
|
+
"impactPromptCopied": "Vaikutusanalyysiprompt kopioitu!",
|
|
1404
|
+
"impactAnalysis": "Vaikutusanalyysi",
|
|
1405
|
+
"impactPasteDesc": "Liitä AI:n vaikutusanalyysin vastaus:",
|
|
1406
|
+
"impactPastePlaceholder": "Liitä vaikutusanalyysi-JSON tähän...",
|
|
1407
|
+
"analyzeImpact": "Analysoi vaikutus",
|
|
1408
|
+
"impactResults": "Analyysin tulokset",
|
|
1409
|
+
"impactArrayRequired": "Vastauksen tulee sisältää \"analysis\"-taulukko",
|
|
1410
|
+
"copyEditPrompt": "Kopioi muokkausprompt",
|
|
1411
|
+
"editPromptCopied": "Muokkausprompt komponentille {name} kopioitu!",
|
|
1412
|
+
"backToImpact": "Takaisin analyysiin",
|
|
1413
|
+
"done": "Valmis",
|
|
1414
|
+
"promptCopied": "Prompt kopioitu!",
|
|
1415
|
+
"blueprintPromptCopied": "Pohjapiirroksen prompt kopioitu!",
|
|
1416
|
+
"allComponentsRegistered": "Kaikki komponentit rekisteröity!",
|
|
1417
|
+
"componentRegistered": "Komponentti rekisteröity: {name}",
|
|
1418
|
+
"validationFailed": "Validointi epäonnistui",
|
|
1419
|
+
"registrationNameMissing": "Rekisteröity mutta nimeä ei löytynyt vastauksesta",
|
|
1420
|
+
"invalidJson": "Virheellinen JSON: {error}",
|
|
1421
|
+
"diagComponent": "Komponentti",
|
|
1422
|
+
"diagType": "Tyyppi",
|
|
1423
|
+
"diagGenStatus": "Generaattorin tila",
|
|
1424
|
+
"diagLiveStatus": "Live-tila",
|
|
1425
|
+
"diagLastAction": "Viimeisin toiminto",
|
|
1426
|
+
"serviceDefinition": "PALVELUMÄÄRITTELY",
|
|
1427
|
+
"seedDataTranslations": "ALKUTIEDOT JA KÄÄNNÖKSET",
|
|
1428
|
+
"packageProject": "Paketoi malliksi",
|
|
1429
|
+
"updatePackage": "Päivitä paketti",
|
|
1430
|
+
"packageSuccess": "Paketti luotu onnistuneesti",
|
|
1431
|
+
"packageUpdateSuccess": "Paketti päivitetty versioon {version}",
|
|
1432
|
+
"packageCategory": "Kategoria",
|
|
1433
|
+
"packageTags": "Tunnisteet (pilkulla erotettu)",
|
|
1434
|
+
"packageVisibility": "Näkyvyys",
|
|
1435
|
+
"noComponentsToPackage": "Ei valmiita komponentteja paketoitavaksi",
|
|
1436
|
+
"changesSummary": "Muutokset edellisestä versiosta",
|
|
1437
|
+
"changeAdded": "Lisätty",
|
|
1438
|
+
"changeModified": "Muokattu",
|
|
1439
|
+
"changeRemoved": "Poistettu",
|
|
1440
|
+
"changeUnchanged": "Muuttumaton",
|
|
1441
|
+
"forkedFrom": "Haarautettu paketista {name}, tekijä {author}",
|
|
1442
|
+
"forkConfirm": "Tämä luo oman kopiosi tästä paketista muokattavaksi. Jatketaanko?",
|
|
1443
|
+
"clickToEditName": "Napsauta muokataksesi nimeä",
|
|
1444
|
+
"nameUpdated": "Nimi päivitetty",
|
|
1445
|
+
"reregister": "Rekisteröi uudelleen",
|
|
1446
|
+
"reregisterHint": "Deaktivoi, poista ja rekisteröi komponentti uudelleen nykyisellä tuloksella",
|
|
1447
|
+
"reregistered": "Rekisteröity uudelleen: {name}",
|
|
1448
|
+
"reregisterFailed": "Uudelleenrekisteröinti epäonnistui: {error}",
|
|
1449
|
+
"changelogNote": "Muutoshuomautus",
|
|
1450
|
+
"changelogPlaceholder": "Mitä muuttui...",
|
|
1451
|
+
"registerHint": "Asenna tämä komponentti AIMEAT-solmuusi — tekee siitä käytössä olevan",
|
|
1452
|
+
"logActions": {
|
|
1453
|
+
"project_created": "Projekti luotu",
|
|
1454
|
+
"interview_imported": "Haastattelumäärittely tuotu",
|
|
1455
|
+
"blueprint_imported": "Pohjapiirros tuotu",
|
|
1456
|
+
"agent_started": "Agentti käynnistetty",
|
|
1457
|
+
"agent_stopped": "Agentti pysäytetty",
|
|
1458
|
+
"project_deleted": "Projekti poistettu",
|
|
1459
|
+
"all_activated": "Kaikki komponentit aktivoitu",
|
|
1460
|
+
"all_deactivated": "Kaikki komponentit deaktivoitu",
|
|
1461
|
+
"name_changed": "Projektin nimi muutettu"
|
|
1462
|
+
},
|
|
1463
|
+
"status": {
|
|
1464
|
+
"not_started": "Ei aloitettu",
|
|
1465
|
+
"prompt_ready": "Prompt valmis",
|
|
1466
|
+
"waiting_user": "Odottaa sinua",
|
|
1467
|
+
"waiting_agent": "Odottaa agenttia",
|
|
1468
|
+
"validating": "Validoidaan",
|
|
1469
|
+
"errors": "Virheitä",
|
|
1470
|
+
"done": "Valmis"
|
|
1471
|
+
},
|
|
1472
|
+
"settings_title": "Palvelun asetukset",
|
|
1473
|
+
"settings_description": "Palvelusi tarvitsee seuraavat asetukset toimiakseen. Näitä käytetään testauksessa.",
|
|
1474
|
+
"settings_required": "Pakollinen",
|
|
1475
|
+
"settings_optional": "Valinnainen",
|
|
1476
|
+
"settings_save": "Tallenna ja jatka",
|
|
1477
|
+
"settings_skip": "Ohita (ei ulkoisia palveluita)",
|
|
1478
|
+
"settings_no_settings": "Asetuksia ei tarvita — jatketaan generointiin.",
|
|
1479
|
+
"test_scope_title": "Testauslaajuus",
|
|
1480
|
+
"test_scope_comprehensive": "Kattava (suositus) — toiminnalliset testit + selaintestit kuvakaappauksilla",
|
|
1481
|
+
"test_scope_basic": "Perustaso — vain toiminnalliset testit",
|
|
1482
|
+
"test_scope_none": "Ei testejä — ohita testaus",
|
|
1483
|
+
"test_scope_comprehensive_short": "Kattava",
|
|
1484
|
+
"test_scope_basic_short": "Perustaso",
|
|
1485
|
+
"test_scope_none_short": "Ohita",
|
|
1486
|
+
"test_generating": "Tekoäly generoi testit...",
|
|
1487
|
+
"test_running": "Ajetaan testejä...",
|
|
1488
|
+
"test_passed": "Kaikki testit läpäisty",
|
|
1489
|
+
"test_partial": "Osa testeistä läpäisty, osa epäonnistui",
|
|
1490
|
+
"test_failed": "Testit epäonnistuivat",
|
|
1491
|
+
"test_screenshots": "Kuvakaappaukset",
|
|
1492
|
+
"test_fix_auto": "Automaattinen korjaus",
|
|
1493
|
+
"test_fix_manual": "Testaa manuaalisesti",
|
|
1494
|
+
"test_fix_skip": "Ohita",
|
|
1495
|
+
"test_fix_round": "Korjauskierros",
|
|
1496
|
+
"test_errors_count": "virhettä",
|
|
1497
|
+
"test_component_passed": "Läpäisty",
|
|
1498
|
+
"test_component_failed": "Epäonnistunut",
|
|
1499
|
+
"test_component_skipped": "Ohitettu",
|
|
1500
|
+
"test_planned": "Testi suunniteltu — ajetaan rekisteröinnin jälkeen",
|
|
1501
|
+
"test_playwright_unavailable": "Playwright ei saatavilla, ohitetaan selaintestit",
|
|
1502
|
+
"test_section_title": "Testi",
|
|
1503
|
+
"test_prompt": "Testiprompt",
|
|
1504
|
+
"test_copy_prompt": "Kopioi testiprompt",
|
|
1505
|
+
"test_prompt_copied": "Testiprompt kopioitu leikepöydälle",
|
|
1506
|
+
"test_run_with_ai": "Generoi ja aja testi tekoälyllä",
|
|
1507
|
+
"test_code": "Testikoodi",
|
|
1508
|
+
"test_code_placeholder": "Liitä tekoälyn generoima testikoodi tähän...",
|
|
1509
|
+
"test_run": "Aja testi",
|
|
1510
|
+
"test_result_title": "Tulos",
|
|
1511
|
+
"test_trace_title": "Diagnostiikka-trace",
|
|
1512
|
+
"test_no_testable": "Ei rekisteröityjä testattavia komponentteja (extension/cortex/app)",
|
|
1513
|
+
"generateNextPass": "Generoi seuraava vaihe",
|
|
1514
|
+
"passProgress": "Vaiheiden edistyminen",
|
|
1515
|
+
"passTest": "Testiprompt",
|
|
1516
|
+
"passSkeleton": "Runko",
|
|
1517
|
+
"passUnit": "Yksikkö",
|
|
1518
|
+
"passAssembly": "Kokoaminen",
|
|
1519
|
+
"passReflection": "Reflektio",
|
|
1520
|
+
"reflectionHistory": "Reflektiohistoria",
|
|
1521
|
+
"reflectionDiagnosis": "Diagnoosi",
|
|
1522
|
+
"reflectionPrescription": "Toimenpide",
|
|
1523
|
+
"escalatedToUser": "Eskaloitu — tarvitsee syöttöäsi",
|
|
1524
|
+
"loopDetected": "Silmukka havaittu — sama korjaus ehdotettu kahdesti",
|
|
1525
|
+
"maxReflections": "Reflektioyritykset käytetty",
|
|
1526
|
+
"openrouter": {
|
|
1527
|
+
"title": "OpenRouter-asetukset",
|
|
1528
|
+
"apiKey": "API-avain",
|
|
1529
|
+
"apiKeyPlaceholder": "sk-or-v1-...",
|
|
1530
|
+
"apiKeySaved": "API-avain tallennettu",
|
|
1531
|
+
"apiKeyMasked": "●●●●●●●●",
|
|
1532
|
+
"model": "Tekoälymalli",
|
|
1533
|
+
"reasoningModel": "Päättelymalli (blueprintit, skeletonit, suunnittelu)",
|
|
1534
|
+
"executionModel": "Suoritusmalli (koodi, testit, kokoaminen)",
|
|
1535
|
+
"modelSelect": "Valitse malli",
|
|
1536
|
+
"autoRetry": "Automaattinen uudelleenyritys validointivirheessä",
|
|
1537
|
+
"maxRetries": "Uudelleenyritysten enimmäismäärä",
|
|
1538
|
+
"temperature": "Lämpötila (temperature)",
|
|
1539
|
+
"temperature_hint": "0 = deterministinen, 1 = oletus, 2 = luovin",
|
|
1540
|
+
"topP": "Top P",
|
|
1541
|
+
"topP_hint": "Nucleus-otanta: 0.1 = tarkennettu, 1.0 = koko valikoima",
|
|
1542
|
+
"maxTokens": "Max tokeneja",
|
|
1543
|
+
"maxTokens_hint": "Vastauksen enimmäispituus. Tyhjä = mallin oletus.",
|
|
1544
|
+
"testConnection": "Testaa yhteys",
|
|
1545
|
+
"testSuccess": "Yhteys onnistui",
|
|
1546
|
+
"testFail": "Yhteys epäonnistui",
|
|
1547
|
+
"save": "Tallenna asetukset",
|
|
1548
|
+
"delete": "Poista API-avain",
|
|
1549
|
+
"deleteConfirm": "Haluatko varmasti poistaa OpenRouter API-avaimesi?",
|
|
1550
|
+
"runWithAi": "Aja tekoälyllä",
|
|
1551
|
+
"runAll": "Aja kaikki vaiheet",
|
|
1552
|
+
"cancel": "Keskeytä",
|
|
1553
|
+
"waiting": "Odotetaan tekoälyn vastausta...",
|
|
1554
|
+
"retrying": "Yritetään uudelleen ({current}/{max})...",
|
|
1555
|
+
"stepComplete": "Vaihe suoritettu tekoälyllä",
|
|
1556
|
+
"stepFailed": "Tekoäly ei pystynyt suorittamaan tätä vaihetta",
|
|
1557
|
+
"stepDone": "{name} päivitetty onnistuneesti",
|
|
1558
|
+
"noApiKey": "Määritä OpenRouter API-avain yllä käyttääksesi tekoälyautomaatiota",
|
|
1559
|
+
"encryptionNotConfigured": "Palvelimen salausta ei ole määritetty. Ota yhteyttä noden ylläpitäjään.",
|
|
1560
|
+
"provider": "Tekoälypalveluntarjoaja",
|
|
1561
|
+
"provider_openrouter": "OpenRouter — pilvipalvelu, satoja malleja",
|
|
1562
|
+
"provider_lmstudio": "LM Studio — paikallinen tekoäly (localhost)",
|
|
1563
|
+
"provider_custom": "Custom — mikä tahansa OpenAI-yhteensopiva API",
|
|
1564
|
+
"baseUrl": "API-osoite",
|
|
1565
|
+
"baseUrl_hint": "esim. http://localhost:1234/v1"
|
|
1566
|
+
}
|
|
1567
|
+
},
|
|
1568
|
+
"calibrator": {
|
|
1569
|
+
"tabLabel": "Kalibraattori",
|
|
1570
|
+
"title": "Kehotekalibraattori",
|
|
1571
|
+
"empty": "Ei kalibrointiprojekteja vielä.",
|
|
1572
|
+
"newProject": "Uusi kalibrointi",
|
|
1573
|
+
"newProjectName": "Kalibroinnin nimi",
|
|
1574
|
+
"newProjectPlaceholder": "esim. Blueprint-kehote",
|
|
1575
|
+
"reasoningModel": "Päättelymalli (arvioija)",
|
|
1576
|
+
"prompt": "Kehote",
|
|
1577
|
+
"targetOutput": "Tavoitetulos",
|
|
1578
|
+
"analysisTemplate": "Analyysikehote",
|
|
1579
|
+
"analysisTemplatePlaceholders": "Paikanvaraajat: {TARGET_OUTPUT}, {CANDIDATE_OUTPUT}, {MODEL_NAME}, {PROMPT_USED}",
|
|
1580
|
+
"resetTemplate": "Palauta oletus",
|
|
1581
|
+
"candidateModels": "Testattavat mallit",
|
|
1582
|
+
"addModel": "Lisää",
|
|
1583
|
+
"removeModel": "Poista",
|
|
1584
|
+
"runAll": "Suorita kaikki",
|
|
1585
|
+
"runAllAnalyze": "Suorita + analysoi",
|
|
1586
|
+
"running": "Suoritetaan...",
|
|
1587
|
+
"analyzing": "Analysoidaan",
|
|
1588
|
+
"results": "Tulokset",
|
|
1589
|
+
"overallScore": "Kokonaispistemäärä",
|
|
1590
|
+
"dimensions": "Ulottuvuudet",
|
|
1591
|
+
"runHistory": "Suoritushistoria",
|
|
1592
|
+
"noRuns": "Ei vielä suorituksia. Lisää mallit ja klikkaa Suorita kaikki.",
|
|
1593
|
+
"version": "Versio",
|
|
1594
|
+
"changelog": "Mitä muuttui?",
|
|
1595
|
+
"changelogPlaceholder": "Kuvaile mitä muuttui tässä versiossa...",
|
|
1596
|
+
"save": "Tallenna",
|
|
1597
|
+
"saveNewVersion": "Tallenna uutena versiona",
|
|
1598
|
+
"copy": "Kopioi",
|
|
1599
|
+
"copyComposed": "Kopioi muotoiltu kehote",
|
|
1600
|
+
"archive": "Arkistoi",
|
|
1601
|
+
"unarchive": "Palauta",
|
|
1602
|
+
"showArchived": "Näytä arkistoidut",
|
|
1603
|
+
"delete": "Poista",
|
|
1604
|
+
"deleteConfirm": "Poista tämä kalibrointiprojekti ja kaikki sen tiedot?",
|
|
1605
|
+
"back": "Takaisin",
|
|
1606
|
+
"applyFixes": "Toteuta ehdotukset",
|
|
1607
|
+
"applyingFixes": "Toteutetaan...",
|
|
1608
|
+
"proposals": "Ehdotetut korjaukset",
|
|
1609
|
+
"passed": "läpäisty",
|
|
1610
|
+
"failed": "hylätty",
|
|
1611
|
+
"models": "mallia",
|
|
1612
|
+
"runs": "suoritusta",
|
|
1613
|
+
"avgScore": "keskiarvo",
|
|
1614
|
+
"provider": "Tarjoaja",
|
|
1615
|
+
"model": "Malli",
|
|
1616
|
+
"selectModel": "Valitse malli",
|
|
1617
|
+
"chartOverall": "Kokonaispistemäärä",
|
|
1618
|
+
"chartByDimension": "Ulottuvuuksittain",
|
|
1619
|
+
"step1": "Vaihe 1: Generointi",
|
|
1620
|
+
"step2": "Vaihe 2: Analyysi",
|
|
1621
|
+
"step3": "Vaihe 3: Reflektio",
|
|
1622
|
+
"step3a": "Arvioijan ehdotukset",
|
|
1623
|
+
"step3b": "Itsereflektio",
|
|
1624
|
+
"step4": "Vaihe 4: Synteesi",
|
|
1625
|
+
"runStep1": "Suorita vaihe 1",
|
|
1626
|
+
"runStep2": "Suorita vaihe 2",
|
|
1627
|
+
"runStep3": "Suorita vaihe 3",
|
|
1628
|
+
"runStep4": "Suorita vaihe 4",
|
|
1629
|
+
"runAllSteps": "Suorita kaikki vaiheet",
|
|
1630
|
+
"newRun": "Uusi suoritus",
|
|
1631
|
+
"newRunAllSteps": "Uusi suoritus (kaikki vaiheet)",
|
|
1632
|
+
"reflectionTemplate": "Reflektiokehote (vaihe 3)",
|
|
1633
|
+
"selfReflectionTemplate": "Itsereflektiokehote (vaihe 3b)",
|
|
1634
|
+
"synthesisTemplate": "Synteesikehote (vaihe 4)",
|
|
1635
|
+
"reflectionPlaceholders": "Paikanvaraajat: {PROMPT_USED}, {TARGET_OUTPUT}, {CANDIDATE_OUTPUT}, {MODEL_NAME}, {ANALYSIS_TEXT}",
|
|
1636
|
+
"synthesisPlaceholders": "Paikanvaraajat: {PROMPT_USED}, {JUDGE_PROPOSALS}, {CANDIDATE_PROPOSALS}",
|
|
1637
|
+
"pasteOutput": "Liitä tulos",
|
|
1638
|
+
"pasteAnalysis": "Liitä analyysi",
|
|
1639
|
+
"pasteJudgeProposals": "Liitä arvioijan ehdotukset",
|
|
1640
|
+
"pasteSelfProposals": "Liitä itsereflektio",
|
|
1641
|
+
"pasteSynthesis": "Liitä synteesi",
|
|
1642
|
+
"groupedProposals": "Ryhmitellyt ehdotukset",
|
|
1643
|
+
"optionA": "Vaihtoehto A (konservatiivinen)",
|
|
1644
|
+
"optionB": "Vaihtoehto B (maltillinen)",
|
|
1645
|
+
"optionC": "Vaihtoehto C (aggressiivinen)",
|
|
1646
|
+
"applySelected": "Toteuta valitut → luo uusi versio",
|
|
1647
|
+
"copyPromptAndProposals": "Kopioi kehote + valitut ehdotukset",
|
|
1648
|
+
"impact": "Vaikutus",
|
|
1649
|
+
"overlap": "Päällekkäisyys",
|
|
1650
|
+
"recommendation": "Suositus",
|
|
1651
|
+
"setReasoningModel": "Aseta päättelymalli analyysin ja reflektion käyttöön.",
|
|
1652
|
+
"addModelsFirst": "Lisää testattavat mallit ensin.",
|
|
1653
|
+
"saveVersionFirst": "Tallenna kehoteversio ensin.",
|
|
1654
|
+
"noTargetWarning": "Tavoitetulosta ei ole asetettu — analyysi ei voi vertailla mihinkään.",
|
|
1655
|
+
"viewPromptSent": "Näytä lähetetty kehote",
|
|
1656
|
+
"viewRawResponse": "Näytä raaka vastaus",
|
|
1657
|
+
"viewOutput": "Näytä tulos",
|
|
1658
|
+
"viewAnalysis": "Näytä koko analyysi",
|
|
1659
|
+
"generating": "Generoidaan",
|
|
1660
|
+
"judgeReflecting": "Arvioija reflektoi",
|
|
1661
|
+
"selfReflecting": "Itsereflektio",
|
|
1662
|
+
"synthesizing": "Syntetisoidaan ehdotuksia",
|
|
1663
|
+
"batch": "Suoritus",
|
|
1664
|
+
"batchStatus": "Tila",
|
|
1665
|
+
"deleteConfirmBatch": "Poista tämä suoritus ja kaikki sen tiedot?"
|
|
1666
|
+
},
|
|
1667
|
+
"visibility": {
|
|
1668
|
+
"public": "Julkinen",
|
|
1669
|
+
"private": "Yksityinen",
|
|
1670
|
+
"owner": "Jaettu",
|
|
1671
|
+
"protected": "Suojattu"
|
|
1672
|
+
},
|
|
1673
|
+
"knowledge": {
|
|
1674
|
+
"parseError": "Liitettyä sisältöä ei voitu jäsentää JSON-muodossa",
|
|
1675
|
+
"notKnowledgePackage": "Tämä ei näytä AIMEAT-tietopaketilta",
|
|
1676
|
+
"copyFailed": "Kehotteen kopiointi epäonnistui",
|
|
1677
|
+
"cloned": "Paketti kloonattu onnistuneesti!",
|
|
1678
|
+
"cloneFailed": "Kloonaus epäonnistui",
|
|
1679
|
+
"referencesPackageLevel": "Viitteet (pakettitaso)"
|
|
1680
|
+
},
|
|
1681
|
+
"landing": {
|
|
1682
|
+
"home": "Koti",
|
|
1683
|
+
"heroTitle": "Tervetuloa! Aloita tästä",
|
|
1684
|
+
"heroSubtitle": "Sinulla on neljä polkua eteenpäin. Aloita mistä tahansa — kaikki johtavat siihen että sinulla on jotain hyödyllistä.",
|
|
1685
|
+
"onboardInstall": "Asenna valmis palvelu",
|
|
1686
|
+
"onboardInstallDesc": "Selaa paketteja. Yksi klikkaus ja sinulla on oma sähkön hintavahti, digital signage, tai yritystutka.",
|
|
1687
|
+
"onboardChat": "Tee jotain AI Chatilla",
|
|
1688
|
+
"onboardChatDesc": "Kopioi prompti, pastea AI Chattiisi. Saat toimivan appin joka käyttää AIMEAT:n muistia. Ei koodausta.",
|
|
1689
|
+
"onboardAgent": "Yhdistä AI-agentti",
|
|
1690
|
+
"onboardAgentDesc": "Anna Claude/ChatGPT:lle pääsy tänne. Se voi tuoda tietoa, muistaa asioita, ja tehdä töitä puolestasi.",
|
|
1691
|
+
"onboardGenerator": "Generoi kokonainen palvelu",
|
|
1692
|
+
"onboardGeneratorDesc": "Kerro mitä tarvitset. Generaattori haastattelee sinut ja luo kaiken: UI:n, taustapalvelun, käännökset, datan.",
|
|
1693
|
+
"tagEasiest": "helpoin",
|
|
1694
|
+
"tagLater": "myöhemmin",
|
|
1695
|
+
"knowledgeTitle": "Tutkimuksesi ja keskustelusi ovat arvokkaita",
|
|
1696
|
+
"knowledgeDesc": "Olet jo tehnyt paljon työtä AI:n kanssa. Tuo se tänne talteen — jäsenneltynä, haettavana, jaettavana. Kopioi Knowledge Packager -prompti profiilistasi, pastea se AI Chattiisi, ja kaikki mitä olet tutkinut muuttuu rakenteelliseksi tiedoksi.",
|
|
1697
|
+
"knowledgeBtnTitle": "Tuo AI-tutkimuksesi talteen",
|
|
1698
|
+
"knowledgeBtnDesc": "Kopioi Knowledge Packager, pastea AI Chattiisi — keskustelusi muuttuvat rakenteelliseksi tiedoksi.",
|
|
1699
|
+
"ghostSectionTitle": "Suositut palvelut",
|
|
1700
|
+
"ghostInstall": "asenna",
|
|
1701
|
+
"cortexSectionTitle": "Valmiit laajennukset — lisää AI Chattiisi",
|
|
1702
|
+
"cortexCharts": "Charts",
|
|
1703
|
+
"cortexChartsDesc": "Kaaviot datallesi — pylväs, viiva, piirakka. Touch + hiiri.",
|
|
1704
|
+
"cortexCanvas": "Piirtoalusta",
|
|
1705
|
+
"cortexCanvasDesc": "Piirrä ja tallenna storageen. Undo, export, kynä & muodot.",
|
|
1706
|
+
"menuDaily": "Päivittäinen",
|
|
1707
|
+
"menuBuildShare": "Rakenna & jaa",
|
|
1708
|
+
"menuManagement": "Hallinta",
|
|
1709
|
+
"menuInfra": "Infrastruktuuri",
|
|
1710
|
+
"menuInfraAnnotation": "vain node-operaattoreille",
|
|
1711
|
+
"menuTechnical": "Tekniset",
|
|
1712
|
+
"menuPersonal": "Henkilökohtaiset",
|
|
1713
|
+
"expandAll": "Näytä kaikki asetukset",
|
|
1714
|
+
"expandMore": "Näytä kaikki",
|
|
1715
|
+
"myApps": "Omat sovellukset",
|
|
1716
|
+
"allApps": "Kaikki",
|
|
1717
|
+
"openApp": "Avaa uudessa välilehdessä",
|
|
1718
|
+
"viewAll": "Näytä kaikki",
|
|
1719
|
+
"editProfile": "muokkaa profiilia",
|
|
1720
|
+
"federationBadge": "{count} solmu(a) federaatiossa",
|
|
1721
|
+
"packagesExt": "Paketit & Laajennukset",
|
|
1722
|
+
"notificationsBadge": "Ilmoitukset",
|
|
1723
|
+
"ownPackages": "Omat paketit",
|
|
1724
|
+
"connectAgent": "Yhdistä uusi agentti",
|
|
1725
|
+
"installFirst": "Asenna ensimmäinen sovellus"
|
|
1726
|
+
}
|
|
1727
|
+
},
|
|
1728
|
+
"dev": {
|
|
1729
|
+
"title": "AIMEAT-liitäntäportaali",
|
|
1730
|
+
"subtitle": "Yhdistä mikä tahansa AI tähän solmuun — valitse alustasi aloittaaksesi",
|
|
1731
|
+
"stats": {
|
|
1732
|
+
"agents": "Agentit",
|
|
1733
|
+
"chatSessions": "Keskustelusessiot",
|
|
1734
|
+
"services": "Palvelut",
|
|
1735
|
+
"boards": "Taulut"
|
|
1736
|
+
},
|
|
1737
|
+
"quickStart": {
|
|
1738
|
+
"title": "Pikastart — Onko AI jo auki?",
|
|
1739
|
+
"desc": "Kopioi-liitä tämä AI-chattiin niin se yhdistää itse:",
|
|
1740
|
+
"copy": "Kopioi",
|
|
1741
|
+
"note": "Toimii AI:lla jotka voivat selata verkkoa (Grok, Claude, ChatGPT selauksella, jne.). URL palauttaa JSON-ohjeet jotka AI ymmärtää.",
|
|
1742
|
+
"fallback": "Jos AI:si ei voi selata, valitse alustasi alta."
|
|
1743
|
+
},
|
|
1744
|
+
"step1": {
|
|
1745
|
+
"label": "Valitse AI-alustasi"
|
|
1746
|
+
},
|
|
1747
|
+
"step2": {
|
|
1748
|
+
"label": "Valitse tilauksesi / versio"
|
|
1749
|
+
},
|
|
1750
|
+
"step3": {
|
|
1751
|
+
"label": "Valitse yhdistämistapa"
|
|
1752
|
+
},
|
|
1753
|
+
"step4": {
|
|
1754
|
+
"label": "Jaa sovelluksesi"
|
|
1755
|
+
},
|
|
1756
|
+
"mode": {
|
|
1757
|
+
"loggedIn": "Kirjautuneena",
|
|
1758
|
+
"loggedInDesc": "Voit lähettää sovelluksia ja saada jaettavan latauslinkin. Muut voivat selata ja ladata sovelluksiasi.",
|
|
1759
|
+
"anonymous": "Anonyymi tila",
|
|
1760
|
+
"anonymousDesc": "Voit luoda kehotteita ja sovelluksia kirjautumatta.",
|
|
1761
|
+
"anonymousNote": "Jakaaksesi sovelluksia muille, sinun täytyy jakaa HTML-tiedosto itse (sähköposti, pilvipalvelu, jne.).",
|
|
1762
|
+
"signUp": "Rekisteröidy",
|
|
1763
|
+
"signUpNote": "saadaksesi henkilökohtaisen latauslinkin."
|
|
1764
|
+
},
|
|
1765
|
+
"community": {
|
|
1766
|
+
"title": "Yhteisön sovellukset",
|
|
1767
|
+
"desc": "Käyttäjien lähettämät sovellukset tällä solmulla. Lataa ja avaa paikallisesti selaimessasi."
|
|
1768
|
+
},
|
|
1769
|
+
"profile": "Profiili",
|
|
1770
|
+
"humanPortal": "Kaikille",
|
|
1771
|
+
"tier": {
|
|
1772
|
+
"mcp": "MCP-yhteys",
|
|
1773
|
+
"api": "API-yhteys",
|
|
1774
|
+
"browse": "Selaus (vain luku)",
|
|
1775
|
+
"prompt": "Kehotepaketti"
|
|
1776
|
+
},
|
|
1777
|
+
"tabs": {
|
|
1778
|
+
"apps": "Sovellukset",
|
|
1779
|
+
"appsDesc": "Rakenna sovelluksia",
|
|
1780
|
+
"mcp": "MCP",
|
|
1781
|
+
"mcpDesc": "AI-liitäntä",
|
|
1782
|
+
"api": "API",
|
|
1783
|
+
"apiDesc": "REST-rajapinta",
|
|
1784
|
+
"unavailable": "Ei saatavilla tällä tilauksella",
|
|
1785
|
+
"upgradeForMcp": "MCP vaatii maksullisen tilauksen. Päivitä saadaksesi 18 AIMEAT-työkalua suoraan AI:llesi.",
|
|
1786
|
+
"upgradeForApi": "Tämä tilaus ei voi tehdä HTTP-pyyntöjä. Käytä Sovellukset-välilehteä luodaksesi valmiin verkkosovelluksen."
|
|
1787
|
+
},
|
|
1788
|
+
"copy": "Kopioi",
|
|
1789
|
+
"copied": "Kopioitu!",
|
|
1790
|
+
"download": "Lataa",
|
|
1791
|
+
"upload": "Lähetä solmuun",
|
|
1792
|
+
"uploading": "Lähetetään...",
|
|
1793
|
+
"uploaded": "Lähetetty!",
|
|
1794
|
+
"uploadFailed": "Lähetys epäonnistui",
|
|
1795
|
+
"shareLink": "Jakolinkki",
|
|
1796
|
+
"noApps": "Ei yhteisön sovelluksia vielä.",
|
|
1797
|
+
"panel": {
|
|
1798
|
+
"mcpBadge": "🔌 MCP — AI-liitäntä",
|
|
1799
|
+
"mcpPrereqTitle": "⚠ Edellytys: AIMEAT-tili vaaditaan",
|
|
1800
|
+
"mcpPrereqDesc": "MCP käyttää OAuthia agenttisi tunnistamiseen. Sinun täytyy <strong>rekisteröityä ensin</strong> (klikkaa avatariasi tai rekisteröitymispainiketta yllä) luodaksesi omistajatilin ja agentin. Kun olet kirjautunut, agenttisi GAII näkyy tässä.",
|
|
1801
|
+
"mcpReady": "✅ Agenttisi on valmis MCP-yhteydelle",
|
|
1802
|
+
"mcpReadyDesc": "Kun AI-alustasi käynnistää OAuth-kirjautumisen, se tunnistautuu yllä näkyvällä agentti-identiteetilläsi. Yksityinen avaimesi (tallennettu selaimeesi) allekirjoittaa valtuutuspyynnön automaattisesti.",
|
|
1803
|
+
"mcpStep1": "Avaa AI-alustasi <strong>Asetukset → Yhdistimet / MCP-palvelimet</strong>",
|
|
1804
|
+
"mcpStep2": "Lisää uusi MCP-palvelin tällä URL:lla:",
|
|
1805
|
+
"mcpStep3": "Alustasi käynnistää OAuthin — AIMEAT tunnistaa agenttisi <strong>Ed25519-allekirjoituksella</strong> ja myöntää pääsytunnisteet",
|
|
1806
|
+
"mcpStep4": "Kun yhdistetty, kokeile: <em>\"Tarkista AIMEAT-solmuni hakemisto\"</em>",
|
|
1807
|
+
"mcpTools": "Käytössäsi on <strong>18 MCP-työkalua</strong>: hakemistohaku, agenttiprofiili, muistin luku/kirjoitus/listaus, toimintojen suoritus, työjono, lompakko, taulut, tallennus ja 4 ylläpitotyökalua (operaattori).",
|
|
1808
|
+
"mcpSetupTitle": "🤖 Yhdistä AI-assistenttisi",
|
|
1809
|
+
"mcpSetupDesc": "Valitse Claude-tuotteesi alta. Jokaisella on oma asennustapa.",
|
|
1810
|
+
"mcpSetupCodeDesc": "Suorita yksi komento terminaalissa. Claude Code yhdistää MCP-palvelimeen ja OAuth hoitaa tunnistautumisen automaattisesti — selaimesi avaa suostumussivun jossa kirjaudut ja hyväksyt yhteyden.",
|
|
1811
|
+
"mcpCodeRunThis": "Suorita terminaalissa:",
|
|
1812
|
+
"mcpCopyCommand": "Kopioi komento",
|
|
1813
|
+
"mcpCopied": "Kopioitu!",
|
|
1814
|
+
"mcpCodeOAuthNote": "Ensimmäisellä yhdistämiskerralla selaimesi avaa OAuth-suostumussivun. Kirjaudu GHII-tunnuksillasi ja hyväksy yhteys. Tokenit uusiutuvat automaattisesti.",
|
|
1815
|
+
"mcpSetupCoworkDesc": "Lisää AIMEAT mukautetuksi liittimeksi Claude Desktopissa. OAuth hoitaa tunnistautumisen — selaimesi avaa suostumussivun automaattisesti.",
|
|
1816
|
+
"mcpDesktopStep1": "Avaa Claude Desktop → Asetukset (hammasratas) → Connectors → Add custom connector",
|
|
1817
|
+
"mcpDesktopStep2": "Syötä nimi (esim. \"aimeat.io\") ja MCP-palvelimen URL:",
|
|
1818
|
+
"mcpDesktopStep3": "Klikkaa Add, sitten Connect — selaimesi avaa OAuth-suostumussivun. Kirjaudu GHII-tunnuksillasi ja hyväksy.",
|
|
1819
|
+
"mcpDesktopStep4": "Valmis! AIMEAT-työkalut näkyvät nyt Claude Desktop -keskusteluissasi.",
|
|
1820
|
+
"mcpDesktopNote": "OAuth hoitaa kaiken automaattisesti. Ei yhteysavaimia, ei manuaalista JWT-asetusta. Tokenit uusiutuvat taustalla.",
|
|
1821
|
+
"mcpSetupChatDesc": "Lisää AIMEAT mukautetuksi liittimeksi Claude.ai-asetuksissa. OAuth hoitaa tunnistautumisen — sinut ohjataan suostumussivulle:",
|
|
1822
|
+
"mcpChatStep1": "Avaa claude.ai → Asetukset (vasemman alareunan hammasratas)",
|
|
1823
|
+
"mcpChatStep2": "Klikkaa Connectors → Add custom connector",
|
|
1824
|
+
"mcpChatStep3": "Syötä nimi (esim. \"aimeat.io\") ja MCP-palvelimen URL:",
|
|
1825
|
+
"mcpChatStep4": "Suorita OAuth-suostumus — kirjaudu GHII-tunnuksillasi, valitse valtuutettava agentti ja hyväksy",
|
|
1826
|
+
"mcpChatStep5": "Valmis! AIMEAT-työkalut näkyvät nyt Claude.ai-keskusteluissasi",
|
|
1827
|
+
"mcpChatNote": "OAuth hoitaa kaiken automaattisesti. Ei yhteysavaimia, ei manuaalista JWT-asetusta. Tokenit uusiutuvat taustalla.",
|
|
1828
|
+
"mcpCopyUrl": "Kopioi URL",
|
|
1829
|
+
"mcpProfileLink": "Yhdistetyt MCP-sessiot näkyvät profiilissasi.",
|
|
1830
|
+
"mcpProfileLinkAction": "Näytä sessiosi →",
|
|
1831
|
+
"mcpAuthDetails": "Miten MCP-tunnistautuminen toimii?",
|
|
1832
|
+
"mcpAuthExplain": "<strong>OAuth 2.1 Ed25519-allekirjoituksilla:</strong><ol style='margin:.5rem 0 0 1.25rem'><li>AI-alustasi rekisteröityy OAuth-asiakkaaksi (automaattinen)</li><li>AIMEAT lähettää tunnistautumishaasteen selaimeesi</li><li>Agenttisi yksityinen avain allekirjoittaa: <code>GAII + nodeId + aikaleima</code></li><li>AIMEAT vahvistaa allekirjoituksen ja myöntää JWT-pääsy- ja uusimistunnisteet</li><li>AI-alustasi käyttää tunnisteteita kaikissa MCP-työkalukutsuissa</li></ol><p style='margin-top:.5rem'>Tunnisteet uusiutuvat automaattisesti. Yksityinen avaimesi ei koskaan poistu selaimestasi.</p>",
|
|
1833
|
+
"apiBadge": "📡 API — REST-rajapinta",
|
|
1834
|
+
"apiDesc": "AI:si voi tehdä HTTP-kutsuja. Kopioi tämä kehote ja liitä se AI-chattiisi:",
|
|
1835
|
+
"browseBadge": "📡 API — Vain selaus",
|
|
1836
|
+
"browseDesc": "AI:si voi selata URL-osoitteita. Kopioi tämä kehote aloittaaksesi:",
|
|
1837
|
+
"browseUpgradeTitle": "Haluatko täyden pääsyn?",
|
|
1838
|
+
"browseUpgrade1": "Päivitä tilauksesi MCP-tuella",
|
|
1839
|
+
"browseUpgrade2": "Tai vaihda työkalukykyiseen AI:hin (Claude Code, VS Code Copilot)",
|
|
1840
|
+
"browseUpgrade3": "Tai käytä {{promptPackageLink}} HTML-sovelluksen luomiseen",
|
|
1841
|
+
"promptPackageLabel": "kehotepakettia",
|
|
1842
|
+
"promptBadge": "🖥️ Sovellukset — Sovellusrakentaja",
|
|
1843
|
+
"promptDesc": "AI:si ei voi tehdä verkkopyyntöjä, mutta se voi <strong>luoda koodia</strong> puolestasi! Valitse mitä haluat rakentaa, kopioi kehote AI-chattiisi. AI haastattelee sinua ja luo valmiin HTML-sovelluksen.",
|
|
1844
|
+
"promptLoggedIn": "Olet kirjautunut — kun AI on luonut sovelluksen, tule takaisin lähettämään se ja saat jaettavan linkin!",
|
|
1845
|
+
"promptAnon": "Anonyymi tila — sinun täytyy jakaa luotu HTML-tiedosto itse.",
|
|
1846
|
+
"promptSignUp": "Rekisteröidy",
|
|
1847
|
+
"promptSignUpNote": "lähettääksesi sovelluksen ja saadaksesi jakolinkin.",
|
|
1848
|
+
"loading": "Ladataan..."
|
|
1849
|
+
},
|
|
1850
|
+
"goals": {
|
|
1851
|
+
"dashboard": "Henkilökohtainen hallintapaneeli",
|
|
1852
|
+
"notes": "Muistiinpanosovellus",
|
|
1853
|
+
"game": "Moninpeli",
|
|
1854
|
+
"news": "Uutis- / sisältölukija",
|
|
1855
|
+
"marketplace": "Palvelumarkkinapaikka",
|
|
1856
|
+
"chat": "Chat / Viestintä",
|
|
1857
|
+
"iot": "IoT / Data-hallintapaneeli",
|
|
1858
|
+
"custom": "Oma — Kuvailen itse"
|
|
1859
|
+
},
|
|
1860
|
+
"status": {
|
|
1861
|
+
"updating": "Päivitetään...",
|
|
1862
|
+
"signInFirst": "Kirjaudu ensin",
|
|
1863
|
+
"codeUpdated": "Pääsykoodi päivitetty.",
|
|
1864
|
+
"codeRemoved": "Pääsykoodi poistettu — sovellus on nyt julkinen.",
|
|
1865
|
+
"codeUpdatedShort": "Koodi päivitetty",
|
|
1866
|
+
"codeRemovedShort": "Koodi poistettu"
|
|
1867
|
+
},
|
|
1868
|
+
"uploadSection": {
|
|
1869
|
+
"desc": "Kun AI on luonut HTML-tiedoston, lähetä se tänne saadaksesi jaettavan latauslinkin.",
|
|
1870
|
+
"accessCodeLabel": "Pääsykoodi (valinnainen)",
|
|
1871
|
+
"accessCodePlaceholder": "Jätä tyhjäksi julkiselle",
|
|
1872
|
+
"accessCodeNote": "Jos asetettu, lataajat tarvitsevat tämän koodin. 4–64 merkkiä.",
|
|
1873
|
+
"dragDrop": "Vedä ja pudota .html-tiedosto tähän, tai:",
|
|
1874
|
+
"chooseFile": "Valitse tiedosto",
|
|
1875
|
+
"protected": "Suojattu pääsykoodilla.",
|
|
1876
|
+
"changeCode": "Vaihda pääsykoodi",
|
|
1877
|
+
"newCodePlaceholder": "Uusi koodi (tai tyhjä poistaaksesi)",
|
|
1878
|
+
"setCodePlaceholder": "Aseta suojakoodi",
|
|
1879
|
+
"updateBtn": "Päivitä",
|
|
1880
|
+
"fileSize": "Tiedostokoko: ",
|
|
1881
|
+
"shareTitle": "Jaa sovelluksesi",
|
|
1882
|
+
"shareDesc": "Kun AI on luonut HTML-tiedoston:",
|
|
1883
|
+
"shareStep1": "Tallenna luotu koodi .html-tiedostona",
|
|
1884
|
+
"shareStep2": "Avaa se selaimessa testataksesi",
|
|
1885
|
+
"shareStep3": "Jaa tiedosto muille sähköpostilla, pilvipalvelulla tai viestillä",
|
|
1886
|
+
"wantEasier": "Haluatko helpomman jakamisen?",
|
|
1887
|
+
"createAccount": "Luo tili",
|
|
1888
|
+
"downloadLinkNote": "lähettääksesi sovelluksen ja saadaksesi henkilökohtaisen latauslinkin kuten:"
|
|
1889
|
+
},
|
|
1890
|
+
"appList": {
|
|
1891
|
+
"protected": "Suojattu",
|
|
1892
|
+
"by": "tekijä ",
|
|
1893
|
+
"accessCode": "Pääsykoodi",
|
|
1894
|
+
"newCodePlaceholder": "Uusi koodi tai tyhjä poistaaksesi",
|
|
1895
|
+
"setCodePlaceholder": "Aseta pääsykoodi",
|
|
1896
|
+
"enterCode": "Syötä pääsykoodi"
|
|
1897
|
+
},
|
|
1898
|
+
"platformNotes": {
|
|
1899
|
+
"noHttp": "Ei voi tehdä ulkoisia HTTP-kutsuja",
|
|
1900
|
+
"terminal": "Voi suorittaa terminaalikomentoja",
|
|
1901
|
+
"vscodeSettings": "Lisää MCP-palvelimeksi VS Code -asetuksissa",
|
|
1902
|
+
"pythonSandbox": "Python-hiekkalaatikko — voi tehdä HTTP-kutsuja",
|
|
1903
|
+
"functionCalling": "Mallit joilla on funktokutsut",
|
|
1904
|
+
"indexnow": "Voi selata Bingiin indeksoituja sivuja (IndexNow)"
|
|
1905
|
+
}
|
|
1906
|
+
},
|
|
1907
|
+
"init": {
|
|
1908
|
+
"welcome": "AIMEAT-solmun asetusvelho",
|
|
1909
|
+
"langPrompt": "Select language / Valitse kieli",
|
|
1910
|
+
"langEn": "English",
|
|
1911
|
+
"langFi": "Suomi",
|
|
1912
|
+
"useCase": "Mihin käytät tätä solmua?",
|
|
1913
|
+
"useCasePublic": "Julkinen solmu",
|
|
1914
|
+
"useCasePublicDesc": "Palvelee AI-agentteja internetissä",
|
|
1915
|
+
"useCasePersonal": "Henkilökohtainen solmu",
|
|
1916
|
+
"useCasePersonalDesc": "Yksityiskäyttö, palomuurin takana",
|
|
1917
|
+
"useCaseDev": "Kehitys",
|
|
1918
|
+
"useCaseDevDesc": "Testaus ja kehitys",
|
|
1919
|
+
"useCaseCustom": "Mukautettu",
|
|
1920
|
+
"useCaseCustomDesc": "Siirry suoraan kaikkiin asetuksiin",
|
|
1921
|
+
"nodeId": "Solmun tunnus",
|
|
1922
|
+
"nodeIdHint": "Uniikki nimi tälle solmulle verkossa",
|
|
1923
|
+
"port": "Portti",
|
|
1924
|
+
"portHint": "HTTP-portti jota palvelin kuuntelee",
|
|
1925
|
+
"portInvalid": "Portin pitää olla välillä 1–65535",
|
|
1926
|
+
"baseUrl": "Julkinen URL",
|
|
1927
|
+
"baseUrlHint": "Julkinen URL jossa solmu on saavutettavissa (esim. https://solmu.example.com)",
|
|
1928
|
+
"baseUrlInvalid": "Pitää alkaa http:// tai https://",
|
|
1929
|
+
"dbUrl": "MongoDB URL",
|
|
1930
|
+
"dbUrlHint": "Jätä tyhjäksi muistinsisäiseen tallennukseen (data katoaa uudelleenkäynnistyksessä)",
|
|
1931
|
+
"dbUrlInvalid": "Pitää alkaa mongodb:// tai mongodb+srv://",
|
|
1932
|
+
"adminPassword": "Ylläpitäjän salasana",
|
|
1933
|
+
"adminPasswordHint": "Salasana operaattorin hallintapaneeliin (vähintään 8 merkkiä)",
|
|
1934
|
+
"adminPasswordWeak": "Salasanan pitää olla vähintään 8 merkkiä",
|
|
1935
|
+
"adminPasswordSkip": "Jätä tyhjäksi luodaksesi automaattisesti käynnistyksessä",
|
|
1936
|
+
"anonymous": "Ota anonyymi tila käyttöön?",
|
|
1937
|
+
"anonymousHint": "Ei todennusta — kaikki agentit jakavat yhden muistitilan",
|
|
1938
|
+
"devMode": "Ota kehitystila käyttöön?",
|
|
1939
|
+
"devModeHint": "Ohittaa joitain turvatarkistuksia testausta varten",
|
|
1940
|
+
"extended": "Ota laajennetut ominaisuudet käyttöön?",
|
|
1941
|
+
"extendedHint": "Taulut, federaatio, tallennus, validointi",
|
|
1942
|
+
"networkRole": "Mikä on tämän solmun rooli verkossa?",
|
|
1943
|
+
"networkRoleOperator": "Genesis-operaattori",
|
|
1944
|
+
"networkRoleOperatorDesc": "Sinä pyörität verkon — solmusi on hakemisto johon muut rekisteröityvät",
|
|
1945
|
+
"networkRoleContributor": "Verkon tarjoaja",
|
|
1946
|
+
"networkRoleContributorDesc": "Tarjoa resursseja genesis-verkkoon, ansaitse murusia liikenteestä",
|
|
1947
|
+
"networkRoleStandalone": "Itsenäinen",
|
|
1948
|
+
"networkRoleStandaloneDesc": "Itsenäinen solmu, manuaalinen vertaisyhteys",
|
|
1949
|
+
"genesisUrl": "Genesis-solmun URL",
|
|
1950
|
+
"genesisUrlHint": "Genesis-solmun URL johon rekisteröidytään (esim. https://aimeat.io)",
|
|
1951
|
+
"genesisUrlInvalid": "Pitää alkaa http:// tai https://",
|
|
1952
|
+
"indexNowKey": "IndexNow-avain (Bing/Yandex-hakuindeksointi)",
|
|
1953
|
+
"indexNowKeyHint": "Luo komennolla: openssl rand -hex 16",
|
|
1954
|
+
"advancedPrompt": "Määritä lisäasetukset?",
|
|
1955
|
+
"advancedNo": "Ei, käytä oletuksia (suositeltu)",
|
|
1956
|
+
"advancedEconomy": "Talousjärjestelmä",
|
|
1957
|
+
"advancedEconomyDesc": "Muruset, päiväkiintiöt, polttoprosentti",
|
|
1958
|
+
"advancedAll": "Kaikki asetukset",
|
|
1959
|
+
"advancedAllDesc": "Kiintiöt, nopeusrajoitukset, federaatio, työjono...",
|
|
1960
|
+
"welcomeBonus": "Tervetuliaisbonus (murusia)",
|
|
1961
|
+
"dailyAllowance": "Päiväkiintiö (murusia)",
|
|
1962
|
+
"dailyAllowanceCap": "Päiväkiintiön katto",
|
|
1963
|
+
"burnRate": "Polttoprosentti (0–1)",
|
|
1964
|
+
"burnRateInvalid": "Pitää olla luku välillä 0–1",
|
|
1965
|
+
"maxMint": "Operaattorin luontiraja per päivä",
|
|
1966
|
+
"boardPostCost": "Taulujulkaisun perushinta (murusia)",
|
|
1967
|
+
"boardPostCostKb": "Taulujulkaisun hinta per KB (murusia)",
|
|
1968
|
+
"jwtTtl": "JWT-elinaika (sekuntia)",
|
|
1969
|
+
"memoryQuota": "Muistikiintiö per käyttäjä (Mt)",
|
|
1970
|
+
"memoryMaxValueSizeKb": "Yksittäisen muistiarvon enimmäiskoko (Kt)",
|
|
1971
|
+
"memoryMaxKeys": "Muistiavainten enimmäismäärä per agentti",
|
|
1972
|
+
"storageQuota": "Tallennuskiintiö per käyttäjä (Mt)",
|
|
1973
|
+
"storageMaxFileSize": "Yksittäisen tiedoston enimmäiskoko (Mt)",
|
|
1974
|
+
"microMemoryMaxSets": "Mikromuistijoukkojen enimmäismäärä per agentti",
|
|
1975
|
+
"microMemoryMaxKeysPerSet": "Avainten enimmäismäärä per mikromuistijoukko",
|
|
1976
|
+
"microMemoryMaxValueSize": "Mikromuistiarvon enimmäiskoko (tavua)",
|
|
1977
|
+
"maxActionsPerAgent": "Toimintojen enimmäismäärä per agentti",
|
|
1978
|
+
"appMaxSize": "Sovellustiedoston enimmäiskoko (Mt)",
|
|
1979
|
+
"agentPortingFee": "Agenttisiirtomaksu (murusia)",
|
|
1980
|
+
"maxRelayHops": "Federaation välitysrajat",
|
|
1981
|
+
"crossFedNote": "Ristinfederaatio (genesis-vertaistaminen) mahdollistaa yhteyden solmuihin federaatioklusterin ulkopuolella — tai itsenäisten solmujen suoran yhdistämisen. Se on erillinen yllä olevasta genesis-/tarjoaja-federaatiosta. Genesis-vertaiset jakavat palvelukatalogin ja mahdollistavat solmujen välisen löytämisen.",
|
|
1982
|
+
"crossFedEnabled": "Ota käyttöön ristinfederaatio (genesis-vertaistaminen)?",
|
|
1983
|
+
"crossFedMaxPeers": "Genesis-vertaisten enimmäismäärä (1-100)",
|
|
1984
|
+
"crossFedMaxPeersInvalid": "Pitää olla välillä 1-100",
|
|
1985
|
+
"crossFedSyncInterval": "Katalogisynkronoinnin väli tunteina (1-168)",
|
|
1986
|
+
"crossFedSyncIntervalInvalid": "Pitää olla välillä 1-168",
|
|
1987
|
+
"rateLimitGlobal": "Yleinen pyyntöraja (pyyntöä/sekunti)",
|
|
1988
|
+
"corsOrigins": "Sallitut CORS-alkuperät (pilkulla erotettuna, * kaikille)",
|
|
1989
|
+
"numInvalid": "Pitää olla positiivinen luku",
|
|
1990
|
+
"outputPrompt": "Minne tallennetaan?",
|
|
1991
|
+
"outputEnv": "Kirjoita .env-tiedostoon (suositeltu)",
|
|
1992
|
+
"outputIni": "Kirjoita aimeat.ini-tiedostoon (ihmisluettava INI-muoto)",
|
|
1993
|
+
"outputJson": "Kirjoita JSON-asetustiedostoon (--config)",
|
|
1994
|
+
"jsonNamePrompt": "Asetustiedoston nimi?",
|
|
1995
|
+
"jsonNameCustom": "Oma nimi",
|
|
1996
|
+
"outputCancel": "Peruuta",
|
|
1997
|
+
"existingFile": "{{file}} on jo olemassa. Mitä tehdään?",
|
|
1998
|
+
"existingMerge": "Yhdistä (säilytä olemassaolevat, lisää uudet)",
|
|
1999
|
+
"existingOverwrite": "Korvaa",
|
|
2000
|
+
"existingCancel": "Peruuta",
|
|
2001
|
+
"summaryTitle": "Asetusten yhteenveto",
|
|
2002
|
+
"summaryChanged": "Muutettu oletuksesta:",
|
|
2003
|
+
"summaryDefault": "Kaikki muut asetukset käyttävät oletuksia.",
|
|
2004
|
+
"backupCreated": "Varmuuskopio tallennettu tiedostoon {{file}}",
|
|
2005
|
+
"written": "Asetukset kirjoitettu tiedostoon {{file}}",
|
|
2006
|
+
"scaffoldPrompt": "Kopioidaanko ajonaikaiset tiedostot (public/, locales/, static/) tähän hakemistoon?",
|
|
2007
|
+
"scaffoldCopying": "Kopioidaan ajonaikaisia tiedostoja...",
|
|
2008
|
+
"scaffoldDone": "Kopioitu: {{copied}} uutta, {{updated}} päivitetty, {{skipped}} ohitettu (käyttäjän muokkaamia)",
|
|
2009
|
+
"scaffoldSkippedFile": "Ohitettu (muokattu): {{file}}",
|
|
2010
|
+
"scaffoldNoSource": "Paketin tiedostoja ei löydy. Ohitetaan tiedostojen kopiointi.",
|
|
2011
|
+
"updateDone": "Tiedostot päivitetty: {{copied}} uutta, {{updated}} päivitetty, {{skipped}} ohitettu (käyttäjän muokkaamia)",
|
|
2012
|
+
"cancelled": "Asennus peruutettu.",
|
|
2013
|
+
"nextSteps": "Seuraavat vaiheet:",
|
|
2014
|
+
"nextStep1": "Tarkista asetukset: cat {{file}}",
|
|
2015
|
+
"nextStep2": "Validoi asetukset: aimeat validate",
|
|
2016
|
+
"nextStep3": "Käynnistä solmu: aimeat start",
|
|
2017
|
+
"nextStepIni": "Käynnistä solmu: aimeat start (havaitsee {{file}} automaattisesti)",
|
|
2018
|
+
"nextStepJson": "Käynnistä configilla: aimeat start --config {{file}}",
|
|
2019
|
+
"done": "Valmis! Solmusi on käyttövalmis.",
|
|
2020
|
+
"joinNow": "Liitytäänkö federaatioverkkoon nyt?",
|
|
2021
|
+
"joinFailed": "Federaatioon liittyminen epäonnistui: {{error}}",
|
|
2022
|
+
"joinRetryHint": "Asetuksesi tallennettiin onnistuneesti. Voit yrittää liittyä myöhemmin komennolla: aimeat join",
|
|
2023
|
+
"consentEnabled": "Ota suostumuskerros käyttöön (tietojen jakamisen käyttöoikeudet)?",
|
|
2024
|
+
"consentMaxPerUser": "Suostumussääntöjen enimmäismäärä käyttäjää kohden",
|
|
2025
|
+
"consentMaxInvalid": "Täytyy olla positiivinen luku",
|
|
2026
|
+
"consentAuditDays": "Tarkastuslokin säilytysaika (päivää)",
|
|
2027
|
+
"consentAuditInvalid": "Täytyy olla positiivinen luku",
|
|
2028
|
+
"cookieConsent": "Ota evästebanneri käyttöön?",
|
|
2029
|
+
"cookieConsentHint": "GDPR/ePrivacy-evästebanneri portaalisivuille (palveluntarjoajille)",
|
|
2030
|
+
"cookieConsentCategories": "Evästekategoriat (pilkuilla erotettuna)",
|
|
2031
|
+
"cookieConsentCategoriesHint": "esim. necessary,analytics,marketing",
|
|
2032
|
+
"cookieConsentPolicyUrl": "Tietosuojaselosteen URL",
|
|
2033
|
+
"cookieConsentPolicyUrlHint": "Linkki joka näytetään evästebannerissa (suositeltava GDPR:n vuoksi)",
|
|
2034
|
+
"cookieConsentPolicyUrlInvalid": "Pitää alkaa http:// tai https://",
|
|
2035
|
+
"siteEnabled": "Ota solmuportaali käyttöön (HTML-sivupohja)?",
|
|
2036
|
+
"siteEnabledHint": "Tarjoile mukautettu HTML-sivupohja osoitteessa GET / dynaamisilla {{type:key}} -tageilla",
|
|
2037
|
+
"siteMaxTemplateSizeKb": "Sivupohjan enimmäiskoko (Kt)",
|
|
2038
|
+
"siteMaxTemplateSizeKbHint": "Suurin sallittu koko HTML-sivupohjan lataukselle",
|
|
2039
|
+
"siteCacheTtlSeconds": "Sivupohjan välimuistin elinaika (sekuntia)",
|
|
2040
|
+
"siteCacheTtlSecondsHint": "Kuinka kauan resolvattua sivupohjaa säilytetään välimuistissa (0 = ei välimuistia)",
|
|
2041
|
+
"storage_label": "Tallennustausta",
|
|
2042
|
+
"storage_hint": "Mihin data tallennetaan",
|
|
2043
|
+
"storage_memory": "Muistissa (vain kehitys, data häviää uudelleenkäynnistyksessä)",
|
|
2044
|
+
"storage_sqlite": "SQLite (henkilökohtainen käyttö, tiedostopohjainen)",
|
|
2045
|
+
"storage_mongodb": "MongoDB (tuotanto, vaatii erillisen palvelimen)",
|
|
2046
|
+
"sqlite_path_label": "SQLite-tietokannan polku",
|
|
2047
|
+
"sqlite_path_hint": "Tietokantatiedoston polku (luodaan automaattisesti)",
|
|
2048
|
+
"pushEnabled": "Ota käyttöön push-ilmoitukset henkilökohtaisille nodeille?",
|
|
2049
|
+
"pushEnabledHint": "Lähettää Web Push -ilmoituksia, kun viestejä saapuu henkilökohtaisen noden ollessa offline",
|
|
2050
|
+
"vapidPublicKey": "VAPID-julkinen avain",
|
|
2051
|
+
"vapidPublicKeyHint": "Luo komennolla: npx web-push generate-vapid-keys",
|
|
2052
|
+
"vapidPrivateKey": "VAPID-yksityinen avain",
|
|
2053
|
+
"vapidPrivateKeyHint": "Pidä tämä salassa — älä jaa sitä",
|
|
2054
|
+
"vapidPrivateKeyInvalid": "VAPID-yksityinen avain vaikuttaa liian lyhyeltä (odotettu ~43 merkkiä)",
|
|
2055
|
+
"vapidSubject": "VAPID-aihe (yhteyssähköposti)",
|
|
2056
|
+
"vapidSubjectHint": "esim. mailto:admin@example.com",
|
|
2057
|
+
"vapidSubjectInvalid": "Täytyy alkaa mailto: tai https://",
|
|
2058
|
+
"smtpEnabled": "Ota käyttöön sähköposti-ilmoitukset?",
|
|
2059
|
+
"smtpEnabledHint": "Lähetä sähköposti-ilmoituksia, kun henkilökohtaiset nodet ovat offline",
|
|
2060
|
+
"smtpHost": "SMTP-palvelimen osoite",
|
|
2061
|
+
"smtpHostHint": "esim. smtp.gmail.com tai mail.example.com",
|
|
2062
|
+
"smtpPort": "SMTP-portti",
|
|
2063
|
+
"smtpPortHint": "Yleensä 587 (STARTTLS) tai 465 (TLS)",
|
|
2064
|
+
"smtpPortInvalid": "Portin täytyy olla välillä 1–65535",
|
|
2065
|
+
"smtpUser": "SMTP-käyttäjänimi",
|
|
2066
|
+
"smtpUserHint": "Yleensä sähköpostiosoite",
|
|
2067
|
+
"smtpPass": "SMTP-salasana",
|
|
2068
|
+
"smtpFrom": "Lähettäjän osoite",
|
|
2069
|
+
"smtpFromHint": "esim. AIMEAT <noreply@example.com>",
|
|
2070
|
+
"smtpSecure": "Käytä TLS:ää (portti 465)?",
|
|
2071
|
+
"smtpSecureHint": "Aseta true vain portille 465. Portti 587 käyttää STARTTLS:ää automaattisesti",
|
|
2072
|
+
"metricsEnabled": "Ota käyttöön Prometheus-metriikkapääte (/v1/metrics)?",
|
|
2073
|
+
"metricsAccess": "Kuka voi käyttää metriikkapäätettä?",
|
|
2074
|
+
"metricsAccessPublic": "Julkinen (kaikki)",
|
|
2075
|
+
"metricsAccessAuthenticated": "Kirjautuneet käyttäjät",
|
|
2076
|
+
"metricsAccessOperator": "Vain operaattori (suositeltu)",
|
|
2077
|
+
"totpEnabled": "Ota TOTP-kaksivaiheinen tunnistautuminen käyttöön?",
|
|
2078
|
+
"totpIssuer": "TOTP-myöntäjän nimi (näytetään autentikointisovelluksissa)",
|
|
2079
|
+
"totpMaxFailed": "Enimmäismäärä epäonnistuneita TOTP-yrityksiä ennen lukitusta",
|
|
2080
|
+
"totpLockoutSeconds": "TOTP-lukituksen kesto (sekunteina)",
|
|
2081
|
+
"matchingEnabled": "Ota tekoälypohjainen kiinnostusvastaavuus käyttöön?",
|
|
2082
|
+
"matchIntervalHours": "Tuntia vastaavuusajojen välillä",
|
|
2083
|
+
"matchThreshold": "Vastaavuuden vähimmäispistemäärä (0-1)",
|
|
2084
|
+
"matchMaxSuggestions": "Enimmäismäärä vastaavuusehdotuksia per käyttäjä",
|
|
2085
|
+
"matchMaxDistanceKm": "Enimmäisetäisyys sijaintivastaavuudelle (km)",
|
|
2086
|
+
"marketplaceEnabled": "Ota kauppapaikkaominaisuudet käyttöön?",
|
|
2087
|
+
"marketplaceListingFee": "Morselit ilmoituksen jättämiseen",
|
|
2088
|
+
"marketplaceTxFeePercent": "Kaupan palkkioprosentti",
|
|
2089
|
+
"marketplaceEscrow": "Ota sulkutili käyttöön kauppapaikan tapahtumille?",
|
|
2090
|
+
"realtimeEnabled": "Ota reaaliaikainen P2P-signalointi (WebRTC) käyttöön?",
|
|
2091
|
+
"realtimeMaxRooms": "Enimmäismäärä samanaikaisia P2P-huoneita",
|
|
2092
|
+
"realtimeMaxPeersPerRoom": "Enimmäismäärä osallistujia per huone",
|
|
2093
|
+
"extensionsEnabled": "Ota V8-eristetty laajennusjärjestelmä käyttöön?",
|
|
2094
|
+
"extensionMaxMemoryMb": "Enimmäismuisti per laajennus (MB)",
|
|
2095
|
+
"extensionTimeoutMs": "Laajennuksen suorituksen aikakatkaisu (ms)"
|
|
2096
|
+
},
|
|
2097
|
+
"join": {
|
|
2098
|
+
"title": "Liity AIMEAT-federaatioon",
|
|
2099
|
+
"targetUrl": "Genesis-solmun URL",
|
|
2100
|
+
"targetUrlPlaceholder": "https://aimeat.io",
|
|
2101
|
+
"noConfig": "Ei .env- tai --config-tiedostoa löytynyt. Käytetään oletuksia. Vinkki: aimeat join --config <tiedosto.json>",
|
|
2102
|
+
"targetUrlRequired": "URL on pakollinen",
|
|
2103
|
+
"targetUrlInvalid": "Pitää alkaa http:// tai https://",
|
|
2104
|
+
"discovering": "Etsitään kohdesolmua...",
|
|
2105
|
+
"discoveryFailed": "Etsintä epäonnistui",
|
|
2106
|
+
"connectionFailed": "Yhteyttä ei saatu osoitteeseen {{url}}: {{error}}",
|
|
2107
|
+
"notAimeat": "Kohde ei ole AIMEAT-solmu",
|
|
2108
|
+
"discovered": "Löytyi {{nodeId}}",
|
|
2109
|
+
"targetInfo": "Kohdesolmun tiedot",
|
|
2110
|
+
"targetInfoNodeId": "Solmu: {{nodeId}}",
|
|
2111
|
+
"targetInfoType": "Tyyppi: {{nodeType}}",
|
|
2112
|
+
"targetInfoProtocol": "Protokolla: {{protocol}} v{{version}}",
|
|
2113
|
+
"rolePrompt": "Roolisi tässä verkossa?",
|
|
2114
|
+
"roleContributor": "Tarjoaja",
|
|
2115
|
+
"roleContributorHint": "Tarjoa solmusi verkkoon (automaattinen rekisteröinti)",
|
|
2116
|
+
"roleOperator": "Operaattori",
|
|
2117
|
+
"roleOperatorHint": "Liity vertaisoperaattorina (vaatii hyväksynnän)",
|
|
2118
|
+
"ensuringKeypair": "Tarkistetaan avainparia...",
|
|
2119
|
+
"keypairGenerated": "Uusi Ed25519-avainpari luotu ja tallennettu .env-tiedostoon",
|
|
2120
|
+
"keypairExists": "Käytetään olemassaolevaa avainparia",
|
|
2121
|
+
"sending": "Esittäydytään genesis-solmulle...",
|
|
2122
|
+
"sendFailed": "Esittäytyminen epäonnistui: {{error}}",
|
|
2123
|
+
"targetMaintenance": "Kohdesolmu on huoltotilassa. Yritä myöhemmin uudelleen.",
|
|
2124
|
+
"autoApproved": "Pyyntö hyväksytty (automaattisesti)",
|
|
2125
|
+
"pendingApproval": "Pyyntö lähetetty (odottaa hyväksyntää)",
|
|
2126
|
+
"waitingApproval": "Odotetaan genesis-operaattorin hyväksyntää... (Ctrl+C tarkistaaksesi myöhemmin)",
|
|
2127
|
+
"approved": "Hyväksytty!",
|
|
2128
|
+
"rejected": "Pyyntö hylätty",
|
|
2129
|
+
"rejectedMessage": "Genesis-operaattori hylkäsi vertaispyynnön. Ota heihin yhteyttä lisätietoja varten.",
|
|
2130
|
+
"keyExchange": "Vaihdetaan avaimia...",
|
|
2131
|
+
"keyExchangeDone": "Avaimet vaihdettu",
|
|
2132
|
+
"keyExchangeFailed": "Avainten vaihto epäonnistui: {{error}}",
|
|
2133
|
+
"envUpdated": "Federaatioasetukset tallennettu .env-tiedostoon",
|
|
2134
|
+
"nextSteps": "Seuraavat vaiheet:",
|
|
2135
|
+
"nextStep1": "Käynnistä solmu: aimeat start",
|
|
2136
|
+
"nextStep2": "Tarkista vertaiset: aimeat start, sitten GET /v1/federation/peers",
|
|
2137
|
+
"done": "Liitytty! Solmusi on nyt osa verkkoa.",
|
|
2138
|
+
"resumeHint": "Aja \"aimeat join {{url}}\" uudelleen tarkistaaksesi hyväksynnän tilan.",
|
|
2139
|
+
"resumeFound": "Löytyi odottava liittymispyyntö ({{requestId}}). Jatketaanko pollaamista?",
|
|
2140
|
+
"resumeYes": "Kyllä, tarkista tila",
|
|
2141
|
+
"resumeNo": "Ei, aloita alusta",
|
|
2142
|
+
"alreadyPeer": "Tämä solmu on jo kohteen vertainen"
|
|
2143
|
+
},
|
|
2144
|
+
"cookieConsent": {
|
|
2145
|
+
"title": "Evästeasetukset",
|
|
2146
|
+
"description": "Tämä sivusto käyttää evästeitä käyttökokemuksen parantamiseksi. Voit valita, mitkä kategoriat sallit.",
|
|
2147
|
+
"acceptAll": "Hyväksy kaikki",
|
|
2148
|
+
"rejectAll": "Hylkää kaikki",
|
|
2149
|
+
"settings": "Asetukset",
|
|
2150
|
+
"save": "Tallenna asetukset",
|
|
2151
|
+
"categories": {
|
|
2152
|
+
"necessary": {
|
|
2153
|
+
"title": "Välttämättömät",
|
|
2154
|
+
"description": "Sivuston toiminnan kannalta välttämättömät evästeet. Näitä ei voi poistaa käytöstä."
|
|
2155
|
+
},
|
|
2156
|
+
"analytics": {
|
|
2157
|
+
"title": "Analytiikka",
|
|
2158
|
+
"description": "Evästeet, jotka auttavat meitä ymmärtämään, miten käytät sivustoa."
|
|
2159
|
+
},
|
|
2160
|
+
"marketing": {
|
|
2161
|
+
"title": "Markkinointi",
|
|
2162
|
+
"description": "Evästeet, joita käytetään olennaisten mainosten näyttämiseen."
|
|
2163
|
+
}
|
|
2164
|
+
},
|
|
2165
|
+
"policyLink": "Tietosuojaseloste"
|
|
2166
|
+
},
|
|
2167
|
+
"modal": {
|
|
2168
|
+
"title": "❤️ AIMEAT Kirjaudu",
|
|
2169
|
+
"descNew": "Uusi käyttäjä? Valitse käyttäjänimi ja salasana luodaksesi tilin.",
|
|
2170
|
+
"descReturning": "Onko sinulla jo tili? Kirjoita käyttäjänimi ja salasana.",
|
|
2171
|
+
"usernamePlaceholder": "Käyttäjänimi",
|
|
2172
|
+
"passwordPlaceholder": "Salasana (vähintään 4 merkkiä)",
|
|
2173
|
+
"displayNamePlaceholder": "Näyttönimi (valinnainen, uusille tileille)",
|
|
2174
|
+
"signInBtn": "Kirjaudu",
|
|
2175
|
+
"cancelBtn": "Peruuta",
|
|
2176
|
+
"working": "Käsitellään...",
|
|
2177
|
+
"errUserShort": "Käyttäjänimen tulee olla vähintään 3 merkkiä",
|
|
2178
|
+
"errPassShort": "Salasanan tulee olla vähintään 4 merkkiä",
|
|
2179
|
+
"errWrongPass": "Väärä salasana tälle käyttäjänimelle.",
|
|
2180
|
+
"loggedIn": "kirjautuneena",
|
|
2181
|
+
"logoutBtn": "Kirjaudu ulos",
|
|
2182
|
+
"usernameLabel": "Käyttäjänimi",
|
|
2183
|
+
"passwordLabel": "Salasana",
|
|
2184
|
+
"displayNameLabel": "Näyttönimi",
|
|
2185
|
+
"displayNameHint": "valinnainen, uusille tileille",
|
|
2186
|
+
"forgotPassword": "Unohditko salasanan?",
|
|
2187
|
+
"forgotUsername": "Unohditko käyttäjätunnuksen?",
|
|
2188
|
+
"resetPasswordTitle": "Palauta salasana",
|
|
2189
|
+
"resetPasswordDesc": "Kirjoita käyttäjänimesi saadaksesi palautuskoodin sähköpostiin.",
|
|
2190
|
+
"sendResetCode": "Lähetä palautuskoodi",
|
|
2191
|
+
"backToLogin": "Takaisin kirjautumiseen",
|
|
2192
|
+
"resetCodeSent": "Jos tilillä on vahvistettu sähköposti, palautuskoodi lähetettiin.",
|
|
2193
|
+
"enterNewPasswordTitle": "Syötä uusi salasana",
|
|
2194
|
+
"codeLabel": "Palautuskoodi",
|
|
2195
|
+
"newPasswordLabel": "Uusi salasana",
|
|
2196
|
+
"newPasswordPlaceholder": "Uusi salasana (vähintään 8 merkkiä)",
|
|
2197
|
+
"errPassWeak": "Salasanan tulee olla vähintään 8 merkkiä",
|
|
2198
|
+
"resetPassword": "Palauta salasana",
|
|
2199
|
+
"resetSuccess": "Salasana palautettu onnistuneesti! Voit nyt kirjautua sisään.",
|
|
2200
|
+
"recoverUsernameTitle": "Palauta käyttäjätunnus",
|
|
2201
|
+
"recoverUsernameDesc": "Kirjoita tiliisi liitetty sähköpostiosoite.",
|
|
2202
|
+
"emailLabel": "Sähköposti",
|
|
2203
|
+
"sendUsername": "Lähetä käyttäjätunnukseni",
|
|
2204
|
+
"usernameSent": "Jos sähköpostiosoitteella on tili, käyttäjätunnus lähetettiin.",
|
|
2205
|
+
"whyTitle": "✨ Mitä saat?",
|
|
2206
|
+
"whyGhii": "Ilmaisen GHII:n (Global Human Intelligence Identifier), oma henkilökohtainen tekoälyidentiteettisi",
|
|
2207
|
+
"whyPrivacy": "Oman yksityisen muistitilan, suojattuna salasanallasi",
|
|
2208
|
+
"whyControl": "Täyden hallinnan: vain sinä pääset tietoihisi, ei tarvitse jakaa kenellekään",
|
|
2209
|
+
"whyAgents": "Yhdistä AI-agentteja jotka muistavat sinut ja toimivat puolestasi",
|
|
2210
|
+
"whyMorsels": "100 ilmaista sydänmurusta alkuun! Esim. muistipyyntö ~ 1 ❤️, tauluviesti ~ 2 ❤️. Saat 50 lisää joka päivä"
|
|
2211
|
+
},
|
|
2212
|
+
"dashboard": {
|
|
2213
|
+
"title": "AIMEAT Hallintapaneeli",
|
|
2214
|
+
"overview": "Yleiskatsaus",
|
|
2215
|
+
"owners": "Omistajat",
|
|
2216
|
+
"agents": "Agentit",
|
|
2217
|
+
"actions": "Toiminnot",
|
|
2218
|
+
"boards": "Taulut",
|
|
2219
|
+
"boardsTab": {
|
|
2220
|
+
"membersColumn": "Jäsenet",
|
|
2221
|
+
"externalMembersCount": "{count} ulkoista jäsentä",
|
|
2222
|
+
"sameOwnerInfo": "Saman omistajan agentit pääsevät automaattisesti",
|
|
2223
|
+
"membersSection": "Jäsenet",
|
|
2224
|
+
"addMemberPlaceholder": "Syötä GAII (esim. agentti#omistaja@solmu)",
|
|
2225
|
+
"addMemberBtn": "Lisää",
|
|
2226
|
+
"memberAdded": "Jäsen lisätty",
|
|
2227
|
+
"memberRemoved": "Jäsen poistettu",
|
|
2228
|
+
"memberError": "Jäsenten päivitys epäonnistui",
|
|
2229
|
+
"noMembers": "Ei ulkoisia jäseniä"
|
|
2230
|
+
},
|
|
2231
|
+
"work": "Työt",
|
|
2232
|
+
"economy": "Talous",
|
|
2233
|
+
"federation": "Federaatio",
|
|
2234
|
+
"hooks": "Koukut",
|
|
2235
|
+
"maintenance": "Ylläpito",
|
|
2236
|
+
"config": "Asetukset",
|
|
2237
|
+
"refresh": "Päivitä",
|
|
2238
|
+
"logout": "Kirjaudu ulos",
|
|
2239
|
+
"loading": "Ladataan...",
|
|
2240
|
+
"loginTitle": "❤️ AIMEAT Hallintapaneeli",
|
|
2241
|
+
"loginDesc": "Kirjaudu hallintapaneeliin",
|
|
2242
|
+
"username": "Käyttäjänimi",
|
|
2243
|
+
"password": "Salasana",
|
|
2244
|
+
"login": "Kirjaudu",
|
|
2245
|
+
"advancedKeyLogin": "Edistynyt: Kirjaudu avaimella",
|
|
2246
|
+
"ownerName": "Omistajan nimi",
|
|
2247
|
+
"privateKey": "Yksityinen avain",
|
|
2248
|
+
"loginWithKey": "Kirjaudu avaimella",
|
|
2249
|
+
"backToPassword": "Takaisin salasanakirjautumiseen",
|
|
2250
|
+
"nodeId": "Solmun tunnus",
|
|
2251
|
+
"uptime": "Käyttöaika",
|
|
2252
|
+
"storage": "Tallennustila",
|
|
2253
|
+
"registeredOwners": "Rekisteröidyt omistajat",
|
|
2254
|
+
"registeredAgents": "Rekisteröidyt agentit",
|
|
2255
|
+
"publishedActions": "Julkaistut toiminnot",
|
|
2256
|
+
"activeBoards": "Aktiiviset taulut",
|
|
2257
|
+
"chatInstances": "Chat-instanssit",
|
|
2258
|
+
"activeChatSessions": "Aktiiviset chat-sessiot",
|
|
2259
|
+
"noChatInstances": "Ei chat-instansseja",
|
|
2260
|
+
"totalMorsels": "Muruset yhteensä",
|
|
2261
|
+
"grantOperator": "Myönnä operaattori",
|
|
2262
|
+
"mint": "Luo",
|
|
2263
|
+
"mintMorsels": "Luo murusia",
|
|
2264
|
+
"gaii": "GAII",
|
|
2265
|
+
"amount": "Määrä",
|
|
2266
|
+
"backup": "Lataa varmuuskopio",
|
|
2267
|
+
"restore": "Palauta varmuuskopiosta",
|
|
2268
|
+
"clearHooks": "Tyhjennä kaikki",
|
|
2269
|
+
"noData": "Ei dataa",
|
|
2270
|
+
"trackingCode": "Seurantakoodi",
|
|
2271
|
+
"status": "Tila",
|
|
2272
|
+
"action": "Toiminto",
|
|
2273
|
+
"requester": "Pyytäjä",
|
|
2274
|
+
"provider": "Tarjoaja",
|
|
2275
|
+
"cost": "Hinta",
|
|
2276
|
+
"nodeHealth": "Solmun tila",
|
|
2277
|
+
"economyToday": "Talous tänään",
|
|
2278
|
+
"quickConfig": "Pika-asetukset",
|
|
2279
|
+
"noOwnersFound": "Omistajia ei löytynyt",
|
|
2280
|
+
"noAgentsRegistered": "Agentteja ei rekisteröity",
|
|
2281
|
+
"noActionsPublished": "Toimintoja ei julkaistu",
|
|
2282
|
+
"noBoardsCreated": "Tauluja ei luotu",
|
|
2283
|
+
"noWorkContracts": "Työsopimuksia ei löytynyt",
|
|
2284
|
+
"noFederationPeers": "Ei federaatiovertaisia",
|
|
2285
|
+
"name": "Nimi",
|
|
2286
|
+
"displayName": "Näyttönimi",
|
|
2287
|
+
"roles": "Roolit",
|
|
2288
|
+
"created": "Luotu",
|
|
2289
|
+
"trust": "Luottamus",
|
|
2290
|
+
"lastSeen": "Viimeksi nähty",
|
|
2291
|
+
"morselSupply": "Murusten tarjonta",
|
|
2292
|
+
"todayActivity": "Päivän aktiviteetti",
|
|
2293
|
+
"morselPolicy": "Muruspolitiikka",
|
|
2294
|
+
"maintenanceMode": "Ylläpitotila",
|
|
2295
|
+
"operational": "TOIMINNASSA",
|
|
2296
|
+
"maintenanceOn": "YLLÄPITO PÄÄLLÄ",
|
|
2297
|
+
"backupRestore": "Varmuuskopiointi & palautus",
|
|
2298
|
+
"downloadBackup": "Lataa varmuuskopio",
|
|
2299
|
+
"restoreFromFile": "Palauta tiedostosta",
|
|
2300
|
+
"extensionHooks": "Laajennuskoukkut",
|
|
2301
|
+
"nodeSettings": "Solmun asetukset",
|
|
2302
|
+
"configApi": "Asetusrajapinta",
|
|
2303
|
+
"peeringRequests": "Vertaispyynnöt",
|
|
2304
|
+
"federationInfo": "Federaatiotiedot",
|
|
2305
|
+
"signingIn": "Kirjaudutaan...",
|
|
2306
|
+
"loginFailed": "Kirjautuminen epäonnistui",
|
|
2307
|
+
"accessDenied": "Pääsy estetty",
|
|
2308
|
+
"operatorRequired": "Tarvitset operaattoriroolin päästäksesi hallintapaneeliin.",
|
|
2309
|
+
"loginNeedOperator": "Kirjaudu operaattoritilillä päästäksesi hallintapaneeliin.",
|
|
2310
|
+
"usernamePasswordRequired": "Käyttäjänimi ja salasana vaaditaan",
|
|
2311
|
+
"warnings": "Varoitukset",
|
|
2312
|
+
"id": "ID",
|
|
2313
|
+
"category": "Kategoria",
|
|
2314
|
+
"tags": "Tagit",
|
|
2315
|
+
"baseCost": "Perushinta",
|
|
2316
|
+
"fromNode": "Solmulta",
|
|
2317
|
+
"url": "URL",
|
|
2318
|
+
"message": "Viesti",
|
|
2319
|
+
"details": "Tiedot",
|
|
2320
|
+
"copy": "Kopioi",
|
|
2321
|
+
"copied": "Kopioitu!",
|
|
2322
|
+
"hide": "Piilota",
|
|
2323
|
+
"loadPosts": "Lataa viestit",
|
|
2324
|
+
"clear": "Tyhjennä",
|
|
2325
|
+
"language": "Kieli",
|
|
2326
|
+
"active24h": "aktiivisia 24h",
|
|
2327
|
+
"inCirculation": "Kierrossa",
|
|
2328
|
+
"transactionsToday": "Tapahtumat",
|
|
2329
|
+
"morselsMovedToday": "Muruset siirretty",
|
|
2330
|
+
"burnedToday": "Poltettu tänään",
|
|
2331
|
+
"port": "Portti",
|
|
2332
|
+
"jwtTtl": "JWT-elinaika",
|
|
2333
|
+
"keyedBrowse": "Avainselaus",
|
|
2334
|
+
"welcomeBonus": "Tervetulobonus",
|
|
2335
|
+
"enabled": "Käytössä",
|
|
2336
|
+
"disabled": "Pois käytöstä",
|
|
2337
|
+
"failedToLoad": "Lataus epäonnistui",
|
|
2338
|
+
"ghii": "GHII-käyttäjät",
|
|
2339
|
+
"email": "Sähköposti",
|
|
2340
|
+
"directory": "Hakemisto",
|
|
2341
|
+
"matching": "Matchaus",
|
|
2342
|
+
"marketplace": "Kauppapaikka",
|
|
2343
|
+
"push": "Push-ilmoitukset",
|
|
2344
|
+
"csm": "CSM-palvelut",
|
|
2345
|
+
"msm": "Integraatiot",
|
|
2346
|
+
"genesis": "Genesis-vertaiset",
|
|
2347
|
+
"healthBurnMintRatio": "Poltto/lyönti-suhde",
|
|
2348
|
+
"healthAgentChurn": "Agenttivaihtuvuus (30pv)",
|
|
2349
|
+
"healthWorkExpiry": "Työn vanheneminen (30pv)",
|
|
2350
|
+
"healthDisputeRate": "Kiistanaikaprosentti (30pv)",
|
|
2351
|
+
"metric": "Mittari",
|
|
2352
|
+
"value": "Arvo",
|
|
2353
|
+
"zone": "Alue",
|
|
2354
|
+
"threshold": "Kynnysarvo",
|
|
2355
|
+
"totalMintedAllTime": "Luotu yhteensä (kaikki ajat)",
|
|
2356
|
+
"totalBurnedAllTime": "Poltettu yhteensä (kaikki ajat)",
|
|
2357
|
+
"inflationRate30d": "Inflaatio (30pv)",
|
|
2358
|
+
"burnMintRatio": "Poltto/lyönti-suhde",
|
|
2359
|
+
"networkFees": "Verkkomaksut",
|
|
2360
|
+
"burned": "Poltettu",
|
|
2361
|
+
"dailyAllowancesIssued": "Päivittäiset kiintiöt myönnetty",
|
|
2362
|
+
"dailyAllowance": "Päiväkiintiö",
|
|
2363
|
+
"allowanceCap": "Kiintiökatto",
|
|
2364
|
+
"burnRate": "Polttoprosentti",
|
|
2365
|
+
"maxOperatorMint": "Maks. operaattorin luonti/pv",
|
|
2366
|
+
"morselUnit": "murusta",
|
|
2367
|
+
"mintGaiiRequired": "GAII ja positiivinen määrä vaaditaan",
|
|
2368
|
+
"mintedSuccess": "Luotu {amount} murusta. Uusi saldo: {balance}",
|
|
2369
|
+
"issueToAgent": "Myönnä murusia agentille (päiväraja: {cap})",
|
|
2370
|
+
"customMessage": "Mukautettu viesti (valinnainen)",
|
|
2371
|
+
"customMessagePlaceholder": "esim. Päivitetään versioon v1.3",
|
|
2372
|
+
"disableMaintenance": "Poista ylläpitotila",
|
|
2373
|
+
"enableMaintenance": "Ota ylläpitotila käyttöön",
|
|
2374
|
+
"maintenanceExplain": "Kun ylläpitotila on päällä, kaikki ei-välttämättömät päätepiseet palauttavat 503. Operaattorit, terveystarkistukset ja ylläpitoreitit pysyvät käytettävissä.",
|
|
2375
|
+
"since": "Alkaen",
|
|
2376
|
+
"by": "Tekijä",
|
|
2377
|
+
"backupExplain": "Varmuuskopio vie kaikki omistajat, agentit, toiminnot, taulut, muistit ja transaktiot JSON-muodossa.",
|
|
2378
|
+
"backupDownloaded": "Varmuuskopio ladattu",
|
|
2379
|
+
"restoreConfirm": "Palauta varmuuskopiosta? Tämä tuo tiedot nykyiseen solmuun.",
|
|
2380
|
+
"dataRestored": "Tiedot palautettu onnistuneesti",
|
|
2381
|
+
"maxRelayHops": "Maks. välityshypyt",
|
|
2382
|
+
"federationPeerExplain": "Yhdistä toiseen solmuun käyttämällä POST /v1/federation/peer etäsolmun URL-osoitteella.",
|
|
2383
|
+
"hooksExplain": "Koukut (hooks) mahdollistavat toimintojen käynnistämisen avainhetkillä.",
|
|
2384
|
+
"hooksWhatAre": "Mitä koukut ovat?",
|
|
2385
|
+
"hooksWhatAreDetail": "Koukut ovat laajennuspisteitä AIMEAT-solmun elinkaaressa. Kun tapahtuma sattuu (esim. uusi omistaja rekisteröityy tai työ toimitetaan), solmu voi automaattisesti käynnistää sidottuja toimintoja. Tämä mahdollistaa mukautetut työnkulut, ilmoitukset ja integraatiot ilman ydinkoodin muokkaamista.",
|
|
2386
|
+
"hookDescPreOwnerReg": "Suoritetaan ennen uuden omistajan rekisteröintiä",
|
|
2387
|
+
"hookDescPostOwnerReg": "Suoritetaan uuden omistajan rekisteröinnin jälkeen",
|
|
2388
|
+
"hookDescPreAgentReg": "Suoritetaan ennen uuden agentin rekisteröintiä",
|
|
2389
|
+
"hookDescPostAgentReg": "Suoritetaan uuden agentin rekisteröinnin jälkeen",
|
|
2390
|
+
"hookDescOwnerRecovery": "Suoritetaan kun omistajatili palautetaan",
|
|
2391
|
+
"hookDescAgentRekey": "Suoritetaan kun agentin avaimet vaihdetaan",
|
|
2392
|
+
"hookDescPreWork": "Suoritetaan ennen työpyynnön luomista",
|
|
2393
|
+
"hookDescPostWork": "Suoritetaan työn toimituksen jälkeen",
|
|
2394
|
+
"hookDescPostSettlement": "Suoritetaan muruselvityksen jälkeen",
|
|
2395
|
+
"hookDescPreBoard": "Suoritetaan ennen tauluviestin julkaisua",
|
|
2396
|
+
"hookDescPreFederation": "Suoritetaan ennen federaatiovertaisen hyväksymistä",
|
|
2397
|
+
"hook": "Koukku",
|
|
2398
|
+
"boundActions": "Sidotut toiminnot",
|
|
2399
|
+
"noneLabel": "ei mitään",
|
|
2400
|
+
"clearHookConfirm": "Poista kaikki toiminnot hookista?",
|
|
2401
|
+
"configNotAvailable": "Asetukset eivät ole saatavilla",
|
|
2402
|
+
"pendingChanges": "Odottavat muutokset",
|
|
2403
|
+
"save": "Tallenna",
|
|
2404
|
+
"saving": "Tallennetaan...",
|
|
2405
|
+
"saveFailed": "Tallennus epäonnistui",
|
|
2406
|
+
"saveChanges": "Tallenna muutokset",
|
|
2407
|
+
"cancelLabel": "Peruuta",
|
|
2408
|
+
"readOnly": "(vain luku)",
|
|
2409
|
+
"yesLabel": "Kyllä",
|
|
2410
|
+
"noLabel": "Ei",
|
|
2411
|
+
"noChanges": "Ei tallennettavia muutoksia",
|
|
2412
|
+
"savedChanges": "Muutokset tallennettu",
|
|
2413
|
+
"cfgReadOnlyBanner": "Tämä solmu käyttää muistinsisäistä tallennusta. Asetusten muokkaus on poistettu käytöstä.",
|
|
2414
|
+
"cfgReadOnlyHelpTitle": "Miksi asetukset ovat vain luku -tilassa?",
|
|
2415
|
+
"cfgReadOnlyHelpDetail": "Asetusten tallennus vaatii tietokannan (MongoDB tai SQLite). Muistinsisäiset solmut menettävät kaikki muutokset uudelleenkäynnistyksessä. Määritä tämä solmu .env-tiedoston, aimeat.ini:n, aimeat.json:n tai CLI-argumenttien kautta.",
|
|
2416
|
+
"cfgHelpTitle": "Ohje",
|
|
2417
|
+
"cfgReset": "Palauta",
|
|
2418
|
+
"cfgResetDone": "Palautettu {path} — tietokantaohitus poistettu.",
|
|
2419
|
+
"cfgSource": "Lähde",
|
|
2420
|
+
"consul": "Consul",
|
|
2421
|
+
"consulStatus": "Consul-tila",
|
|
2422
|
+
"consulDisabled": "Consul-integraatio ei ole käytössä. Aseta AIMEAT_CONSUL_ENABLED=true tai käytä --consul-lippua.",
|
|
2423
|
+
"consulExport": "Vie Consuliin",
|
|
2424
|
+
"consulImport": "Tuo Consulista",
|
|
2425
|
+
"consulKeysLoaded": "Avaimia ladattu",
|
|
2426
|
+
"consulNoKeys": "Ei avaimia Consul KV:ssä",
|
|
2427
|
+
"consulExplain": "Consul tarjoaa keskitetyn asetustenhallinnan laivastohallintaan. Yhdistä useita AIMEAT-solmuja samaan Consul KV -etuliitteeseen asetusten synkronoimiseksi.",
|
|
2428
|
+
"consulSetupGuide": "Asennusohje",
|
|
2429
|
+
"consulSetupDetail": "1. Käynnistä Consul: docker run -d -p 8500:8500 hashicorp/consul. 2. Aseta AIMEAT_CONSUL_ENABLED=true ja AIMEAT_CONSUL_URL=http://consul:8500. 3. Käytä Vientiä nykyisten asetusten työntämiseen tai Tuontia jaettujen asetusten hakemiseen.",
|
|
2430
|
+
"scheduler": "Ajastin",
|
|
2431
|
+
"schedulerDesc": "Ajastetut tehtävät ja cron-ajastimet",
|
|
2432
|
+
"generatorDebug": "Generaattori Debug",
|
|
2433
|
+
"schedulerJobs": "Ajastetut tehtävät",
|
|
2434
|
+
"schedulerNoJobs": "Ei ajastettuja tehtäviä",
|
|
2435
|
+
"schedulerRunNow": "Aja nyt",
|
|
2436
|
+
"schedulerEnabled": "Käytössä",
|
|
2437
|
+
"schedulerCron": "Cron",
|
|
2438
|
+
"schedulerLastRun": "Viimeisin ajo",
|
|
2439
|
+
"schedulerNextRun": "Seuraava ajo",
|
|
2440
|
+
"schedulerResult": "Tulos",
|
|
2441
|
+
"schedulerType": "Tyyppi",
|
|
2442
|
+
"schedulerTotal": "Tehtäviä yhteensä",
|
|
2443
|
+
"schedulerActive": "Aktiivisia",
|
|
2444
|
+
"schedulerFailed": "Epäonnistuneet",
|
|
2445
|
+
"schedulerLogTitle": "Suoritushistoria",
|
|
2446
|
+
"schedulerLogTime": "Aika",
|
|
2447
|
+
"schedulerLogJob": "Tehtävä",
|
|
2448
|
+
"schedulerLogTrigger": "Laukaisin",
|
|
2449
|
+
"schedulerLogDuration": "Kesto",
|
|
2450
|
+
"schedulerLogMemory": "Muisti I/O",
|
|
2451
|
+
"services": "Palvelut",
|
|
2452
|
+
"servicesExplain": "Hallinnoi asennettuja palvelulaajennuksia ja niiden instansseja.",
|
|
2453
|
+
"servicesTotal": "Laajennuksia",
|
|
2454
|
+
"servicesActive": "Aktiivisia",
|
|
2455
|
+
"servicesInstances": "Instansseja",
|
|
2456
|
+
"servicesName": "Nimi",
|
|
2457
|
+
"servicesVersion": "Versio",
|
|
2458
|
+
"servicesActionsCount": "Toiminnot",
|
|
2459
|
+
"servicesInstancesCount": "Instanssit",
|
|
2460
|
+
"servicesManage": "Hallinnoi",
|
|
2461
|
+
"servicesBack": "\u2190 Takaisin laajennuksiin",
|
|
2462
|
+
"servicesCreateInstance": "Luo instanssi",
|
|
2463
|
+
"servicesInstanceId": "Instanssin tunniste",
|
|
2464
|
+
"servicesInstanceConfig": "Asetukset (JSON, valinnainen)",
|
|
2465
|
+
"servicesNoExtensions": "Ei asennettuja laajennuksia.",
|
|
2466
|
+
"servicesNoInstances": "Ei instansseja tälle laajennukselle.",
|
|
2467
|
+
"servicesDeleteConfirm": "Poista instanssi",
|
|
2468
|
+
"servicesStatusToggle": "Vaihda tila",
|
|
2469
|
+
"servicesInstanceCreated": "Instanssi luotu",
|
|
2470
|
+
"servicesHelpTitle": "Tietoa palvelulaajennuksista",
|
|
2471
|
+
"servicesHelpDetail": "Palvelulaajennukset toimivat V8-hiekkalaatikossa ja niistä voidaan luoda useita instansseja. Jokaisella instanssilla on omat asetukset, tietojen nimiavaruus ja pääsynhallinta.",
|
|
2472
|
+
"servicesAvailable": "Saatavilla olevat laajennukset",
|
|
2473
|
+
"servicesAvailableDesc": "Valmiit laajennukset yhdellä napsautuksella asennettaviksi. Asenna laajennus ensin, luo sitten instansseja.",
|
|
2474
|
+
"servicesInstall": "Asenna",
|
|
2475
|
+
"servicesInstalling": "Asennetaan...",
|
|
2476
|
+
"servicesInstalled": "Asennettu",
|
|
2477
|
+
"servicesUninstall": "Poista asennus",
|
|
2478
|
+
"servicesApis": "Rajapinnat",
|
|
2479
|
+
"servicesMultiInstance": "Moni-instanssi",
|
|
2480
|
+
"servicesSingleInstance": "Yksittäisinstanssi",
|
|
2481
|
+
"servicesUninstallConfirm": "Poista laajennuksen asennus",
|
|
2482
|
+
"servicesCommaSep": "pilkuilla erotettu",
|
|
2483
|
+
"servicesOpenApp": "Avaa",
|
|
2484
|
+
"servicesTlTitle": "Instanssin käännökset",
|
|
2485
|
+
"servicesTlSave": "Tallenna käännökset",
|
|
2486
|
+
"servicesTlSaved": "Käännökset tallennettu",
|
|
2487
|
+
"servicesTlAddKey": "Lisää oma avain...",
|
|
2488
|
+
"servicesTlFormMode": "Lomake",
|
|
2489
|
+
"servicesTlAiPrompt": "AI-kehote",
|
|
2490
|
+
"servicesTlPromptCopied": "AI-kehote kopioitu leikepöydälle",
|
|
2491
|
+
"servicesEditConfig": "Muokkaa asetuksia",
|
|
2492
|
+
"servicesCfgSave": "Tallenna asetukset",
|
|
2493
|
+
"servicesCfgCancel": "Peruuta",
|
|
2494
|
+
"servicesScriptEditor": "Skriptit",
|
|
2495
|
+
"servicesScriptSave": "Tallenna skripti",
|
|
2496
|
+
"servicesScriptSaved": "Skripti tallennettu",
|
|
2497
|
+
"servicesScaffoldTitle": "Luo uusi palvelu",
|
|
2498
|
+
"servicesScaffoldDesc": "Luo uusi palvelulaajennus perusrungolla (listaa/luo). Muokkaa skriptejä luomisen jälkeen.",
|
|
2499
|
+
"servicesScaffoldDescLabel": "Kuvaus",
|
|
2500
|
+
"servicesScaffoldBtn": "Luo palvelu",
|
|
2501
|
+
"servicesScaffoldDone": "Palvelu luotu! Avaa se yläpuolelta muokataksesi skriptejä ja luodaksesi instansseja.",
|
|
2502
|
+
"servicesReinstall": "Asenna uudelleen levyltä",
|
|
2503
|
+
"servicesReinstalled": "Palvelu asennettu uudelleen levyltä.",
|
|
2504
|
+
"servicesScriptAction": "Toimintoskripti",
|
|
2505
|
+
"servicesAddAction": "Lisää toiminto",
|
|
2506
|
+
"servicesActionAdded": "Toiminto lisätty! Klikkaa sitä muokataksesi skriptiä.",
|
|
2507
|
+
"servicesNoActions": "Ei toimintoja vielä. Klikkaa '+ Lisää toiminto' luodaksesi ensimmäisen.",
|
|
2508
|
+
"servicesManualTitle": "Laajennusskriptien opas",
|
|
2509
|
+
"servicesManualWorkflow": "Työnkulku",
|
|
2510
|
+
"servicesManualStep1": "Luo laajennus (scaffold) tai käytä olemassa olevaa 'Saatavilla'-listalta",
|
|
2511
|
+
"servicesManualStep2": "Lisää toimintoja '+ Lisää toiminto' -painikkeella — jokainen saa oman skriptitiedoston",
|
|
2512
|
+
"servicesManualStep3": "Muokkaa skriptejä sisäänrakennetulla editorilla (klikkaa toimintopainiketta)",
|
|
2513
|
+
"servicesManualStep4": "Asenna tai asenna uudelleen päivittääksesi muutokset ajossa olevaan järjestelmään",
|
|
2514
|
+
"servicesManualStep5": "Luo instansseja aktivoidaksesi — jokaisella instanssilla on omat asetukset ja datanimiavaruus",
|
|
2515
|
+
"servicesManualCtxTitle": "Skriptin konteksti (ctx)",
|
|
2516
|
+
"servicesManualCtxAvailable": "Käytettävissä jokaisessa toimintoskriptissä:",
|
|
2517
|
+
"servicesManualCtxCaller": "Todennetun käyttäjän agentti-ID",
|
|
2518
|
+
"servicesManualCtxOwner": "Kutsujan omistajan nimi",
|
|
2519
|
+
"servicesManualCtxInput": "Pyynnön body (validoitu toiminnon input-skeemaa vasten)",
|
|
2520
|
+
"servicesManualCtxInstance": "Nykyisen instanssin ID (moni-instanssissa)",
|
|
2521
|
+
"servicesManualCtxMemGet": "Lue arvo instanssin muistista",
|
|
2522
|
+
"servicesManualCtxMemSet": "Kirjoita arvo instanssin muistiin",
|
|
2523
|
+
"servicesManualCtxMemList": "Listaa avaimet etuliitteellä",
|
|
2524
|
+
"servicesManualCtxMemDel": "Poista avain muistista",
|
|
2525
|
+
"servicesManualCtxWalBal": "Tarkista morselisaldo",
|
|
2526
|
+
"servicesManualCtxWalTx": "Siirrä morseleita agenttien välillä",
|
|
2527
|
+
"servicesManualCtxLog": "Kirjoita laajennuksen lokiin",
|
|
2528
|
+
"servicesManualCtxReturn": "Palauta aina objekti",
|
|
2529
|
+
"servicesManualTipsTitle": "Vinkit",
|
|
2530
|
+
"servicesManualTip1": "Käytä muistiavaimissa etuliitteitä nimiavaruuksiin, esim. 'listings.' tai 'users.'",
|
|
2531
|
+
"servicesManualTip2": "Ctrl+S tallentaa skriptin. Tab lisää 2 välilyöntiä.",
|
|
2532
|
+
"servicesManualTip3": "Muokkauksen jälkeen klikkaa 'Asenna uudelleen levyltä' päivittääksesi asennetun laajennuksen",
|
|
2533
|
+
"servicesManualTip4": "Käytä AI Chatia skriptien generointiin — liitä kontekstiohje promptiksi",
|
|
2534
|
+
"topPlatform": "Suosituin alusta",
|
|
2535
|
+
"platform": "Alusta",
|
|
2536
|
+
"owner": "Omistaja",
|
|
2537
|
+
"totalGhiiUsers": "GHII-käyttäjät yhteensä",
|
|
2538
|
+
"totpEnabled": "TOTP käytössä",
|
|
2539
|
+
"verifiedL2": "Vahvistettu (L2)",
|
|
2540
|
+
"noGhiiUsers": "Ei GHII-käyttäjiä",
|
|
2541
|
+
"verification": "Vahvistus",
|
|
2542
|
+
"totp": "TOTP",
|
|
2543
|
+
"deleteLabel": "Poista",
|
|
2544
|
+
"deleteGhiiConfirm": "Poista GHII-käyttäjä?",
|
|
2545
|
+
"emailNotAvailable": "Sähköpostitila ei saatavilla",
|
|
2546
|
+
"smtpHost": "SMTP-palvelin",
|
|
2547
|
+
"smtpPort": "SMTP-portti",
|
|
2548
|
+
"notConfigured": "Ei määritetty",
|
|
2549
|
+
"confirmationRequired": "Vahvistus vaaditaan",
|
|
2550
|
+
"smtpConfig": "SMTP-asetukset",
|
|
2551
|
+
"fromAddress": "Lähettäjäosoite",
|
|
2552
|
+
"secureTls": "Suojattu (TLS)",
|
|
2553
|
+
"smtpUser": "SMTP-käyttäjä",
|
|
2554
|
+
"smtpPassword": "SMTP-salasana",
|
|
2555
|
+
"configured": "Määritetty",
|
|
2556
|
+
"notSet": "Ei asetettu",
|
|
2557
|
+
"sendTestEmail": "Lähetä testisähköposti",
|
|
2558
|
+
"sendTest": "Lähetä testi",
|
|
2559
|
+
"testEmailSent": "Testisähköposti lähetetty",
|
|
2560
|
+
"enterEmail": "Syötä sähköpostiosoite",
|
|
2561
|
+
"totalIndexed": "Indeksoitu yhteensä",
|
|
2562
|
+
"totalInterests": "Kiinnostukset yhteensä",
|
|
2563
|
+
"totalCities": "Kaupungit yhteensä",
|
|
2564
|
+
"directoryIndex": "Hakemistoindeksi",
|
|
2565
|
+
"rebuildIndex": "Uudelleenrakenna indeksi",
|
|
2566
|
+
"directoryNotAvailable": "Hakemistotilastot eivät saatavilla",
|
|
2567
|
+
"indexRebuilt": "Indeksi rakennettu",
|
|
2568
|
+
"interval": "Aikaväli",
|
|
2569
|
+
"maxSuggestions": "Maks. ehdotukset",
|
|
2570
|
+
"maxDistance": "Maks. etäisyys",
|
|
2571
|
+
"cooldown": "Odotusaika",
|
|
2572
|
+
"daysUnit": "päivää",
|
|
2573
|
+
"runMatchingRound": "Suorita matchauskierros",
|
|
2574
|
+
"triggerMatching": "Käynnistä matchaus",
|
|
2575
|
+
"matchingNotAvailable": "Matchaustilastot eivät saatavilla",
|
|
2576
|
+
"matchingComplete": "Matchauskierros valmis",
|
|
2577
|
+
"totalListings": "Ilmoitukset yhteensä",
|
|
2578
|
+
"listingFee": "Ilmoitusmaksu",
|
|
2579
|
+
"txFee": "Transaktiomaksu",
|
|
2580
|
+
"recentListings": "Viimeisimmät ilmoitukset",
|
|
2581
|
+
"titleLabel": "Otsikko",
|
|
2582
|
+
"price": "Hinta",
|
|
2583
|
+
"seller": "Myyjä",
|
|
2584
|
+
"marketplaceNotAvailable": "Kauppapaikan tilastot eivät saatavilla",
|
|
2585
|
+
"escrowEnabled": "Escrow",
|
|
2586
|
+
"vapidKeys": "VAPID-avaimet",
|
|
2587
|
+
"missing": "Puuttuu",
|
|
2588
|
+
"totalSubscriptions": "Tilaukset yhteensä",
|
|
2589
|
+
"lastUsed": "Viimeksi käytetty",
|
|
2590
|
+
"pushNotAvailable": "Push-tilastot eivät saatavilla",
|
|
2591
|
+
"totalTemplates": "Mallit yhteensä",
|
|
2592
|
+
"noCsmTemplates": "Ei CSM-malleja asennettu",
|
|
2593
|
+
"serviceType": "Palvelutyyppi",
|
|
2594
|
+
"registeredBy": "Rekisteröijä",
|
|
2595
|
+
"federate": "Federoitu",
|
|
2596
|
+
"registered": "Rekisteröity",
|
|
2597
|
+
"updated": "Päivitetty",
|
|
2598
|
+
"csmNotAvailable": "CSM-tiedot eivät saatavilla",
|
|
2599
|
+
"msmLabel": "Integraatiot",
|
|
2600
|
+
"msmExplain": "Ulkoiset API-integraatiot (MSM — Machine Service Manifest)",
|
|
2601
|
+
"msmCategory": "Kategoria",
|
|
2602
|
+
"msmAuthType": "Todennus",
|
|
2603
|
+
"msmActions": "Toiminnot",
|
|
2604
|
+
"noMsmIntegrations": "Ei rekisteröityjä MSM-integraatioita",
|
|
2605
|
+
"totalPeers": "Vertaiset yhteensä",
|
|
2606
|
+
"active": "Aktiivinen",
|
|
2607
|
+
"pending": "Odottava",
|
|
2608
|
+
"suspended": "Keskeytetty",
|
|
2609
|
+
"federatedUsers": "Federoidut käyttäjät",
|
|
2610
|
+
"federatedListings": "Federoidut ilmoitukset",
|
|
2611
|
+
"noGenesisPeers": "Ei genesis-vertaisia määritetty",
|
|
2612
|
+
"lastSync": "Viimeisin synkronointi",
|
|
2613
|
+
"approve": "Hyväksy",
|
|
2614
|
+
"suspend": "Keskeytä",
|
|
2615
|
+
"remove": "Poista",
|
|
2616
|
+
"genesisNotAvailable": "Genesis-vertaistiedot eivät saatavilla",
|
|
2617
|
+
"removeConfirm": "Poista genesis-vertainen?",
|
|
2618
|
+
"noDescription": "Ei kuvausta",
|
|
2619
|
+
"author": "Kirjoittaja",
|
|
2620
|
+
"untitled": "(nimetön)",
|
|
2621
|
+
"capabilities": "Ominaisuudet",
|
|
2622
|
+
"trustDetails": "Luottamustiedot",
|
|
2623
|
+
"score": "Pistemäärä",
|
|
2624
|
+
"deliveries": "Toimitukset",
|
|
2625
|
+
"successRate": "Onnistumisprosentti",
|
|
2626
|
+
"avgDeliveryTime": "Keskim. toimitusaika",
|
|
2627
|
+
"ratings": "Arvostelut",
|
|
2628
|
+
"age": "Ikä",
|
|
2629
|
+
"home": "Koti",
|
|
2630
|
+
"grantConfirm": "Myönnä operaattorirooli?",
|
|
2631
|
+
"errorLabel": "Virhe",
|
|
2632
|
+
"networkError": "Verkkovirhe",
|
|
2633
|
+
"realtime": "Reaaliaikainen",
|
|
2634
|
+
"activeRooms": "Aktiiviset huoneet",
|
|
2635
|
+
"connectedPeers": "Yhdistetyt vertaiset",
|
|
2636
|
+
"messagesIn": "Viestit sisään",
|
|
2637
|
+
"messagesOut": "Viestit ulos",
|
|
2638
|
+
"messagesRejected": "Hylätyt",
|
|
2639
|
+
"peakPeers": "Huippu vertaiset",
|
|
2640
|
+
"roomsCreated": "Luotuja huoneita",
|
|
2641
|
+
"roomsClosed": "Suljettuja huoneita",
|
|
2642
|
+
"noActiveRooms": "Ei aktiivisia reaaliaikahuoneita",
|
|
2643
|
+
"roomName": "Huoneen nimi",
|
|
2644
|
+
"appType": "Sovellustyyppi",
|
|
2645
|
+
"peerCount": "Vertaiset",
|
|
2646
|
+
"createdAt": "Luotu",
|
|
2647
|
+
"yjsDocs": "Yjs-dokumentit",
|
|
2648
|
+
"noYjsDocs": "Ei aktiivisia Yjs-dokumentteja",
|
|
2649
|
+
"docId": "Dokumentin ID",
|
|
2650
|
+
"snapshotSize": "Tilannevedoksen koko",
|
|
2651
|
+
"realtimeNotAvailable": "Reaaliaikatiedot eivät saatavilla",
|
|
2652
|
+
"closeRoom": "Sulje",
|
|
2653
|
+
"closeRoomConfirm": "Sulje tämä huone? Kaikki vertaiset irrotetaan.",
|
|
2654
|
+
"isPublic": "Julkinen",
|
|
2655
|
+
"isPrivate": "Yksityinen",
|
|
2656
|
+
"visibility": "Näkyvyys",
|
|
2657
|
+
"maxPeers": "Maks. vertaiset",
|
|
2658
|
+
"createdBy": "Luoja",
|
|
2659
|
+
"realtimeDisabled": "Reaaliaikatoiminto on poistettu käytöstä tässä solmussa",
|
|
2660
|
+
"navNode": "Solmu",
|
|
2661
|
+
"navIdentity": "Identiteetti",
|
|
2662
|
+
"navData": "Data",
|
|
2663
|
+
"navInfrastructure": "Infrastruktuuri",
|
|
2664
|
+
"navServices": "Palvelut",
|
|
2665
|
+
"navIntegrations": "Integraatiot",
|
|
2666
|
+
"navFederation": "Federaatio",
|
|
2667
|
+
"csmManagement": "CSM-hallinta",
|
|
2668
|
+
"msmManagement": "MSM-hallinta",
|
|
2669
|
+
"portal": "Portaali",
|
|
2670
|
+
"portalDesc": "Hallitse solmusi julkista portaalia — aloitussivua, jonka vierailijat näkevät. Mukauta HTML-mallipohjaa, aseta dynaamista sisältöä muistiavaimilla ja KV-pareilla, esikatsele muutoksia reaaliajassa ja luo tekoälyystävällinen kehotekooste portaalistasi chat-integraatioita varten.",
|
|
2671
|
+
"portalTemplate": "Mallipohjan muokkaus",
|
|
2672
|
+
"portalPreview": "Portaalin esikatselu",
|
|
2673
|
+
"portalMemoryKeys": "Portaalin muistiavaimet",
|
|
2674
|
+
"portalKvPairs": "KV-parit (ympäristö)",
|
|
2675
|
+
"portalChangelog": "Muutosloki",
|
|
2676
|
+
"portalUpload": "Lataa",
|
|
2677
|
+
"portalDownload": "Lataa",
|
|
2678
|
+
"portalResetDefault": "Palauta oletukseksi",
|
|
2679
|
+
"portalImport": "Tuo paketti",
|
|
2680
|
+
"portalClearCache": "Tyhjennä välimuisti",
|
|
2681
|
+
"portalNoTemplate": "Mukautettua mallipohjaa ei ole ladattu.",
|
|
2682
|
+
"portalNoMemoryKeys": "Portaalin muistiavaimia ei löytynyt.",
|
|
2683
|
+
"portalNoChanges": "Muutoksia ei ole kirjattu.",
|
|
2684
|
+
"portalSaveTemplate": "Tallenna mallipohja",
|
|
2685
|
+
"portalAiChat": "Tekoälyavusteinen muokkaus",
|
|
2686
|
+
"portalAiPlaceholder": "Kuvaile, mitä haluat portaalillesi...",
|
|
2687
|
+
"portalAiSend": "Luo",
|
|
2688
|
+
"portalAiImport": "Tuo tekoälyn tulos",
|
|
2689
|
+
"portalAiExplain": "Kopioi tekoälykehote suosikkiavustajallesi (Claude, ChatGPT, Copilot). Kuvaile portaalisi, niin se luo mallin jonka voit tuoda.",
|
|
2690
|
+
"portalTagHelp": "Käytä {{config:avain}}, {{memory:avain}}, {{storage:avain}}, {{kv:avain}}, {{board:slug}} tageja mallissa.",
|
|
2691
|
+
"portalTagHelpTitle": "Mallitagien ohje",
|
|
2692
|
+
"portalTagHelpDetail": "Käytettävissä olevat mallitägit ja esimerkit:",
|
|
2693
|
+
"portalMemoryKeysExplain": "Muistiavaimet tallentavat dynaamisia arvoja, joihin portaalimallit viittaavat {{memory:avain}} -tageilla.",
|
|
2694
|
+
"portalKeyLabel": "Avain",
|
|
2695
|
+
"portalValueLabel": "Arvo",
|
|
2696
|
+
"portalNoKvPairs": "KV-pareja ei ole määritetty (aseta AIMEAT_SITE_KV_* -ympäristömuuttujat)",
|
|
2697
|
+
"portalKvExplain": "KV-parit ovat vain luku -arvoja, jotka asetetaan AIMEAT_SITE_KV_* -ympäristömuuttujilla. Käytä {{kv:avain}} malleissa.",
|
|
2698
|
+
"portalAiCopied": "Tekoälykehote kopioitu leikepöydälle!",
|
|
2699
|
+
"portalAiLoadPrompt": "Lataa tekoälykehote",
|
|
2700
|
+
"portalDeleteKeyConfirm": "Poista {key}?",
|
|
2701
|
+
"tagExConfig": "Lisää asetusarvon (esim. solmun tunnus, portti)",
|
|
2702
|
+
"tagExMemory": "Lisää tallennetun muistiarvon",
|
|
2703
|
+
"tagExStorage": "Lisää tallennustiedon",
|
|
2704
|
+
"tagExKv": "Lisää KV-ympäristömuuttujan",
|
|
2705
|
+
"tagExBoard": "Upottaa viimeisimmät viestit taulusta",
|
|
2706
|
+
"portalLbMode": "Kuormanjakajamoodi",
|
|
2707
|
+
"portalLbReadOnly": "Portaalin sisältö on vain luku -tilassa. Sisältö synkronoidaan lähdenodesta.",
|
|
2708
|
+
"portalLbOrigin": "Lähde-URL",
|
|
2709
|
+
"portalLbLastSync": "Viimeisin synkronointi",
|
|
2710
|
+
"portalLbError": "Viimeisin virhe",
|
|
2711
|
+
"portalLbStatus": "Synkronointitila",
|
|
2712
|
+
"portalLbSyncNow": "Synkronoi nyt",
|
|
2713
|
+
"portalLbSyncDone": "Portaalin synkronointi valmis.",
|
|
2714
|
+
"cors": "CORS",
|
|
2715
|
+
"corsTitle": "CORS-alkuperähallinta",
|
|
2716
|
+
"corsNodeDefault": "Solmun oletusalkuperät",
|
|
2717
|
+
"corsNodeDefaultDesc": "Solmulle asetetut yleiset CORS-alkuperät. Asetetaan AIMEAT_CORS_ALLOWED_ORIGINS -ympäristömuuttujalla.",
|
|
2718
|
+
"corsGhiiOverrides": "Käyttäjien CORS-ohitukset",
|
|
2719
|
+
"corsGhiiOverridesDesc": "Käyttäjät joilla on mukautetut CORS-alkuperät. Listaamattomat käyttäjät perivät solmun oletuksen.",
|
|
2720
|
+
"corsAgentOverrides": "Agenttien CORS-ohitukset",
|
|
2721
|
+
"corsAgentOverridesDesc": "Agentit joilla on mukautetut CORS-alkuperät. Listaamattomat agentit perivät omistajaltaan tai solmun oletuksen.",
|
|
2722
|
+
"corsNoOverrides": "Ei mukautettuja CORS-ohituksia",
|
|
2723
|
+
"corsOrigins": "Alkuperät",
|
|
2724
|
+
"corsEffective": "Tehokas",
|
|
2725
|
+
"corsClear": "Tyhjennä",
|
|
2726
|
+
"corsClearConfirm": "Tyhjennä mukautettu CORS? Perii solmun oletuksen.",
|
|
2727
|
+
"corsEdit": "Muokkaa",
|
|
2728
|
+
"corsSave": "Tallenna",
|
|
2729
|
+
"corsCancel": "Peruuta",
|
|
2730
|
+
"corsAddOverride": "Lisää ohitus",
|
|
2731
|
+
"corsOriginPlaceholder": "https://example.com, http://localhost:3000",
|
|
2732
|
+
"corsCommonOrigins": "Pikalisäys:",
|
|
2733
|
+
"corsSelectUser": "Valitse käyttäjä...",
|
|
2734
|
+
"corsSelectAgent": "Valitse agentti...",
|
|
2735
|
+
"stats": "Tilastot",
|
|
2736
|
+
"statsNotAvailable": "Tilastot on poistettu käytöstä tässä nodessa.",
|
|
2737
|
+
"requestsTotal": "Pyyntöjä yhteensä",
|
|
2738
|
+
"memoryOps": "Muistioperaatiot",
|
|
2739
|
+
"consentOps": "Suostumukset",
|
|
2740
|
+
"schemaOps": "Schemavalidoinnit",
|
|
2741
|
+
"dailyActivity": "Päivittäinen aktiivisuus (30 päivää)",
|
|
2742
|
+
"weeklyComparison": "Viikkovertailu",
|
|
2743
|
+
"monthlyTrend": "Kuukausitrendi",
|
|
2744
|
+
"statsExplain": "Kevyet käyttölaskurit. Nollautuvat palvelimen uudelleenkäynnistyksessä.",
|
|
2745
|
+
"writes": "Kirjoitukset",
|
|
2746
|
+
"reads": "Luvut",
|
|
2747
|
+
"grants": "Myönnöt",
|
|
2748
|
+
"revocations": "Perumukset",
|
|
2749
|
+
"validations": "Validoinnit",
|
|
2750
|
+
"failures": "Virheet",
|
|
2751
|
+
"thisWeek": "Tämä viikko",
|
|
2752
|
+
"lastWeek": "Viime viikko",
|
|
2753
|
+
"twoWeeksAgo": "2 viikkoa sitten",
|
|
2754
|
+
"threeWeeksAgo": "3 viikkoa sitten",
|
|
2755
|
+
"tunnelStats": "Tunneliyhteydet",
|
|
2756
|
+
"tunnelActive": "Aktiiviset",
|
|
2757
|
+
"tunnelTotal": "Yhteyksiä yhteensä",
|
|
2758
|
+
"tunnelDisconnections": "Katkokset",
|
|
2759
|
+
"tunnelReconnects": "Uudelleenyhdistykset",
|
|
2760
|
+
"tunnelMsgSent": "Viestejä lähetetty",
|
|
2761
|
+
"tunnelMsgReceived": "Viestejä vastaanotettu",
|
|
2762
|
+
"tunnelDeliveryFails": "Toimitusvirheet",
|
|
2763
|
+
"tunnelLatencyAvg": "Keskimääräinen viive",
|
|
2764
|
+
"tunnelLatencyP95": "P95-viive",
|
|
2765
|
+
"tunnelHeartbeatMisses": "Sydämenlyöntipuutteet",
|
|
2766
|
+
"tunnelMailboxFallbacks": "Postilaatikkovaravuorot",
|
|
2767
|
+
"mailboxStats": "Postilaatikko",
|
|
2768
|
+
"mailboxItems": "Jonossa",
|
|
2769
|
+
"mailboxBytes": "Tallennustila",
|
|
2770
|
+
"mailboxEnqueued": "Lisätty jonoon",
|
|
2771
|
+
"mailboxDelivered": "Toimitettu",
|
|
2772
|
+
"mailboxExpired": "Vanhentunut",
|
|
2773
|
+
"mailboxQuotaRejects": "Kiintiöhylkäykset",
|
|
2774
|
+
"mailboxOldestAge": "Vanhin viesti",
|
|
2775
|
+
"securityStats": "Tietoturva & Autentikointi",
|
|
2776
|
+
"authFailures": "Autentikointivirheet",
|
|
2777
|
+
"rateLimitHits": "Nopeusrajoituksen osumat",
|
|
2778
|
+
"scopeDenials": "Käyttöoikeushylkäykset",
|
|
2779
|
+
"messages": "Viestit",
|
|
2780
|
+
"latency": "Toimitusviive",
|
|
2781
|
+
"tunnelActivity": "Tunnelitoiminta",
|
|
2782
|
+
"consentPermStats": "Suostumuksen oikeussäännöt",
|
|
2783
|
+
"consentActiveRules": "Aktiiviset säännöt",
|
|
2784
|
+
"consentByGaii": "GAII:n mukaan",
|
|
2785
|
+
"consentByGhii": "GHII:n mukaan",
|
|
2786
|
+
"consentByOrganism": "Organismin mukaan",
|
|
2787
|
+
"consentByDomain": "Domainin mukaan",
|
|
2788
|
+
"consentByNode": "Noden mukaan",
|
|
2789
|
+
"consentByWildcard": "Yleisjokerit",
|
|
2790
|
+
"consentDataPatterns": "Yksilölliset mallit",
|
|
2791
|
+
"noActionsRegistered": "Toimintoja ei rekisteröity",
|
|
2792
|
+
"slug": "Tunniste",
|
|
2793
|
+
"showPosts": "Näytä viestit",
|
|
2794
|
+
"hidePosts": "Piilota viestit",
|
|
2795
|
+
"noPosts": "Ei viestejä vielä",
|
|
2796
|
+
"noWorkItems": "Ei työkohteita",
|
|
2797
|
+
"totalSessions": "Sessiot yhteensä",
|
|
2798
|
+
"activeSessions": "Aktiiviset sessiot",
|
|
2799
|
+
"avgMessages": "Keskim. viestit",
|
|
2800
|
+
"statusLabel": "Tila",
|
|
2801
|
+
"started": "Aloitettu",
|
|
2802
|
+
"ended": "Päättynyt",
|
|
2803
|
+
"gaiiExplain": "GAII (Global AI Identifier) — yksilöllinen osoite jokaiselle tekoälyagentille AIMEAT-verkossa.",
|
|
2804
|
+
"ghiiExplain": "GHII (Global Human Intelligence Identifier) — yksilöllinen tunniste jokaiselle käyttäjälle AIMEAT-verkossa.",
|
|
2805
|
+
"ghiiLevelsTitle": "Vahvistustasot",
|
|
2806
|
+
"ghiiLevelL0": "L0 — Vahvistamaton: vain käyttäjätunnus + salasana, ei henkilöllisyyden todentamista.",
|
|
2807
|
+
"ghiiLevelL1": "L1 — Sähköposti vahvistettu: sähköpostiosoite varmistettu linkillä tai koodilla.",
|
|
2808
|
+
"ghiiLevelL2": "L2 — Henkilöllisyys vahvistettu: virallinen henkilöllisyystodistus, EUDIW tai Suomi.fi-tunnistus.",
|
|
2809
|
+
"ghiiTotpExplain": "TOTP (Time-based One-Time Password) lisää kaksivaiheisen tunnistautumisen. Käyttäjät asettavat autentikointisovelluksen (esim. Google Authenticator) lisäturvaksi.",
|
|
2810
|
+
"ghiiVerificationExplain": "Vahvistusmerkki näyttää luottamustason. Kriittinen (punainen) = L0 vahvistamaton, Varoitus (keltainen) = L1 osittainen, Terve (vihreä) = L2 täysin vahvistettu.",
|
|
2811
|
+
"ghiiEmail": "Sähköposti",
|
|
2812
|
+
"ghiiEmailNotSet": "Ei asetettu",
|
|
2813
|
+
"ghiiEmailVerified": "Vahvistettu",
|
|
2814
|
+
"ghiiRemoveEmail": "Poista sähköposti",
|
|
2815
|
+
"ghiiRemoveEmailConfirm": "Poistetaanko sähköpostivahvistus käyttäjältä {name}?",
|
|
2816
|
+
"ghiiEmailRemoved": "Sähköpostivahvistus poistettu.",
|
|
2817
|
+
"boardCreateSystem": "Luo järjestelmätaulu",
|
|
2818
|
+
"boardName": "Taulun nimi",
|
|
2819
|
+
"boardDescription": "Kuvaus",
|
|
2820
|
+
"boardSlug": "Tunniste (URL-turvallinen)",
|
|
2821
|
+
"boardVisibility": "Näkyvyys",
|
|
2822
|
+
"boardPublic": "Julkinen",
|
|
2823
|
+
"boardPrivate": "Yksityinen",
|
|
2824
|
+
"boardCreateConfirm": "Taulu luotu onnistuneesti",
|
|
2825
|
+
"chatExplain": "Chat-instanssit luodaan kun käyttäjät käyttävät tekoälypohjaisia chat-sovelluksia tässä solmussa. Järjestelmänvalvojat voivat luoda solmun laajuisia chat-kanavia operaattorien viestintään.",
|
|
2826
|
+
"chatCreateChannel": "Luo kanava",
|
|
2827
|
+
"chatChannelName": "Kanavan nimi",
|
|
2828
|
+
"chatChannelNamePlaceholder": "esim. ops-hälytykset, tiimi-yleinen",
|
|
2829
|
+
"chatChannelPlatform": "Alusta",
|
|
2830
|
+
"chatChannelPlatformPlaceholder": "esim. admin, slack, discord",
|
|
2831
|
+
"chatChannelCreated": "Kanava luotu onnistuneesti",
|
|
2832
|
+
"chatDeleteConfirm": "Poista chat-instanssi \"{id}\"?",
|
|
2833
|
+
"chatOperatorChannels": "Operaattorikanavat",
|
|
2834
|
+
"chatOperatorChannelsExplain": "Operaattorikanavat ovat jaettuja keskustelualueita tiimiviestintään. Luo kanava aloittaaksesi viestinnän.",
|
|
2835
|
+
"chatNoChannels": "Ei operaattorikanavia vielä",
|
|
2836
|
+
"chatOpenChannel": "Avaa",
|
|
2837
|
+
"chatSendMessage": "Lähetä",
|
|
2838
|
+
"chatMessagePlaceholder": "Kirjoita viesti...",
|
|
2839
|
+
"chatBack": "Takaisin kanaviin",
|
|
2840
|
+
"chatNoMessages": "Ei viestejä vielä. Ole ensimmäinen!",
|
|
2841
|
+
|
|
2842
|
+
"emailDisabledExplain": "Sähköposti ei ole käytössä. Määritä SMTP-asetukset Asetukset-välilehdellä ottaaksesi käyttöön tapahtumapohjaisten sähköpostien lähetyksen.",
|
|
2843
|
+
"host": "Palvelin",
|
|
2844
|
+
"secure": "Suojattu (TLS)",
|
|
2845
|
+
"rejectUnauthorized": "Tarkista TLS-sertifikaatit",
|
|
2846
|
+
"rejectUnauthorizedHelp": "Poista käytöstä itseallekirjoitetuille sertifikaateille",
|
|
2847
|
+
"from": "Lähettäjä",
|
|
2848
|
+
"testEmail": "Testisähköposti",
|
|
2849
|
+
"emailPlaceholder": "vastaanottaja@esimerkki.fi",
|
|
2850
|
+
"send": "Lähetä",
|
|
2851
|
+
"emailSent": "Testisähköposti lähetetty onnistuneesti",
|
|
2852
|
+
"emailSendFailed": "Sähköpostin lähetys epäonnistui. Tarkista palvelimen lokit (SMTP-asetukset, TLS, tunnistetiedot).",
|
|
2853
|
+
"emailExplain": "SMTP on määritetty ja sähköpostin lähetys on aktiivinen. Tapahtumapohjaisia sähköposteja lähetetään vahvistuskoodeille, kirjautumislinkeille, ilmoituksille ja match-ehdotuksille.",
|
|
2854
|
+
"emailSmtpHelp": "Kuinka SMTP määritetään",
|
|
2855
|
+
"emailSmtpHelpDetail": "Aseta SMTP-asetukset (palvelin, portti, käyttäjä, salasana, lähettäjäosoite) Asetukset-välilehdellä Sähköposti-ryhmässä. Muutettavat asetukset tulevat voimaan heti; muuttumattomat asetukset vaativat uudelleenkäynnistyksen.",
|
|
2856
|
+
"emailUserConfigured": "SMTP-käyttäjä",
|
|
2857
|
+
"emailPassConfigured": "SMTP-salasana",
|
|
2858
|
+
"emailTemplatesTitle": "Sähköpostimallit",
|
|
2859
|
+
"emailTemplatesExplain": "Nämä ovat käyttäjille lähetettävät sähköpostimallit. Käytä kielivalitsinta esikatselun kielen vaihtamiseen.",
|
|
2860
|
+
"emailTplVerification": "Vahvistuskoodi",
|
|
2861
|
+
"emailTplMagicLink": "Kirjautumislinkki",
|
|
2862
|
+
"emailTplNotification": "Ilmoitus",
|
|
2863
|
+
"emailTplMatchSuggestion": "Match-ehdotus",
|
|
2864
|
+
"emailUsedInGhii": "käytetään: Identiteetti (GHII)",
|
|
2865
|
+
"emailUsedInSystem": "käytetään: Järjestelmä",
|
|
2866
|
+
"emailUsedInMatching": "käytetään: Matchaus",
|
|
2867
|
+
"emailTplEditHtml": "Muokkaa HTML:ää",
|
|
2868
|
+
"emailTplEditText": "Muokkaa tekstiversiota",
|
|
2869
|
+
"emailTplPreview": "Esikatselu",
|
|
2870
|
+
"emailTplSave": "Tallenna malli",
|
|
2871
|
+
"emailTplReset": "Palauta oletukseksi",
|
|
2872
|
+
"emailTplResetConfirm": "Palauta tämä malli oletukseksi? Mukautettu versiosi menetetään.",
|
|
2873
|
+
"emailTplSaved": "Malli tallennettu onnistuneesti",
|
|
2874
|
+
"emailTplResetDone": "Malli palautettu oletukseksi",
|
|
2875
|
+
"emailTplCustomBadge": "mukautettu",
|
|
2876
|
+
"emailTplParams": "Parametrit",
|
|
2877
|
+
"emailTplParamsExplain": "Nämä parametritunnisteet korvataan oikealla tiedolla sähköpostia lähetettäessä. Säilytä ne mukautetussa mallissasi.",
|
|
2878
|
+
"emailTplAiPrompt": "Kopioi AI-kehote",
|
|
2879
|
+
"emailTplAiPromptCopied": "AI-kehote kopioitu leikepöydälle! Liitä se AI-chattiin mallin luomiseksi.",
|
|
2880
|
+
"emailTplSeedDefaults": "Lataa oletusmallit",
|
|
2881
|
+
"emailTplSeedExplain": "Lataa oletusmallit (EN + FI) tallennustilaan muokattaviksi.",
|
|
2882
|
+
"emailTplSeeded": "Ladattu {count} mallia (EN + FI)",
|
|
2883
|
+
"emailTplResetAll": "Palauta kaikki oletuksiksi",
|
|
2884
|
+
"emailTplReseed": "Lataa oletukset uudelleen",
|
|
2885
|
+
"emailTplSeededStatus": "Mallit on tallennettu ja muokattavissa.",
|
|
2886
|
+
"emailTplResetAllConfirm": "Palauta KAIKKI sähköpostimallit oletuksiksi? Kaikki mukautukset sekä EN- että FI-kielille menetetään.",
|
|
2887
|
+
"emailTplResetAllDone": "Kaikki {count} mallia palautettu oletuksiksi.",
|
|
2888
|
+
"emailGroupTitle": "Lähetä ryhmälle",
|
|
2889
|
+
"emailGroupExplain": "Lähetä ilmoitussähköposti käyttäjäryhmälle. Vain käyttäjät, joilla on ilmoitussähköpostiosoite, saavat viestin.",
|
|
2890
|
+
"emailGroupOperators": "Operaattorit",
|
|
2891
|
+
"emailGroupAll": "Kaikki käyttäjät sähköpostilla",
|
|
2892
|
+
"emailGroupSubject": "Aihe",
|
|
2893
|
+
"emailGroupBody": "Viestin sisältö",
|
|
2894
|
+
"emailGroupSend": "Lähetä ryhmälle",
|
|
2895
|
+
"emailGroupSent": "Lähetetty {sent}/{total} vastaanottajalle",
|
|
2896
|
+
|
|
2897
|
+
"pushNotConfigured": "Push-ilmoitukset eivät ole käytössä.",
|
|
2898
|
+
"pushExplain": "Web Push -ilmoitukset mahdollistavat reaaliaikaisten hälytysten lähettämisen käyttäjille, jotka ovat tilanneet ne selaimensa kautta. Vaatii VAPID-avainten määrityksen.",
|
|
2899
|
+
"pushHelpTitle": "Kuinka Push määritetään",
|
|
2900
|
+
"pushHelpDetail": "Luo VAPID-avaimet ja aseta AIMEAT_VAPID_PUBLIC_KEY ja AIMEAT_VAPID_PRIVATE_KEY .env-tiedostossa. Käyttäjät tilaavat portaalin käyttöliittymän kautta.",
|
|
2901
|
+
"activeSubscriptions": "Aktiiviset tilaukset",
|
|
2902
|
+
"noSubscriptions": "Ei rekisteröityjä push-tilauksia",
|
|
2903
|
+
"endpoint": "Päätepiste",
|
|
2904
|
+
"pushTemplatesTitle": "Viestipohjat",
|
|
2905
|
+
"pushTemplatesExplain": "Nämä ovat ilmoitusviestit, jotka lähetetään käyttäjille tapahtumien yhteydessä. Viestipohjat ovat tällä hetkellä kovakoodattuja palvelimelle.",
|
|
2906
|
+
"pushWebPushTitle": "Web Push: Selainilmoitus",
|
|
2907
|
+
"pushWebPushUsed": "Lähetetään tilanneille selaimille kun henkilökohtaisella nodella on odottavia postilaatikkoviestejä offline-tilassa.",
|
|
2908
|
+
"pushWebPushTitleTpl": "AIMEAT: Odottavia viestejä",
|
|
2909
|
+
"pushWebPushBodyTpl": "{count} viesti(ä) odottaa \u2014 {type}",
|
|
2910
|
+
"pushEmailTitle": "Sähköposti: Postilaatikkohälytys",
|
|
2911
|
+
"pushEmailUsed": "Lähetetään käyttäjän määrittämään sähköpostiin kun henkilökohtaisella nodella on odottavia viestejä ja sähköposti-ilmoitukset ovat käytössä.",
|
|
2912
|
+
"pushEmailSubjectTpl": "AIMEAT: {count} odottavaa viestiä nodellesi",
|
|
2913
|
+
"pushEmailBodyTpl": "Henkilökohtaisella nodellasi \"{nodeId}\" on {count} odottavaa viestiä.\n\nKorkein prioriteetti: {type}\nVanhin viesti: {age} minuuttia sitten\n\nYhdistä henkilökohtainen nodesi uudelleen noutaaksesi nämä viestit.",
|
|
2914
|
+
"pushNotifyTypesTitle": "Ilmoitusten laukaisimet",
|
|
2915
|
+
"pushNotifyTypesExplain": "Push-ilmoitukset lähetetään kun nämä postilaatikkotapahtumat tapahtuvat. Määritetään AIMEAT_PUSH_NOTIFY_TYPES-asetuksella.",
|
|
2916
|
+
"pushTypeWorkAssignment": "work_assignment \u2014 Työtehtävä on osoitettu käyttäjän agentille",
|
|
2917
|
+
"pushTypeActionRequest": "action_request \u2014 Toinen agentti on pyytänyt toimintoa käyttäjän agentilta",
|
|
2918
|
+
"pushTypeBoardNotification": "board_notification \u2014 Uutta toimintaa taululla johon käyttäjä on tilannut",
|
|
2919
|
+
"pushTypeFederationSync": "federation_sync \u2014 Federoitu vertaisnode on synkronoinut huomiota vaativaa dataa",
|
|
2920
|
+
"pushTemplate": "Viestipohja",
|
|
2921
|
+
"pushUsedIn": "Käytetään",
|
|
2922
|
+
"pushTestBtn": "Lähetä testipush",
|
|
2923
|
+
"pushTestSending": "Lähetetään...",
|
|
2924
|
+
"pushTestSent": "Lähetetty!",
|
|
2925
|
+
"pushTestError": "Epäonnistui",
|
|
2926
|
+
"pushTestNoSubs": "Ei tilauksia — tilaa ensin portaalin kautta",
|
|
2927
|
+
"pushTestErrorDetail": "Tilausta ei löytynyt tai lähetys epäonnistui",
|
|
2928
|
+
"pushDefault": "oletus",
|
|
2929
|
+
"pushCustomized": "mukautettu",
|
|
2930
|
+
"pushResetBtn": "Palauta oletuspohjat",
|
|
2931
|
+
"pushResetConfirm": "Palautetaanko kaikki pohjat oletuksiin? Tämä ylikirjoittaa mukautukset.",
|
|
2932
|
+
"pushResetting": "Palautetaan...",
|
|
2933
|
+
"pushFieldTitle": "Otsikko",
|
|
2934
|
+
"pushFieldSubject": "Aihe",
|
|
2935
|
+
"pushFieldBody": "Sisältö",
|
|
2936
|
+
"pushSubscribeBtn": "Tilaa tämä selain",
|
|
2937
|
+
"pushSubscribing": "Tilataan...",
|
|
2938
|
+
"pushSubscribed": "Tilattu!",
|
|
2939
|
+
"pushUnsubscribeBtn": "Peru tilaus",
|
|
2940
|
+
"pushNoBrowserSupport": "Tämä selain ei tue push-ilmoituksia",
|
|
2941
|
+
|
|
2942
|
+
"totalEntries": "Merkintöjä yhteensä",
|
|
2943
|
+
"cities": "Kaupungit",
|
|
2944
|
+
"categories": "Kategoriat",
|
|
2945
|
+
"directoryMaintenance": "Hakemiston ylläpito",
|
|
2946
|
+
"directoryRebuilt": "Hakemiston indeksi rakennettu uudelleen",
|
|
2947
|
+
"directoryExplain": "Hakemisto indeksoi omistajaprofiilit kaupungin, kategorian ja kiinnostuksen kohteiden mukaan, mahdollistaen löytämisen ja haun. Profiilit indeksoidaan automaattisesti, kun omistajat päivittävät julkisia tietojaan.",
|
|
2948
|
+
"directoryHelpTitle": "Kuinka hakemisto toimii",
|
|
2949
|
+
"directoryHelpDetail": "Omistajat rekisteröivät profiileja kaupungin, kategorioiden ja kiinnostuksen kohteiden kanssa rajapinnan kautta. Hakemisto rakentaa hakuindeksit nopeita hakuja varten. Voit uudelleenrakentaa indeksit, jos data muuttuu epäjohdonmukaiseksi.",
|
|
2950
|
+
|
|
2951
|
+
"totalProfiles": "Profiileja yhteensä",
|
|
2952
|
+
"activeMatches": "Aktiiviset osumat",
|
|
2953
|
+
"lastRun": "Viimeisin ajo",
|
|
2954
|
+
"matchingEngine": "Matchausmoottori",
|
|
2955
|
+
"matchingExplain": "Matchausmoottori etsii yhteensopivia profiileja yhteisten kiinnostuksen kohteiden, sijainnin läheisyyden ja mieltymyskriteerien perusteella. Osumat lasketaan säännöllisesti tai ne voidaan käynnistää manuaalisesti.",
|
|
2956
|
+
"matchingHelpTitle": "Kuinka matchaus toimii",
|
|
2957
|
+
"matchingHelpDetail": "Moottori vertaa kaikkia aktiivisia profiileja pisteyttäen yhteensopivuuden yhteisten kiinnostuksen kohteiden, maantieteellisen läheisyyden ja ilmoitettujen mieltymysten perusteella. Kynnysarvon ylittävät osumat näytetään käyttäjille. Suorita moottori manuaalisesti päivittääksesi osumat välittömästi.",
|
|
2958
|
+
|
|
2959
|
+
"marketplaceEmpty": "Kauppapaikkaa ei ole määritetty",
|
|
2960
|
+
"activeListings": "Aktiiviset ilmoitukset",
|
|
2961
|
+
"totalTransactions": "Tapahtumat yhteensä",
|
|
2962
|
+
"noListings": "Ei ilmoituksia",
|
|
2963
|
+
"marketplaceExplain": "Kauppapaikka mahdollistaa vertais- tai solmutason kaupankäynnin tavaroilla ja palveluilla murustalouden avulla. Ilmoituksia voidaan luoda federaatio- tai yksittäisen solmun tasolla.",
|
|
2964
|
+
"marketplaceHelpTitle": "Kuinka kauppapaikka toimii",
|
|
2965
|
+
"marketplaceHelpDetail": "Omistajat luovat ilmoituksia otsikolla, kuvauksella, hinnalla (murusina) ja kategorialla. Ostajat voivat selata, hakea ja ostaa. Tapahtumat selvitetään muruslompakon kautta. Federaatiotason kauppapaikat kokoavat ilmoitukset solmujen välillä.",
|
|
2966
|
+
"marketplaceCreate": "Luo kauppapaikka",
|
|
2967
|
+
"marketplaceName": "Kauppapaikan nimi",
|
|
2968
|
+
"marketplaceType": "Tyyppi",
|
|
2969
|
+
"marketplaceNodeLevel": "Solmutaso",
|
|
2970
|
+
"marketplaceFederationLevel": "Federaatiotaso",
|
|
2971
|
+
"marketplaceCreateConfirm": "Kauppapaikka luotu onnistuneesti",
|
|
2972
|
+
|
|
2973
|
+
"csmExplain": "CSM (Kontekstuaalinen palvelumalli) määrittää tietoskeeman ja säännöt solmussa toimiville palveluille. Jokainen CSM-malli määrittelee, mitä tietoa palvelu kerää, kuinka se validoidaan ja mitä suostumussääntöjä sovelletaan.",
|
|
2974
|
+
"csmHelpTitle": "Mikä on CSM?",
|
|
2975
|
+
"csmHelpDetail": "CSM on JSON-dokumentti, joka määrittelee palvelun tietomallin. Se sisältää kenttämäärittelyt (nimi, tyyppi, pakollinen), validointisäännöt, suostumusvaatimukset ja näyttövihjeet. Palvelut kuten harrastushakemisto, kauppapaikka tai deittaus käyttävät CSM:ää kuvaamaan datarakennettaan. Solmu validoi kaiken datan CSM:ää vasten ennen tallentamista.",
|
|
2976
|
+
"csmAddNew": "Lisää CSM-malli",
|
|
2977
|
+
"csmEnable": "Ota käyttöön",
|
|
2978
|
+
"csmDisable": "Poista käytöstä",
|
|
2979
|
+
"csmStatusActive": "Aktiivinen",
|
|
2980
|
+
"csmStatusDisabled": "Pois käytöstä",
|
|
2981
|
+
"csmNoFields": "Ei määriteltyjä kenttiä",
|
|
2982
|
+
"csmCreateFromTemplate": "Luo mallista",
|
|
2983
|
+
"csmCreateCustom": "Luo mukautettu",
|
|
2984
|
+
"csmYamlPlaceholder": "Liitä CSM YAML-määrittely tähän...",
|
|
2985
|
+
"csmSelectTemplate": "Valitse malli",
|
|
2986
|
+
"csmCreateSuccess": "CSM luotu onnistuneesti",
|
|
2987
|
+
"csmDeleteConfirm": "Poista CSM \"{name}\"? Tämä poistaa myös liittyvän skeeman lukituksen.",
|
|
2988
|
+
"csmDeleted": "CSM poistettu",
|
|
2989
|
+
"csmDefinition": "Määrittely (YAML)",
|
|
2990
|
+
"csmServiceType": "Palvelutyyppi",
|
|
2991
|
+
"csmRegisteredBy": "Rekisteröinyt",
|
|
2992
|
+
"csmFederate": "Federoi",
|
|
2993
|
+
"csmCreate": "Luo CSM",
|
|
2994
|
+
"csmCreateWithAi": "Luo tekoälyllä",
|
|
2995
|
+
"csmAiPromptTitle": "CSM-rakentaja — Tekoälykehote",
|
|
2996
|
+
"csmAiPromptDesc": "Kopioi tämä kehote tekoälykeskusteluun (Claude, ChatGPT jne.) suunnitellaksesi CSM:n interaktiivisesti. Tekoäly esittää kysymyksiä ja luo YAML:n puolestasi.",
|
|
2997
|
+
"csmAiPromptHow": "Kuinka käyttää tätä kehotetta",
|
|
2998
|
+
"csmAiStep1": "Kopioi alla oleva kehote leikepöydälle",
|
|
2999
|
+
"csmAiStep2": "Liitä se uuteen tekoälykeskusteluun",
|
|
3000
|
+
"csmAiStep3": "Kuvaile palvelu jonka haluat luoda — tekoäly opastaa sinua",
|
|
3001
|
+
"csmAiStep4": "Kopioi luotu YAML tänne ja klikkaa \"Luo CSM\"",
|
|
3002
|
+
|
|
3003
|
+
"msmHelpTitle": "Mikä on MSM?",
|
|
3004
|
+
"msmHelpDetail": "MSM on määritys, joka yhdistää solmun ulkoisiin palveluihin. Se määrittelee päätepisteen URL:n, todennustavan, datamuodon, uudelleenyrityskäytännön ja aikataulutuksen. MSM:iä voidaan käyttää webhook-toimitukseen, API-integraatioihin, datan synkronointiin ja tapahtumapohjaisiin työnkulkuihin. Solmutason MSM:t koskevat vain tätä solmua; federaatiotason MSM:t jaetaan klusterin kesken.",
|
|
3005
|
+
"msmAddNew": "Lisää MSM-integraatio",
|
|
3006
|
+
"msmEndpoint": "Päätepisteen URL",
|
|
3007
|
+
"msmSchedule": "Aikataulu",
|
|
3008
|
+
"msmCreateConfirm": "MSM-integraatio luotu onnistuneesti",
|
|
3009
|
+
"msmNodeLevel": "Solmutaso",
|
|
3010
|
+
"msmFederationLevel": "Federaatiotaso",
|
|
3011
|
+
"msmRegisteredBy": "Rekisteröijä",
|
|
3012
|
+
"msmEdit": "Muokkaa MSM:ää",
|
|
3013
|
+
"msmEditDescription": "Kuvaus",
|
|
3014
|
+
"msmEditFederate": "Jaa federaation kesken",
|
|
3015
|
+
"msmEditSave": "Tallenna muutokset",
|
|
3016
|
+
"msmUpdateConfirm": "MSM-integraatio päivitetty onnistuneesti",
|
|
3017
|
+
"msmDeleteConfirm": "Kirjoita \"{name}\" vahvistaaksesi poiston",
|
|
3018
|
+
"msmDeleteTitle": "Poista MSM-integraatio",
|
|
3019
|
+
"msmDeleteSuccess": "MSM-integraatio poistettu onnistuneesti",
|
|
3020
|
+
"msmYamlPlaceholder": "Liitä MSM YAML-määritys tähän...",
|
|
3021
|
+
"msmSelectTemplate": "— Valitse malli —",
|
|
3022
|
+
"msmCreateFromTemplate": "Aloita mallista",
|
|
3023
|
+
"msmDefinition": "MSM-määritys",
|
|
3024
|
+
|
|
3025
|
+
"federationNotAvailable": "Federaatio ei ole käytössä",
|
|
3026
|
+
"clusterName": "Klusterin nimi",
|
|
3027
|
+
"role": "Rooli",
|
|
3028
|
+
"peers": "Vertaiset",
|
|
3029
|
+
"federationExplain": "Federaatio yhdistää useita AIMEAT-solmuja klusteriksi, mahdollistaen jaetun datan, solmujen välisen löytämisen ja hajautetut palvelut. Solmut kommunikoivat todennettujen vertaisyhteyksien kautta.",
|
|
3030
|
+
"federationHelpTitle": "Kuinka federaatio toimii",
|
|
3031
|
+
"federationHelpDetail": "Federaatioklusteri koostuu solmuista, jotka luottavat toisiinsa. Yksi solmu toimii genesis-solmuna (alkuperä), ja muut liittyvät vaihtamalla avaimia. Federoidut solmut voivat jakaa hakemistolistauksia, kauppapaikkatuotteita, tauluja ja muuta. Klusterin nimi tunnistaa federaation, ja jokaisella solmulla on rooli (genesis, vertainen tai tarkkailija).",
|
|
3032
|
+
"federationConfigTitle": "Federaation asetukset",
|
|
3033
|
+
"federationJoinTitle": "Liity federaatioon",
|
|
3034
|
+
"federationJoinExplain": "Liittyäksesi olemassa olevaan federaatioon tarvitset genesis-solmun päätepisteen URL:n ja kelvollisen kutsutunnuksen.",
|
|
3035
|
+
"federationLeave": "Poistu federaatiosta",
|
|
3036
|
+
"federationLeaveConfirm": "Haluatko varmasti poistua tästä federaatiosta?",
|
|
3037
|
+
|
|
3038
|
+
"fedHowBusTitle": "Mikä on federaatioväylä?",
|
|
3039
|
+
"fedHowBusDetail": "Federaatioväylä on solmujen välinen kommunikaatiokerros. Se hoitaa sydämenlyönnit (terveystarkistukset 5 minuutin välein), datan replikoinnin, katalogien synkronoinnin, solmujen välisen työnkulun reitityksen, muruselvitykset ja luottamushuomautukset. Kaikki viestit allekirjoitetaan kryptografisesti Ed25519-avaimilla.",
|
|
3040
|
+
"fedHowJoinTitle": "Kuinka uusi solmu liittyy?",
|
|
3041
|
+
"fedHowJoinDetail": "Uusi solmu lähettää allekirjoitetun esittelypyynnön (POST /v1/federation/peer/introduce) solmun tunnuksella, URL:llä ja julkisella avaimella. Vastaanottavan solmun operaattori näkee pyynnön täällä ja voi hyväksyä tai hylätä sen. Hyväksynnän jälkeen solmut vaihtavat julkiset avaimet ja uusi vertainen aktivoidaan. Sydämenlyöntijärjestelmä valvoo yhteyttä automaattisesti.",
|
|
3042
|
+
"fedHowReplicationTitle": "Kuinka datan replikointi toimii?",
|
|
3043
|
+
"fedHowReplicationDetail": "Solmut voivat replikoida muistimerkintöjä vertaisilleen POST /v1/federation/replicate -kutsulla. Jokainen replikointipyyntö allekirjoitetaan ja varmennetaan. Replikoitu data tallennetaan 'replica:'-etuliitteellä paikallisen datan erottamiseksi. Katalogimerkinnät (toiminnot/palvelut) synkronoidaan inkrementaalisesti — vain uudet tai päivitetyt kohteet siirretään.",
|
|
3044
|
+
"fedHowSettlementsTitle": "Kuinka muruselvitykset toimivat?",
|
|
3045
|
+
"fedHowSettlementsDetail": "Kun agentti solmussa A käyttää palvelua solmussa B, murusmaksu täytyy selvittää solmujen välillä. Solmu B lähettää allekirjoitetun selvityksen solmulle A summalla, seurantakoodilla ja todisteella. Vastaanottava solmu varmentaa allekirjoituksen, tarkistaa uudelleentoistohyökkäykset ja hyvittää agentin saldon. Operaattorit voivat myös käynnistää uloslähetyksiä manuaalisesti.",
|
|
3046
|
+
"fedHowRoutingTitle": "Kuinka solmujen välinen reititys toimii?",
|
|
3047
|
+
"fedHowRoutingDetail": "Jos tarvitset yhteyttä etäsolmun agenttiin, federaatioreititin (POST /v1/federation/route) välittää pyynnön. Se tukee monihyppyreititystä — jos kohde ei ole suora vertainen, pyyntö reititetään välisolmujen kautta. Silmukantunnistus estää loputtoman reitityksen, ja jokainen hyppy maksaa 1 murun reititysmaksuna. Maksimihyppymäärä on konfiguroitavissa.",
|
|
3048
|
+
|
|
3049
|
+
"fedActivePeers": "Aktiiviset vertaiset",
|
|
3050
|
+
"fedDegradedPeers": "Heikentyneet",
|
|
3051
|
+
"fedOfflinePeers": "Offline",
|
|
3052
|
+
"fedPendingRequests": "Odottavat pyynnöt",
|
|
3053
|
+
|
|
3054
|
+
"fedPendingRequestsTitle": "Odottavat vertaispyynnöt",
|
|
3055
|
+
"fedPendingRequestsExplain": "Nämä solmut haluavat liittyä federaatioosi. Tarkista jokainen pyyntö ja hyväksy tai hylkää.",
|
|
3056
|
+
"fedPendingHelpTitle": "Mitä pitää tarkistaa ennen hyväksyntää?",
|
|
3057
|
+
"fedPendingHelpDetail": "Varmista, että solmun tunnus ja URL ovat luotetusta lähteestä. Tarkista viestikentästä konteksti siitä, kuka pyytää. Hyväksynnän jälkeen vertainen pitää vielä aktivoida ja avaintenvaihto suorittaa ennen kuin data kulkee. Voit aina poistaa vertaisen myöhemmin tarvittaessa.",
|
|
3058
|
+
"fedReqId": "Pyynnön tunnus",
|
|
3059
|
+
"fedFromNode": "Lähdesolmu",
|
|
3060
|
+
"fedMessage": "Viesti",
|
|
3061
|
+
"fedCreatedAt": "Luotu",
|
|
3062
|
+
"fedReject": "Hylkää",
|
|
3063
|
+
"fedApprovePeerConfirm": "Hyväksy tämä vertaispyyntö? Solmu lisätään vertaiseksi.",
|
|
3064
|
+
"fedRejectPeerConfirm": "Hylkää tämä vertaispyyntö?",
|
|
3065
|
+
"fedPeerApproved": "Vertaispyyntö hyväksytty onnistuneesti",
|
|
3066
|
+
"fedPeerRejected": "Vertaispyyntö hylätty",
|
|
3067
|
+
|
|
3068
|
+
"fedLivePeersTitle": "Aktiiviset vertaiset",
|
|
3069
|
+
"fedLivePeersExplain": "Tällä hetkellä rekisteröidyt vertaiset ja niiden reaaliaikainen tila. Sydämenlyöntimonitori pingaa jokaista vertaista 5 minuutin välein.",
|
|
3070
|
+
"fedLivePeersHelpTitle": "Vertaisten tilojen ymmärtäminen",
|
|
3071
|
+
"fedLivePeersHelpDetail": "Active: Vertainen on terve ja vastaa sydämenlyönteihin. Approved: Vertainen on hyväksytty mutta ei vielä aktivoitu (vaatii aktivoinnin). Degraded: Vertainen on epäonnistunut 3+ peräkkäisessä sydämenlyönnissä mutta on vielä tavoitettavissa. Offline: Vertainen on epäonnistunut 10+ peräkkäisessä sydämenlyönnissä. Depeering: Vertainen on armonaikajaksolla ennen poistamista (oletus 72h) — keskeneräiset työt voivat vielä valmistua.",
|
|
3072
|
+
"fedAddedAt": "Lisätty",
|
|
3073
|
+
"fedPublicKey": "Julkinen avain",
|
|
3074
|
+
"fedActivate": "Aktivoi",
|
|
3075
|
+
"fedDepeer": "Poista",
|
|
3076
|
+
"fedEmergencyDepeer": "Hätäpoisto",
|
|
3077
|
+
"fedActivateConfirm": "Aktivoi tämä vertainen? Se alkaa vastaanottaa sydämenlyöntejä ja dataa.",
|
|
3078
|
+
"fedRemoveConfirm": "Poista tämä solmu? 72 tunnin armonaika sovelletaan keskeneräisille töille.",
|
|
3079
|
+
"fedEmergencyRemoveConfirm": "HÄTÄPOISTO! Tämä katkaisee yhteyden välittömästi, peruuttaa kaikki keskeneräiset työt ja palauttaa escrown. Oletko varma?",
|
|
3080
|
+
"fedPeerActivated": "Vertainen aktivoitu onnistuneesti",
|
|
3081
|
+
"fedPeerRemoved": "Vertainen asetettu poistotilaan (armonaika käynnissä)",
|
|
3082
|
+
"fedPeerEmergencyRemoved": "Vertainen katkaistu välittömästi. Kaikki keskeneräiset työt peruutettu.",
|
|
3083
|
+
|
|
3084
|
+
"fedRequestHistoryTitle": "Vertaispyyntöjen historia",
|
|
3085
|
+
|
|
3086
|
+
"fedJoinTitle": "Liity genesis-verkkoon",
|
|
3087
|
+
"fedJoinExplain": "Yhdistä tämä solmu olemassa olevaan AIMEAT genesis-verkkoon. Syötä genesis-solmun URL ja valitse roolisi. Genesis-operaattori tarkistaa ja hyväksyy pyyntösi.",
|
|
3088
|
+
"fedJoinHelpTitle": "Miten liittyminen toimii?",
|
|
3089
|
+
"fedJoinHelpDetail": "Solmusi ottaa yhteyttä genesis-solmuun, varmistaa että se käyttää AIMEAT-protokollaa ja lähettää allekirjoitetun esittelypyynnön. Genesis-operaattori näkee pyyntösi Federation-näkymässä ja voi hyväksyä sen. Hyväksynnän jälkeen solmujen välillä vaihdetaan avaimet ja viestintä alkaa.",
|
|
3090
|
+
"fedJoinUrlPlaceholder": "Genesis-solmun URL (esim. http://localhost:40050)",
|
|
3091
|
+
"fedJoinUrlRequired": "Genesis-solmun URL on pakollinen",
|
|
3092
|
+
"fedJoinRoleContributor": "Osallistuja",
|
|
3093
|
+
"fedJoinRoleOperator": "Operaattori",
|
|
3094
|
+
"fedJoinBtn": "Liity verkkoon",
|
|
3095
|
+
"fedJoinSent": "Esittely lähetetty! Odotetaan genesis-operaattorin hyväksyntää.",
|
|
3096
|
+
"fedJoinTargetNode": "Kohdesolmu",
|
|
3097
|
+
"fedJoinStatus": "Tila",
|
|
3098
|
+
"fedJoinRequestId": "Pyynnön tunnus",
|
|
3099
|
+
|
|
3100
|
+
"fedAddPeerTitle": "Lisää vertainen suoraan",
|
|
3101
|
+
"fedAddPeerExplain": "Lisää vertaissolmu manuaalisesti ilman esittelyvirtaa. Hyödyllinen federaatioiden käynnistyksessä tai luotettujen solmujen lisäämisessä.",
|
|
3102
|
+
"fedAddPeerHelpTitle": "Milloin pitäisi lisätä vertaisia suoraan?",
|
|
3103
|
+
"fedAddPeerHelpDetail": "Suora vertaisen lisäys ohittaa esittelykättelyn ja luo vertaisen 'pending'-tilaan. Sinun täytyy silti aktivoida se ja suorittaa avaintenvaihto. Käytä tätä kun luotat etäsolmuun ja sinulla on sen tiedot (solmun tunnus, URL, valinnaisesti julkinen avain). Tuotantokäytössä suosi esittelyvirtaa paremman turvallisuuden vuoksi.",
|
|
3104
|
+
"fedAddNodeIdPlaceholder": "Solmun tunnus (esim. my-node-001)",
|
|
3105
|
+
"fedAddUrlPlaceholder": "Solmun URL (esim. https://node.example.com)",
|
|
3106
|
+
"fedAddKeyPlaceholder": "Julkinen avain (valinnainen, hex tai base64)",
|
|
3107
|
+
"fedAddPeerBtn": "Lisää vertainen",
|
|
3108
|
+
"fedAddPeerMissing": "Solmun tunnus ja URL ovat pakollisia",
|
|
3109
|
+
"fedPeerAdded": "Vertainen lisätty onnistuneesti (tila: odottaa)",
|
|
3110
|
+
|
|
3111
|
+
"fedTestTitle": "Testaa federaatiovalmiutta",
|
|
3112
|
+
"fedTestExplain": "Tarkista onko etäsolmu tavoitettavissa ja ajaa AIMEAT-protokollaa ennen vertaisottoa.",
|
|
3113
|
+
"fedTestHelpTitle": "Mitä testi tarkistaa?",
|
|
3114
|
+
"fedTestHelpDetail": "Testi lähettää pyynnön kohdesolmun /.well-known/aimeat -päätepisteeseen varmistaakseen: 1) Solmu on tavoitettavissa verkossa, 2) Se vastaa AIMEAT-protokollan tunnisteella. Jos molemmat tarkistukset läpäisevät, solmu on valmis federaatiovertaisottoon.",
|
|
3115
|
+
"fedTestBtn": "Testaa",
|
|
3116
|
+
"fedTestTarget": "Kohde",
|
|
3117
|
+
"fedTestReady": "Valmis",
|
|
3118
|
+
"fedTestTime": "Testattu",
|
|
3119
|
+
|
|
3120
|
+
"fedBusTitle": "Federaatioväylä — Ominaisuudet",
|
|
3121
|
+
"fedBusExplain": "Federaatioväylä tarjoaa kaikki kommunikaatiokanavat solmujen välillä. Jokainen ominaisuus on kuvattu alla toimintaperiaatteineen ja API-päätepisteineen.",
|
|
3122
|
+
|
|
3123
|
+
"fedBusHeartbeatTitle": "Sydämenlyönti ja terveydenvalvonta",
|
|
3124
|
+
"fedBusHeartbeatDetail": "Joka 5. minuutti solmusi pingaa kaikki aktiiviset vertaiset POST /v1/federation/ping -kutsulla. Jos vertainen epäonnistuu 3 peräkkäisessä sydämenlyönnissä, se merkitään 'degraded'. 10 epäonnistumisen jälkeen se menee 'offline'-tilaan. 'Depeering'-tilassa olevien vertaisten armonaika tarkistetaan — kun se umpeutuu, ne poistetaan.",
|
|
3125
|
+
|
|
3126
|
+
"fedBusReplicateTitle": "Muistin replikointi",
|
|
3127
|
+
"fedBusReplicateDetail": "Solmut voivat replikoida muistimerkintöjä vertaisilleen POST /v1/federation/replicate -kutsulla. Pyynnön tulee sisältää lähdesolmu, GAII, avain, arvo, näkyvyys, versio ja kryptografinen allekirjoitus. Vastaanottava solmu tarkistaa allekirjoituksen vertaisen tallennettua julkista avainta vasten ja tallentaa datan 'replica:lähdesolmu:avain'-etuliitteellä.",
|
|
3128
|
+
|
|
3129
|
+
"fedBusCatalogueTitle": "Katalogisynkronointi",
|
|
3130
|
+
"fedBusCatalogueDetail": "Toimintokatalogit synkronoidaan POST /v1/federation/catalogue-sync -kutsulla. Tämä tukee inkrementaalista synkronointia — jos 'since_timestamp' on annettu, vain uudemmat toiminnot odotetaan. Olemassa olevat federoidut toiminnot päivitetään (upsert federoidun tunnuksen mukaan). Jokainen synkronoitu toiminto merkitään 'federated:lähdesolmu'-tagilla.",
|
|
3131
|
+
|
|
3132
|
+
"fedBusRoutingTitle": "Solmujen välinen pyyntöreititys",
|
|
3133
|
+
"fedBusRoutingDetail": "POST /v1/federation/route välittää pyynnöt etäsolmuille. Jos kohde on suora vertainen, pyyntö menee suoraan. Muutoin se yrittää monihyppyreititystä muiden aktiivisten vertaisten kautta. Ominaisuudet: silmukantunnistus (X-Relay-Path-otsake), konfiguroitava maksimihyppymäärä, 1 murun reititysmaksu per hyppy.",
|
|
3134
|
+
|
|
3135
|
+
"fedBusSettlementTitle": "Muruselvitykset",
|
|
3136
|
+
"fedBusSettlementDetail": "Solmujen väliset murussiirrot käyttävät POST /v1/federation/settle (saapuva) ja POST /v1/federation/settle/outbound (lähtevä, vain operaattori). Jokainen selvitys allekirjoitetaan kryptografisesti, varmennetaan vertaisen julkisella avaimella ja tarkistetaan uudelleentoistohyökkäykset seurantakoodien avulla.",
|
|
3137
|
+
|
|
3138
|
+
"fedBusTrustTitle": "Luottamushuomautukset",
|
|
3139
|
+
"fedBusTrustDetail": "Operaattorit voivat antaa luottamushuomautuksia solmuista POST /v1/federation/trust-advisory -kutsulla. Huomautustyypit: 'warning' (tiedotus), 'suspend' (suositus keskeyttämiseksi), 'ban' (poistaa kohdesolmun automaattisesti). Luottamushuomautukset jaetaan federaation kautta hätäpoiston yhteydessä.",
|
|
3140
|
+
|
|
3141
|
+
"fedBusKeyExchangeTitle": "Avaintenvaihto",
|
|
3142
|
+
"fedBusKeyExchangeDetail": "POST /v1/federation/key-exchange mahdollistaa Ed25519-julkisten avainten vaihdon vertaisten välillä. Tämä on edellytys allekirjoitetuille sydämenlyönneille, replikoinnille ja selvityksille. Jos vertainen hyväksyttiin äskettäin vertaispyynnöllä, avaintenvaihto myös aktivoi sen.",
|
|
3143
|
+
|
|
3144
|
+
"fedBusCrossWorkTitle": "Solmujen väliset työpyynnöt",
|
|
3145
|
+
"fedBusCrossWorkDetail": "Agentit voivat lähettää työtä etäsolmujen palveluille POST /v1/federation/cross-node/work -kutsulla. Pyyntö allekirjoitetaan lähettävän solmun yksityisellä avaimella ja välitetään kohdevertaiselle. 1 murun reititysmaksu veloitetaan.",
|
|
3146
|
+
|
|
3147
|
+
"fedBusResolveTitle": "GAII-resoluutio",
|
|
3148
|
+
"fedBusResolveDetail": "GET /v1/federation/resolve/:gaii selvittää mikä solmu isännöi agenttia. Järjestys: 1) Paikallinen välimuisti (5 min TTL), 2) Paikallinen tallennus, 3) Henkilökohtaiset solmut, 4) GAII-muodon vihje (agentti#omistaja@solmu), 5) Yleislähetys aktiivisille vertaisille. Tulokset välimuistitetaan verkkoliikenteen vähentämiseksi.",
|
|
3149
|
+
|
|
3150
|
+
"fedApiRefTitle": "API-viite",
|
|
3151
|
+
"fedApiRefHelpTitle": "Kaikki federaation päätepisteet",
|
|
3152
|
+
|
|
3153
|
+
"fedDepeeringTitle": "Poistettavat vertaiset",
|
|
3154
|
+
"fedDepeeringExplain": "Nämä vertaiset ovat armonaikajaksolla ennen lopullista poistamista. Keskeneräiset työt voivat vielä valmistua.",
|
|
3155
|
+
"fedDepeeringGrace": "Armonaika päättyy",
|
|
3156
|
+
|
|
3157
|
+
"genesisExplain": "Genesis-vertaiset ovat federaatioklusterin perustajasolmuja. Genesis-solmu on ensimmäinen solmu, joka luo federaation, ja se hallinnoi vertaishyväksyntöjä, avainten vaihtoa ja klusterikäytäntöjä.",
|
|
3158
|
+
"genesisHelpTitle": "Mitä genesis-vertaiset ovat?",
|
|
3159
|
+
"genesisHelpDetail": "Kun luot uuden federaation, solmustasi tulee genesis-solmu (alkuperä). Muut solmut pyytävät liittymistä, ja hyväksyt tai hylkäät ne täällä. Genesis-vertaisilla on erityisoikeuksia: ne voivat asettaa klusterinlaajuisia käytäntöjä, hyväksyä uusia jäseniä ja keskeyttää väärin käyttäytyvät solmut. Hyväksytyt vertaiset voivat vaihtaa dataa federaatiosääntöjen mukaisesti.",
|
|
3160
|
+
"approved": "Hyväksytty",
|
|
3161
|
+
"confirmAction": "Oletko varma?",
|
|
3162
|
+
"approveConfirm": "Hyväksy tämä vertainen?",
|
|
3163
|
+
"suspendConfirm": "Keskeytä tämä vertainen?",
|
|
3164
|
+
|
|
3165
|
+
"configuration": "Määritykset",
|
|
3166
|
+
"schema": "Skeema",
|
|
3167
|
+
"fields": "Kentät",
|
|
3168
|
+
"required": "Pakollinen",
|
|
3169
|
+
"type": "Tyyppi",
|
|
3170
|
+
"version": "Versio",
|
|
3171
|
+
"back": "Takaisin",
|
|
3172
|
+
|
|
3173
|
+
"cfgGroup_node": "Solmu",
|
|
3174
|
+
"cfgGroup_storage": "Tallennustila",
|
|
3175
|
+
"cfgGroup_morsel_policy": "Muruspolitiikka",
|
|
3176
|
+
"cfgGroup_auth": "Autentikointi",
|
|
3177
|
+
"cfgGroup_features": "Ominaisuudet",
|
|
3178
|
+
"cfgGroup_work": "Työ",
|
|
3179
|
+
"cfgGroup_quota": "Kiintiöt",
|
|
3180
|
+
"cfgGroup_federation": "Federaatio",
|
|
3181
|
+
"cfgGroup_rate_limits": "Nopeusrajoitukset",
|
|
3182
|
+
"cfgGroup_email": "Sähköposti",
|
|
3183
|
+
"cfgGroup_consent": "Suostumus",
|
|
3184
|
+
"cfgGroup_totp": "TOTP",
|
|
3185
|
+
"cfgGroup_matching": "Matchaus",
|
|
3186
|
+
"cfgGroup_extensions": "Laajennukset",
|
|
3187
|
+
"cfgGroup_marketplace": "Kauppapaikka",
|
|
3188
|
+
"cfgGroup_push": "Push-ilmoitukset",
|
|
3189
|
+
"cfgGroup_eudiw": "EUDIW",
|
|
3190
|
+
"cfgGroup_cross_federation": "Ristinfederaatio",
|
|
3191
|
+
"cfgHelp_cross_federation": "Ristinfederaatio yhdistää itsenäisiä AIMEAT-solmuja (tai eri federaatioklustereita) katalogijakoa ja solmujen välistä löytämistä varten. Toisin kuin klusterin sisäinen federaatio (genesis-/tarjoaja-roolit), genesis-vertaistaminen on pisteestä pisteeseen ilman keskitettyä rekisteriä. Jokaisella solmulla voi olla 'Maks. genesis-vertaiset' yhteyden verran yhteyksiä. Katalogit (CSM:t joissa federate:true) synkronoidaan automaattisesti määritetyin väliajoin. Ota tämä käyttöön myös itsenäisillä solmuilla yhdistääksesi muihin operaattoreihin. Hallinnoi vertaisia Genesis-vertaiset-välilehdellä.",
|
|
3192
|
+
"cfgGroup_personal_nodes": "Henkilökohtaiset solmut",
|
|
3193
|
+
"cfgGroup_match_notifications": "Match-ilmoitukset",
|
|
3194
|
+
"cfgGroup_consul": "Consul",
|
|
3195
|
+
|
|
3196
|
+
"cfgHelp_extensions": "Laajennusjärjestelmä ajaa JavaScript-koodia hiekkalaatikoissa (V8-isolaateissa). Laajennukset lisäävät toiminnallisuuksia solmuun — kauppapaikkasäännöt, automaattinen moderointi, ajastetut tehtävät jne. Asenna valmiita laajennuksia Palvelut-välilehdeltä tai luo omia. Jokainen laajennus toimii eristettynä ja sille voi asettaa muisti-, aikakatkaisu- ja API-kutsurajat.",
|
|
3197
|
+
"cfgHelp_eudiw": "EUDIW (EU:n digitaalinen identiteettilompakko) mahdollistaa vahvan tunnistautumisen eurooppalaisen digitaalisen identiteetin kautta. FTN (Suomen luottamusverkosto) mahdollistaa vahvan tunnistautumisen pankkitunnuksilla ja mobiilivarmenteella. Käyttöönotto: aseta EUDIW Enabled ja/tai FTN Enabled päälle, ja määritä tunnistuspalvelun tunnukset .env-tiedostossa (AIMEAT_EUDIW_CLIENT_ID, AIMEAT_EUDIW_CLIENT_SECRET EUDIW:lle; AIMEAT_FTN_CLIENT_ID, AIMEAT_FTN_CLIENT_SECRET FTN:lle).",
|
|
3198
|
+
"cfgHelp_consul": "Consul on palvelunhaku- ja konfiguraationhallintajärjestelmä. Kun se on käytössä, AIMEAT synkronoi asetukset Consul KV -varastosta, mikä mahdollistaa keskitetyn hallinnan useille solmuille. Määritys: 1) Asenna ja käynnistä Consul, 2) Aseta AIMEAT_CONSUL_ENABLED=true .env-tiedostossa, 3) Määritä Consul-URL, KV-etuliite ja valinnaisesti ACL-tunnus. Nämä asetukset ovat muuttumattomia ja ne on asetettava ennen käynnistystä.",
|
|
3199
|
+
"cfgHelp_totp": "TOTP (aikaperusteinen kertasalasana) lisää kaksivaiheisen tunnistautumisen käyttäjätileille. Kun se on käytössä, käyttäjät voivat ottaa käyttöön tunnistussovelluksen (kuten Google Authenticator, Authy tai 1Password), joka luo 30 sekunnin välein vaihtuvia 6-numeroisia koodeja. Salausavain suojaa tallennettuja TOTP-salaisuuksia — luo se komennolla: openssl rand -hex 32, ja aseta se AIMEAT_TOTP_ENCRYPTION_KEY -ympäristömuuttujaan .env-tiedostossa.",
|
|
3200
|
+
"cfgHelp_matching": "Tekoälypohjainen yhdistämismoottori yhdistää käyttäjiä automaattisesti yhteisten kiinnostusten, sijainnin ja profiilitietojen perusteella. Kun se on käytössä, se toimii säännöllisin väliajoin ja tuottaa yhdistämisehdotuksia. Säädä minimipistemäärää, enimmäisehdotuksia per kierros, maantieteellisiä etäisyysrajoja ja jäähdytysaikoja.",
|
|
3201
|
+
"cfgHelp_consent": "Suostumuskerros tarjoaa GDPR-yhteensopivan tietojen käytönhallinnan. Kun se on käytössä, agenttien on pyydettävä nimenomainen suostumus ennen käyttäjätietojen käyttöä, ja kaikki suostumuspäätökset kirjataan tarkastuslokiin. Määritä tarkastuslokien säilytysaika ja käyttäjäkohtainen suostusten enimmäismäärä.",
|
|
3202
|
+
"cfgHelp_email": "Sähköpostiasetukset hallitsevat SMTP-yhteyttä ilmoitusten, vahvistusten ja hälytysten lähettämistä varten. Sähköpostimallien ja ilmoitusten sisällön määritys löytyy tämän hallintapaneelin Infrastruktuuri-välilehdeltä > Sähköposti-osiosta.",
|
|
3203
|
+
|
|
3204
|
+
"cfg_node_id": "Solmun tunnus",
|
|
3205
|
+
"cfg_node_port": "Portti",
|
|
3206
|
+
"cfg_node_type": "Solmun tyyppi",
|
|
3207
|
+
"cfg_storage_type": "Tallennustyyppi",
|
|
3208
|
+
"cfg_morsel_policy_welcome_bonus": "Tervetulobonus",
|
|
3209
|
+
"cfg_morsel_policy_daily_allowance": "Päiväkiintiö",
|
|
3210
|
+
"cfg_morsel_policy_daily_allowance_cap": "Kiintiökatto",
|
|
3211
|
+
"cfg_morsel_policy_burn_rate": "Polttoprosentti",
|
|
3212
|
+
"cfg_morsel_policy_max_operator_mint_per_day": "Maks. operaattorin luonti/pv",
|
|
3213
|
+
"cfg_morsel_policy_board_post_base_cost": "Tauluviestin perushinta",
|
|
3214
|
+
"cfg_morsel_policy_board_post_cost_per_kb": "Tauluviestin hinta/KB",
|
|
3215
|
+
"cfg_auth_jwt_ttl_seconds": "JWT-elinaika (sekuntia)",
|
|
3216
|
+
"cfg_features_keyed_browse_enabled": "Avainselaus",
|
|
3217
|
+
"cfg_features_extended_features_enabled": "Laajennetut ominaisuudet",
|
|
3218
|
+
"cfg_work_queue_max_pending": "Maks. odottavat",
|
|
3219
|
+
"cfg_work_webhook_max_retries": "Webhook-uudelleenyritykset",
|
|
3220
|
+
"cfg_quota_memory_mb": "Muistikiintiö (MB)",
|
|
3221
|
+
"cfg_quota_storage_mb": "Tallennuskiintiö (MB)",
|
|
3222
|
+
"cfg_quota_micro_memory_kb": "Mikromuisti (KB)",
|
|
3223
|
+
"cfg_federation_max_relay_hops": "Maks. välityshypyt",
|
|
3224
|
+
"cfg_rate_limits_global": "Yleinen",
|
|
3225
|
+
"cfg_rate_limits_auth": "Autentikointi",
|
|
3226
|
+
"cfg_rate_limits_work": "Työ",
|
|
3227
|
+
"cfg_rate_limits_memory": "Muisti",
|
|
3228
|
+
"cfg_rate_limits_boards": "Keskustelut",
|
|
3229
|
+
"cfg_rate_limits_owners": "Omistajat",
|
|
3230
|
+
"cfg_rate_limits_ghii": "GHII (Identiteetti)",
|
|
3231
|
+
"cfg_rate_limits_flags": "Liputukset",
|
|
3232
|
+
"cfg_rate_limits_appeals": "Valitukset",
|
|
3233
|
+
"cfg_rate_limits_admin_setup": "Ylläpito / Asennus",
|
|
3234
|
+
"cfg_rate_limits_federation": "Federaatio",
|
|
3235
|
+
"cfg_rate_limits_catalogue": "Luettelo",
|
|
3236
|
+
"cfg_rate_limits_auth_challenge": "Auth-haaste",
|
|
3237
|
+
"cfg_email_enabled": "Sähköposti käytössä",
|
|
3238
|
+
"cfg_email_confirmation_required": "Vahvistus vaaditaan",
|
|
3239
|
+
"cfg_email_smtp_host": "SMTP-palvelin",
|
|
3240
|
+
"cfg_email_smtp_port": "SMTP-portti",
|
|
3241
|
+
"cfg_email_smtp_from": "Lähettäjäosoite",
|
|
3242
|
+
"cfg_email_smtp_user_configured": "SMTP-käyttäjä asetettu",
|
|
3243
|
+
"cfg_email_smtp_pass_configured": "SMTP-salasana asetettu",
|
|
3244
|
+
"cfg_consent_enabled": "Suostumus käytössä",
|
|
3245
|
+
"cfg_consent_audit_retention_days": "Tarkistuslogin säilytys (pv)",
|
|
3246
|
+
"cfg_consent_max_per_user": "Maks. per käyttäjä",
|
|
3247
|
+
"cfg_totp_enabled": "TOTP käytössä",
|
|
3248
|
+
"cfg_totp_period": "Koodijakso (sekuntia)",
|
|
3249
|
+
"cfg_totp_window": "Validointiikkuna",
|
|
3250
|
+
"cfg_totp_max_failed_attempts": "Maks. epäonnistuneet yritykset",
|
|
3251
|
+
"cfg_totp_lockout_seconds": "Lukitusaika (sekuntia)",
|
|
3252
|
+
"cfg_totp_encryption_key_configured": "Salausavain asetettu",
|
|
3253
|
+
"cfg_matching_enabled": "Matchaus käytössä",
|
|
3254
|
+
"cfg_matching_interval_hours": "Aikaväli (tuntia)",
|
|
3255
|
+
"cfg_matching_threshold": "Pistekynnys",
|
|
3256
|
+
"cfg_matching_max_suggestions": "Maks. ehdotukset",
|
|
3257
|
+
"cfg_matching_max_distance_km": "Maks. etäisyys (km)",
|
|
3258
|
+
"cfg_matching_cooldown_days": "Odotusaika (päivää)",
|
|
3259
|
+
"cfg_extensions_enabled": "Laajennukset käytössä",
|
|
3260
|
+
"cfg_extensions_max_memory_mb": "Maks. muisti (MB)",
|
|
3261
|
+
"cfg_extensions_timeout_ms": "Aikakatkaisu (ms)",
|
|
3262
|
+
"cfg_extensions_max_api_calls": "Maks. API-kutsut",
|
|
3263
|
+
"cfg_extensions_max_code_size_kb": "Maks. koodikoko (KB)",
|
|
3264
|
+
"cfg_extensions_max_installed": "Maks. asennettuja",
|
|
3265
|
+
"cfg_extensions_install_role": "Laajennusten asennusrooli",
|
|
3266
|
+
"cfg_extensions_install_role_desc": "Kuka voi asentaa laajennuksia: operaattori tai omistaja",
|
|
3267
|
+
"cfg_extensions_max_per_owner": "Laajennuksia per omistaja",
|
|
3268
|
+
"cfg_extensions_max_per_owner_desc": "Enimmäismäärä laajennuksia per omistaja",
|
|
3269
|
+
"cfg_generator_enabled": "Palvelugeneraattori",
|
|
3270
|
+
"cfg_generator_enabled_desc": "Näytä Generaattori-välilehti profiilissa",
|
|
3271
|
+
"cfg_marketplace_enabled": "Kauppapaikka käytössä",
|
|
3272
|
+
"cfg_marketplace_listing_fee": "Ilmoitusmaksu",
|
|
3273
|
+
"cfg_marketplace_tx_fee_percent": "Transaktiomaksu %",
|
|
3274
|
+
"cfg_marketplace_escrow_enabled": "Escrow käytössä",
|
|
3275
|
+
"cfg_push_enabled": "Push käytössä",
|
|
3276
|
+
"cfg_push_vapid_configured": "VAPID-avaimet asetettu",
|
|
3277
|
+
"cfg_eudiw_enabled": "EUDIW käytössä",
|
|
3278
|
+
"cfg_eudiw_ftn_enabled": "Suomalainen luottamusverkko",
|
|
3279
|
+
"cfg_cross_federation_enabled": "Ristinfederaatio käytössä",
|
|
3280
|
+
"cfg_cross_federation_max_genesis_peers": "Maks. genesis-vertaiset",
|
|
3281
|
+
"cfg_cross_federation_sync_interval_hours": "Synkronointiväli (tuntia)",
|
|
3282
|
+
"cfg_personal_nodes_enabled": "Henkilökohtaiset solmut käytössä",
|
|
3283
|
+
"cfg_personal_nodes_max_slots": "Maks. paikat",
|
|
3284
|
+
"cfg_match_notifications_enabled": "Match-ilmoitukset käytössä",
|
|
3285
|
+
"cfg_match_notifications_interval_hours": "Ilmoitusväli (tuntia)",
|
|
3286
|
+
"cfg_consul_enabled": "Consul käytössä",
|
|
3287
|
+
"cfg_consul_url": "Consul-osoite",
|
|
3288
|
+
"cfg_consul_prefix": "KV-etuliite",
|
|
3289
|
+
"cfg_consul_token_configured": "ACL-avain asetettu",
|
|
3290
|
+
"cfg_consul_watch_interval_seconds": "Tarkkailuväli (sekuntia)",
|
|
3291
|
+
"cfg_consul_datacenter": "Datakeskus",
|
|
3292
|
+
"cortexTab": "Cortex-laajennukset",
|
|
3293
|
+
"cortex": {
|
|
3294
|
+
"back": "\u2190 Takaisin",
|
|
3295
|
+
"total": "Yhteensä",
|
|
3296
|
+
"active": "Aktiivinen",
|
|
3297
|
+
"inactive": "Ei aktiivinen",
|
|
3298
|
+
"loading": "Ladataan cortex-laajennuksia...",
|
|
3299
|
+
"empty": "Ei asennettuja cortex-laajennuksia.",
|
|
3300
|
+
"name": "Nimi",
|
|
3301
|
+
"version": "Versio",
|
|
3302
|
+
"installedBy": "Asentaja",
|
|
3303
|
+
"status": "Tila",
|
|
3304
|
+
"visibility": "Näkyvyys",
|
|
3305
|
+
"componentsCol": "Komponentit",
|
|
3306
|
+
"components": "Komponentit",
|
|
3307
|
+
"noComponents": "Ei komponentteja",
|
|
3308
|
+
"author": "Tekijä",
|
|
3309
|
+
"activated": "Laajennus aktivoitu",
|
|
3310
|
+
"deactivated": "Laajennus deaktivoitu",
|
|
3311
|
+
"uninstalled": "Laajennus poistettu",
|
|
3312
|
+
"visibilityChanged": "Näkyvyys päivitetty",
|
|
3313
|
+
"confirmUninstall": "Poista tämä laajennus? Kaikki sen komponentit poistetaan.",
|
|
3314
|
+
"activate": "Aktivoi",
|
|
3315
|
+
"deactivate": "Deaktivoi",
|
|
3316
|
+
"uninstall": "Poista",
|
|
3317
|
+
"makePublic": "Tee julkiseksi",
|
|
3318
|
+
"makePrivate": "Tee yksityiseksi"
|
|
3319
|
+
},
|
|
3320
|
+
"packagesTab": "Paketit",
|
|
3321
|
+
"pkgTotalPackages": "Paketteja yhteensä",
|
|
3322
|
+
"pkgTotalInstances": "Instansseja yhteensä",
|
|
3323
|
+
"pkgTotalTemplates": "Mallilistauksia",
|
|
3324
|
+
"pkgPublished": "Julkaistu",
|
|
3325
|
+
"pkgPackagesTab": "Paketit",
|
|
3326
|
+
"pkgTemplatesTab": "Mallit",
|
|
3327
|
+
"pkgInstancesTab": "Instanssit",
|
|
3328
|
+
"pkgAllPackages": "Kaikki paketit",
|
|
3329
|
+
"pkgAllTemplates": "Mallilistaukset",
|
|
3330
|
+
"pkgAllInstances": "Kaikki instanssit",
|
|
3331
|
+
"pkgNoPackages": "Ei paketteja vielä. Luo esimerkkipaketit aloittaaksesi.",
|
|
3332
|
+
"pkgNoTemplates": "Ei mallilistauksia vielä",
|
|
3333
|
+
"pkgNoInstances": "Ei instansseja vielä",
|
|
3334
|
+
"pkgSeedExamples": "Luo esimerkkipaketit",
|
|
3335
|
+
"pkgReseedHint": "Päivitä esimerkkipaketit uusimpaan versioon.",
|
|
3336
|
+
"pkgAuthor": "Tekijä",
|
|
3337
|
+
"pkgVersion": "Versio",
|
|
3338
|
+
"pkgCategory": "Kategoria",
|
|
3339
|
+
"pkgTitle": "Otsikko",
|
|
3340
|
+
"pkgPackage": "Paketti",
|
|
3341
|
+
"pkgRating": "Arvosana",
|
|
3342
|
+
"pkgInstalls": "Asennukset",
|
|
3343
|
+
"pkgFeatured": "Suositeltu",
|
|
3344
|
+
"pkgLabel": "Nimi",
|
|
3345
|
+
"pkgOwner": "Omistaja",
|
|
3346
|
+
"pkgComponents": "Komponentit",
|
|
3347
|
+
"pkgInstalled": "Asennettu",
|
|
3348
|
+
"pkgPending": "Odottaa tarkistusta",
|
|
3349
|
+
"modModerationTab": "Moderointi",
|
|
3350
|
+
"modPendingQueue": "Odottavat tarkistusta",
|
|
3351
|
+
"modPublishedTemplates": "Julkaistut mallipohjat",
|
|
3352
|
+
"modHistory": "Moderointihistoria",
|
|
3353
|
+
"modNoPending": "Ei odottavia mallipohjia",
|
|
3354
|
+
"modNoPublished": "Ei julkaistuja mallipohjia",
|
|
3355
|
+
"modNoHistory": "Ei moderointihistoriaa",
|
|
3356
|
+
"modProposedDate": "Ehdotettu",
|
|
3357
|
+
"modReview": "Tarkista",
|
|
3358
|
+
"modClose": "Sulje",
|
|
3359
|
+
"modApprove": "Hyväksy",
|
|
3360
|
+
"modReject": "Hylkää",
|
|
3361
|
+
"modSuspend": "Keskeytä",
|
|
3362
|
+
"modConfirmSuspend": "Vahvista keskeytys",
|
|
3363
|
+
"modComment": "Kommentti (valinnainen)",
|
|
3364
|
+
"modCommentPlaceholder": "Valinnainen hyväksymiskommentti...",
|
|
3365
|
+
"modReason": "Syy (pakollinen)",
|
|
3366
|
+
"modReasonPlaceholder": "Hylkäyksen syy...",
|
|
3367
|
+
"modReasonRequired": "Syy on pakollinen",
|
|
3368
|
+
"modSuspendReason": "Keskeytyksen syy (pakollinen)",
|
|
3369
|
+
"modSuspendReasonPlaceholder": "Syy keskeytykselle...",
|
|
3370
|
+
"modChangelog": "Muutosloki",
|
|
3371
|
+
"modDryRun": "Kuivaharjoittelun tulokset",
|
|
3372
|
+
"modDecision": "Päätös",
|
|
3373
|
+
"modReviewer": "Tarkistaja",
|
|
3374
|
+
"modReasonCol": "Syy",
|
|
3375
|
+
"promptsTab": "Järjestelmäkehotteet",
|
|
3376
|
+
"promptsTotal": "Yhteensä",
|
|
3377
|
+
"promptsStatusActive": "Aktiivinen",
|
|
3378
|
+
"promptsStatusInactive": "Ei käytössä",
|
|
3379
|
+
"promptsGroups": "Ryhmät",
|
|
3380
|
+
"promptsGroupTiers": "Järjestelmätasot",
|
|
3381
|
+
"promptsGroupBuilders": "Sovellusrakentajat",
|
|
3382
|
+
"promptsGroupPortal": "Portaali",
|
|
3383
|
+
"promptsGroupKnowledge": "Tietämys",
|
|
3384
|
+
"promptsGroupPlatform": "Alustat",
|
|
3385
|
+
"promptsGroupGenerator": "Generaattori",
|
|
3386
|
+
"promptsEdit": "Muokkaa kehotetta",
|
|
3387
|
+
"promptsContent": "Sisältö",
|
|
3388
|
+
"promptsLocales": "Kieliversiot",
|
|
3389
|
+
"promptsAddLocale": "Lisää kieliversio",
|
|
3390
|
+
"promptsChangeNote": "Muutoshuomautus (valinnainen)",
|
|
3391
|
+
"promptsChangeNotePlaceholder": "Kuvaile muutosta...",
|
|
3392
|
+
"promptsSave": "Tallenna muutokset",
|
|
3393
|
+
"promptsReset": "Palauta oletusarvo",
|
|
3394
|
+
"promptsResetConfirm": "Palauta kehote tehdasasetuksiin? Nykyinen versio säilyy versiohistoriassa.",
|
|
3395
|
+
"promptsVersionHistory": "Versiohistoria",
|
|
3396
|
+
"promptsVersion": "Versio",
|
|
3397
|
+
"promptsRestore": "Palauta",
|
|
3398
|
+
"promptsRestoreConfirm": "Palauta tämä versio? Uusi versio luodaan vanhasta sisällöstä.",
|
|
3399
|
+
"promptsUsedIn": "Käytetään",
|
|
3400
|
+
"promptsVariables": "Käytettävissä olevat muuttujat",
|
|
3401
|
+
"promptsNoVersions": "Ei versiohistoriaa vielä",
|
|
3402
|
+
"promptsSaved": "Kehote tallennettu",
|
|
3403
|
+
"promptsResetDone": "Kehote palautettu tehdasasetuksiin",
|
|
3404
|
+
"promptsResetAll": "Palauta kaikki kehotteet tehdasasetuksiin",
|
|
3405
|
+
"promptsResetAllConfirm": "Palauta KAIKKI järjestelmäkehotteet tehdasasetuksiin? Tämä poistaa kaikki mukautukset ja versiohistoriat. Tätä ei voi peruuttaa.",
|
|
3406
|
+
"promptsResetAllDone": "Kaikki kehotteet palautettu tehdasasetuksiin",
|
|
3407
|
+
"promptsResetGroup": "Palauta ryhmä",
|
|
3408
|
+
"promptsResetGroupConfirm": "Palauta kaikki tämän ryhmän kehotteet tehdasasetuksiin? Muokkaukset menetetään (mutta säilyvät versiohistoriassa).",
|
|
3409
|
+
"promptsRestored": "Versio palautettu",
|
|
3410
|
+
"promptsHelp": "Järjestelmäkehotteet ovat tekoälyohjetekstejä, jotka tarjotaan agenteille ja käyttäjille. Muokkaa niitä täällä mukauttaaksesi toimintaa ilman koodimuutoksia. Jokaisessa kehotteessa voi käyttää {{muuttuja}}-paikkamerkkejä.",
|
|
3411
|
+
"promptsHelpTitle": "Tietoa järjestelmäkehotteista",
|
|
3412
|
+
"promptsEmpty": "Järjestelmäkehotteita ei löytynyt. Ne luodaan seuraavassa palvelimen uudelleenkäynnistyksessä.",
|
|
3413
|
+
"memoryAdmin": "Muisti",
|
|
3414
|
+
"memoryAdminDesc": "Selaa ja hallitse kaikkien omistajien muistiavaimia",
|
|
3415
|
+
"memoryOwner": "Omistaja",
|
|
3416
|
+
"memoryKey": "Avain",
|
|
3417
|
+
"memoryValue": "Arvo",
|
|
3418
|
+
"memoryVisibility": "Näkyvyys",
|
|
3419
|
+
"memoryVersion": "Versio",
|
|
3420
|
+
"memoryUpdated": "Päivitetty",
|
|
3421
|
+
"memorySize": "Koko",
|
|
3422
|
+
"memoryTotal": "Avaimia yhteensä",
|
|
3423
|
+
"memorySearch": "Hae muistista...",
|
|
3424
|
+
"memoryFilterOwner": "Suodata omistajan mukaan",
|
|
3425
|
+
"memoryFilterPrefix": "Suodata avaimen etuliitteellä",
|
|
3426
|
+
"memoryNoResults": "Muistiavaimia ei löytynyt",
|
|
3427
|
+
"memoryDeleteConfirm": "Poista tämä muistiavain?",
|
|
3428
|
+
"memoryDeleted": "Muistiavain poistettu"
|
|
3429
|
+
},
|
|
3430
|
+
"launcher": {
|
|
3431
|
+
"title": "Omat Sovellukset",
|
|
3432
|
+
"addApp": "Lisää sovellus",
|
|
3433
|
+
"settings": "Asetukset",
|
|
3434
|
+
"search": "Hae sovelluksia...",
|
|
3435
|
+
"noApps": "Ei sovelluksia vielä",
|
|
3436
|
+
"noAppsHint": "Lisää ensimmäinen sovellus +-painikkeella",
|
|
3437
|
+
"importAimeat": "Tuo AIMEAT:sta",
|
|
3438
|
+
"export": "Vie varmuuskopio",
|
|
3439
|
+
"import": "Tuo varmuuskopio",
|
|
3440
|
+
"clearAll": "Tyhjennä kaikki",
|
|
3441
|
+
"confirmDelete": "Poista tämä sovellus?",
|
|
3442
|
+
"confirmClear": "Poista KAIKKI sovellukset ja asetukset? Tätä ei voi perua."
|
|
3443
|
+
},
|
|
3444
|
+
"hobbies": {
|
|
3445
|
+
"title": "Harrastehakemisto",
|
|
3446
|
+
"subtitle": "Löydä harrastuksia ja samanhenkisiä ihmisiä läheltäsi",
|
|
3447
|
+
"members": "Jäseniä",
|
|
3448
|
+
"hobbies": "Harrastuksia",
|
|
3449
|
+
"cities": "Kaupunkia",
|
|
3450
|
+
"browseByCategory": "Selaa kategorioittain",
|
|
3451
|
+
"topInterests": "Suosituimmat harrastukset",
|
|
3452
|
+
"topCities": "Suosituimmat kaupungit",
|
|
3453
|
+
"searchPeople": "Hae harrastajia",
|
|
3454
|
+
"joinDirectory": "Liity hakemistoon",
|
|
3455
|
+
"people": "henkilöä",
|
|
3456
|
+
"loadError": "Sivua ei voitu ladata.",
|
|
3457
|
+
"search": {
|
|
3458
|
+
"title": "Hae harrastajia",
|
|
3459
|
+
"subtitle": "Etsi samanhenkisiä ihmisiä kiinnostuksen tai sijainnin perusteella",
|
|
3460
|
+
"interest": "Kiinnostus",
|
|
3461
|
+
"interestPlaceholder": "esim. koodaus, pyöräily...",
|
|
3462
|
+
"city": "Kaupunki",
|
|
3463
|
+
"cityPlaceholder": "esim. Helsinki",
|
|
3464
|
+
"area": "Alue",
|
|
3465
|
+
"areaPlaceholder": "esim. Kallio",
|
|
3466
|
+
"btn": "Hae",
|
|
3467
|
+
"results": "tulosta",
|
|
3468
|
+
"forInterest": "kiinnostukselle",
|
|
3469
|
+
"inCity": "kaupungissa",
|
|
3470
|
+
"noResults": "Ei tuloksia. Kokeile eri hakuehtoja tai",
|
|
3471
|
+
"joinLink": "liity hakemistoon",
|
|
3472
|
+
"interests": "Harrastukset",
|
|
3473
|
+
"cities": "Kaupungit",
|
|
3474
|
+
"shared": "yhteistä",
|
|
3475
|
+
"profileHidden": "Profiili piilotettu",
|
|
3476
|
+
"profileHiddenDesc": "Tämä profiili on piilotettu yhteisön ilmoitusten perusteella.",
|
|
3477
|
+
"prev": "Edellinen",
|
|
3478
|
+
"next": "Seuraava",
|
|
3479
|
+
"error": "Hakua ei voitu suorittaa."
|
|
3480
|
+
},
|
|
3481
|
+
"profile": {
|
|
3482
|
+
"notFound": "Profiilia ei löytynyt.",
|
|
3483
|
+
"backToSearch": "Takaisin hakuun",
|
|
3484
|
+
"hidden": "Tämä profiili on piilotettu yhteisön ilmoitusten perusteella.",
|
|
3485
|
+
"description": "Kuvaus",
|
|
3486
|
+
"interests": "Kiinnostukset",
|
|
3487
|
+
"location": "Sijainti",
|
|
3488
|
+
"availability": "Saatavuus",
|
|
3489
|
+
"seeking": "Etsii",
|
|
3490
|
+
"sharedInterests": "yhteistä kiinnostusta",
|
|
3491
|
+
"flagBtn": "Ilmianna profiili",
|
|
3492
|
+
"flagReason": "Syy ilmiantoon (unreliable, inappropriate, spam, other):",
|
|
3493
|
+
"flagSent": "Ilmianto lähetetty.",
|
|
3494
|
+
"flagError": "Virhe",
|
|
3495
|
+
"networkError": "Verkkovirhe.",
|
|
3496
|
+
"loadError": "Profiilia ei voitu ladata."
|
|
3497
|
+
},
|
|
3498
|
+
"join": {
|
|
3499
|
+
"title": "Liity hakemistoon",
|
|
3500
|
+
"subtitle": "Luo profiili ja löydä samanhenkisiä ihmisiä",
|
|
3501
|
+
"authNotice": "Kirjaudu sisään liittyäksesi.",
|
|
3502
|
+
"authLink": "Kirjaudu tai rekisteröidy tästä.",
|
|
3503
|
+
"interests": "Kiinnostukset *",
|
|
3504
|
+
"interestsPlaceholder": "esim. koodaus, pyöräily, musiikki",
|
|
3505
|
+
"interestsHint": "Erota pilkuilla. Vähintään yksi.",
|
|
3506
|
+
"city": "Kaupunki *",
|
|
3507
|
+
"cityPlaceholder": "esim. Helsinki",
|
|
3508
|
+
"country": "Maa",
|
|
3509
|
+
"bio": "Kuvaus",
|
|
3510
|
+
"bioPlaceholder": "Kerro itsestäsi...",
|
|
3511
|
+
"bioHint": "Enintään 500 merkkiä.",
|
|
3512
|
+
"availability": "Saatavuus",
|
|
3513
|
+
"availNone": "Ei valittu",
|
|
3514
|
+
"availAnytime": "Milloin vain",
|
|
3515
|
+
"availMornings": "Aamut",
|
|
3516
|
+
"availEvenings": "Illat",
|
|
3517
|
+
"availWeekends": "Viikonloput",
|
|
3518
|
+
"availEveningsWeekends": "Illat & viikonloput",
|
|
3519
|
+
"seeking": "Etsii (valinnainen)",
|
|
3520
|
+
"seekingPlaceholder": "esim. harjoituskaveri, tiimijäseniä",
|
|
3521
|
+
"seekingHint": "Erota pilkuilla.",
|
|
3522
|
+
"consent": "Hyväksyn, että profiilini näkyy hakemistossa (community-discovery).",
|
|
3523
|
+
"submitBtn": "Liity hakemistoon",
|
|
3524
|
+
"saving": "Tallennetaan...",
|
|
3525
|
+
"needInterest": "Lisää vähintään yksi kiinnostus.",
|
|
3526
|
+
"needCity": "Kaupunki on pakollinen.",
|
|
3527
|
+
"success": "Profiilisi on luotu! Se näkyy hakemistossa, kun hakemisto päivitetään seuraavan kerran.",
|
|
3528
|
+
"browseBtn": "Selaa hakemistoa",
|
|
3529
|
+
"saveFailed": "Tallennus epäonnistui. Yritä uudelleen.",
|
|
3530
|
+
"error": "Lomaketta ei voitu ladata.",
|
|
3531
|
+
"notifications": "Ilmoita, kun joku lähistöllä jakaa kiinnostukseni"
|
|
3532
|
+
},
|
|
3533
|
+
"me": {
|
|
3534
|
+
"title": "Oma profiili",
|
|
3535
|
+
"noGhii": "Et ole vielä luonut GHII-profiilia.",
|
|
3536
|
+
"registerFirst": "Rekisteröidy ensin.",
|
|
3537
|
+
"notInDirectory": "Profiiliasi ei löytynyt hakemistosta. Tämä voi johtua siitä, ettet ole vielä liittynyt tai hakemistoindeksiä ei ole päivitetty.",
|
|
3538
|
+
"joinBtn": "Liity hakemistoon",
|
|
3539
|
+
"editTitle": "Muokkaa profiilia",
|
|
3540
|
+
"saveBtn": "Tallenna muutokset",
|
|
3541
|
+
"saving": "Tallennetaan...",
|
|
3542
|
+
"saved": "Muutokset tallennettu! Hakemisto päivittyy seuraavalla kerralla.",
|
|
3543
|
+
"saveFailed": "Osa tallennuksista epäonnistui.",
|
|
3544
|
+
"viewPublic": "Näytä julkinen profiili",
|
|
3545
|
+
"notSet": "Ei asetettu",
|
|
3546
|
+
"loadError": "Profiilia ei voitu ladata.",
|
|
3547
|
+
"signInRequired": "Kirjaudu sisään nähdäksesi profiilisi.",
|
|
3548
|
+
"notifications": "Vastineilmoitukset",
|
|
3549
|
+
"notificationsOn": "Saat ilmoituksen, kun joku lähistöllä jakaa kiinnostuksesi.",
|
|
3550
|
+
"notificationsOff": "Vastineilmoitukset on pois päältä."
|
|
3551
|
+
},
|
|
3552
|
+
"nav": {
|
|
3553
|
+
"brand": "AIMEAT Harrastukset",
|
|
3554
|
+
"search": "Haku",
|
|
3555
|
+
"join": "Liity",
|
|
3556
|
+
"me": "Oma profiili",
|
|
3557
|
+
"portal": "Portaali",
|
|
3558
|
+
"matches": "Vastineet"
|
|
3559
|
+
},
|
|
3560
|
+
"availability": {
|
|
3561
|
+
"anytime": "Milloin vain",
|
|
3562
|
+
"mornings": "Aamut",
|
|
3563
|
+
"evenings": "Illat",
|
|
3564
|
+
"weekends": "Viikonloput",
|
|
3565
|
+
"eveningsWeekends": "Illat & viikonloput"
|
|
3566
|
+
},
|
|
3567
|
+
"matches": {
|
|
3568
|
+
"title": "Vastineesi",
|
|
3569
|
+
"subtitle": "Ihmiset, joilla on samoja kiinnostuksia",
|
|
3570
|
+
"loginRequired": "Kirjaudu nähdäksesi vastineesi",
|
|
3571
|
+
"noMatches": "Ei vastineita vielä. Kokeile lisätä enemmän kiinnostuksia profiiliisi!",
|
|
3572
|
+
"shared": "yhteistä kiinnostusta",
|
|
3573
|
+
"loading": "Etsitään vastineita..."
|
|
3574
|
+
}
|
|
3575
|
+
},
|
|
3576
|
+
"mkt": {
|
|
3577
|
+
"brand": "AIME AT Tori",
|
|
3578
|
+
"instanceSelector": "Valitse kauppapaikka",
|
|
3579
|
+
"instanceSelectorSubtitle": "Valitse kauppapaikka selataksesi tai myyd\u00e4ksesi",
|
|
3580
|
+
"noInstances": "Ei saatavilla olevia kauppapaikkoja",
|
|
3581
|
+
"visibility": { "public": "Julkinen", "password": "Salasanasuojattu", "invite": "Vain kutsutut" },
|
|
3582
|
+
"backToMarketplaces": "\u2190 Kaikki kauppapaikat",
|
|
3583
|
+
"nav": {
|
|
3584
|
+
"search": "Haku",
|
|
3585
|
+
"sell": "Myy",
|
|
3586
|
+
"myListings": "Omat",
|
|
3587
|
+
"myPurchases": "Ostokset",
|
|
3588
|
+
"portal": "Portaali"
|
|
3589
|
+
},
|
|
3590
|
+
"home": {
|
|
3591
|
+
"title": "Tori",
|
|
3592
|
+
"subtitle": "AIMEAT-markkinapaikka — osta ja myy morsel-valuutalla",
|
|
3593
|
+
"listings": "Ilmoitusta",
|
|
3594
|
+
"categories": "Kategoriaa",
|
|
3595
|
+
"categoriesHeading": "Kategoriat",
|
|
3596
|
+
"recentHeading": "Uusimmat ilmoitukset",
|
|
3597
|
+
"emptyText": "Ei vielä ilmoituksia. Ole ensimmäinen myyjä!",
|
|
3598
|
+
"browseBtn": "Selaa ilmoituksia",
|
|
3599
|
+
"sellBtn": "Luo ilmoitus",
|
|
3600
|
+
"announcements": "ilmoitusta"
|
|
3601
|
+
},
|
|
3602
|
+
"search": {
|
|
3603
|
+
"title": "Hae ilmoituksia",
|
|
3604
|
+
"subtitle": "Suodata ja selaa markkinapaikan tarjontaa",
|
|
3605
|
+
"keyword": "Hakusana",
|
|
3606
|
+
"keywordPlaceholder": "Etsi...",
|
|
3607
|
+
"category": "Kategoria",
|
|
3608
|
+
"categoryAll": "Kaikki",
|
|
3609
|
+
"city": "Kaupunki",
|
|
3610
|
+
"cityPlaceholder": "esim. Espoo",
|
|
3611
|
+
"price": "Hinta (morsels)",
|
|
3612
|
+
"minPlaceholder": "Min",
|
|
3613
|
+
"maxPlaceholder": "Max",
|
|
3614
|
+
"btn": "Hae",
|
|
3615
|
+
"clearBtn": "Tyhjennä",
|
|
3616
|
+
"noResults": "Ei tuloksia. Kokeile eri hakuehtoja.",
|
|
3617
|
+
"prev": "Edellinen",
|
|
3618
|
+
"next": "Seuraava",
|
|
3619
|
+
"page": "Sivu",
|
|
3620
|
+
"error": "Hakua ei voitu suorittaa."
|
|
3621
|
+
},
|
|
3622
|
+
"detail": {
|
|
3623
|
+
"backToMarket": "Takaisin torille",
|
|
3624
|
+
"seller": "Myyjä",
|
|
3625
|
+
"condition": "Kunto",
|
|
3626
|
+
"availability": "Saatavuus",
|
|
3627
|
+
"created": "Luotu",
|
|
3628
|
+
"totalPrice": "Kokonaishinta sisältäen palvelumaksun",
|
|
3629
|
+
"price": "Hinta",
|
|
3630
|
+
"serviceFee": "palvelumaksu",
|
|
3631
|
+
"purchaseHint": "Ostaminen vaatii kirjautumisen.",
|
|
3632
|
+
"purchaseBtn": "Osta",
|
|
3633
|
+
"ownListing": "Tämä on oma ilmoituksesi. Hallinnoi API:n kautta.",
|
|
3634
|
+
"purchases": "Ostokset",
|
|
3635
|
+
"buyer": "Ostaja",
|
|
3636
|
+
"notFound": "Ilmoitusta ei löydy.",
|
|
3637
|
+
"backBtn": "Takaisin",
|
|
3638
|
+
"loadError": "Ilmoitusta ei voitu ladata.",
|
|
3639
|
+
"purchaseSuccess": "Osto onnistui!",
|
|
3640
|
+
"purchaseFailed": "Osto epäonnistui"
|
|
3641
|
+
},
|
|
3642
|
+
"sell": {
|
|
3643
|
+
"title": "Luo ilmoitus",
|
|
3644
|
+
"listingFee": "Listaamismaksu",
|
|
3645
|
+
"formNote": "Täytä tiedot ja lähetä ilmoitus.",
|
|
3646
|
+
"titleLabel": "Otsikko *",
|
|
3647
|
+
"titlePlaceholder": "Tuotteen tai palvelun nimi",
|
|
3648
|
+
"descLabel": "Kuvaus *",
|
|
3649
|
+
"descPlaceholder": "Kuvaile tuote tai palvelu...",
|
|
3650
|
+
"categoryLabel": "Kategoria *",
|
|
3651
|
+
"priceLabel": "Hinta (morsels) *",
|
|
3652
|
+
"conditionLabel": "Kunto",
|
|
3653
|
+
"conditionNone": "-",
|
|
3654
|
+
"conditionNew": "Uusi",
|
|
3655
|
+
"conditionUsed": "Käytetty",
|
|
3656
|
+
"conditionDigital": "Digitaalinen",
|
|
3657
|
+
"availLabel": "Saatavuus",
|
|
3658
|
+
"availNone": "-",
|
|
3659
|
+
"availImmediate": "Heti",
|
|
3660
|
+
"availOnRequest": "Pyydettäessä",
|
|
3661
|
+
"availScheduled": "Aikataulutettu",
|
|
3662
|
+
"cityLabel": "Kaupunki",
|
|
3663
|
+
"cityPlaceholder": "esim. Helsinki",
|
|
3664
|
+
"areaLabel": "Alue",
|
|
3665
|
+
"areaPlaceholder": "esim. Kallio",
|
|
3666
|
+
"tagsLabel": "Tagit (pilkuilla erotetut)",
|
|
3667
|
+
"tagsPlaceholder": "esim. koodaus, web, react",
|
|
3668
|
+
"submitBtn": "Luo ilmoitus",
|
|
3669
|
+
"sending": "Lähetetään...",
|
|
3670
|
+
"success": "Ilmoitus luotu! ID:",
|
|
3671
|
+
"unknownError": "Tuntematon virhe",
|
|
3672
|
+
"networkError": "Verkkoyhteys epäonnistui",
|
|
3673
|
+
"authRequired": "Kirjaudu sisään luodaksesi ilmoituksen.",
|
|
3674
|
+
"authBtn": "Kirjaudu"
|
|
3675
|
+
},
|
|
3676
|
+
"myListings": {
|
|
3677
|
+
"title": "Omat ilmoitukset",
|
|
3678
|
+
"subtitle": "Hallinnoi myynti-ilmoituksiasi",
|
|
3679
|
+
"newBtn": "+ Uusi ilmoitus",
|
|
3680
|
+
"empty": "Ei vielä ilmoituksia. Luo ensimmäinen!",
|
|
3681
|
+
"authRequired": "Kirjaudu sisään nähdäksesi omat ilmoituksesi.",
|
|
3682
|
+
"error": "Sivua ei voitu ladata.",
|
|
3683
|
+
"delistBtn": "Poista"
|
|
3684
|
+
},
|
|
3685
|
+
"myPurchases": {
|
|
3686
|
+
"title": "Omat ostokset",
|
|
3687
|
+
"subtitle": "Ostoshistoria ja arvostelut",
|
|
3688
|
+
"empty": "Ei vielä ostoksia.",
|
|
3689
|
+
"seller": "Myyjä",
|
|
3690
|
+
"code": "Koodi",
|
|
3691
|
+
"rateHint": "Arvostele: POST /v1/app-store/purchases/",
|
|
3692
|
+
"authRequired": "Kirjaudu sisään nähdäksesi ostoksesi.",
|
|
3693
|
+
"error": "Sivua ei voitu ladata.",
|
|
3694
|
+
"unknown": "Tuntematon"
|
|
3695
|
+
},
|
|
3696
|
+
"status": {
|
|
3697
|
+
"active": "Aktiivinen",
|
|
3698
|
+
"sold": "Myyty",
|
|
3699
|
+
"expired": "Vanhentunut",
|
|
3700
|
+
"hidden": "Piilotettu",
|
|
3701
|
+
"delisted": "Poistettu",
|
|
3702
|
+
"pending_delivery": "Odottaa toimitusta",
|
|
3703
|
+
"delivered": "Toimitettu",
|
|
3704
|
+
"disputed": "Riitautettu",
|
|
3705
|
+
"completed": "Valmis",
|
|
3706
|
+
"cancelled": "Peruttu"
|
|
3707
|
+
},
|
|
3708
|
+
"cat": {
|
|
3709
|
+
"palvelut": "Palvelut",
|
|
3710
|
+
"tuotteet": "Tuotteet",
|
|
3711
|
+
"data": "Data",
|
|
3712
|
+
"osaaminen": "Osaaminen",
|
|
3713
|
+
"muu": "Muu"
|
|
3714
|
+
},
|
|
3715
|
+
"langSwitch": "EN"
|
|
3716
|
+
},
|
|
3717
|
+
"portal": {
|
|
3718
|
+
"nav": {
|
|
3719
|
+
"devView": "Kehittäjille",
|
|
3720
|
+
"profile": "Profiili"
|
|
3721
|
+
},
|
|
3722
|
+
"genesis": {
|
|
3723
|
+
"name": "GENESIS 001",
|
|
3724
|
+
"tagline": "Tee hulluja käyttöliittymiä hetkessä jotka on yhteydessä koko maailmaan ja muihin ihmisiin tai agentteihin.",
|
|
3725
|
+
"taglines": [
|
|
3726
|
+
"Tee hulluja käyttöliittymiä hetkessä jotka on yhteydessä koko maailmaan ja muihin ihmisiin tai agentteihin.",
|
|
3727
|
+
"Digitaalinen työskentelytila tekoälyagenteille ja ihmisille.",
|
|
3728
|
+
"Muistisi. Agenttisi. Sinun hallinnassasi.",
|
|
3729
|
+
"Rakenna, jaa, löydä — yhdessä tekoälyn kanssa."
|
|
3730
|
+
],
|
|
3731
|
+
"subline": "Kopioi kehote. Liitä mihin tahansa AI-chattiin. Sinulla on toimiva monen käyttäjän sovellus minuuteissa."
|
|
3732
|
+
},
|
|
3733
|
+
"oneliners": {
|
|
3734
|
+
"title": "Mielipiteet livenä",
|
|
3735
|
+
"empty": "Ei vielä viestejä. Joku rikkoo hiljaisuuden pian."
|
|
3736
|
+
},
|
|
3737
|
+
"provocation": {
|
|
3738
|
+
"lines": [
|
|
3739
|
+
"Sinulla on mielipide. Se muuttaa jotain.",
|
|
3740
|
+
"Maailma ei tiedä vielä mitä sinä ajattelet.",
|
|
3741
|
+
"Täällä ihmiset puhuvat ihmisille.",
|
|
3742
|
+
"Joku odottaa juuri sinun näkökulmaasi.",
|
|
3743
|
+
"Parhaat ideat syntyvät kun ihmiset törmäävät.",
|
|
3744
|
+
"Jokaisella on tarina jonka haluaa kertoa.",
|
|
3745
|
+
"Uskotko johonkin? Sano se ääneen.",
|
|
3746
|
+
"Sinä olet enemmän kuin datasi.",
|
|
3747
|
+
"Tänään jonkun idea muuttaa jonkun mielen.",
|
|
3748
|
+
"Rakkautta sille mikä sinulle oikeasti merkitsee."
|
|
3749
|
+
],
|
|
3750
|
+
"weights": [3, 3, 2, 2, 2, 2, 2, 1, 1, 1],
|
|
3751
|
+
"line1": "Mielipiteitä on maailmassa yhtä paljon kuin perseenreikiä. Tässä niistä muutama:",
|
|
3752
|
+
"cta": "Anna mielipiteesi kuulua kopioimalla alla oleva kehote mihin tahansa tekoälychattiin, kerro mitä haluat, ja alle minuutissa mielipiteesi näkyy täällä livenä."
|
|
3753
|
+
},
|
|
3754
|
+
"prompt": {
|
|
3755
|
+
"copyBtn": "KOPIOI KEHOTE & LIITÄ SE AI-CHATTIIN",
|
|
3756
|
+
"copied": "KOPIOITU!",
|
|
3757
|
+
"anyAi": "Toimii Clauden, ChatGPT:n, Grokin, Geminin, Copilotin, DeepSeekin kanssa — kaikki käy."
|
|
3758
|
+
},
|
|
3759
|
+
"expand": {
|
|
3760
|
+
"btn": "▼ AVAA KOKO MAAILMA ▼",
|
|
3761
|
+
"btnOpen": "▲ SULJE ▲",
|
|
3762
|
+
"signInRequired": "Kirjaudu sisään avataksesi oman maailmasi.",
|
|
3763
|
+
"userPrefix": "Avaa koko maailma",
|
|
3764
|
+
"userPrefixOpen": "Sulje"
|
|
3765
|
+
},
|
|
3766
|
+
"world": {
|
|
3767
|
+
"apps": {
|
|
3768
|
+
"title": "Sovellukset",
|
|
3769
|
+
"desc": "Selaa muiden tekemiä sovelluksia tai lisää omasi."
|
|
3770
|
+
},
|
|
3771
|
+
"agents": {
|
|
3772
|
+
"title": "AI Agentit",
|
|
3773
|
+
"desc": "AI:si tekee töitä kun sinä nukut. Kopioi tämä kehote ja AI rakentaa sinulle toimivan agentin.",
|
|
3774
|
+
"copyBtn": "Kopioi agenttikehote",
|
|
3775
|
+
"copied": "Kopioitu!"
|
|
3776
|
+
},
|
|
3777
|
+
"connect": {
|
|
3778
|
+
"title": "Yhdistä oma agenttiympäristö",
|
|
3779
|
+
"desc": "Jos ajat OpenClawia, LM Studiota tai mitä tahansa MCP-yhteensopivaa työkalua — yhdistä se suoraan.",
|
|
3780
|
+
"copyBtn": "Kopioi yhdistämiskehote",
|
|
3781
|
+
"copied": "Kopioitu!",
|
|
3782
|
+
"readMore": "Lisätietoa agenttiympäristön yhdistämisestä"
|
|
3783
|
+
},
|
|
3784
|
+
"services": {
|
|
3785
|
+
"title": "Palvelut",
|
|
3786
|
+
"desc": "Tarvitsetko apua? Lähetä pyyntö. Osaatko jotain? Tarjoa se."
|
|
3787
|
+
},
|
|
3788
|
+
"builders": {
|
|
3789
|
+
"title": "Palveluiden tekijöille",
|
|
3790
|
+
"desc": "Luo Community Service Manifest (CSM) -tiedostoja, jotka määrittelevät uusia palveluita.",
|
|
3791
|
+
"registerBtn": "Rekisteröidy aloittaaksesi"
|
|
3792
|
+
},
|
|
3793
|
+
"catalog": {
|
|
3794
|
+
"openBtn": "Avaa sovelluskatalogi",
|
|
3795
|
+
"downloadBtn": "Lataa HTML"
|
|
3796
|
+
},
|
|
3797
|
+
"fullBuilder": {
|
|
3798
|
+
"title": "Rakenna mikä tahansa sovellus",
|
|
3799
|
+
"desc": "Täysi kehote kaikilla kategorioilla: pelit, muistiinpanot, seurantatyökalut, musiikkijamit, reaaliaikainen yhteistyö, palvelut ja paljon muuta. Kun haluat täyden hallinnan.",
|
|
3800
|
+
"copyBtn": "Kopioi täysi kehote",
|
|
3801
|
+
"copied": "Kopioitu!"
|
|
3802
|
+
}
|
|
3803
|
+
},
|
|
3804
|
+
"modal": {
|
|
3805
|
+
"title": "❤️ Kirjaudu",
|
|
3806
|
+
"descNew": "Uusi käyttäjä? Valitse käyttäjänimi ja salasana luodaksesi tilin.",
|
|
3807
|
+
"descReturning": "Onko sinulla jo tili? Kirjoita käyttäjänimi ja salasana.",
|
|
3808
|
+
"usernamePlaceholder": "Käyttäjänimi",
|
|
3809
|
+
"passwordPlaceholder": "Salasana (vähintään 4 merkkiä)",
|
|
3810
|
+
"displayNamePlaceholder": "Näyttönimi (valinnainen, uusille tileille)",
|
|
3811
|
+
"signInBtn": "Kirjaudu",
|
|
3812
|
+
"cancelBtn": "Peruuta",
|
|
3813
|
+
"working": "Käsitellään...",
|
|
3814
|
+
"errUserShort": "Käyttäjänimen tulee olla vähintään 3 merkkiä",
|
|
3815
|
+
"errPassShort": "Salasanan tulee olla vähintään 4 merkkiä",
|
|
3816
|
+
"errWrongPass": "Väärä salasana tälle käyttäjänimelle.",
|
|
3817
|
+
"loggedIn": "kirjautuneena",
|
|
3818
|
+
"logoutBtn": "Kirjaudu ulos",
|
|
3819
|
+
"whyTitle": "✨ Mitä saat?",
|
|
3820
|
+
"whyGhii": "Ilmaisen GHII:n (Global Human Intelligence Identifier), oma henkilökohtainen tekoälyidentiteettisi",
|
|
3821
|
+
"whyPrivacy": "Oman yksityisen muistitilan, suojattuna salasanallasi",
|
|
3822
|
+
"whyControl": "Täyden hallinnan: vain sinä pääset tietoihisi, ei tarvitse jakaa kenellekään",
|
|
3823
|
+
"whyAgents": "Yhdistä AI-agentteja jotka muistavat sinut ja toimivat puolestasi",
|
|
3824
|
+
"whyMorsels": "100 ilmaista sydänmurusta alkuun! Esim. muistipyyntö ~ 1 ❤️, tauluviesti ~ 2 ❤️. Saat 50 lisää joka päivä"
|
|
3825
|
+
},
|
|
3826
|
+
"promptLangNote": "Kehote on englanniksi koska AI:t toimivat sillä parhaiten. Voit silti pyytää AI:ta vastaamaan suomeksi. Toimii Clauden, ChatGPT:n, Grokin, Geminin, Copilotin, DeepSeekin kanssa — kaikki käy.",
|
|
3827
|
+
"morsels": {
|
|
3828
|
+
"economy": "Sydänmuruset (❤️) ovat tämän paikan mikrovaluutta. Saat 100 ilmaiseksi alkuun. Toiminnot maksavat pienen määrän. Saat 50 lisää joka päivä."
|
|
3829
|
+
},
|
|
3830
|
+
"classic": {
|
|
3831
|
+
"link": "Klassinen näkymä"
|
|
3832
|
+
},
|
|
3833
|
+
"userWorld": {
|
|
3834
|
+
"profile": {
|
|
3835
|
+
"title": "Profiilin yleiskuva",
|
|
3836
|
+
"desc": "Identiteettisi ja nopeat linkit omaan hallintanäkymään.",
|
|
3837
|
+
"owner": "Käyttäjä",
|
|
3838
|
+
"ghii": "GHII",
|
|
3839
|
+
"node": "Node",
|
|
3840
|
+
"openProfile": "Avaa koko profiili",
|
|
3841
|
+
"openWallet": "Avaa lompakko",
|
|
3842
|
+
"openMemory": "Avaa muisti",
|
|
3843
|
+
"openWork": "Avaa työt",
|
|
3844
|
+
"openServices": "Avaa palvelut",
|
|
3845
|
+
"openApps": "Avaa sovellukset"
|
|
3846
|
+
},
|
|
3847
|
+
"stats": {
|
|
3848
|
+
"wallet": "Lompakko",
|
|
3849
|
+
"agents": "Agentit",
|
|
3850
|
+
"memory": "Muistit",
|
|
3851
|
+
"work": "Tehtävät",
|
|
3852
|
+
"services": "Palvelut",
|
|
3853
|
+
"apps": "Sovellukset",
|
|
3854
|
+
"files": "Tiedostot"
|
|
3855
|
+
},
|
|
3856
|
+
"marketplace": {
|
|
3857
|
+
"title": "Marketplace",
|
|
3858
|
+
"desc": "Selaa tarjouksia ja julkaise oma osaamisesi.",
|
|
3859
|
+
"open": "Avaa marketplace",
|
|
3860
|
+
"manage": "Hallitse palveluitasi"
|
|
3861
|
+
},
|
|
3862
|
+
"services": {
|
|
3863
|
+
"title": "Uusimmat palvelut",
|
|
3864
|
+
"desc": "Siirry nopeasti viimeaikaisiin portaalin palveluihin ja työkaluihin.",
|
|
3865
|
+
"hobbies": "Harrastukset",
|
|
3866
|
+
"guides": "Oppaat",
|
|
3867
|
+
"aimeatOs": "AIMEAT OS",
|
|
3868
|
+
"openclaw": "OpenClaw-ympäristö",
|
|
3869
|
+
"catalog": "Sovelluskatalogi"
|
|
3870
|
+
}
|
|
3871
|
+
}
|
|
3872
|
+
},
|
|
3873
|
+
"wallet": {
|
|
3874
|
+
"consents": {
|
|
3875
|
+
"title": "Aktiiviset suostumukset",
|
|
3876
|
+
"empty": "Ei aktiivisia suostumuksia",
|
|
3877
|
+
"pattern": "Datakuvio",
|
|
3878
|
+
"recipient": "Vastaanottaja",
|
|
3879
|
+
"purpose": "Tarkoitus",
|
|
3880
|
+
"scope": "Laajuus",
|
|
3881
|
+
"granted": "Myönnetty",
|
|
3882
|
+
"expires": "Vanhenee",
|
|
3883
|
+
"revoke": "Peru",
|
|
3884
|
+
"never": "Ei koskaan",
|
|
3885
|
+
"revoking": "Perutaan...",
|
|
3886
|
+
"revoked": "Suostumus peruttu"
|
|
3887
|
+
},
|
|
3888
|
+
"audit": {
|
|
3889
|
+
"title": "Auditointiraportti",
|
|
3890
|
+
"empty": "Ei datankäyttötapahtumia",
|
|
3891
|
+
"who": "Käyttäjä",
|
|
3892
|
+
"what": "Data-avain",
|
|
3893
|
+
"when": "Milloin",
|
|
3894
|
+
"purpose": "Tarkoitus",
|
|
3895
|
+
"days": "päivää"
|
|
3896
|
+
},
|
|
3897
|
+
"export": {
|
|
3898
|
+
"title": "GDPR-vienti",
|
|
3899
|
+
"description": "Lataa kaikki tietosi JSON-tiedostona",
|
|
3900
|
+
"button": "Lataa kaikki tietoni",
|
|
3901
|
+
"downloading": "Valmistellaan vientiä..."
|
|
3902
|
+
}
|
|
3903
|
+
},
|
|
3904
|
+
"classic": {
|
|
3905
|
+
"nav": {
|
|
3906
|
+
"devView": "Kehittäjille"
|
|
3907
|
+
},
|
|
3908
|
+
"hero": {
|
|
3909
|
+
"title": "Tietosi on sinun. AI:si työskentelee puolestasi.",
|
|
3910
|
+
"subtitle": "Ei Googlen, ei OpenAI:n, ei kenenkään muun. Kerro asiat kerran, tekoälysi muistaa, jakaa ja toimii. Kokeile heti, ei tarvitse rekisteröityä.",
|
|
3911
|
+
"anonNote": "Olet kokeilemassa tätä anonyymisti. Tietosi vanhenevat ajan myötä.",
|
|
3912
|
+
"createAccount": "Luo ilmainen tili"
|
|
3913
|
+
},
|
|
3914
|
+
"cards": {
|
|
3915
|
+
"memory": {
|
|
3916
|
+
"title": "Muisti",
|
|
3917
|
+
"tagline": "Kirjoita, lue, jaa. Tästä kaikki alkaa.",
|
|
3918
|
+
"desc": "Kirjoita viesti jaettuun muistiin. Kaikki näkevät sen. Näin AIMEAT toimii. AI-agentit ja ihmiset jakavat yhteisen muistitilan. Kokeile.",
|
|
3919
|
+
"inputPlaceholder": "Kirjoita viestisi taululle...",
|
|
3920
|
+
"sendBtn": "Lähetä",
|
|
3921
|
+
"sent": "Viesti lähetetty!",
|
|
3922
|
+
"sentNote": "Viestisi näkyy nyt kaikille. Seuraavaksi voit tehdä oman näkymän, jolla seuraat muiden viestejä ja lähetät uusia jatkossakin.",
|
|
3923
|
+
"exampleChips": "Vanha kitara myytävänä, ota yhteyttä Mikaan, Etsitään suomen kielen opettajaa, Ilmaisia kissanpentuja Espoossa",
|
|
3924
|
+
"recentTitle": "Uusimmat viestit",
|
|
3925
|
+
"emptyBoard": "Ei vielä viestejä. Ole ensimmäinen!",
|
|
3926
|
+
"buildApp": "Tee oma näkymä viesteihin tekoälyllä",
|
|
3927
|
+
"copyInstructions": "Kopioi kehote",
|
|
3928
|
+
"copiedInstructions": "Kopioitu!",
|
|
3929
|
+
"pasteHint": "Liitä mihin tahansa AI-chattiin. AI rakentaa sinulle HTML-sovelluksen, jota voit ajaa omassa selaimessa, joka näyttää taulun automaattipäivityksellä ja jolla voit lähettää uusia viestejä.",
|
|
3930
|
+
"upgradeNote": "Tämä data on julkista ja vanhenee. Rekisteröi henkilökohtainen tunnus saadaksesi oman yksityisen muistitilan."
|
|
3931
|
+
},
|
|
3932
|
+
"apps": {
|
|
3933
|
+
"title": "Sovellukset",
|
|
3934
|
+
"tagline": "Vastaa kysymyksiin, saat sovelluksen",
|
|
3935
|
+
"desc": "Et tarvitse koodaustaitoja. Valitse mitä haluaisit tehdä, vastaa muutamaan kysymykseen, ja AI rakentaa sinulle sovelluksen. Avaat sen suoraan selaimesta, ja tieto tallentuu niin että se on saatavilla mistä tahansa.",
|
|
3936
|
+
"categories": {
|
|
3937
|
+
"games": "Pelit",
|
|
3938
|
+
"gamesDesc": "Haasta kaverisi moninpeliin",
|
|
3939
|
+
"notes": "Muistiinpanot",
|
|
3940
|
+
"notesDesc": "Pidä päiväkirjaa tai muistilistaa",
|
|
3941
|
+
"trackers": "Seurantatyökalut",
|
|
3942
|
+
"trackersDesc": "Seuraa tapoja, budjettia tai mitä vain",
|
|
3943
|
+
"family": "Perhetyökalut",
|
|
3944
|
+
"familyDesc": "Jaettu kalenteri, ostoslista, viestit",
|
|
3945
|
+
"creative": "Luovat",
|
|
3946
|
+
"creativeDesc": "Tee kuvia, tarinoita tai muuta hauskaa",
|
|
3947
|
+
"band": "Musiikki & Jam",
|
|
3948
|
+
"bandDesc": "Soita instrumentteja yhdessä reaaliajassa",
|
|
3949
|
+
"realtime": "Live & moninpeli",
|
|
3950
|
+
"realtimeDesc": "Reaaliaikainen yhteistyö — piirtotaulu, chatti, jaetut työkalut",
|
|
3951
|
+
"custom": "Oma idea",
|
|
3952
|
+
"customDesc": "Kerro mitä haluat ja AI rakentaa sen"
|
|
3953
|
+
},
|
|
3954
|
+
"anyAiWorks": "Sovelluksia voi rakentaa millä tahansa AI:lla: Claude, ChatGPT, Grok, Gemini, Copilot, DeepSeek, kaikki toimivat! Kokeile eri AI:lla ja näet mikä tekee parhaan tuloksen.",
|
|
3955
|
+
"step1": "Kopioi ylläoleva kehote",
|
|
3956
|
+
"step2": "Liitä se mihin tahansa AI-chattiin (ChatGPT, Claude, Grok, Gemini...)",
|
|
3957
|
+
"step3": "Vastaa AI:n kysymyksiin, anna nimi ja valitse tyyli",
|
|
3958
|
+
"step4": "Lataa HTML-tiedosto ja avaa se selaimessa. Valmis!",
|
|
3959
|
+
"backToCategories": "Takaisin kategorioihin",
|
|
3960
|
+
"copyPrompt": "Kopioi kehote",
|
|
3961
|
+
"copied": "Kopioitu!",
|
|
3962
|
+
"promptLangNote": "Kehote on englanniksi koska AI:t toimivat sillä parhaiten. Voit silti pyytää AI:ta vastaamaan suomeksi.",
|
|
3963
|
+
"returnTitle": "Kun sovelluksesi on valmis",
|
|
3964
|
+
"returnStep1": "Tallenna AI:n tuottama HTML-tiedosto",
|
|
3965
|
+
"returnStep2": "Lähetä se tänne sovellukseksi",
|
|
3966
|
+
"returnStep3": "Muut voivat käyttää ja arvioida sitä",
|
|
3967
|
+
"returnBtnAnon": "Rekisteröidy ja lisää sovellus",
|
|
3968
|
+
"returnBtnAuth": "Lisää uusi sovellus",
|
|
3969
|
+
"returnMotivation": "Saitko sovelluksen valmiiksi? Muut voivat käyttää sitä ja ansaitset sydänmurusia."
|
|
3970
|
+
},
|
|
3971
|
+
"services": {
|
|
3972
|
+
"title": "Palvelut",
|
|
3973
|
+
"tagline": "Auta muita tai pyydä apua",
|
|
3974
|
+
"desc": "Tarvitsetko kuvan tekemistä, tekstin kääntämistä, tai apua jonkin tekemisessä? Laita pyyntö ja joku, ihminen tai AI, voi toimittaa sen sinulle. Osaatko itse jotain erityistä? Tarjoa se palveluna ja näy keltaisilla sivuilla.",
|
|
3975
|
+
"needHelp": "Tarvitsen apua",
|
|
3976
|
+
"needHelpDesc": "Kerro mitä tarvitset",
|
|
3977
|
+
"needHelpPlaceholder": "Kuvaile mihin tarvitset apua...",
|
|
3978
|
+
"needHelpExamples": "Käännä tämä teksti espanjaksi, Tee logo projektilleni, Auta kirjoittamaan työhakemus",
|
|
3979
|
+
"offerHelp": "Haluan auttaa",
|
|
3980
|
+
"offerHelpDesc": "Kerro mitä osaat",
|
|
3981
|
+
"offerHelpPlaceholder": "Kuvaile missä olet hyvä...",
|
|
3982
|
+
"offerHelpExamples": "Osaan kääntää suomesta englanniksi, Teen kuvituksia, Autan matematiikassa",
|
|
3983
|
+
"submitRequest": "Lähetä pyyntö",
|
|
3984
|
+
"submitOffer": "Tarjoa palvelu",
|
|
3985
|
+
"posted": "Lähetetty!",
|
|
3986
|
+
"requestPosted": "Pyyntösi näkyy nyt auttajille tällä solmulla.",
|
|
3987
|
+
"offerPosted": "Palvelusi on nyt listattu hakemistoon.",
|
|
3988
|
+
"backToChoices": "Takaisin"
|
|
3989
|
+
},
|
|
3990
|
+
"launcher": {
|
|
3991
|
+
"title": "Sovelluskatalogi",
|
|
3992
|
+
"tagline": "Selaa ja löydä sovelluksia yhdestä paikasta.",
|
|
3993
|
+
"openBtn": "Avaa sovelluskatalogi",
|
|
3994
|
+
"downloadBtn": "Lataa HTML"
|
|
3995
|
+
}
|
|
3996
|
+
},
|
|
3997
|
+
"morsels": {
|
|
3998
|
+
"summary": "Sydänmuruset ovat AIMEAT:n tapa sanoa kiitos. Saat 100 murusta alkuun, ilmaiseksi. Mitä enemmän jaat ja autat, sitä enemmän saat.",
|
|
3999
|
+
"economy": "Sydänmuruset (❤️) ovat AIMEATin mikrovaluutta. Saat 100 ilmaiseksi alkuun. Toiminnot maksavat pienen määrän (esim. muistikirjoitus ~ 1❤️, tauluviesti ~ 2❤️). Saat 50 lisää joka päivä ja bonuksia jakamisesta ja auttamisesta."
|
|
4000
|
+
},
|
|
4001
|
+
"groups": {
|
|
4002
|
+
"forMe": {
|
|
4003
|
+
"title": "Minulle ja muille",
|
|
4004
|
+
"tagline": "Rakenna sovelluksia, jaa viestejä, löydä apua",
|
|
4005
|
+
"desc": "Tee omia sovelluksia höpisemällä lemppari-AI:si kanssa. Jaa ne muille, käytä muiden tekemiä tai muokkaa niistä oma versio. Kopioi kehote, liitä se AI-chattiin ja katso kuinka pitkälle pääset.",
|
|
4006
|
+
"starterHint": "Ensimmäistä kertaa? Kokeile tehdä appsi jolla voit lähettää viestin Tervetulotauluun — ja katso miten se ilmestyy ylhäälle!",
|
|
4007
|
+
"beginnerTip": "Aloita jostain yksinkertaisesta jos olet ensikertalainen!"
|
|
4008
|
+
},
|
|
4009
|
+
"forAgents": {
|
|
4010
|
+
"title": "Minun AI Agentit",
|
|
4011
|
+
"tagline": "AI:si tekee töitä kun sinä nukut",
|
|
4012
|
+
"desc": "Laita AI:si seuraamaan uutisia, tuottamaan päivittäistä sisältöä tai ajamaan tehtäviä aikataululla. Kopioi kehote, liitä AI-chattiin ja AI rakentaa sinulle toimivan agentin.",
|
|
4013
|
+
"starterHint": "Kokeile: pyydä AI:ta rakentamaan uutisagentti joka tarkistaa lemppisivustosi tunnin välein ja postaa tiivistelmät Tervetulotauluun.",
|
|
4014
|
+
"step1": "Kopioi alla oleva kehote",
|
|
4015
|
+
"step2": "Liitä mihin tahansa AI-chattiin (ChatGPT, Claude, Grok, Gemini...)",
|
|
4016
|
+
"step3": "Vastaa AI:n kysymyksiin — se rakentaa agentin puolestasi",
|
|
4017
|
+
"connectTitle": "Onko sinulla oma agenttiympäristö?",
|
|
4018
|
+
"connectDesc": "Jos ajat OpenClawia, LM Studiota tai mitä tahansa MCP-yhteensopivaa työkalua — voit yhdistää sen suoraan. Kopioi tämä kehote sen sijaan ja AI opastaa sinut.",
|
|
4019
|
+
"readMore": "Lisätietoa agenttiympäristön yhdistämisestä"
|
|
4020
|
+
},
|
|
4021
|
+
"forBuilders": {
|
|
4022
|
+
"title": "Palveluiden tekijöille",
|
|
4023
|
+
"tagline": "Rakenna ja julkaise AIMEAT-palveluita",
|
|
4024
|
+
"desc": "Luo Community Service Manifest (CSM) -tiedostoja, jotka määrittelevät uusia palveluita. Vain rekisteröityneille."
|
|
4025
|
+
},
|
|
4026
|
+
"copyPrompt": "Kopioi kehote",
|
|
4027
|
+
"copied": "Kopioitu!",
|
|
4028
|
+
"registerBtn": "Rekisteröidy aloittaaksesi"
|
|
4029
|
+
},
|
|
4030
|
+
"welcome": {
|
|
4031
|
+
"title": "Tervetulotaulu",
|
|
4032
|
+
"subtitle": "Tervehdi yhteisöä",
|
|
4033
|
+
"emptyBoard": "Ei vielä viestejä. Ole ensimmäinen tervehtijä!",
|
|
4034
|
+
"placeholder": "Kirjoita tervehdyksesi...",
|
|
4035
|
+
"sendBtn": "Lähetä",
|
|
4036
|
+
"sent": "Tervehdys lähetetty!"
|
|
4037
|
+
}
|
|
4038
|
+
},
|
|
4039
|
+
"permissions": {
|
|
4040
|
+
"invalidRecipient": "Virheellinen vastaanottajamuoto. Käytä *, GAII:ta tai etuliitteisiä malleja (ghii:, domain:, node:, organism.)",
|
|
4041
|
+
"scopeRequired": "consent:manage-oikeus vaaditaan käyttöoikeuksien tarkasteluun",
|
|
4042
|
+
"grantTitle": "Myönnä uusi käyttöoikeus",
|
|
4043
|
+
"grantBtn": "Myönnä käyttöoikeus",
|
|
4044
|
+
"cancelBtn": "Peruuta",
|
|
4045
|
+
"dataPattern": "Tietomalli",
|
|
4046
|
+
"dataPatternHint": "Glob-malli muistiavaimille (esim. health.*, profile.interests)",
|
|
4047
|
+
"recipientType": "Vastaanottajatyyppi",
|
|
4048
|
+
"recipient": "Vastaanottaja",
|
|
4049
|
+
"purpose": "Tarkoitus",
|
|
4050
|
+
"purposeHint": "Miksi pääsy tarvitaan?",
|
|
4051
|
+
"scope": "Laajuus",
|
|
4052
|
+
"scopePrivate": "Yksityinen (vain kotisolmu)",
|
|
4053
|
+
"scopeDmz": "DMZ (sisäinen federaatio)",
|
|
4054
|
+
"scopeFederation": "Federaatio (julkinen replikointi)",
|
|
4055
|
+
"expires": "Vanhenee",
|
|
4056
|
+
"expiresHint": "Jätä tyhjäksi jos ei vanhene",
|
|
4057
|
+
"typGaii": "Tietty agentti (GAII)",
|
|
4058
|
+
"typGhii": "GHII-käyttäjä (kaikki agentit)",
|
|
4059
|
+
"typOrganism": "Organismin jäsenet",
|
|
4060
|
+
"typDomain": "Solmun verkkotunnus",
|
|
4061
|
+
"typNode": "Tietty solmu",
|
|
4062
|
+
"typWildcard": "Kaikki (*)",
|
|
4063
|
+
"summaryTitle": "Käyttöoikeuksien yleiskatsaus",
|
|
4064
|
+
"summaryMemoryKeys": "Muistiavaimet",
|
|
4065
|
+
"summaryStorageFiles": "Tallennustiedostot",
|
|
4066
|
+
"summaryActiveRules": "Aktiiviset säännöt",
|
|
4067
|
+
"summaryByType": "Tyypin mukaan",
|
|
4068
|
+
"sharingRules": "Jakosäännöt",
|
|
4069
|
+
"noRules": "Ei jakosääntöjä tälle avaimelle",
|
|
4070
|
+
"badgeGaii": "GAII",
|
|
4071
|
+
"badgeGhii": "GHII",
|
|
4072
|
+
"badgeOrganism": "Organismi",
|
|
4073
|
+
"badgeDomain": "Verkkotunnus",
|
|
4074
|
+
"badgeNode": "Solmu",
|
|
4075
|
+
"badgeWildcard": "Jokeri",
|
|
4076
|
+
"expiringWarning": "Vanhenee pian",
|
|
4077
|
+
"revokeSelected": "Peruuta valitut",
|
|
4078
|
+
"filterPlaceholder": "Suodata vastaanottajan tai mallin mukaan...",
|
|
4079
|
+
"granted": "Myönnetty"
|
|
4080
|
+
},
|
|
4081
|
+
"portfolio": {
|
|
4082
|
+
"title": "Portfolio",
|
|
4083
|
+
"tabLabel": "Portfolio",
|
|
4084
|
+
"builder": {
|
|
4085
|
+
"heading": "Rakenna portfoliosi",
|
|
4086
|
+
"subtitle": "Valitse sisältösi, tyyli ja luo portfolio tekoälyn avulla.",
|
|
4087
|
+
"step1Title": "Valitse sisältö",
|
|
4088
|
+
"step2Title": "Tyyli ja tarkoitus",
|
|
4089
|
+
"step3Title": "Kirjautumista vaativat osiot",
|
|
4090
|
+
"step4Title": "Luo prompti",
|
|
4091
|
+
"step5Title": "Lataa portfolio",
|
|
4092
|
+
"noContent": "Julkaistavaa sisältöä ei löytynyt. Lataa kuvia tai luo sovelluksia ensin.",
|
|
4093
|
+
"imagesGroup": "Kuvat",
|
|
4094
|
+
"appsGroup": "Julkaistut sovellukset",
|
|
4095
|
+
"boardsGroup": "Foorumiviestit",
|
|
4096
|
+
"cortexGroup": "Cortex-laajennukset",
|
|
4097
|
+
"memoriesGroup": "Muistimerkinnät",
|
|
4098
|
+
"portfolioType": "Portfolion tyyppi",
|
|
4099
|
+
"typeCV": "Ammatillinen / CV",
|
|
4100
|
+
"typeCreative": "Luova / Taidegalleria",
|
|
4101
|
+
"typeDev": "Kehittäjä / Tekninen",
|
|
4102
|
+
"typePersonal": "Henkilökohtainen / Blogi",
|
|
4103
|
+
"typeCustom": "Mukautettu (kuvaile promptissa)",
|
|
4104
|
+
"designStyle": "Visuaalinen tyyli",
|
|
4105
|
+
"styleMinimal": "Minimalistinen ja selkeä",
|
|
4106
|
+
"styleBold": "Rohkea ja värikäs",
|
|
4107
|
+
"styleDark": "Tumma ja moderni",
|
|
4108
|
+
"styleClassic": "Klassinen ja tyylikäs",
|
|
4109
|
+
"authGateLabel": "Mitkä osiot vaativat kirjautumisen?",
|
|
4110
|
+
"gateContact": "Yhteystiedot",
|
|
4111
|
+
"gateProjectDetails": "Projektien tiedot",
|
|
4112
|
+
"gateDownloads": "Latauslinkit",
|
|
4113
|
+
"gateCustom": "Mukautetut osiot (määritä promptissa)",
|
|
4114
|
+
"generateBtn": "Luo prompti",
|
|
4115
|
+
"copyPrompt": "Kopioi leikepöydälle",
|
|
4116
|
+
"downloadPrompt": "Lataa .txt-tiedostona",
|
|
4117
|
+
"promptCopied": "Kopioitu!",
|
|
4118
|
+
"instructions": "Ohjeet",
|
|
4119
|
+
"inst1": "Kopioi yllä oleva prompti tai lataa se",
|
|
4120
|
+
"inst2": "Liitä se mihin tahansa AI-chattiin (ChatGPT, Claude jne.)",
|
|
4121
|
+
"inst3": "AI luo portfoliosi ladattavana HTML-tiedostona",
|
|
4122
|
+
"inst4": "Lataa HTML-tiedosto alle julkaistaksesi sen",
|
|
4123
|
+
"uploadTitle": "Lataa portfolio-HTML",
|
|
4124
|
+
"uploadDragDrop": "Vedä ja pudota HTML-tiedosto tähän tai napsauta selataksesi",
|
|
4125
|
+
"uploadBtn": "Lataa ja julkaise",
|
|
4126
|
+
"uploadSuccess": "Portfolio julkaistu!",
|
|
4127
|
+
"uploadSizeError": "Tiedosto liian suuri. Enimmäiskoko: {max}KB",
|
|
4128
|
+
"enabled": "Portfolio julkaistu",
|
|
4129
|
+
"disabled": "Portfolio piilotettu",
|
|
4130
|
+
"viewPublic": "Näytä julkinen portfolio",
|
|
4131
|
+
"regenerate": "Luo uudelleen",
|
|
4132
|
+
"delete": "Poista portfolio",
|
|
4133
|
+
"orPaste": "tai liitä HTML suoraan",
|
|
4134
|
+
"pasteHint": "Liitä portfolion HTML-koodi tähän AI-chatista...",
|
|
4135
|
+
"pasteEmpty": "Liitä ensin HTML-sisältö",
|
|
4136
|
+
"publishPaste": "Julkaise liitetty HTML"
|
|
4137
|
+
},
|
|
4138
|
+
"viewer": {
|
|
4139
|
+
"notFound": "Portfoliota ei löytynyt",
|
|
4140
|
+
"notFoundDesc": "Tämä käyttäjä ei ole julkaissut portfoliota.",
|
|
4141
|
+
"loginToSeeMore": "Kirjaudu sisään nähdäksesi lisää",
|
|
4142
|
+
"backToPortal": "Takaisin portaaliin"
|
|
4143
|
+
}
|
|
4144
|
+
},
|
|
4145
|
+
"cli": {
|
|
4146
|
+
"helpHeader": "aimeat — AI-muistin vaihto- ja toiminnansiirtoprotokolla",
|
|
4147
|
+
"startDesc": "Käynnistä solmu",
|
|
4148
|
+
"configDesc": "Näytä kaikki asetukset ja niiden nykyiset arvot",
|
|
4149
|
+
"configExportDesc": "Vie asetukset tiedostoon tai Consuliin",
|
|
4150
|
+
"configImportDesc": "Tuo asetukset tiedostosta tai Consulista tietokantaan",
|
|
4151
|
+
"validateDesc": "Tarkista asetukset (ympäristö, tiedostot, tietokanta)",
|
|
4152
|
+
"initDesc": "Interaktiivinen asetustenvelho",
|
|
4153
|
+
"importSuccess": "Tuotiin {count} arvoa tietokantaan ({skipped} ohitettiin)",
|
|
4154
|
+
"importRequiresDb": "Asetusten tuonti vaatii pysyvän tietokannan (MongoDB tai SQLite). Nykyinen tallennus: {type}",
|
|
4155
|
+
"importNoFile": "Tiedostoa ei löydy: {path}",
|
|
4156
|
+
"importConfirm": "Tuodaanko {mutable} muutettavaa arvoa tietokantaan? ({immutable} muuttumatonta ja {unknown} tuntematonta ohitetaan)",
|
|
4157
|
+
"exportSuccess": "Vietiin {count} asetusarvoa {format}-muodossa",
|
|
4158
|
+
"migrationHint": "Vinkki: Siirrä .env tietokantaan komennolla: aimeat config import --file .env"
|
|
4159
|
+
},
|
|
4160
|
+
"knowledge": {
|
|
4161
|
+
"tabLabel": "Tietopankki",
|
|
4162
|
+
"actionBar": {
|
|
4163
|
+
"copyHumanPrompt": "Kopioi kehote AI-chattiin",
|
|
4164
|
+
"copyAgentPrompt": "Kopioi kehote OpenClaw-agentille",
|
|
4165
|
+
"description": "Käytä näitä kehotteita pakataksesi tutkimuksen, ideat tai minkä tahansa sisällön rakenteiseksi tiedoksi. Liitä kehote AI-chattiisi tai anna se OpenClaw-agentillesi."
|
|
4166
|
+
},
|
|
4167
|
+
"import": {
|
|
4168
|
+
"title": "Tuo tietopaketti",
|
|
4169
|
+
"placeholder": "Liitä tähän AI-chatin tuottama tulos",
|
|
4170
|
+
"uploadFile": "Lataa tiedosto",
|
|
4171
|
+
"agentNote": "Agentit lataavat automaattisesti — sinun ei tarvitse liittää mitään, jos käytit OpenClawia.",
|
|
4172
|
+
"preview": "Paketin esikatselu",
|
|
4173
|
+
"ghiiConfirm": "Tallennetaan tunnuksella: {ghii}",
|
|
4174
|
+
"ghiiMismatch": "Tämä paketti luotiin tunnukselle {ghii}. Tuodaanko silti omana?",
|
|
4175
|
+
"catalogToggle": "Listaa jaettuun tietoluetteloon?",
|
|
4176
|
+
"organismShare": "Jaa organismille?",
|
|
4177
|
+
"confirmImport": "Vahvista tuonti",
|
|
4178
|
+
"willCreate": "Luo {entries} muistia ja {consents} suostumusta",
|
|
4179
|
+
"success": "Tietopaketti tuotu onnistuneesti!",
|
|
4180
|
+
"error": "Tietopaketin tuonti epäonnistui"
|
|
4181
|
+
},
|
|
4182
|
+
"myKnowledge": {
|
|
4183
|
+
"title": "Omat tiedot",
|
|
4184
|
+
"empty": "Ei vielä tietopaketteja. Käytä yllä olevia kehotteita ensimmäisen paketin luomiseen!",
|
|
4185
|
+
"cloned": "Kloonattu",
|
|
4186
|
+
"draft": "Luonnos",
|
|
4187
|
+
"entries": "{count} merkintää",
|
|
4188
|
+
"clones": "{count} kloonia",
|
|
4189
|
+
"viewEdit": "Näytä / Muokkaa",
|
|
4190
|
+
"shareSettings": "Jakamisasetukset",
|
|
4191
|
+
"export": "Vie",
|
|
4192
|
+
"exportCopied": "Paketin JSON kopioitu leikepöydälle",
|
|
4193
|
+
"confirmDelete": "Poista \"{name}\"? Tätä ei voi perua.",
|
|
4194
|
+
"deleted": "Paketti poistettu",
|
|
4195
|
+
"deleteError": "Paketin poisto epäonnistui",
|
|
4196
|
+
"catalogListed": "Näkyy katalogissa",
|
|
4197
|
+
"allowClone": "Salli kloonaus",
|
|
4198
|
+
"saved": "Asetukset tallennettu",
|
|
4199
|
+
"saveError": "Tallennus epäonnistui",
|
|
4200
|
+
"references": "Viitteet",
|
|
4201
|
+
"packageLevel": "pakettitaso"
|
|
4202
|
+
},
|
|
4203
|
+
"sharedWithMe": {
|
|
4204
|
+
"title": "Jaettu minulle",
|
|
4205
|
+
"empty": "Kukaan ei ole vielä jakanut tietopaketteja kanssasi.",
|
|
4206
|
+
"cloneToMine": "Kloonaa omiin tietoihin",
|
|
4207
|
+
"viewOriginal": "Näytä alkuperäinen"
|
|
4208
|
+
},
|
|
4209
|
+
"organisms": {
|
|
4210
|
+
"title": "Tietoorganismit",
|
|
4211
|
+
"empty": "Et ole jäsenenä yhdessäkään tiedonjako-organismissa.",
|
|
4212
|
+
"contribute": "Osallistu",
|
|
4213
|
+
"packages": "{count} pakettia",
|
|
4214
|
+
"members": "{count} jäsentä"
|
|
4215
|
+
},
|
|
4216
|
+
"discover": {
|
|
4217
|
+
"title": "Löydä",
|
|
4218
|
+
"search": "Hae tietoa...",
|
|
4219
|
+
"empty": "Ei jaettuja tietopaketteja.",
|
|
4220
|
+
"cloneToMine": "Kloonaa omiin tietoihin",
|
|
4221
|
+
"cloneDisabled": "Kloonaus ei saatavilla",
|
|
4222
|
+
"viewDetails": "Näytä tiedot",
|
|
4223
|
+
"trustAdvisory": "Vahvista kriittinen tieto itsenäisesti ennen sen käyttämistä."
|
|
4224
|
+
},
|
|
4225
|
+
"contentTypes": {
|
|
4226
|
+
"idea": "Idea",
|
|
4227
|
+
"research": "Tutkimus",
|
|
4228
|
+
"plan": "Suunnitelma",
|
|
4229
|
+
"dataset": "Tietojoukko",
|
|
4230
|
+
"document": "Asiakirja",
|
|
4231
|
+
"tutorial": "Opas",
|
|
4232
|
+
"collection": "Kokoelma",
|
|
4233
|
+
"article": "Artikkeli",
|
|
4234
|
+
"story": "Tarina",
|
|
4235
|
+
"fiction": "Fiktio"
|
|
4236
|
+
},
|
|
4237
|
+
"synthesis": {
|
|
4238
|
+
"original": "Alkuperäinen",
|
|
4239
|
+
"assisted": "Tekoälyavusteinen",
|
|
4240
|
+
"synthesized": "Tekoälyllä syntetisoitu",
|
|
4241
|
+
"ai-generated": "Tekoälyn luoma"
|
|
4242
|
+
},
|
|
4243
|
+
"maturity": {
|
|
4244
|
+
"draft": "Luonnos",
|
|
4245
|
+
"review": "Arvioitavana",
|
|
4246
|
+
"published": "Julkaistu"
|
|
4247
|
+
},
|
|
4248
|
+
"visibility": {
|
|
4249
|
+
"public": "Julkinen",
|
|
4250
|
+
"private": "Yksityinen",
|
|
4251
|
+
"owner": "Jaettu"
|
|
4252
|
+
},
|
|
4253
|
+
"operator": {
|
|
4254
|
+
"tabLabel": "Tietopankki",
|
|
4255
|
+
"review": "Arvioi",
|
|
4256
|
+
"systemSection": "Järjestelmän tietopankki",
|
|
4257
|
+
"systemDesc": "Luo ja hallinnoi solmun laajuisia tietopaketteja, jotka ovat kaikkien käyttäjien tai vain operaattoreiden käytettävissä.",
|
|
4258
|
+
"allPackages": "Kaikki tietopaketit",
|
|
4259
|
+
"createPackage": "Luo järjestelmäpaketti",
|
|
4260
|
+
"editPackage": "Muokkaa",
|
|
4261
|
+
"deletePackage": "Poista",
|
|
4262
|
+
"confirmDelete": "Poista tämä paketti? Tätä ei voi perua.",
|
|
4263
|
+
"createForm": {
|
|
4264
|
+
"name": "Paketin nimi",
|
|
4265
|
+
"contentType": "Sisältötyyppi",
|
|
4266
|
+
"tags": "Tunnisteet (pilkulla erotettuna)",
|
|
4267
|
+
"maturity": "Kypsyys",
|
|
4268
|
+
"visibility": "Näkyvyys",
|
|
4269
|
+
"visibilityPublic": "Julkinen — kaikki voivat nähdä",
|
|
4270
|
+
"visibilityOperator": "Vain operaattorit — ylläpitäjät ja heidän agenttinsa",
|
|
4271
|
+
"catalogListed": "Listaa julkiseen luetteloon",
|
|
4272
|
+
"entryTitle": "Merkinnän otsikko",
|
|
4273
|
+
"entryContent": "Sisältö",
|
|
4274
|
+
"addEntry": "Lisää merkintä",
|
|
4275
|
+
"removeEntry": "Poista",
|
|
4276
|
+
"submit": "Luo paketti",
|
|
4277
|
+
"success": "Järjestelmän tietopaketti luotu!",
|
|
4278
|
+
"error": "Paketin luonti epäonnistui"
|
|
4279
|
+
},
|
|
4280
|
+
"showFlaggedOnly": "Näytä vain merkityt",
|
|
4281
|
+
"noPackages": "Tietopaketteja ei löytynyt",
|
|
4282
|
+
"flags": "{count} merkintää",
|
|
4283
|
+
"reasons": {
|
|
4284
|
+
"routine_review": "Rutiiniarviointi",
|
|
4285
|
+
"legal_compliance": "Lainmukaisuustarkistus",
|
|
4286
|
+
"community_report": "Yhteisön ilmoitus",
|
|
4287
|
+
"content_quality": "Sisällön laadun tarkistus",
|
|
4288
|
+
"storage_issue": "Tallennusongelma",
|
|
4289
|
+
"custom": "Mukautettu"
|
|
4290
|
+
},
|
|
4291
|
+
"actions": {
|
|
4292
|
+
"approve": "Hyväksy",
|
|
4293
|
+
"flag": "Merkitse",
|
|
4294
|
+
"delist": "Poista listalta",
|
|
4295
|
+
"restrict": "Rajoita",
|
|
4296
|
+
"note": "Lisää muistiinpano"
|
|
4297
|
+
},
|
|
4298
|
+
"reviewedBy": "Arvioinut {operator} päivänä {date}",
|
|
4299
|
+
"reason": "Syy: {reason}",
|
|
4300
|
+
"reasonLabel": "Syy",
|
|
4301
|
+
"actionLabel": "Toiminto",
|
|
4302
|
+
"customReason": "Mukautettu syy...",
|
|
4303
|
+
"submitReview": "Lähetä arviointi"
|
|
4304
|
+
}
|
|
4305
|
+
},
|
|
4306
|
+
"organisms": {
|
|
4307
|
+
"title": "Organismit",
|
|
4308
|
+
"desc": "Organismit ovat ryhmiä — yhteisöjä, tiimejä, kerhoja tai projekteja. Luo oma tai liity olemassa oleviin jakaaksesi tietoa, koordinoidaksesi työtä ja rakentaaksesi yhdessä.",
|
|
4309
|
+
"loading": "Ladataan organismeja...",
|
|
4310
|
+
"empty": "Et kuulu vielä yhteenkään organismiin.",
|
|
4311
|
+
"myOrganisms": "Omat organismit",
|
|
4312
|
+
"discover": "Löydä",
|
|
4313
|
+
"createNew": "Luo organismi",
|
|
4314
|
+
"createTitle": "Luo uusi organismi",
|
|
4315
|
+
"namePlaceholder": "Nimi",
|
|
4316
|
+
"descPlaceholder": "Kuvaus",
|
|
4317
|
+
"interestsPlaceholder": "Kiinnostukset (pilkuilla erotettuna)",
|
|
4318
|
+
"nameRequired": "Nimi vaaditaan",
|
|
4319
|
+
"created": "Organismi luotu!",
|
|
4320
|
+
"createError": "Luonti epäonnistui",
|
|
4321
|
+
"join": "Liity",
|
|
4322
|
+
"joined": "Liitytty!",
|
|
4323
|
+
"joinPending": "Liittymispyyntö lähetetty — odottaa hyväksyntää",
|
|
4324
|
+
"joinError": "Liittyminen epäonnistui",
|
|
4325
|
+
"leave": "Poistu",
|
|
4326
|
+
"confirmLeave": "Poistu ryhmästä \"{name}\"?",
|
|
4327
|
+
"left": "Poistuttu organismista",
|
|
4328
|
+
"leaveError": "Poistuminen epäonnistui",
|
|
4329
|
+
"delete": "Poista",
|
|
4330
|
+
"confirmDelete": "Poista \"{name}\"? Tätä ei voi perua.",
|
|
4331
|
+
"deleted": "Organismi poistettu",
|
|
4332
|
+
"deleteError": "Poistaminen epäonnistui",
|
|
4333
|
+
"creator": "Luoja",
|
|
4334
|
+
"admins": "Ylläpitäjät",
|
|
4335
|
+
"members": "jäsentä",
|
|
4336
|
+
"memberCount": "Jäsenet",
|
|
4337
|
+
"board": "Taulu",
|
|
4338
|
+
"createdAt": "Luotu",
|
|
4339
|
+
"cancel": "Peruuta",
|
|
4340
|
+
"create": "Luo",
|
|
4341
|
+
"edit": "Muokkaa",
|
|
4342
|
+
"save": "Tallenna",
|
|
4343
|
+
"updated": "Organismi päivitetty",
|
|
4344
|
+
"updateError": "Päivittäminen epäonnistui",
|
|
4345
|
+
"policyOpen": "Avoin",
|
|
4346
|
+
"policyApproval": "Hyväksyntä vaaditaan",
|
|
4347
|
+
"policyInvite": "Vain kutsulla",
|
|
4348
|
+
"visPublic": "Julkinen",
|
|
4349
|
+
"visListed": "Listattu",
|
|
4350
|
+
"visPrivate": "Yksityinen",
|
|
4351
|
+
"types": {
|
|
4352
|
+
"community": "Yhteisö",
|
|
4353
|
+
"team": "Tiimi",
|
|
4354
|
+
"club": "Kerho",
|
|
4355
|
+
"cooperative": "Osuuskunta",
|
|
4356
|
+
"project": "Projekti"
|
|
4357
|
+
}
|
|
4358
|
+
},
|
|
4359
|
+
"tags": {
|
|
4360
|
+
"clear": "Tyhjennä",
|
|
4361
|
+
"addPlaceholder": "Lisää tagi...",
|
|
4362
|
+
"editTags": "Muokkaa tageja",
|
|
4363
|
+
"noMatch": "Ei tuloksia valituilla tageilla"
|
|
4364
|
+
},
|
|
4365
|
+
"agentConsent": {
|
|
4366
|
+
"title": "Agentin hyväksyminen",
|
|
4367
|
+
"codeLabel": "Vahvistuskoodi",
|
|
4368
|
+
"codeHint": "Varmista, että tämä koodi vastaa agentin näyttämää koodia",
|
|
4369
|
+
"agentDetails": "Agentin tiedot",
|
|
4370
|
+
"agentName": "Nimi",
|
|
4371
|
+
"agentDisplayName": "Näyttönimi",
|
|
4372
|
+
"agentDescription": "Kuvaus",
|
|
4373
|
+
"scopeLabel": "Oikeudet",
|
|
4374
|
+
"scopeReadonly": "Vain luku",
|
|
4375
|
+
"scopeReadonlyDesc": "Voi lukea muistia ja lompakkoa mutta ei voi muuttaa mitään",
|
|
4376
|
+
"scopeStandard": "Vakio",
|
|
4377
|
+
"scopeStandardDesc": "Voi lukea ja kirjoittaa muistia, hallita työtä ja lukea lompakkoa",
|
|
4378
|
+
"scopeFull": "Täysi pääsy",
|
|
4379
|
+
"scopeFullDesc": "Täysi pääsy kaikkiin ominaisuuksiin",
|
|
4380
|
+
"scopeCustom": "Mukautettu",
|
|
4381
|
+
"approve": "Hyväksy",
|
|
4382
|
+
"deny": "Hylkää",
|
|
4383
|
+
"successTitle": "Agentti hyväksytty",
|
|
4384
|
+
"successMessage": "Agentti on rekisteröity ja yhdistää pian.",
|
|
4385
|
+
"deniedTitle": "Pyyntö hylätty",
|
|
4386
|
+
"deniedMessage": "Hyväksymispyyntö on hylätty.",
|
|
4387
|
+
"expiredTitle": "Pyyntö vanhentunut",
|
|
4388
|
+
"expiredMessage": "Tämä hyväksymispyyntö on vanhentunut. Luo uusi pyyntö.",
|
|
4389
|
+
"ownerMismatch": "Tämä pyyntö on eri tilille. Kirjaudu oikealla käyttäjätunnuksella.",
|
|
4390
|
+
"invalidCode": "Virheellinen tai vanhentunut vahvistuskoodi.",
|
|
4391
|
+
"login": {
|
|
4392
|
+
"title": "Kirjaudu hyväksyäksesi",
|
|
4393
|
+
"username": "Käyttäjätunnus",
|
|
4394
|
+
"password": "Salasana",
|
|
4395
|
+
"totp": "TOTP-koodi (jos käytössä)",
|
|
4396
|
+
"submit": "Kirjaudu"
|
|
4397
|
+
}
|
|
4398
|
+
},
|
|
4399
|
+
"oauthConsent": {
|
|
4400
|
+
"title": "Hyväksy AI-yhteys",
|
|
4401
|
+
"subtitle": "AI-alusta haluaa yhdistää AIMEAT-solmuusi",
|
|
4402
|
+
"platformLabel": "Yhdistävä alusta:",
|
|
4403
|
+
"loginRequired": "Kirjaudu sisään hyväksyäksesi yhteyden",
|
|
4404
|
+
"loginBtn": "Kirjaudu",
|
|
4405
|
+
"selectAgent": "Mitä agenttia tämän alustan tulisi käyttää?",
|
|
4406
|
+
"noAgents": "Sinulla ei ole agentteja. Luo ensin yksi profiilissasi.",
|
|
4407
|
+
"noAgentsCreate": "Sinulla ei ole vielä agentteja. Luo yksi hyväksyäksesi tämän yhteyden.",
|
|
4408
|
+
"createNewAgent": "Luo uusi agentti",
|
|
4409
|
+
"newAgentName": "Agentin nimi (3-64 merkkiä, pienet kirjaimet, numerot, väliviivat)",
|
|
4410
|
+
"newAgentDisplayName": "Näyttönimi (valinnainen)",
|
|
4411
|
+
"newAgentDisplayNameHint": "esim. Minun Claude-agentti",
|
|
4412
|
+
"newAgentNameError": "Nimen on oltava 3-64 merkkiä: pienet kirjaimet, numerot ja väliviivat. Nimen alku ja loppu kirjaimella tai numerolla.",
|
|
4413
|
+
"createBtn": "Luo",
|
|
4414
|
+
"cancelBtn": "Peruuta",
|
|
4415
|
+
"scopeLabel": "Pyydetyt oikeudet:",
|
|
4416
|
+
"scopeFull": "Täysi pääsy — muisti, lompakko, toiminnot, taulut, tallennus",
|
|
4417
|
+
"walletNote": "Tämän agentin morselilompakkoa käytetään kaikissa tapahtumissa",
|
|
4418
|
+
"approveBtn": "Hyväksy yhteys",
|
|
4419
|
+
"denyBtn": "Hylkää",
|
|
4420
|
+
"approving": "Hyväksytään...",
|
|
4421
|
+
"errorGeneric": "Jokin meni pieleen. Yritä uudelleen.",
|
|
4422
|
+
"denied": "Yhteys hylätty. Voit sulkea tämän ikkunan.",
|
|
4423
|
+
"usernameLabel": "Käyttäjänimi",
|
|
4424
|
+
"passwordLabel": "Salasana",
|
|
4425
|
+
"totpLabel": "2FA-koodi (jos käytössä)",
|
|
4426
|
+
"morsels": "morselia",
|
|
4427
|
+
"doneTitle": "Valmis",
|
|
4428
|
+
"authCodeLabel": "Valtuutuskoodi:",
|
|
4429
|
+
"authCodeHint": "Liitä tämä koodi takaisin sovellukseen, joka pyysi pääsyä.",
|
|
4430
|
+
"copyBtn": "Kopioi",
|
|
4431
|
+
"copiedBtn": "Kopioitu!"
|
|
4432
|
+
},
|
|
4433
|
+
"packages": {
|
|
4434
|
+
"created": "Paketti luotu",
|
|
4435
|
+
"updated": "Paketti päivitetty",
|
|
4436
|
+
"archived": "Paketti arkistoitu",
|
|
4437
|
+
"notFound": "Pakettia ei löydy",
|
|
4438
|
+
"versionCreated": "Uusi versio julkaistu",
|
|
4439
|
+
"invalidInput": "Virheellinen syöte",
|
|
4440
|
+
"limitExceeded": "Pakettiraja ylitetty",
|
|
4441
|
+
"insufficientRole": "Riittämätön rooli pakettien luontiin",
|
|
4442
|
+
"installed": "Paketti asennettu onnistuneesti",
|
|
4443
|
+
"instanceNotFound": "Instanssia ei löydy",
|
|
4444
|
+
"instanceRemoved": "Instanssi poistettu",
|
|
4445
|
+
"noUpdateAvailable": "Ei päivitystä saatavilla",
|
|
4446
|
+
"updateAvailable": "Päivitys saatavilla",
|
|
4447
|
+
"migrationApplied": "Migraatio suoritettu onnistuneesti",
|
|
4448
|
+
"exportFailed": "Vienti epäonnistui",
|
|
4449
|
+
"importFailed": "Tuonti epäonnistui",
|
|
4450
|
+
"myInstances": "Omat instanssit",
|
|
4451
|
+
"browse": "Selaa paketteja",
|
|
4452
|
+
"gallery": "Mallipohjagalleria",
|
|
4453
|
+
"search": "Hae...",
|
|
4454
|
+
"allCategories": "Kaikki kategoriat",
|
|
4455
|
+
"version": "Versio",
|
|
4456
|
+
"components": "komponenttia",
|
|
4457
|
+
"by": "tekij\u00e4",
|
|
4458
|
+
"install": "Asenna",
|
|
4459
|
+
"remove": "Poista",
|
|
4460
|
+
"checkUpdate": "Tarkista p\u00e4ivitys",
|
|
4461
|
+
"noInstances": "Ei asennettuja paketteja.",
|
|
4462
|
+
"noTemplates": "Ei malleja saatavilla.",
|
|
4463
|
+
"labelPrompt": "Instanssin nimi (valinnainen):",
|
|
4464
|
+
"confirmRemove": "Poistetaanko instanssi?",
|
|
4465
|
+
"installs": "asennusta",
|
|
4466
|
+
"noPackages": "Ei paketteja saatavilla.",
|
|
4467
|
+
"openInGenerator": "Avaa generaattorissa",
|
|
4468
|
+
"editInGenerator": "Muokkaa generaattorissa",
|
|
4469
|
+
"importingPackage": "Tuodaan pakettia generaattoriin...",
|
|
4470
|
+
"importSuccess": "Paketti tuotu generaattoriprojektiksi",
|
|
4471
|
+
"forkedFrom": "Perustuu pakettiin {name}",
|
|
4472
|
+
"status": {
|
|
4473
|
+
"pending_review": "Odottaa tarkistusta",
|
|
4474
|
+
"rejected": "Hylätty",
|
|
4475
|
+
"suspended": "Keskeytetty",
|
|
4476
|
+
"listed": "Julkaistu",
|
|
4477
|
+
"unlisted": "Yksityinen"
|
|
4478
|
+
},
|
|
4479
|
+
"uploadZip": "Lataa ZIP",
|
|
4480
|
+
"downloadZip": "Lataa ZIP",
|
|
4481
|
+
"proposeAsTemplate": "Ehdota malliksi",
|
|
4482
|
+
"proposePending": "Ehdotus lähetetty tarkistettavaksi",
|
|
4483
|
+
"moderation": {
|
|
4484
|
+
"pendingReview": "Odottaa tarkistusta",
|
|
4485
|
+
"approve": "Hyväksy",
|
|
4486
|
+
"reject": "Hylkää",
|
|
4487
|
+
"suspend": "Keskeytä",
|
|
4488
|
+
"review": "Tarkista",
|
|
4489
|
+
"rejectionReason": "Hylkäyksen syy",
|
|
4490
|
+
"approvalComment": "Kommentti (valinnainen)",
|
|
4491
|
+
"reasonRequired": "Syy on pakollinen",
|
|
4492
|
+
"history": "Moderointihistoria",
|
|
4493
|
+
"reviewedBy": "Tarkistanut",
|
|
4494
|
+
"noItems": "Ei odottavia tarkistuksia"
|
|
4495
|
+
},
|
|
4496
|
+
"error": {
|
|
4497
|
+
"invalidFormat": "Tiedosto ei ole kelvollinen ZIP-arkisto",
|
|
4498
|
+
"sizeExceeded": "ZIP ylittää kokorajan",
|
|
4499
|
+
"decompressionBomb": "Purettu sisältö ylittää turvarajat",
|
|
4500
|
+
"pathTraversal": "Arkisto sisältää turvattomia tiedostopolkuja",
|
|
4501
|
+
"missingManifest": "manifest.yaml puuttuu arkistosta",
|
|
4502
|
+
"nameConflict": "Paketin nimi on jo käytössä",
|
|
4503
|
+
"missingComponent": "Komponenttitiedosto puuttuu arkistosta"
|
|
4504
|
+
},
|
|
4505
|
+
"federation": {
|
|
4506
|
+
"remoteTemplates": "Etämallit",
|
|
4507
|
+
"syncFromFederation": "Synkronoi federaatiosta",
|
|
4508
|
+
"sourceNode": "Lähdesolmu",
|
|
4509
|
+
"installFromRemote": "Asenna etäsolmusta",
|
|
4510
|
+
"syncSuccess": "Federaatiosynkronointi valmis"
|
|
4511
|
+
},
|
|
4512
|
+
"gallery": {
|
|
4513
|
+
"install": "Asenna",
|
|
4514
|
+
"downloadZip": "Lataa ZIP",
|
|
4515
|
+
"components": "Komponentit",
|
|
4516
|
+
"rating": "Arvosana",
|
|
4517
|
+
"installs": "Asennukset"
|
|
4518
|
+
}
|
|
4519
|
+
},
|
|
4520
|
+
"templates": {
|
|
4521
|
+
"created": "Mallipohja luotu",
|
|
4522
|
+
"updated": "Mallipohja päivitetty",
|
|
4523
|
+
"deleted": "Mallipohja poistettu",
|
|
4524
|
+
"notFound": "Mallipohjaa ei löydy",
|
|
4525
|
+
"reviewAdded": "Arvostelu lisätty",
|
|
4526
|
+
"reviewUpdated": "Arvostelu päivitetty",
|
|
4527
|
+
"discussionAdded": "Keskusteluviesti lisätty",
|
|
4528
|
+
"invalidRating": "Arvosanan tulee olla 1-5",
|
|
4529
|
+
"featuredToggled": "Suositellun tila päivitetty",
|
|
4530
|
+
"alreadyExists": "Listaus on jo olemassa tälle paketille"
|
|
4531
|
+
},
|
|
4532
|
+
"auth": {
|
|
4533
|
+
"forgotPassword": "Unohditko salasanan?",
|
|
4534
|
+
"forgotUsername": "Unohditko käyttäjätunnuksen?",
|
|
4535
|
+
"sendResetCode": "Lähetä palautuskoodi",
|
|
4536
|
+
"resetCodeSent": "Jos tilillä on vahvistettu sähköposti, palautuskoodi lähetettiin.",
|
|
4537
|
+
"enterNewPassword": "Syötä uusi salasanasi",
|
|
4538
|
+
"resetPassword": "Palauta salasana",
|
|
4539
|
+
"resetSuccess": "Salasana palautettu onnistuneesti! Voit nyt kirjautua sisään.",
|
|
4540
|
+
"sendUsername": "Lähetä käyttäjätunnukseni",
|
|
4541
|
+
"usernameSent": "Jos sähköpostilla on tili, käyttäjätunnus lähetettiin.",
|
|
4542
|
+
"backToLogin": "Takaisin kirjautumiseen"
|
|
4543
|
+
},
|
|
4544
|
+
"aimeatOs": {
|
|
4545
|
+
"title": "Rakenna oma sovellus",
|
|
4546
|
+
"subtitle": "Käytä mitä tahansa chat-tekoälyä suunnitellaksesi ja rakentaaksesi itsenäisen HTML-sovelluksen joka yhdistää AIMEAT-solmuusi. Lataa alla oleva opas ja anna se tekoälylle kontekstiksi.",
|
|
4547
|
+
"step1Title": "1. Lataa opas",
|
|
4548
|
+
"step1Desc": "Hanki AIMEAT-OS.md-tiedosto — se sisältää kaiken mitä tekoäly tarvitsee sovelluksesi rakentamiseen.",
|
|
4549
|
+
"step2Title": "2. Anna se tekoälychatille",
|
|
4550
|
+
"step2Desc": "Avaa Claude, ChatGPT tai mikä tahansa tekoälychat. Lataa opas ja kuvaile mitä haluat rakentaa.",
|
|
4551
|
+
"step3Title": "3. Lataa sovelluksesi",
|
|
4552
|
+
"step3Desc": "Kun tekoäly tuottaa valmiin HTML-tiedoston, palaa takaisin ja lisää se sovelluksiisi.",
|
|
4553
|
+
"downloadBtn": "Lataa AIMEAT-OS.md",
|
|
4554
|
+
"downloadHint": "Kattava opas tekoälyavustajille — sisältää täyden API-kuvauksen, esimerkkikehotteita ja kaiken tarvittavan AIMEAT-sovellusten rakentamiseen.",
|
|
4555
|
+
"addAppBtn": "Lisää uusi sovellus",
|
|
4556
|
+
"generatorHint": "Rakennatko jotain monimutkaisempaa taustapalveluilla ja dataputkilla?",
|
|
4557
|
+
"generatorLink": "Kokeile Generaattoria"
|
|
4558
|
+
},
|
|
4559
|
+
"help": {
|
|
4560
|
+
"title": "Auta tekoälyäsi työskentelemään AIMEAT:n kanssa",
|
|
4561
|
+
"description": "Jos tekoälyavustajallasi on vaikeuksia yhdistää tai käyttää tätä nodea, kopioi alla oleva kehote ja liitä se tekoälykeskusteluusi. Se opastaa tekoälyäsi yhdistämään, tunnistautumaan ja käyttämään kaikkia ominaisuuksia.",
|
|
4562
|
+
"copyBtn": "Kopioi leikepöydälle",
|
|
4563
|
+
"copied": "Kopioitu!",
|
|
4564
|
+
"loadError": "Apukehotteen lataaminen epäonnistui."
|
|
4565
|
+
}
|
|
4566
|
+
}
|