fix(ui): tarifs publics unifiés et prix annuel lisible
La page tarifs reprend la barre du site public. En annuel, Pro affiche 8,25 € par mois (99 € l’année), plus le 99 € comme gros chiffre. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,11 +6,20 @@ import { useState } from 'react'
|
|||||||
import { useQuery } from '@tanstack/react-query'
|
import { useQuery } from '@tanstack/react-query'
|
||||||
import { useLanguage } from '@/lib/i18n'
|
import { useLanguage } from '@/lib/i18n'
|
||||||
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants'
|
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants'
|
||||||
|
import { PublicSiteChrome } from '@/components/public-site-chrome'
|
||||||
|
import {
|
||||||
|
DEFAULT_PRICES,
|
||||||
|
annualDiscountPercent,
|
||||||
|
} from '@/lib/billing/price-catalog'
|
||||||
|
|
||||||
export default function PricingPage() {
|
export default function PricingPage() {
|
||||||
const { t } = useLanguage()
|
const { t } = useLanguage()
|
||||||
const [billingInterval, setBillingInterval] = useState<'monthly' | 'annual'>('monthly')
|
const [billingInterval, setBillingInterval] = useState<'monthly' | 'annual'>('monthly')
|
||||||
const trialDays = SUBSCRIPTION_TRIAL_DAYS
|
const trialDays = SUBSCRIPTION_TRIAL_DAYS
|
||||||
|
const annualSavePercent = annualDiscountPercent(
|
||||||
|
DEFAULT_PRICES.PRO.month.amount,
|
||||||
|
DEFAULT_PRICES.PRO.year.amount,
|
||||||
|
)
|
||||||
const { data: byokCatalog } = useQuery({
|
const { data: byokCatalog } = useQuery({
|
||||||
queryKey: ['public', 'byok-catalog'],
|
queryKey: ['public', 'byok-catalog'],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
@@ -48,51 +57,28 @@ export default function PricingPage() {
|
|||||||
]
|
]
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className="min-h-screen bg-[#0B0A09] text-[#F4F1EA] font-[family-name:var(--font-manrope)] selection:bg-[#D4A373]/40 selection:text-white">
|
<PublicSiteChrome currentPage="pricing">
|
||||||
<nav className="sticky top-0 z-[100] px-5 sm:px-8 py-4 flex items-center justify-between bg-[#0B0A09]/70 backdrop-blur-xl border-b border-white/[0.06]">
|
<section className="px-5 sm:px-8 py-20 sm:py-28">
|
||||||
<Link href="/" className="flex items-center gap-2.5 group">
|
|
||||||
<div className="w-9 h-9 bg-[#F4F1EA] text-[#0B0A09] flex items-center justify-center rounded-lg">
|
|
||||||
<span className="font-serif text-xl font-bold leading-none">M</span>
|
|
||||||
</div>
|
|
||||||
<span className="font-serif text-xl font-medium tracking-tight">Memento</span>
|
|
||||||
</Link>
|
|
||||||
<div className="flex items-center gap-2 sm:gap-3">
|
|
||||||
<Link href="/login" className="text-[13px] text-white/75 hover:text-white transition-colors px-2">
|
|
||||||
{t('landing.nav.login')}
|
|
||||||
</Link>
|
|
||||||
<Link
|
|
||||||
href="/register"
|
|
||||||
className="inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-[#F4F1EA] text-[#0B0A09] text-[13px] font-semibold hover:bg-white transition-colors"
|
|
||||||
>
|
|
||||||
{t('landing.nav.cta')}
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<section className="px-5 sm:px-8 py-28">
|
|
||||||
<div className="max-w-6xl mx-auto">
|
<div className="max-w-6xl mx-auto">
|
||||||
<div className="text-center mb-12">
|
<div className="text-center mb-12">
|
||||||
<span className="text-[11px] font-bold uppercase tracking-[0.3em] text-[#D4A373] mb-4 block">
|
|
||||||
{t('landing.pricing.label')}
|
|
||||||
</span>
|
|
||||||
<h1 className="font-serif text-3xl sm:text-5xl tracking-tight mb-4">{t('landing.pricing.title')}</h1>
|
<h1 className="font-serif text-3xl sm:text-5xl tracking-tight mb-4">{t('landing.pricing.title')}</h1>
|
||||||
<p className="text-white/70 mb-8">{t('landing.pricing.desc')}</p>
|
<p className="text-white/80 mb-8">{t('landing.pricing.desc')}</p>
|
||||||
<div className="inline-flex p-1 rounded-full border border-white/10 bg-white/[0.03]">
|
<div className="inline-flex p-1 rounded-full border border-white/15 bg-white/[0.04]">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setBillingInterval('monthly')}
|
onClick={() => setBillingInterval('monthly')}
|
||||||
className={`px-5 py-2 rounded-full text-[12px] font-semibold transition-all ${billingInterval === 'monthly' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/70'}`}
|
className={`px-5 py-2 rounded-full text-[13px] font-semibold transition-all ${billingInterval === 'monthly' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/80'}`}
|
||||||
>
|
>
|
||||||
{t('landing.pricing.monthly')}
|
{t('landing.pricing.monthly')}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setBillingInterval('annual')}
|
onClick={() => setBillingInterval('annual')}
|
||||||
className={`px-5 py-2 rounded-full text-[12px] font-semibold transition-all relative ${billingInterval === 'annual' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/70'}`}
|
className={`px-5 py-2 rounded-full text-[13px] font-semibold transition-all relative ${billingInterval === 'annual' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/80'}`}
|
||||||
>
|
>
|
||||||
{t('landing.pricing.annual')}
|
{t('landing.pricing.annual')}
|
||||||
<span className="absolute -top-3 -right-1 text-[10px] text-[#D4A373] whitespace-nowrap">
|
<span className="absolute -top-3 -right-1 text-[11px] text-[#E8C39A] whitespace-nowrap">
|
||||||
{t('landing.pricing.savePercent')}
|
{t('landing.pricing.savePercent', { percent: annualSavePercent })}
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -103,32 +89,32 @@ export default function PricingPage() {
|
|||||||
key={plan.key}
|
key={plan.key}
|
||||||
className={`rounded-2xl border p-6 flex flex-col ${
|
className={`rounded-2xl border p-6 flex flex-col ${
|
||||||
plan.popular
|
plan.popular
|
||||||
? 'border-[#D4A373]/50 bg-[#D4A373]/10'
|
? 'border-[#D4A373]/60 bg-[#D4A373]/12'
|
||||||
: 'border-white/[0.08] bg-white/[0.02]'
|
: 'border-white/[0.12] bg-white/[0.04]'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{plan.popular && (
|
{plan.popular && (
|
||||||
<span className="text-[10px] font-bold uppercase tracking-widest text-[#D4A373] mb-3">
|
<span className="text-[11px] font-bold uppercase tracking-widest text-[#E8C39A] mb-3">
|
||||||
{t('landing.pricing.popular')}
|
{t('landing.pricing.popular')}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
<h2 className="text-[13px] font-medium tracking-wide text-white/80 mb-2">
|
<h2 className="text-[14px] font-medium tracking-wide text-[#F4F1EA] mb-2">
|
||||||
{t(`landing.pricing.${plan.key}.name`)}
|
{t(`landing.pricing.${plan.key}.name`)}
|
||||||
</h2>
|
</h2>
|
||||||
<div className="flex items-baseline gap-1 mb-2">
|
<div className="flex items-baseline gap-1 mb-2">
|
||||||
<span className="text-3xl font-serif">{plan.price}</span>
|
<span className="text-3xl font-serif">{plan.price}</span>
|
||||||
{plan.period && <span className="text-sm text-white/70">{plan.period}</span>}
|
{plan.period && <span className="text-sm text-white/80">{plan.period}</span>}
|
||||||
</div>
|
</div>
|
||||||
{plan.hasTrial && (
|
{plan.hasTrial && (
|
||||||
<p className="text-[11px] font-semibold text-[#D4A373] mb-3">
|
<p className="text-[12px] font-semibold text-[#E8C39A] mb-3">
|
||||||
{t('landing.pricing.trialBadge', { days: trialDays })}
|
{t('landing.pricing.trialBadge', { days: trialDays })}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
<p className="text-sm text-white/70 mb-6">{t(`landing.pricing.${plan.key}.desc`)}</p>
|
<p className="text-sm text-white/80 mb-6">{t(`landing.pricing.${plan.key}.desc`)}</p>
|
||||||
<ul className="space-y-2.5 mb-8 flex-1">
|
<ul className="space-y-2.5 mb-8 flex-1">
|
||||||
{plan.hasTrial && (
|
{plan.hasTrial && (
|
||||||
<li className="flex gap-2 text-xs text-[#D4A373]/90">
|
<li className="flex gap-2 text-xs text-[#E8C39A]">
|
||||||
<Check size={12} className="text-[#D4A373] mt-0.5 shrink-0" />
|
<Check size={12} className="text-[#E8C39A] mt-0.5 shrink-0" />
|
||||||
{t('landing.pricing.trialFeature', { days: trialDays })}
|
{t('landing.pricing.trialFeature', { days: trialDays })}
|
||||||
</li>
|
</li>
|
||||||
)}
|
)}
|
||||||
@@ -136,8 +122,8 @@ export default function PricingPage() {
|
|||||||
const feat = t(`landing.pricing.${plan.key}.feature${j}`, { count: providerCount })
|
const feat = t(`landing.pricing.${plan.key}.feature${j}`, { count: providerCount })
|
||||||
if (!feat || feat.startsWith('landing.')) return null
|
if (!feat || feat.startsWith('landing.')) return null
|
||||||
return (
|
return (
|
||||||
<li key={j} className="flex gap-2 text-sm text-white/80">
|
<li key={j} className="flex gap-2 text-sm text-[#F4F1EA]/90">
|
||||||
<Check size={12} className="text-[#D4A373] mt-0.5 shrink-0" />
|
<Check size={12} className="text-[#E8C39A] mt-0.5 shrink-0" />
|
||||||
{feat}
|
{feat}
|
||||||
</li>
|
</li>
|
||||||
)
|
)
|
||||||
@@ -148,7 +134,7 @@ export default function PricingPage() {
|
|||||||
className={`py-3 rounded-xl text-center text-[13px] font-semibold transition-colors ${
|
className={`py-3 rounded-xl text-center text-[13px] font-semibold transition-colors ${
|
||||||
plan.popular
|
plan.popular
|
||||||
? 'bg-[#F4F1EA] text-[#0B0A09] hover:bg-white'
|
? 'bg-[#F4F1EA] text-[#0B0A09] hover:bg-white'
|
||||||
: 'bg-white/10 text-white hover:bg-white/15'
|
: 'bg-white/15 text-white hover:bg-white/20'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{plan.hasTrial
|
{plan.hasTrial
|
||||||
@@ -160,6 +146,6 @@ export default function PricingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</PublicSiteChrome>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,44 +2,27 @@
|
|||||||
|
|
||||||
import { motion, AnimatePresence } from 'motion/react'
|
import { motion, AnimatePresence } from 'motion/react'
|
||||||
import {
|
import {
|
||||||
ArrowRight, Menu, X, Check, BrainCircuit,
|
ArrowRight, Check, BrainCircuit,
|
||||||
Network, GraduationCap, Bot, KeyRound, Globe, ChevronDown
|
Network, GraduationCap, Bot, KeyRound
|
||||||
} from 'lucide-react'
|
} from 'lucide-react'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import Image from 'next/image'
|
import Image from 'next/image'
|
||||||
import { useLanguage } from '@/lib/i18n'
|
import { useLanguage } from '@/lib/i18n'
|
||||||
import type { SupportedLanguage } from '@/lib/i18n/load-translations'
|
|
||||||
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants'
|
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants'
|
||||||
import { useEffect, useRef, useState, type ReactNode } from 'react'
|
import { useEffect, useState, type ReactNode } from 'react'
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useQuery } from '@tanstack/react-query'
|
||||||
|
import { PublicSiteChrome } from '@/components/public-site-chrome'
|
||||||
|
import {
|
||||||
|
DEFAULT_PRICES,
|
||||||
|
annualDiscountPercent,
|
||||||
|
} from '@/lib/billing/price-catalog'
|
||||||
|
|
||||||
const ECHO_LINES = ['echo0', 'echo1', 'echo2'] as const
|
const ECHO_LINES = ['echo0', 'echo1', 'echo2'] as const
|
||||||
|
|
||||||
const LANDING_LANGS: { code: SupportedLanguage; labelKey: string }[] = [
|
|
||||||
{ code: 'fr', labelKey: 'languages.fr' },
|
|
||||||
{ code: 'en', labelKey: 'languages.en' },
|
|
||||||
{ code: 'es', labelKey: 'languages.es' },
|
|
||||||
{ code: 'de', labelKey: 'languages.de' },
|
|
||||||
{ code: 'it', labelKey: 'languages.it' },
|
|
||||||
{ code: 'pt', labelKey: 'languages.pt' },
|
|
||||||
{ code: 'nl', labelKey: 'languages.nl' },
|
|
||||||
{ code: 'pl', labelKey: 'languages.pl' },
|
|
||||||
{ code: 'ru', labelKey: 'languages.ru' },
|
|
||||||
{ code: 'zh', labelKey: 'languages.zh' },
|
|
||||||
{ code: 'ja', labelKey: 'languages.ja' },
|
|
||||||
{ code: 'ko', labelKey: 'languages.ko' },
|
|
||||||
{ code: 'ar', labelKey: 'languages.ar' },
|
|
||||||
{ code: 'fa', labelKey: 'languages.fa' },
|
|
||||||
{ code: 'hi', labelKey: 'languages.hi' },
|
|
||||||
]
|
|
||||||
|
|
||||||
export function LandingPage() {
|
export function LandingPage() {
|
||||||
const { t, language, setLanguage } = useLanguage()
|
const { t } = useLanguage()
|
||||||
const [billingInterval, setBillingInterval] = useState<'monthly' | 'annual'>('monthly')
|
const [billingInterval, setBillingInterval] = useState<'monthly' | 'annual'>('monthly')
|
||||||
const [menuOpen, setMenuOpen] = useState(false)
|
|
||||||
const [langOpen, setLangOpen] = useState(false)
|
|
||||||
const [echoIndex, setEchoIndex] = useState(0)
|
const [echoIndex, setEchoIndex] = useState(0)
|
||||||
const langRef = useRef<HTMLDivElement>(null)
|
|
||||||
const { data: byokCatalog } = useQuery({
|
const { data: byokCatalog } = useQuery({
|
||||||
queryKey: ['public', 'byok-catalog'],
|
queryKey: ['public', 'byok-catalog'],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
@@ -51,36 +34,16 @@ export function LandingPage() {
|
|||||||
})
|
})
|
||||||
const byokProviders = byokCatalog?.providers ?? []
|
const byokProviders = byokCatalog?.providers ?? []
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (!langOpen) return
|
|
||||||
const onPointer = (e: MouseEvent) => {
|
|
||||||
if (langRef.current && !langRef.current.contains(e.target as Node)) setLangOpen(false)
|
|
||||||
}
|
|
||||||
const onKey = (e: KeyboardEvent) => {
|
|
||||||
if (e.key === 'Escape') setLangOpen(false)
|
|
||||||
}
|
|
||||||
document.addEventListener('mousedown', onPointer)
|
|
||||||
document.addEventListener('keydown', onKey)
|
|
||||||
return () => {
|
|
||||||
document.removeEventListener('mousedown', onPointer)
|
|
||||||
document.removeEventListener('keydown', onKey)
|
|
||||||
}
|
|
||||||
}, [langOpen])
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const id = setInterval(() => setEchoIndex((i) => (i + 1) % ECHO_LINES.length), 3200)
|
const id = setInterval(() => setEchoIndex((i) => (i + 1) % ECHO_LINES.length), 3200)
|
||||||
return () => clearInterval(id)
|
return () => clearInterval(id)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const root = document.querySelector<HTMLElement>('[data-public-scroll-root]')
|
|
||||||
if (!root) return
|
|
||||||
const prev = root.style.overflow
|
|
||||||
if (menuOpen) root.style.overflow = 'hidden'
|
|
||||||
else root.style.overflow = prev || ''
|
|
||||||
return () => { root.style.overflow = prev }
|
|
||||||
}, [menuOpen])
|
|
||||||
|
|
||||||
const trialDays = SUBSCRIPTION_TRIAL_DAYS
|
const trialDays = SUBSCRIPTION_TRIAL_DAYS
|
||||||
|
const annualSavePercent = annualDiscountPercent(
|
||||||
|
DEFAULT_PRICES.PRO.month.amount,
|
||||||
|
DEFAULT_PRICES.PRO.year.amount,
|
||||||
|
)
|
||||||
const PLANS = [
|
const PLANS = [
|
||||||
{ key: 'basic', popular: false, hasTrial: false, price: t('landing.pricing.basicPrice'), period: '' },
|
{ key: 'basic', popular: false, hasTrial: false, price: t('landing.pricing.basicPrice'), period: '' },
|
||||||
{
|
{
|
||||||
@@ -106,13 +69,6 @@ export function LandingPage() {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const NAV = [
|
|
||||||
{ href: '#product', label: t('landing.nav.secondBrain') },
|
|
||||||
{ href: '#echo', label: t('landing.nav.echo') },
|
|
||||||
{ href: '#agents', label: t('landing.nav.agents') },
|
|
||||||
{ href: '#pricing', label: t('landing.nav.pricing') },
|
|
||||||
]
|
|
||||||
|
|
||||||
const scrollPublicHash = (hash: string) => {
|
const scrollPublicHash = (hash: string) => {
|
||||||
const id = hash.replace(/^#/, '')
|
const id = hash.replace(/^#/, '')
|
||||||
const target = document.getElementById(id)
|
const target = document.getElementById(id)
|
||||||
@@ -130,138 +86,7 @@ export function LandingPage() {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-[#0B0A09] text-[#F4F1EA] font-[family-name:var(--font-manrope)] selection:bg-[#D4A373]/40 selection:text-white">
|
<PublicSiteChrome currentPage="home" onHashNavigate={scrollPublicHash}>
|
||||||
{/* Nav */}
|
|
||||||
<nav className="fixed top-0 left-0 right-0 z-[100] px-5 sm:px-8 py-4 flex items-center justify-between bg-[#0B0A09]/70 backdrop-blur-xl border-b border-white/[0.06]">
|
|
||||||
<Link href="/" className="flex items-center gap-2.5 group">
|
|
||||||
<div className="w-9 h-9 bg-[#F4F1EA] text-[#0B0A09] flex items-center justify-center rounded-lg transition-transform group-hover:scale-105">
|
|
||||||
<span className="font-serif text-xl font-bold leading-none">M</span>
|
|
||||||
</div>
|
|
||||||
<span className="font-serif text-xl font-medium tracking-tight text-[#F4F1EA]">Memento</span>
|
|
||||||
</Link>
|
|
||||||
<div className="hidden lg:flex items-center gap-8">
|
|
||||||
{NAV.map((l) => (
|
|
||||||
<a
|
|
||||||
key={l.href}
|
|
||||||
href={l.href}
|
|
||||||
onClick={(event) => {
|
|
||||||
event.preventDefault()
|
|
||||||
scrollPublicHash(l.href)
|
|
||||||
window.history.replaceState(null, '', l.href)
|
|
||||||
}}
|
|
||||||
className="text-[13px] text-white/75 hover:text-white transition-colors"
|
|
||||||
>
|
|
||||||
{l.label}
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
<div className="flex items-center gap-2 sm:gap-3">
|
|
||||||
{/* Language switcher */}
|
|
||||||
<div ref={langRef} className="relative">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setLangOpen((o) => !o)}
|
|
||||||
aria-expanded={langOpen}
|
|
||||||
aria-haspopup="listbox"
|
|
||||||
aria-label={t('landing.nav.language')}
|
|
||||||
className="inline-flex items-center gap-1.5 px-3 py-2 rounded-full border border-white/15 text-[12px] text-white/70 hover:text-white hover:border-white/30 transition-colors"
|
|
||||||
>
|
|
||||||
<Globe size={14} />
|
|
||||||
<span className="uppercase font-semibold tracking-wide">{language}</span>
|
|
||||||
<ChevronDown size={12} className={`opacity-60 transition-transform ${langOpen ? 'rotate-180' : ''}`} />
|
|
||||||
</button>
|
|
||||||
<AnimatePresence>
|
|
||||||
{langOpen && (
|
|
||||||
<motion.ul
|
|
||||||
role="listbox"
|
|
||||||
initial={{ opacity: 0, y: 6 }}
|
|
||||||
animate={{ opacity: 1, y: 0 }}
|
|
||||||
exit={{ opacity: 0, y: 6 }}
|
|
||||||
transition={{ duration: 0.15 }}
|
|
||||||
className="absolute end-0 mt-2 w-48 max-h-72 overflow-y-auto rounded-2xl border border-white/10 bg-[#141210] shadow-2xl py-1.5 z-[110]"
|
|
||||||
>
|
|
||||||
{LANDING_LANGS.map((lang) => (
|
|
||||||
<li key={lang.code} role="option" aria-selected={language === lang.code}>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => {
|
|
||||||
setLanguage(lang.code)
|
|
||||||
setLangOpen(false)
|
|
||||||
}}
|
|
||||||
className={`w-full text-start px-4 py-2.5 text-[13px] transition-colors ${
|
|
||||||
language === lang.code
|
|
||||||
? 'bg-[#D4A373]/15 text-[#D4A373]'
|
|
||||||
: 'text-white/70 hover:bg-white/5 hover:text-white'
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
{t(lang.labelKey)}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</motion.ul>
|
|
||||||
)}
|
|
||||||
</AnimatePresence>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<Link href="/login" className="hidden sm:inline text-[13px] text-white/75 hover:text-white transition-colors px-2">
|
|
||||||
{t('landing.nav.login')}
|
|
||||||
</Link>
|
|
||||||
<Link
|
|
||||||
href="/register"
|
|
||||||
className="hidden sm:inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-[#F4F1EA] text-[#0B0A09] text-[13px] font-semibold hover:bg-white transition-colors"
|
|
||||||
>
|
|
||||||
{t('landing.nav.cta')}
|
|
||||||
</Link>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
aria-label={menuOpen ? t('landing.nav.closeMenu') : t('landing.nav.openMenu')}
|
|
||||||
onClick={() => setMenuOpen((o) => !o)}
|
|
||||||
className="lg:hidden w-10 h-10 rounded-full border border-white/15 flex items-center justify-center text-white/80"
|
|
||||||
>
|
|
||||||
{menuOpen ? <X size={18} /> : <Menu size={18} />}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<AnimatePresence>
|
|
||||||
{menuOpen && (
|
|
||||||
<motion.div
|
|
||||||
initial={{ opacity: 0 }}
|
|
||||||
animate={{ opacity: 1 }}
|
|
||||||
exit={{ opacity: 0 }}
|
|
||||||
className="fixed inset-0 z-[99] bg-[#0B0A09] pt-24 px-8 lg:hidden"
|
|
||||||
>
|
|
||||||
<div className="flex flex-col gap-1">
|
|
||||||
{NAV.map((l) => (
|
|
||||||
<a
|
|
||||||
key={l.href}
|
|
||||||
href={l.href}
|
|
||||||
onClick={(event) => {
|
|
||||||
event.preventDefault()
|
|
||||||
setMenuOpen(false)
|
|
||||||
scrollPublicHash(l.href)
|
|
||||||
window.history.replaceState(null, '', l.href)
|
|
||||||
}}
|
|
||||||
className="py-4 text-3xl font-serif border-b border-white/10"
|
|
||||||
>
|
|
||||||
{l.label}
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
<Link
|
|
||||||
href="/login"
|
|
||||||
onClick={() => setMenuOpen(false)}
|
|
||||||
className="mt-10 py-4 text-2xl font-serif text-white/80 text-center border-b border-white/10"
|
|
||||||
>
|
|
||||||
{t('landing.nav.login')}
|
|
||||||
</Link>
|
|
||||||
<Link href="/register" onClick={() => setMenuOpen(false)} className="mt-4 py-4 rounded-2xl bg-[#F4F1EA] text-[#0B0A09] text-center font-semibold">
|
|
||||||
{t('landing.nav.cta')}
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</motion.div>
|
|
||||||
)}
|
|
||||||
</AnimatePresence>
|
|
||||||
|
|
||||||
{/* ── HERO ── */}
|
{/* ── HERO ── */}
|
||||||
<section className="relative min-h-[100dvh] flex flex-col justify-center pt-28 pb-16 px-5 sm:px-8 overflow-hidden">
|
<section className="relative min-h-[100dvh] flex flex-col justify-center pt-28 pb-16 px-5 sm:px-8 overflow-hidden">
|
||||||
{/* Atmosphere — warm, not purple neon */}
|
{/* Atmosphere — warm, not purple neon */}
|
||||||
@@ -524,23 +349,23 @@ export function LandingPage() {
|
|||||||
<div className="max-w-6xl mx-auto">
|
<div className="max-w-6xl mx-auto">
|
||||||
<div className="text-center mb-12">
|
<div className="text-center mb-12">
|
||||||
<h2 className="font-serif text-3xl sm:text-5xl tracking-tight mb-4">{t('landing.pricing.title')}</h2>
|
<h2 className="font-serif text-3xl sm:text-5xl tracking-tight mb-4">{t('landing.pricing.title')}</h2>
|
||||||
<p className="text-white/70 mb-8">{t('landing.pricing.desc')}</p>
|
<p className="text-white/80 mb-8">{t('landing.pricing.desc')}</p>
|
||||||
<div className="inline-flex p-1 rounded-full border border-white/10 bg-white/[0.03]">
|
<div className="inline-flex p-1 rounded-full border border-white/15 bg-white/[0.04]">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setBillingInterval('monthly')}
|
onClick={() => setBillingInterval('monthly')}
|
||||||
className={`px-5 py-2 rounded-full text-[12px] font-semibold transition-all ${billingInterval === 'monthly' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/70'}`}
|
className={`px-5 py-2 rounded-full text-[13px] font-semibold transition-all ${billingInterval === 'monthly' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/80'}`}
|
||||||
>
|
>
|
||||||
{t('landing.pricing.monthly')}
|
{t('landing.pricing.monthly')}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setBillingInterval('annual')}
|
onClick={() => setBillingInterval('annual')}
|
||||||
className={`px-5 py-2 rounded-full text-[12px] font-semibold transition-all relative ${billingInterval === 'annual' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/70'}`}
|
className={`px-5 py-2 rounded-full text-[13px] font-semibold transition-all relative ${billingInterval === 'annual' ? 'bg-[#F4F1EA] text-[#0B0A09]' : 'text-white/80'}`}
|
||||||
>
|
>
|
||||||
{t('landing.pricing.annual')}
|
{t('landing.pricing.annual')}
|
||||||
<span className="absolute -top-3 -right-1 text-[10px] text-[#D4A373] whitespace-nowrap">
|
<span className="absolute -top-3 -right-1 text-[11px] text-[#E8C39A] whitespace-nowrap">
|
||||||
{t('landing.pricing.savePercent')}
|
{t('landing.pricing.savePercent', { percent: annualSavePercent })}
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -551,32 +376,32 @@ export function LandingPage() {
|
|||||||
key={plan.key}
|
key={plan.key}
|
||||||
className={`rounded-2xl border p-6 flex flex-col ${
|
className={`rounded-2xl border p-6 flex flex-col ${
|
||||||
plan.popular
|
plan.popular
|
||||||
? 'border-[#D4A373]/50 bg-[#D4A373]/10'
|
? 'border-[#D4A373]/60 bg-[#D4A373]/12'
|
||||||
: 'border-white/[0.08] bg-white/[0.02]'
|
: 'border-white/[0.12] bg-white/[0.04]'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{plan.popular && (
|
{plan.popular && (
|
||||||
<span className="text-[10px] font-bold uppercase tracking-widest text-[#D4A373] mb-3">
|
<span className="text-[11px] font-bold uppercase tracking-widest text-[#E8C39A] mb-3">
|
||||||
{t('landing.pricing.popular')}
|
{t('landing.pricing.popular')}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
<h4 className="text-[13px] font-medium tracking-wide text-white/80 mb-2">
|
<h4 className="text-[14px] font-medium tracking-wide text-[#F4F1EA] mb-2">
|
||||||
{t(`landing.pricing.${plan.key}.name`)}
|
{t(`landing.pricing.${plan.key}.name`)}
|
||||||
</h4>
|
</h4>
|
||||||
<div className="flex items-baseline gap-1 mb-2">
|
<div className="flex items-baseline gap-1 mb-2">
|
||||||
<span className="text-3xl font-serif">{plan.price}</span>
|
<span className="text-3xl font-serif">{plan.price}</span>
|
||||||
{plan.period && <span className="text-sm text-white/70">{plan.period}</span>}
|
{plan.period && <span className="text-sm text-white/80">{plan.period}</span>}
|
||||||
</div>
|
</div>
|
||||||
{plan.hasTrial && (
|
{plan.hasTrial && (
|
||||||
<p className="text-[11px] font-semibold text-[#D4A373] mb-3">
|
<p className="text-[12px] font-semibold text-[#E8C39A] mb-3">
|
||||||
{t('landing.pricing.trialBadge', { days: trialDays })}
|
{t('landing.pricing.trialBadge', { days: trialDays })}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
<p className="text-sm text-white/70 mb-6">{t(`landing.pricing.${plan.key}.desc`)}</p>
|
<p className="text-sm text-white/80 mb-6">{t(`landing.pricing.${plan.key}.desc`)}</p>
|
||||||
<ul className="space-y-2.5 mb-8 flex-1">
|
<ul className="space-y-2.5 mb-8 flex-1">
|
||||||
{plan.hasTrial && (
|
{plan.hasTrial && (
|
||||||
<li className="flex gap-2 text-xs text-[#D4A373]/90">
|
<li className="flex gap-2 text-xs text-[#E8C39A]">
|
||||||
<Check size={12} className="text-[#D4A373] mt-0.5 shrink-0" />
|
<Check size={12} className="text-[#E8C39A] mt-0.5 shrink-0" />
|
||||||
{t('landing.pricing.trialFeature', { days: trialDays })}
|
{t('landing.pricing.trialFeature', { days: trialDays })}
|
||||||
</li>
|
</li>
|
||||||
)}
|
)}
|
||||||
@@ -586,8 +411,8 @@ export function LandingPage() {
|
|||||||
})
|
})
|
||||||
if (!feat || feat.startsWith('landing.')) return null
|
if (!feat || feat.startsWith('landing.')) return null
|
||||||
return (
|
return (
|
||||||
<li key={j} className="flex gap-2 text-sm text-white/80">
|
<li key={j} className="flex gap-2 text-sm text-[#F4F1EA]/90">
|
||||||
<Check size={12} className="text-[#D4A373] mt-0.5 shrink-0" />
|
<Check size={12} className="text-[#E8C39A] mt-0.5 shrink-0" />
|
||||||
{feat}
|
{feat}
|
||||||
</li>
|
</li>
|
||||||
)
|
)
|
||||||
@@ -598,7 +423,7 @@ export function LandingPage() {
|
|||||||
className={`py-3 rounded-xl text-center text-[13px] font-semibold transition-colors ${
|
className={`py-3 rounded-xl text-center text-[13px] font-semibold transition-colors ${
|
||||||
plan.popular
|
plan.popular
|
||||||
? 'bg-[#F4F1EA] text-[#0B0A09] hover:bg-white'
|
? 'bg-[#F4F1EA] text-[#0B0A09] hover:bg-white'
|
||||||
: 'bg-white/10 text-white hover:bg-white/15'
|
: 'bg-white/15 text-white hover:bg-white/20'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{plan.hasTrial
|
{plan.hasTrial
|
||||||
@@ -633,48 +458,7 @@ export function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<footer className="px-5 sm:px-8 py-14 border-t border-white/[0.06]">
|
</PublicSiteChrome>
|
||||||
<div className="max-w-6xl mx-auto flex flex-col md:flex-row justify-between gap-10">
|
|
||||||
<div className="max-w-xs">
|
|
||||||
<div className="flex items-center gap-2 mb-3">
|
|
||||||
<div className="w-7 h-7 bg-[#F4F1EA] text-[#0B0A09] flex items-center justify-center rounded-md">
|
|
||||||
<span className="font-serif font-bold text-sm">M</span>
|
|
||||||
</div>
|
|
||||||
<span className="font-serif text-lg">Memento</span>
|
|
||||||
</div>
|
|
||||||
<p className="text-sm text-white/60">{t('landing.footer.desc')}</p>
|
|
||||||
</div>
|
|
||||||
<div className="grid grid-cols-3 gap-10 text-sm">
|
|
||||||
{(['product', 'community', 'legal'] as const).map((section) => (
|
|
||||||
<div key={section}>
|
|
||||||
<p className="text-[13px] font-medium tracking-wide text-white/70 mb-3">
|
|
||||||
{t(`landing.footer.${section}.title`)}
|
|
||||||
</p>
|
|
||||||
<ul className="space-y-2 text-white/70">
|
|
||||||
{[0, 1, 2].map((j) => {
|
|
||||||
const label = t(`landing.footer.${section}.link${j}`)
|
|
||||||
const href = t(`landing.footer.${section}.link${j}Href`)
|
|
||||||
if (!label || label.startsWith('landing.')) return null
|
|
||||||
return (
|
|
||||||
<li key={j}>
|
|
||||||
{href.startsWith('/') ? (
|
|
||||||
<Link href={href} className="hover:text-white transition-colors">{label}</Link>
|
|
||||||
) : (
|
|
||||||
<a href={href} className="hover:text-white transition-colors">{label}</a>
|
|
||||||
)}
|
|
||||||
</li>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p className="max-w-6xl mx-auto mt-12 pt-8 border-t border-white/[0.06] text-[13px] text-white/70 tracking-wide">
|
|
||||||
© 2026 Memento. {t('landing.footer.rights')}
|
|
||||||
</p>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
267
memento-note/components/public-site-chrome.tsx
Normal file
267
memento-note/components/public-site-chrome.tsx
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { motion, AnimatePresence } from 'motion/react'
|
||||||
|
import { Menu, X, Globe, ChevronDown } from 'lucide-react'
|
||||||
|
import Link from 'next/link'
|
||||||
|
import { useLanguage } from '@/lib/i18n'
|
||||||
|
import type { SupportedLanguage } from '@/lib/i18n/load-translations'
|
||||||
|
import { useEffect, useRef, useState, type ReactNode } from 'react'
|
||||||
|
|
||||||
|
const LANDING_LANGS: { code: SupportedLanguage; labelKey: string }[] = [
|
||||||
|
{ code: 'fr', labelKey: 'languages.fr' },
|
||||||
|
{ code: 'en', labelKey: 'languages.en' },
|
||||||
|
{ code: 'es', labelKey: 'languages.es' },
|
||||||
|
{ code: 'de', labelKey: 'languages.de' },
|
||||||
|
{ code: 'it', labelKey: 'languages.it' },
|
||||||
|
{ code: 'pt', labelKey: 'languages.pt' },
|
||||||
|
{ code: 'nl', labelKey: 'languages.nl' },
|
||||||
|
{ code: 'pl', labelKey: 'languages.pl' },
|
||||||
|
{ code: 'ru', labelKey: 'languages.ru' },
|
||||||
|
{ code: 'zh', labelKey: 'languages.zh' },
|
||||||
|
{ code: 'ja', labelKey: 'languages.ja' },
|
||||||
|
{ code: 'ko', labelKey: 'languages.ko' },
|
||||||
|
{ code: 'ar', labelKey: 'languages.ar' },
|
||||||
|
{ code: 'fa', labelKey: 'languages.fa' },
|
||||||
|
{ code: 'hi', labelKey: 'languages.hi' },
|
||||||
|
]
|
||||||
|
|
||||||
|
export type PublicSitePage = 'home' | 'pricing'
|
||||||
|
|
||||||
|
function resolvePublicHref(href: string, currentPage: PublicSitePage): string {
|
||||||
|
if (!href.startsWith('#')) return href
|
||||||
|
if (href === '#pricing' && currentPage === 'pricing') return '/pricing'
|
||||||
|
if (currentPage === 'home') return href
|
||||||
|
const id = href.replace(/^#/, '')
|
||||||
|
return id === 'pricing' ? '/pricing' : `/#${id}`
|
||||||
|
}
|
||||||
|
|
||||||
|
export function PublicSiteChrome({
|
||||||
|
children,
|
||||||
|
currentPage,
|
||||||
|
onHashNavigate,
|
||||||
|
}: {
|
||||||
|
children: ReactNode
|
||||||
|
currentPage: PublicSitePage
|
||||||
|
onHashNavigate?: (hash: string) => void
|
||||||
|
}) {
|
||||||
|
const { t, language, setLanguage } = useLanguage()
|
||||||
|
const [menuOpen, setMenuOpen] = useState(false)
|
||||||
|
const [langOpen, setLangOpen] = useState(false)
|
||||||
|
const langRef = useRef<HTMLDivElement>(null)
|
||||||
|
|
||||||
|
const NAV = [
|
||||||
|
{ href: '#product', label: t('landing.nav.secondBrain') },
|
||||||
|
{ href: '#echo', label: t('landing.nav.echo') },
|
||||||
|
{ href: '#agents', label: t('landing.nav.agents') },
|
||||||
|
{ href: '#pricing', label: t('landing.nav.pricing') },
|
||||||
|
]
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!langOpen) return
|
||||||
|
const onPointer = (e: MouseEvent) => {
|
||||||
|
if (langRef.current && !langRef.current.contains(e.target as Node)) setLangOpen(false)
|
||||||
|
}
|
||||||
|
const onKey = (e: KeyboardEvent) => {
|
||||||
|
if (e.key === 'Escape') setLangOpen(false)
|
||||||
|
}
|
||||||
|
document.addEventListener('mousedown', onPointer)
|
||||||
|
document.addEventListener('keydown', onKey)
|
||||||
|
return () => {
|
||||||
|
document.removeEventListener('mousedown', onPointer)
|
||||||
|
document.removeEventListener('keydown', onKey)
|
||||||
|
}
|
||||||
|
}, [langOpen])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const root = document.querySelector<HTMLElement>('[data-public-scroll-root]')
|
||||||
|
if (!root) return
|
||||||
|
const prev = root.style.overflow
|
||||||
|
if (menuOpen) root.style.overflow = 'hidden'
|
||||||
|
else root.style.overflow = prev || ''
|
||||||
|
return () => { root.style.overflow = prev }
|
||||||
|
}, [menuOpen])
|
||||||
|
|
||||||
|
const goSection = (event: React.MouseEvent<HTMLAnchorElement>, hash: string) => {
|
||||||
|
setMenuOpen(false)
|
||||||
|
if (currentPage === 'home' && onHashNavigate) {
|
||||||
|
event.preventDefault()
|
||||||
|
onHashNavigate(hash)
|
||||||
|
window.history.replaceState(null, '', hash)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="min-h-screen bg-[#0B0A09] text-[#F4F1EA] font-[family-name:var(--font-manrope)] selection:bg-[#D4A373]/40 selection:text-white">
|
||||||
|
<nav className="fixed top-0 left-0 right-0 z-[100] px-5 sm:px-8 py-4 flex items-center justify-between bg-[#0B0A09]/70 backdrop-blur-xl border-b border-white/[0.06]">
|
||||||
|
<Link href="/" className="flex items-center gap-2.5 group">
|
||||||
|
<div className="w-9 h-9 bg-[#F4F1EA] text-[#0B0A09] flex items-center justify-center rounded-lg transition-transform group-hover:scale-105">
|
||||||
|
<span className="font-serif text-xl font-bold leading-none">M</span>
|
||||||
|
</div>
|
||||||
|
<span className="font-serif text-xl font-medium tracking-tight text-[#F4F1EA]">Memento</span>
|
||||||
|
</Link>
|
||||||
|
<div className="hidden lg:flex items-center gap-8">
|
||||||
|
{NAV.map((l) => (
|
||||||
|
<Link
|
||||||
|
key={l.href}
|
||||||
|
href={resolvePublicHref(l.href, currentPage)}
|
||||||
|
onClick={(event) => goSection(event, l.href)}
|
||||||
|
className={`text-[13px] transition-colors ${
|
||||||
|
(currentPage === 'pricing' && l.href === '#pricing')
|
||||||
|
? 'text-white'
|
||||||
|
: 'text-white/75 hover:text-white'
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{l.label}
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2 sm:gap-3">
|
||||||
|
<div ref={langRef} className="relative">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => setLangOpen((o) => !o)}
|
||||||
|
aria-expanded={langOpen}
|
||||||
|
aria-haspopup="listbox"
|
||||||
|
aria-label={t('landing.nav.language')}
|
||||||
|
className="inline-flex items-center gap-1.5 px-3 py-2 rounded-full border border-white/15 text-[12px] text-white/70 hover:text-white hover:border-white/30 transition-colors"
|
||||||
|
>
|
||||||
|
<Globe size={14} />
|
||||||
|
<span className="uppercase font-semibold tracking-wide">{language}</span>
|
||||||
|
<ChevronDown size={12} className={`opacity-60 transition-transform ${langOpen ? 'rotate-180' : ''}`} />
|
||||||
|
</button>
|
||||||
|
<AnimatePresence>
|
||||||
|
{langOpen && (
|
||||||
|
<motion.ul
|
||||||
|
role="listbox"
|
||||||
|
initial={{ opacity: 0, y: 6 }}
|
||||||
|
animate={{ opacity: 1, y: 0 }}
|
||||||
|
exit={{ opacity: 0, y: 6 }}
|
||||||
|
transition={{ duration: 0.15 }}
|
||||||
|
className="absolute end-0 mt-2 w-48 max-h-72 overflow-y-auto rounded-2xl border border-white/10 bg-[#141210] shadow-2xl py-1.5 z-[110]"
|
||||||
|
>
|
||||||
|
{LANDING_LANGS.map((lang) => (
|
||||||
|
<li key={lang.code} role="option" aria-selected={language === lang.code}>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => {
|
||||||
|
setLanguage(lang.code)
|
||||||
|
setLangOpen(false)
|
||||||
|
}}
|
||||||
|
className={`w-full text-start px-4 py-2.5 text-[13px] transition-colors ${
|
||||||
|
language === lang.code
|
||||||
|
? 'bg-[#D4A373]/15 text-[#D4A373]'
|
||||||
|
: 'text-white/70 hover:bg-white/5 hover:text-white'
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{t(lang.labelKey)}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</motion.ul>
|
||||||
|
)}
|
||||||
|
</AnimatePresence>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Link href="/login" className="hidden sm:inline text-[13px] text-white/75 hover:text-white transition-colors px-2">
|
||||||
|
{t('landing.nav.login')}
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
href="/register"
|
||||||
|
className="hidden sm:inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-[#F4F1EA] text-[#0B0A09] text-[13px] font-semibold hover:bg-white transition-colors"
|
||||||
|
>
|
||||||
|
{t('landing.nav.cta')}
|
||||||
|
</Link>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
aria-label={menuOpen ? t('landing.nav.closeMenu') : t('landing.nav.openMenu')}
|
||||||
|
onClick={() => setMenuOpen((o) => !o)}
|
||||||
|
className="lg:hidden w-10 h-10 rounded-full border border-white/15 flex items-center justify-center text-white/80"
|
||||||
|
>
|
||||||
|
{menuOpen ? <X size={18} /> : <Menu size={18} />}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<AnimatePresence>
|
||||||
|
{menuOpen && (
|
||||||
|
<motion.div
|
||||||
|
initial={{ opacity: 0 }}
|
||||||
|
animate={{ opacity: 1 }}
|
||||||
|
exit={{ opacity: 0 }}
|
||||||
|
className="fixed inset-0 z-[99] bg-[#0B0A09] pt-24 px-8 lg:hidden"
|
||||||
|
>
|
||||||
|
<div className="flex flex-col gap-1">
|
||||||
|
{NAV.map((l) => (
|
||||||
|
<Link
|
||||||
|
key={l.href}
|
||||||
|
href={resolvePublicHref(l.href, currentPage)}
|
||||||
|
onClick={(event) => goSection(event, l.href)}
|
||||||
|
className="py-4 text-3xl font-serif border-b border-white/10"
|
||||||
|
>
|
||||||
|
{l.label}
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
<Link
|
||||||
|
href="/login"
|
||||||
|
onClick={() => setMenuOpen(false)}
|
||||||
|
className="mt-10 py-4 text-2xl font-serif text-white/80 text-center border-b border-white/10"
|
||||||
|
>
|
||||||
|
{t('landing.nav.login')}
|
||||||
|
</Link>
|
||||||
|
<Link href="/register" onClick={() => setMenuOpen(false)} className="mt-4 py-4 rounded-2xl bg-[#F4F1EA] text-[#0B0A09] text-center font-semibold">
|
||||||
|
{t('landing.nav.cta')}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</motion.div>
|
||||||
|
)}
|
||||||
|
</AnimatePresence>
|
||||||
|
|
||||||
|
<div className={currentPage === 'home' ? '' : 'pt-20'}>
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer className="px-5 sm:px-8 py-14 border-t border-white/[0.06]">
|
||||||
|
<div className="max-w-6xl mx-auto flex flex-col md:flex-row justify-between gap-10">
|
||||||
|
<div className="max-w-xs">
|
||||||
|
<div className="flex items-center gap-2 mb-3">
|
||||||
|
<div className="w-7 h-7 bg-[#F4F1EA] text-[#0B0A09] flex items-center justify-center rounded-md">
|
||||||
|
<span className="font-serif font-bold text-sm">M</span>
|
||||||
|
</div>
|
||||||
|
<span className="font-serif text-lg">Memento</span>
|
||||||
|
</div>
|
||||||
|
<p className="text-sm text-white/60">{t('landing.footer.desc')}</p>
|
||||||
|
</div>
|
||||||
|
<div className="grid grid-cols-3 gap-10 text-sm">
|
||||||
|
{(['product', 'community', 'legal'] as const).map((section) => (
|
||||||
|
<div key={section}>
|
||||||
|
<p className="text-[13px] font-medium tracking-wide text-white/70 mb-3">
|
||||||
|
{t(`landing.footer.${section}.title`)}
|
||||||
|
</p>
|
||||||
|
<ul className="space-y-2 text-white/70">
|
||||||
|
{[0, 1, 2].map((j) => {
|
||||||
|
const label = t(`landing.footer.${section}.link${j}`)
|
||||||
|
const href = t(`landing.footer.${section}.link${j}Href`)
|
||||||
|
if (!label || label.startsWith('landing.')) return null
|
||||||
|
const resolved = resolvePublicHref(href, currentPage)
|
||||||
|
return (
|
||||||
|
<li key={j}>
|
||||||
|
{resolved.startsWith('/') ? (
|
||||||
|
<Link href={resolved} className="hover:text-white transition-colors">{label}</Link>
|
||||||
|
) : (
|
||||||
|
<a href={resolved} className="hover:text-white transition-colors">{label}</a>
|
||||||
|
)}
|
||||||
|
</li>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p className="max-w-6xl mx-auto mt-12 pt-8 border-t border-white/[0.06] text-[13px] text-white/70 tracking-wide">
|
||||||
|
© 2026 Memento. {t('landing.footer.rights')}
|
||||||
|
</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -11,6 +11,12 @@ import { format } from 'date-fns';
|
|||||||
import { motion } from 'motion/react';
|
import { motion } from 'motion/react';
|
||||||
import { BillingHistory } from './billing-history';
|
import { BillingHistory } from './billing-history';
|
||||||
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants';
|
import { SUBSCRIPTION_TRIAL_DAYS } from '@/lib/billing/trial-constants';
|
||||||
|
import {
|
||||||
|
DEFAULT_PRICES,
|
||||||
|
annualDiscountPercent,
|
||||||
|
formatBillingAmount,
|
||||||
|
yearToMonthlyEquivalent,
|
||||||
|
} from '@/lib/billing/price-catalog';
|
||||||
|
|
||||||
type Tier = 'PRO' | 'BUSINESS';
|
type Tier = 'PRO' | 'BUSINESS';
|
||||||
type Interval = 'month' | 'year';
|
type Interval = 'month' | 'year';
|
||||||
@@ -285,12 +291,36 @@ export function BillingPlans() {
|
|||||||
const trialCta = (fallback: string) =>
|
const trialCta = (fallback: string) =>
|
||||||
trialEligible ? t('billing.startTrialCta', { days: trialDays }) : fallback;
|
trialEligible ? t('billing.startTrialCta', { days: trialDays }) : fallback;
|
||||||
|
|
||||||
|
const proMonth = status?.prices?.PRO?.month ?? DEFAULT_PRICES.PRO.month;
|
||||||
|
const proYear = status?.prices?.PRO?.year ?? DEFAULT_PRICES.PRO.year;
|
||||||
|
const businessMonth = status?.prices?.BUSINESS?.month ?? DEFAULT_PRICES.BUSINESS.month;
|
||||||
|
const businessYear = status?.prices?.BUSINESS?.year ?? DEFAULT_PRICES.BUSINESS.year;
|
||||||
|
const savePercent = annualDiscountPercent(proMonth.amount, proYear.amount);
|
||||||
|
|
||||||
|
const billed = (month: typeof proMonth, year: typeof proYear) => {
|
||||||
|
if (interval === 'month') {
|
||||||
|
return {
|
||||||
|
price: month.display,
|
||||||
|
period: t('billing.perMonth'),
|
||||||
|
yearHint: null as string | null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
price: formatBillingAmount(yearToMonthlyEquivalent(year.amount), year.currency),
|
||||||
|
period: t('landing.pricing.perMonthAnnual'),
|
||||||
|
yearHint: t('billing.billedYearTotal', { price: year.display }),
|
||||||
|
};
|
||||||
|
};
|
||||||
|
const proBilled = billed(proMonth, proYear);
|
||||||
|
const businessBilled = billed(businessMonth, businessYear);
|
||||||
|
|
||||||
const plans = [
|
const plans = [
|
||||||
{
|
{
|
||||||
id: 'free',
|
id: 'free',
|
||||||
name: t('billing.freePlan'),
|
name: t('billing.freePlan'),
|
||||||
price: t('billing.freePrice') || 'Gratuit',
|
price: t('billing.freePrice') || 'Gratuit',
|
||||||
period: '',
|
period: '',
|
||||||
|
yearHint: null as string | null,
|
||||||
description: t('billing.freeDescription') || 'Pour découvrir Memento.',
|
description: t('billing.freeDescription') || 'Pour découvrir Memento.',
|
||||||
features: [
|
features: [
|
||||||
t('billing.freeF1'),
|
t('billing.freeF1'),
|
||||||
@@ -313,9 +343,9 @@ export function BillingPlans() {
|
|||||||
{
|
{
|
||||||
id: 'pro',
|
id: 'pro',
|
||||||
name: t('billing.proPlan'),
|
name: t('billing.proPlan'),
|
||||||
price: status?.prices?.PRO?.[interval]?.display ??
|
price: proBilled.price,
|
||||||
(interval === 'month' ? (t('billing.proPrice') || '9,90€') : (t('billing.proAnnualPrice') || '99€')),
|
period: proBilled.period,
|
||||||
period: interval === 'month' ? t('billing.perMonth') : t('billing.perYear'),
|
yearHint: proBilled.yearHint,
|
||||||
description: t('billing.proDescription') || 'Pour les consultants et créateurs exigeants.',
|
description: t('billing.proDescription') || 'Pour les consultants et créateurs exigeants.',
|
||||||
features: [
|
features: [
|
||||||
...(trialEligible ? [t('billing.trialFeature', { days: trialDays })] : []),
|
...(trialEligible ? [t('billing.trialFeature', { days: trialDays })] : []),
|
||||||
@@ -337,9 +367,9 @@ export function BillingPlans() {
|
|||||||
{
|
{
|
||||||
id: 'business',
|
id: 'business',
|
||||||
name: t('billing.businessPlan'),
|
name: t('billing.businessPlan'),
|
||||||
price: status?.prices?.BUSINESS?.[interval]?.display ??
|
price: businessBilled.price,
|
||||||
(interval === 'month' ? (t('billing.businessPrice') || '29,90€') : (t('billing.businessAnnualPrice') || '299€')),
|
period: businessBilled.period,
|
||||||
period: interval === 'month' ? t('billing.perMonth') : t('billing.perYear'),
|
yearHint: businessBilled.yearHint,
|
||||||
features: [
|
features: [
|
||||||
...(trialEligible ? [t('billing.trialFeature', { days: trialDays })] : []),
|
...(trialEligible ? [t('billing.trialFeature', { days: trialDays })] : []),
|
||||||
t('billing.businessFeature1'),
|
t('billing.businessFeature1'),
|
||||||
@@ -361,6 +391,7 @@ export function BillingPlans() {
|
|||||||
name: t('billing.enterpriseTitle') || 'Enterprise',
|
name: t('billing.enterpriseTitle') || 'Enterprise',
|
||||||
price: t('billing.contactSales') || 'Sur devis',
|
price: t('billing.contactSales') || 'Sur devis',
|
||||||
period: '',
|
period: '',
|
||||||
|
yearHint: null as string | null,
|
||||||
description: t('billing.enterpriseDescription') || 'Crédits illimités ou pool dédié, connexion unique pour l’équipe, support prioritaire.',
|
description: t('billing.enterpriseDescription') || 'Crédits illimités ou pool dédié, connexion unique pour l’équipe, support prioritaire.',
|
||||||
features: [
|
features: [
|
||||||
t('billing.enterpriseFeature1'),
|
t('billing.enterpriseFeature1'),
|
||||||
@@ -765,7 +796,11 @@ export function BillingPlans() {
|
|||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{t('billing.annual')}
|
{t('billing.annual')}
|
||||||
<span className="ms-1 text-primary/80 dark:text-primary">{t('billing.savePercent')}</span>
|
{savePercent > 0 && (
|
||||||
|
<span className="ms-1 text-primary/80 dark:text-primary">
|
||||||
|
{t('billing.savePercent', { percent: savePercent })}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
@@ -800,6 +835,9 @@ export function BillingPlans() {
|
|||||||
<span className="text-4xl font-serif font-bold text-ink">{plan.price}</span>
|
<span className="text-4xl font-serif font-bold text-ink">{plan.price}</span>
|
||||||
<span className="text-concrete text-xs font-light italic">{plan.period}</span>
|
<span className="text-concrete text-xs font-light italic">{plan.period}</span>
|
||||||
</div>
|
</div>
|
||||||
|
{plan.yearHint && (
|
||||||
|
<p className="text-xs text-concrete font-light">{plan.yearHint}</p>
|
||||||
|
)}
|
||||||
<p className="text-xs text-concrete font-light leading-relaxed pe-4">{plan.description}</p>
|
<p className="text-xs text-concrete font-light leading-relaxed pe-4">{plan.description}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
47
memento-note/lib/billing/price-catalog.ts
Normal file
47
memento-note/lib/billing/price-catalog.ts
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
export type BillingTier = 'PRO' | 'BUSINESS'
|
||||||
|
export type BillingInterval = 'month' | 'year'
|
||||||
|
|
||||||
|
export interface DynamicPrice {
|
||||||
|
display: string
|
||||||
|
amount: number
|
||||||
|
currency: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const DEFAULT_PRICES: Record<BillingTier, Record<BillingInterval, DynamicPrice>> = {
|
||||||
|
PRO: {
|
||||||
|
month: { display: '9,90 €', amount: 9.9, currency: 'EUR' },
|
||||||
|
year: { display: '99,00 €', amount: 99, currency: 'EUR' },
|
||||||
|
},
|
||||||
|
BUSINESS: {
|
||||||
|
month: { display: '29,90 €', amount: 29.9, currency: 'EUR' },
|
||||||
|
year: { display: '299,00 €', amount: 299, currency: 'EUR' },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export function formatBillingAmount(amount: number, currency = 'EUR'): string {
|
||||||
|
const c = currency.toUpperCase()
|
||||||
|
if (c === 'EUR') {
|
||||||
|
return `${amount.toLocaleString('fr-FR', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} €`
|
||||||
|
}
|
||||||
|
if (c === 'USD') {
|
||||||
|
return `$${amount.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
||||||
|
}
|
||||||
|
if (c === 'GBP') {
|
||||||
|
return `£${amount.toLocaleString('en-GB', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
||||||
|
}
|
||||||
|
return `${amount.toLocaleString('fr-FR', { minimumFractionDigits: 2, maximumFractionDigits: 2 })} ${c}`
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Prix annuel ramené au mois (99 € / an → 8,25 € / mois). */
|
||||||
|
export function yearToMonthlyEquivalent(yearAmount: number): number {
|
||||||
|
return Math.round((yearAmount / 12) * 100) / 100
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Remise réelle : 9,90 € × 12 vs 99 € / an → 17 %. */
|
||||||
|
export function annualDiscountPercent(monthlyAmount: number, yearlyAmount: number): number {
|
||||||
|
const paidMonthlyForYear = monthlyAmount * 12
|
||||||
|
if (paidMonthlyForYear <= 0) return 0
|
||||||
|
const raw = (1 - yearlyAmount / paidMonthlyForYear) * 100
|
||||||
|
if (!Number.isFinite(raw) || raw <= 0) return 0
|
||||||
|
return Math.round(raw)
|
||||||
|
}
|
||||||
@@ -1,26 +1,16 @@
|
|||||||
import type { SubscriptionTier } from '@/lib/plan-entitlements';
|
import type { SubscriptionTier } from '@/lib/plan-entitlements';
|
||||||
import { stripe } from '@/lib/stripe';
|
import { stripe } from '@/lib/stripe';
|
||||||
import { getConfigValue } from '@/lib/config';
|
import { getConfigValue } from '@/lib/config';
|
||||||
|
import {
|
||||||
|
DEFAULT_PRICES,
|
||||||
|
formatBillingAmount,
|
||||||
|
type BillingInterval,
|
||||||
|
type BillingTier,
|
||||||
|
type DynamicPrice,
|
||||||
|
} from '@/lib/billing/price-catalog';
|
||||||
|
|
||||||
export type BillingTier = 'PRO' | 'BUSINESS';
|
export type { BillingInterval, BillingTier, DynamicPrice };
|
||||||
export type BillingInterval = 'month' | 'year';
|
export { DEFAULT_PRICES, formatBillingAmount };
|
||||||
|
|
||||||
export interface DynamicPrice {
|
|
||||||
display: string;
|
|
||||||
amount: number;
|
|
||||||
currency: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const DEFAULT_PRICES: Record<BillingTier, Record<BillingInterval, DynamicPrice>> = {
|
|
||||||
PRO: {
|
|
||||||
month: { display: '9,90 €', amount: 9.90, currency: 'EUR' },
|
|
||||||
year: { display: '99,00 €', amount: 99.00, currency: 'EUR' },
|
|
||||||
},
|
|
||||||
BUSINESS: {
|
|
||||||
month: { display: '29,90 €', amount: 29.90, currency: 'EUR' },
|
|
||||||
year: { display: '299,00 €', amount: 299.00, currency: 'EUR' },
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export async function isBillingEnabled(): Promise<boolean> {
|
export async function isBillingEnabled(): Promise<boolean> {
|
||||||
const flag = await getConfigValue('BILLING_ENABLED', '');
|
const flag = await getConfigValue('BILLING_ENABLED', '');
|
||||||
@@ -54,19 +44,11 @@ export async function getDynamicPrices(): Promise<Record<BillingTier, Record<Bil
|
|||||||
if (price.unit_amount !== null && price.unit_amount !== undefined) {
|
if (price.unit_amount !== null && price.unit_amount !== undefined) {
|
||||||
const amount = price.unit_amount / 100;
|
const amount = price.unit_amount / 100;
|
||||||
const currency = price.currency.toUpperCase();
|
const currency = price.currency.toUpperCase();
|
||||||
|
result[tier][interval] = {
|
||||||
let display = '';
|
display: formatBillingAmount(amount, currency),
|
||||||
if (currency === 'EUR') {
|
amount,
|
||||||
display = `${amount.toLocaleString('fr-FR', { minimumFractionDigits: 0, maximumFractionDigits: 2 })} €`;
|
currency,
|
||||||
} else if (currency === 'USD') {
|
};
|
||||||
display = `$${amount.toLocaleString('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 2 })}`;
|
|
||||||
} else if (currency === 'GBP') {
|
|
||||||
display = `£${amount.toLocaleString('en-GB', { minimumFractionDigits: 0, maximumFractionDigits: 2 })}`;
|
|
||||||
} else {
|
|
||||||
display = `${amount} ${currency}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
result[tier][interval] = { display, amount, currency };
|
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(`[stripe-prices] Failed to retrieve price for ${tier}/${interval}:`, err);
|
console.error(`[stripe-prices] Failed to retrieve price for ${tier}/${interval}:`, err);
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "مخصص"
|
"custom": "مخصص"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "يجمع البيانات من عدة مواقع وينشئ ملخصًا",
|
"scraper": "يقرأ عدة مواقع ويكتب ملخصًا",
|
||||||
"researcher": "يبحث عن معلومات حول موضوع معين",
|
"researcher": "يبحث عن معلومات حول موضوع معين",
|
||||||
"monitor": "يراقب دفتر ملاحظات ويحلل الملاحظات",
|
"monitor": "يراقب دفتر ملاحظات ويحلل الملاحظات",
|
||||||
"slideGenerator": "إنشاء عرض تقديمي لـ PowerPoint من الملاحظات",
|
"slideGenerator": "إنشاء عرض تقديمي لـ PowerPoint من الملاحظات",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "مثال: مراقبة الذكاء الاصطناعي الثلاثاء",
|
"namePlaceholder": "مثال: مراقبة الذكاء الاصطناعي الثلاثاء",
|
||||||
"description": "الوصف (اختياري)",
|
"description": "الوصف (اختياري)",
|
||||||
"descriptionPlaceholder": "ملخص أخبار الذكاء الاصطناعي الأسبوعي",
|
"descriptionPlaceholder": "ملخص أخبار الذكاء الاصطناعي الأسبوعي",
|
||||||
"urlsLabel": "روابط URLs للجمع",
|
"urlsLabel": "عناوين الصفحات للقراءة",
|
||||||
"urlsOptional": "(اختياري)",
|
"urlsOptional": "(اختياري)",
|
||||||
"sourceNotebook": "دفتر الملاحظات للمراقبة",
|
"sourceNotebook": "دفتر الملاحظات للمراقبة",
|
||||||
"selectNotebook": "اختر دفتر ملاحظات...",
|
"selectNotebook": "اختر دفتر ملاحظات...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "إشعار بالبريد الإلكتروني",
|
"notifyEmail": "إشعار بالبريد الإلكتروني",
|
||||||
"notifyEmailHint": "استلام بريد إلكتروني بنتائج الوكيل بعد كل تشغيل",
|
"notifyEmailHint": "استلام بريد إلكتروني بنتائج الوكيل بعد كل تشغيل",
|
||||||
"includeImages": "تضمين الصور",
|
"includeImages": "تضمين الصور",
|
||||||
"includeImagesHint": "استخراج الصور من الصفحات المجمعة وإرفاقها بالملاحظة المولدة",
|
"includeImagesHint": "أخذ الصور من الصفحات المقروءة وإرفاقها بالملاحظة",
|
||||||
"back": "رجوع",
|
"back": "رجوع",
|
||||||
"configuration": "التكوين",
|
"configuration": "التكوين",
|
||||||
"options": "الخيارات",
|
"options": "الخيارات",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "مراقبة الذكاء الاصطناعي",
|
"name": "مراقبة الذكاء الاصطناعي",
|
||||||
"description": "يجمع البيانات من 5 مواقع متخصصة في الذكاء الاصطناعي وينشئ ملخصًا أسبوعيًا."
|
"description": "يقرأ 5 مواقع للذكاء الاصطناعي ويكتب ملخصًا أسبوعيًا."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "مراقبة التقنية",
|
"name": "مراقبة التقنية",
|
||||||
"description": "يجمع البيانات من مواقع تقنية رئيسية وينشئ ملخص أخبار."
|
"description": "يقرأ مواقع تقنية رئيسية ويكتب ملخص أخبار."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "مراقبة التطوير",
|
"name": "مراقبة التطوير",
|
||||||
"description": "يجمع البيانات من مواقع التطوير ويلخص التقنيات والأطر الجديدة."
|
"description": "يقرأ مواقع التطوير ويلخص ما هو جديد."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "مراقب الملاحظات",
|
"name": "مراقب الملاحظات",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "مساعدة",
|
"btnLabel": "مساعدة",
|
||||||
"close": "إغلاق",
|
"close": "إغلاق",
|
||||||
"whatIsAgent": "ما هو الوكيل؟",
|
"whatIsAgent": "ما هو الوكيل؟",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "كيف تستخدم وكيلًا؟",
|
"howToUse": "كيف تستخدم وكيلًا؟",
|
||||||
"howToUseContent": "1. انقر على **\"وكيل جديد\"** (أو ابدأ من **قالب** أسفل الصفحة).",
|
"howToUseContent": "1. انقر على **\"وكيل جديد\"** (أو ابدأ من **قالب** أسفل الصفحة).",
|
||||||
"types": "أنواع الوكلاء",
|
"types": "أنواع الوكلاء",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "الوضع المتقدم (تعليمات الذكاء الاصطناعي، الحد الأقصى للتكرارات)",
|
"advanced": "الوضع المتقدم (تعليمات الذكاء الاصطناعي، الحد الأقصى للتكرارات)",
|
||||||
"advancedContent": "انقر على **\"الوضع المتقدم\"** أسفل النموذج للوصول إلى إعدادات إضافية.",
|
"advancedContent": "انقر على **\"الوضع المتقدم\"** أسفل النموذج للوصول إلى إعدادات إضافية.",
|
||||||
"tools": "الأدوات المتاحة (التفاصيل)",
|
"tools": "الأدوات المتاحة (التفاصيل)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "التكرار والجدولة",
|
"frequency": "التكرار والجدولة",
|
||||||
"frequencyContent": "| التكرار | السلوك\n|-----------|----------\n| **يدوي** | تنقر بنفسك على \"تشغيل\".",
|
"frequencyContent": "| التكرار | السلوك\n|-----------|----------\n| **يدوي** | تنقر بنفسك على \"تشغيل\".",
|
||||||
"targetNotebook": "دفتر الملاحظات المستهدف",
|
"targetNotebook": "دفتر الملاحظات المستهدف",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "القوالب",
|
"templates": "القوالب",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "نصائح وحل المشكلات",
|
"tips": "نصائح وحل المشكلات",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "اختر نوع المهمة التي سيقوم بها الوكيل. كل نوع لديه قدرات وحقول مختلفة.",
|
"agentType": "اختر نوع المهمة التي سيقوم بها الوكيل. كل نوع لديه قدرات وحقول مختلفة.",
|
||||||
"researchTopic": "الموضوع الذي سيبحث عنه الوكيل على الويب. كن محددًا للحصول على نتائج أفضل.",
|
"researchTopic": "الموضوع الذي سيبحث عنه الوكيل على الويب. كن محددًا للحصول على نتائج أفضل.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "تعذر جلب حالة الفوترة",
|
"fetchStatusFailed": "تعذر جلب حالة الفوترة",
|
||||||
"fetchQuotasFailed": "تعذر جلب الحصص",
|
"fetchQuotasFailed": "تعذر جلب الحصص",
|
||||||
"fetchInvoicesFailed": "تعذر تحميل سجل الفوترة.",
|
"fetchInvoicesFailed": "تعذر تحميل سجل الفوترة.",
|
||||||
"savePercent": "وفّر ~17%",
|
"savePercent": "وفّر ~{percent}%",
|
||||||
|
"billedYearTotal": "أي {price} في السنة",
|
||||||
"cancelSubscription": "إلغاء الاشتراك",
|
"cancelSubscription": "إلغاء الاشتراك",
|
||||||
"changeOffer": "تغيير العرض",
|
"changeOffer": "تغيير العرض",
|
||||||
"downgradeToFree": "العودة إلى العرض المجاني",
|
"downgradeToFree": "العودة إلى العرض المجاني",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "مرافقة عند التثبيت"
|
"feature5": "مرافقة عند التثبيت"
|
||||||
},
|
},
|
||||||
"basicPrice": "مجاني",
|
"basicPrice": "مجاني",
|
||||||
"savePercent": "وفّر حوالي 17%",
|
"savePercent": "وفّر حوالي {percent}%",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "قد يستغرق هذا من دقيقة إلى ثلاث دقائق. يمكنك متابعة التصفح؛ ستتحدث الصفحة تلقائياً.",
|
"mappingHint": "قد يستغرق هذا من دقيقة إلى ثلاث دقائق. يمكنك متابعة التصفح؛ ستتحدث الصفحة تلقائياً.",
|
||||||
"analyzeNow": "تحديث المواضيع",
|
"analyzeNow": "تحديث المواضيع",
|
||||||
"emptyNeedMoreNotes": "أضف {count} ملاحظات أخرى لتجميع مواضيعك (الحد الأدنى 10).",
|
"emptyNeedMoreNotes": "أضف {count} ملاحظات أخرى لتجميع مواضيعك (الحد الأدنى 10).",
|
||||||
"embeddingsHint": "فقط {indexed} من أصل {total} ملاحظة مفهرسة للذكاء الاصطناعي.",
|
"embeddingsHint": "فقط {indexed} من أصل {total} ملاحظة جاهزة للتجميع حسب الموضوع.",
|
||||||
"vsGraphHint": "ليس هذا «خريطة الروابط»: هنا الذكاء الاصطناعي يجمع حسب المعنى وليس الروابط.",
|
"vsGraphHint": "ليس هذا «خريطة الروابط»: هنا الذكاء الاصطناعي يجمع حسب المعنى وليس الروابط.",
|
||||||
"openGraphMap": "فتح خريطة الروابط",
|
"openGraphMap": "فتح خريطة الروابط",
|
||||||
"analysisFailed": "فشل التحليل. تحقق من إعدادات الذكاء الاصطناعي.",
|
"analysisFailed": "فشل التحليل. تحقق من إعدادات الذكاء الاصطناعي.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "اكتمل التحويل! تم إنشاء دفتر مرتبط.",
|
"convertSuccess": "اكتمل التحويل! تم إنشاء دفتر مرتبط.",
|
||||||
"convertToNotebook": "تحويل إلى دفتر",
|
"convertToNotebook": "تحويل إلى دفتر",
|
||||||
"converting": "جاري التحويل…",
|
"converting": "جاري التحويل…",
|
||||||
"createLocalDb": "أنشئ قاعدة بيانات محلية مستقلة",
|
"createLocalDb": "إنشاء جدول في هذه الملاحظة",
|
||||||
"createNotebook": "إنشاء دفتر",
|
"createNotebook": "إنشاء دفتر",
|
||||||
"defaultOption1": "خيار 1",
|
"defaultOption1": "خيار 1",
|
||||||
"defaultOption2": "خيار 2",
|
"defaultOption2": "خيار 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "كلمة مفتاحية",
|
"keywordMatch": "كلمة مفتاحية",
|
||||||
"linkToNotebook": "ربط بدفتر",
|
"linkToNotebook": "ربط بدفتر",
|
||||||
"loadError": "خطأ في تحميل البيانات المنظمة.",
|
"loadError": "خطأ في تحميل البيانات المنظمة.",
|
||||||
"localDbTitle": "قاعدة بيانات مستقلة",
|
"localDbTitle": "جدول في هذه الملاحظة",
|
||||||
"namePlaceholder": "أدخل اسماً…",
|
"namePlaceholder": "أدخل اسماً…",
|
||||||
"noEchoFound": "لم يُعثر على ملاحظات قريبة.",
|
"noEchoFound": "لم يُعثر على ملاحظات قريبة.",
|
||||||
"noNotebook": "تتطلب هذه الكتلة دفتر ملاحظات. انقل هذه الملاحظة إلى دفتر أولاً.",
|
"noNotebook": "تتطلب هذه الكتلة دفتر ملاحظات. انقل هذه الملاحظة إلى دفتر أولاً.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "ربط بدفتر",
|
"selectNotebook": "ربط بدفتر",
|
||||||
"selectOptionsPlaceholder": "خيارات مفصولة بفواصل",
|
"selectOptionsPlaceholder": "خيارات مفصولة بفواصل",
|
||||||
"semanticEcho": "الرنين الدلالي",
|
"semanticEcho": "الرنين الدلالي",
|
||||||
"switchToLocalDb": "التبديل إلى قاعدة البيانات المحلية",
|
"switchToLocalDb": "العودة إلى جدول هذه الملاحظة",
|
||||||
"turnIntoLabel": "قاعدة بيانات مدمجة",
|
"turnIntoLabel": "جدول في الملاحظة",
|
||||||
"untitled": "بدون عنوان"
|
"untitled": "بدون عنوان"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Benutzerdefiniert"
|
"custom": "Benutzerdefiniert"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Extrahiert Inhalte von mehreren Websites und erstellt eine Zusammenfassung",
|
"scraper": "Liest mehrere Websites und schreibt eine Zusammenfassung",
|
||||||
"researcher": "Sucht nach Informationen zu einem Thema",
|
"researcher": "Sucht nach Informationen zu einem Thema",
|
||||||
"monitor": "Überwacht ein Notizbuch und analysiert Notizen",
|
"monitor": "Überwacht ein Notizbuch und analysiert Notizen",
|
||||||
"slideGenerator": "Erstellt eine PowerPoint-Präsentation aus Notizen",
|
"slideGenerator": "Erstellt eine PowerPoint-Präsentation aus Notizen",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "z.B. Dienstag KI-Watch",
|
"namePlaceholder": "z.B. Dienstag KI-Watch",
|
||||||
"description": "Beschreibung (optional)",
|
"description": "Beschreibung (optional)",
|
||||||
"descriptionPlaceholder": "Wöchentliche KI-Nachrichtenzusammenfassung",
|
"descriptionPlaceholder": "Wöchentliche KI-Nachrichtenzusammenfassung",
|
||||||
"urlsLabel": "URLs zum Extrahieren",
|
"urlsLabel": "Adressen der zu lesenden Seiten",
|
||||||
"urlsOptional": "(optional)",
|
"urlsOptional": "(optional)",
|
||||||
"sourceNotebook": "Zu überwachendes Notizbuch",
|
"sourceNotebook": "Zu überwachendes Notizbuch",
|
||||||
"selectNotebook": "Notizbuch auswählen...",
|
"selectNotebook": "Notizbuch auswählen...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "E-Mail-Benachrichtigung",
|
"notifyEmail": "E-Mail-Benachrichtigung",
|
||||||
"notifyEmailHint": "Erhalten Sie eine E-Mail mit den Ergebnissen des Agenten nach jedem Durchlauf",
|
"notifyEmailHint": "Erhalten Sie eine E-Mail mit den Ergebnissen des Agenten nach jedem Durchlauf",
|
||||||
"includeImages": "Bilder einschließen",
|
"includeImages": "Bilder einschließen",
|
||||||
"includeImagesHint": "Bilder von gescrapten Seiten extrahieren und an die generierte Notiz anhängen",
|
"includeImagesHint": "Bilder von den gelesenen Seiten nehmen und an die Notiz anhängen",
|
||||||
"back": "Zurück",
|
"back": "Zurück",
|
||||||
"configuration": "Konfiguration",
|
"configuration": "Konfiguration",
|
||||||
"options": "Optionen",
|
"options": "Optionen",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "KI-Watch",
|
"name": "KI-Watch",
|
||||||
"description": "Extrahiert Inhalte von 5 KI-spezialisierten Websites und erstellt eine wöchentliche Zusammenfassung."
|
"description": "Liest 5 KI-Websites und schreibt eine wöchentliche Zusammenfassung."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Tech-Watch",
|
"name": "Tech-Watch",
|
||||||
"description": "Extrahiert Inhalte von großen Tech-Websites und erstellt eine Nachrichtenübersicht."
|
"description": "Liest große Tech-Websites und schreibt eine Nachrichtenübersicht."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Dev-Watch",
|
"name": "Dev-Watch",
|
||||||
"description": "Extrahiert Inhalte von Entwickler-Websites und fasst neue Technologien und Frameworks zusammen."
|
"description": "Liest Entwickler-Websites und fasst neue Technologien zusammen."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Notiz-Beobachter",
|
"name": "Notiz-Beobachter",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Agenten-Werkzeuge",
|
"title": "Agenten-Werkzeuge",
|
||||||
"webSearch": "Websuche",
|
"webSearch": "Websuche",
|
||||||
"webScrape": "Web-Scraping",
|
"webScrape": "Webseiten lesen",
|
||||||
"noteSearch": "Notizsuche",
|
"noteSearch": "Notizsuche",
|
||||||
"noteRead": "Notiz lesen",
|
"noteRead": "Notiz lesen",
|
||||||
"noteCreate": "Notiz erstellen",
|
"noteCreate": "Notiz erstellen",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Hilfe",
|
"btnLabel": "Hilfe",
|
||||||
"close": "Schließen",
|
"close": "Schließen",
|
||||||
"whatIsAgent": "Was ist ein Agent?",
|
"whatIsAgent": "Was ist ein Agent?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Wie verwendet man einen Agenten?",
|
"howToUse": "Wie verwendet man einen Agenten?",
|
||||||
"howToUseContent": "1. Klicken Sie auf **„Neuer Agent\"** (oder beginnen Sie mit einer **Vorlage** unten auf der Seite).",
|
"howToUseContent": "1. Klicken Sie auf **„Neuer Agent\"** (oder beginnen Sie mit einer **Vorlage** unten auf der Seite).",
|
||||||
"types": "Agententypen",
|
"types": "Agententypen",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Erweiterter Modus (KI-Anweisungen, Max. Iterationen)",
|
"advanced": "Erweiterter Modus (KI-Anweisungen, Max. Iterationen)",
|
||||||
"advancedContent": "Klicken Sie unten im Formular auf **„Erweiterter Modus\"**, um auf zusätzliche Einstellungen zuzugreifen.",
|
"advancedContent": "Klicken Sie unten im Formular auf **„Erweiterter Modus\"**, um auf zusätzliche Einstellungen zuzugreifen.",
|
||||||
"tools": "Verfügbare Werkzeuge (Details)",
|
"tools": "Verfügbare Werkzeuge (Details)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Häufigkeit & Planung",
|
"frequency": "Häufigkeit & Planung",
|
||||||
"frequencyContent": "| Häufigkeit | Verhalten\n|-----------|----------\n| **Manuell** | Sie klicken selbst auf „Ausführen\".",
|
"frequencyContent": "| Häufigkeit | Verhalten\n|-----------|----------\n| **Manuell** | Sie klicken selbst auf „Ausführen\".",
|
||||||
"targetNotebook": "Zielnotizbuch",
|
"targetNotebook": "Zielnotizbuch",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Vorlagen",
|
"templates": "Vorlagen",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Tipps & Fehlerbehebung",
|
"tips": "Tipps & Fehlerbehebung",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Wählen Sie die Art der Aufgabe, die der Agent ausführen soll. Jeder Typ hat unterschiedliche Funktionen und Felder.",
|
"agentType": "Wählen Sie die Art der Aufgabe, die der Agent ausführen soll. Jeder Typ hat unterschiedliche Funktionen und Felder.",
|
||||||
"researchTopic": "Das Thema, das der Agent im Web recherchieren soll. Seien Sie spezifisch für bessere Ergebnisse.",
|
"researchTopic": "Das Thema, das der Agent im Web recherchieren soll. Seien Sie spezifisch für bessere Ergebnisse.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Abrechnungsstatus konnte nicht abgerufen werden",
|
"fetchStatusFailed": "Abrechnungsstatus konnte nicht abgerufen werden",
|
||||||
"fetchQuotasFailed": "Kontingente konnten nicht abgerufen werden",
|
"fetchQuotasFailed": "Kontingente konnten nicht abgerufen werden",
|
||||||
"fetchInvoicesFailed": "Rechnungsverlauf konnte nicht geladen werden.",
|
"fetchInvoicesFailed": "Rechnungsverlauf konnte nicht geladen werden.",
|
||||||
"savePercent": "~17% sparen",
|
"savePercent": "~{percent} % sparen",
|
||||||
|
"billedYearTotal": "also {price} im Jahr",
|
||||||
"cancelSubscription": "Abonnement kündigen",
|
"cancelSubscription": "Abonnement kündigen",
|
||||||
"changeOffer": "Angebot wechseln",
|
"changeOffer": "Angebot wechseln",
|
||||||
"downgradeToFree": "Zum kostenlosen Angebot zurück",
|
"downgradeToFree": "Zum kostenlosen Angebot zurück",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Begleitete Einrichtung"
|
"feature5": "Begleitete Einrichtung"
|
||||||
},
|
},
|
||||||
"basicPrice": "Kostenlos",
|
"basicPrice": "Kostenlos",
|
||||||
"savePercent": "~17% sparen",
|
"savePercent": "~{percent} % sparen",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Dies kann ein bis drei Minuten dauern. Sie können weiter browsen; die Seite wird automatisch aktualisiert.",
|
"mappingHint": "Dies kann ein bis drei Minuten dauern. Sie können weiter browsen; die Seite wird automatisch aktualisiert.",
|
||||||
"analyzeNow": "Themen aktualisieren",
|
"analyzeNow": "Themen aktualisieren",
|
||||||
"emptyNeedMoreNotes": "Fügen Sie {count} weitere Notizen hinzu, um Ihre Themen zu gruppieren (Minimum 10).",
|
"emptyNeedMoreNotes": "Fügen Sie {count} weitere Notizen hinzu, um Ihre Themen zu gruppieren (Minimum 10).",
|
||||||
"embeddingsHint": "Nur {indexed} von {total} Notizen sind für KI indiziert.",
|
"embeddingsHint": "Nur {indexed} von {total} Notizen sind bereit, nach Themen gruppiert zu werden.",
|
||||||
"vsGraphHint": "Nicht dasselbe wie die „Link-Map\" (Netzwerk-Symbol): Hier gruppiert die KI nach Bedeutung, nicht nach Links.",
|
"vsGraphHint": "Nicht dasselbe wie die „Link-Map\" (Netzwerk-Symbol): Hier gruppiert die KI nach Bedeutung, nicht nach Links.",
|
||||||
"openGraphMap": "Link-Map öffnen",
|
"openGraphMap": "Link-Map öffnen",
|
||||||
"analysisFailed": "Analyse fehlgeschlagen. Überprüfe deine KI-Einstellungen.",
|
"analysisFailed": "Analyse fehlgeschlagen. Überprüfe deine KI-Einstellungen.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Konvertierung abgeschlossen! Verknüpftes Notizbuch erstellt.",
|
"convertSuccess": "Konvertierung abgeschlossen! Verknüpftes Notizbuch erstellt.",
|
||||||
"convertToNotebook": "In Notizbuch umwandeln",
|
"convertToNotebook": "In Notizbuch umwandeln",
|
||||||
"converting": "Konvertieren…",
|
"converting": "Konvertieren…",
|
||||||
"createLocalDb": "Eine eigenständige lokale Datenbank erstellen",
|
"createLocalDb": "Tabelle in dieser Notiz erstellen",
|
||||||
"createNotebook": "Notizbuch erstellen",
|
"createNotebook": "Notizbuch erstellen",
|
||||||
"defaultOption1": "Option 1",
|
"defaultOption1": "Option 1",
|
||||||
"defaultOption2": "Option 2",
|
"defaultOption2": "Option 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Schlüsselwort",
|
"keywordMatch": "Schlüsselwort",
|
||||||
"linkToNotebook": "Ein Notizbuch verlinken",
|
"linkToNotebook": "Ein Notizbuch verlinken",
|
||||||
"loadError": "Fehler beim Laden der strukturierten Daten.",
|
"loadError": "Fehler beim Laden der strukturierten Daten.",
|
||||||
"localDbTitle": "Eigenständige Datenbank",
|
"localDbTitle": "Tabelle in dieser Notiz",
|
||||||
"namePlaceholder": "Namen eingeben…",
|
"namePlaceholder": "Namen eingeben…",
|
||||||
"noEchoFound": "Keine nahen Notizen gefunden.",
|
"noEchoFound": "Keine nahen Notizen gefunden.",
|
||||||
"noNotebook": "Dieser Block erfordert ein Notizbuch. Verschieben Sie diese Notiz zuerst in ein Notizbuch.",
|
"noNotebook": "Dieser Block erfordert ein Notizbuch. Verschieben Sie diese Notiz zuerst in ein Notizbuch.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Ein Notizbuch verlinken",
|
"selectNotebook": "Ein Notizbuch verlinken",
|
||||||
"selectOptionsPlaceholder": "Optionen durch Kommas getrennt",
|
"selectOptionsPlaceholder": "Optionen durch Kommas getrennt",
|
||||||
"semanticEcho": "Semantische Resonanzen",
|
"semanticEcho": "Semantische Resonanzen",
|
||||||
"switchToLocalDb": "Zur lokalen Datenbank wechseln",
|
"switchToLocalDb": "Zurück zur Tabelle dieser Notiz",
|
||||||
"turnIntoLabel": "Inline-Datenbank",
|
"turnIntoLabel": "Tabelle in der Notiz",
|
||||||
"untitled": "Unbenannt"
|
"untitled": "Unbenannt"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2282,7 +2282,7 @@
|
|||||||
"custom": "Custom"
|
"custom": "Custom"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Scrapes multiple sites and creates a summary",
|
"scraper": "Reads several sites and writes a summary",
|
||||||
"researcher": "Searches for information on a topic",
|
"researcher": "Searches for information on a topic",
|
||||||
"monitor": "Watches a notebook and analyzes notes",
|
"monitor": "Watches a notebook and analyzes notes",
|
||||||
"slideGenerator": "Creates a PowerPoint presentation from notes",
|
"slideGenerator": "Creates a PowerPoint presentation from notes",
|
||||||
@@ -2296,7 +2296,7 @@
|
|||||||
"namePlaceholder": "e.g. Tuesday AI Watch",
|
"namePlaceholder": "e.g. Tuesday AI Watch",
|
||||||
"description": "Description (optional)",
|
"description": "Description (optional)",
|
||||||
"descriptionPlaceholder": "Weekly AI news summary",
|
"descriptionPlaceholder": "Weekly AI news summary",
|
||||||
"urlsLabel": "URLs to scrape",
|
"urlsLabel": "Pages to read",
|
||||||
"urlsOptional": "(optional)",
|
"urlsOptional": "(optional)",
|
||||||
"sourceNotebook": "Notebook to watch",
|
"sourceNotebook": "Notebook to watch",
|
||||||
"selectNotebook": "Select a notebook...",
|
"selectNotebook": "Select a notebook...",
|
||||||
@@ -2361,7 +2361,7 @@
|
|||||||
"notifyEmail": "Email notification",
|
"notifyEmail": "Email notification",
|
||||||
"notifyEmailHint": "Receive an email with the agent's results after each run",
|
"notifyEmailHint": "Receive an email with the agent's results after each run",
|
||||||
"includeImages": "Include images",
|
"includeImages": "Include images",
|
||||||
"includeImagesHint": "Extract images from scraped pages and attach them to the generated note",
|
"includeImagesHint": "Take images from the pages read and attach them to the note",
|
||||||
"back": "Back",
|
"back": "Back",
|
||||||
"configuration": "Configuration",
|
"configuration": "Configuration",
|
||||||
"options": "Options"
|
"options": "Options"
|
||||||
@@ -2440,15 +2440,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AI Watch",
|
"name": "AI Watch",
|
||||||
"description": "Scrapes RSS feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) and generates a weekly summary."
|
"description": "Reads feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) and writes a weekly summary."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Tech Watch",
|
"name": "Tech Watch",
|
||||||
"description": "Scrapes tech RSS feeds (Hacker News, DEV, Product Hunt) and creates a daily news summary."
|
"description": "Reads tech feeds (Hacker News, DEV, Product Hunt) and writes a daily summary."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Dev Watch",
|
"name": "Dev Watch",
|
||||||
"description": "Scrapes dev RSS feeds (JavaScript, TypeScript, React) and summarizes new tech and frameworks."
|
"description": "Reads development feeds (JavaScript, TypeScript, React) and summarizes what is new."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Note Observer",
|
"name": "Note Observer",
|
||||||
@@ -2495,7 +2495,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Agent Tools",
|
"title": "Agent Tools",
|
||||||
"webSearch": "Web Search",
|
"webSearch": "Web Search",
|
||||||
"webScrape": "Web Scrape",
|
"webScrape": "Read web pages",
|
||||||
"noteSearch": "Note Search",
|
"noteSearch": "Note Search",
|
||||||
"noteRead": "Read Note",
|
"noteRead": "Read Note",
|
||||||
"noteCreate": "Create Note",
|
"noteCreate": "Create Note",
|
||||||
@@ -2524,15 +2524,15 @@
|
|||||||
"btnLabel": "Help",
|
"btnLabel": "Help",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
"whatIsAgent": "What is an agent?",
|
"whatIsAgent": "What is an agent?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.\n\nAgents respond in your language (French or English) based on your settings.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.\n\nAgents respond in your language (French or English) based on your settings.",
|
||||||
"howToUse": "How to use an agent?",
|
"howToUse": "How to use an agent?",
|
||||||
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
|
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
|
||||||
"types": "Agent types",
|
"types": "Agent types",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (websites or RSS feeds)\n- **Default tools:** web scraping, note creation\n- **RSS tip:** Use RSS feed URLs (e.g. `site.com/feed`) to automatically scrape individual articles instead of listing pages\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (websites or RSS feeds)\n- **Default tools:** web scraping, note creation\n- **RSS tip:** Use RSS feed URLs (e.g. `site.com/feed`) to automatically read individual articles instead of listing pages\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Advanced mode (AI Instructions, Max iterations)",
|
"advanced": "Advanced mode (AI Instructions, Max iterations)",
|
||||||
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
|
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
|
||||||
"tools": "Available tools (full details)",
|
"tools": "Available tools (full details)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **RSS/Atom support:** If the URL is an RSS feed, the tool automatically detects it, parses the feed and scrapes the 5 latest articles individually. Use RSS feed URLs for much richer content than listing pages.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes the RSS feed at `techcrunch.com/feed/` and gets the 5 latest full articles.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **RSS/Atom support:** If the URL is an RSS feed, the tool automatically detects it, parses the feed and scrapes the 5 latest articles individually. Use RSS feed URLs for much richer content than listing pages.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes the RSS feed at `techcrunch.com/feed/` and gets the 5 latest full articles.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Frequency & scheduling",
|
"frequency": "Frequency & scheduling",
|
||||||
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
|
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
|
||||||
"targetNotebook": "Target notebook",
|
"targetNotebook": "Target notebook",
|
||||||
@@ -2545,7 +2545,7 @@
|
|||||||
"agentType": "Choose the type of task the agent will perform. Each type has different capabilities and fields.",
|
"agentType": "Choose the type of task the agent will perform. Each type has different capabilities and fields.",
|
||||||
"researchTopic": "The subject the agent will research on the web. Be specific for better results.",
|
"researchTopic": "The subject the agent will research on the web. Be specific for better results.",
|
||||||
"description": "A short description of what this agent does. Helps you remember its purpose.",
|
"description": "A short description of what this agent does. Helps you remember its purpose.",
|
||||||
"urls": "List of URLs to scrape. Supports RSS feeds — use feed URLs for richer content (e.g. site.com/feed).",
|
"urls": "List of pages to read. RSS feeds work too — a feed address (e.g. site.com/feed) often gives more articles.",
|
||||||
"sourceNotebook": "The notebook the agent will analyze. It reads notes from this notebook to find connections and themes.",
|
"sourceNotebook": "The notebook the agent will analyze. It reads notes from this notebook to find connections and themes.",
|
||||||
"targetNotebook": "Where the agent's result note will be saved. Choose Inbox or a specific notebook.",
|
"targetNotebook": "Where the agent's result note will be saved. Choose Inbox or a specific notebook.",
|
||||||
"frequency": "How often the agent runs automatically. Start with Manual to test.",
|
"frequency": "How often the agent runs automatically. Start with Manual to test.",
|
||||||
@@ -3508,7 +3508,8 @@
|
|||||||
"fetchStatusFailed": "Failed to fetch billing status",
|
"fetchStatusFailed": "Failed to fetch billing status",
|
||||||
"fetchQuotasFailed": "Failed to load credit usage",
|
"fetchQuotasFailed": "Failed to load credit usage",
|
||||||
"fetchInvoicesFailed": "Failed to load billing history.",
|
"fetchInvoicesFailed": "Failed to load billing history.",
|
||||||
"savePercent": "Save ~17%",
|
"savePercent": "Save ~{percent}%",
|
||||||
|
"billedYearTotal": "that’s {price} a year",
|
||||||
"startTrialCta": "Start {days}-day free trial",
|
"startTrialCta": "Start {days}-day free trial",
|
||||||
"trialFeature": "{days}-day free trial (card required)",
|
"trialFeature": "{days}-day free trial (card required)",
|
||||||
"trialEndsOn": "Your free trial ends on {date}. You will then be billed automatically.",
|
"trialEndsOn": "Your free trial ends on {date}. You will then be billed automatically.",
|
||||||
@@ -3663,7 +3664,7 @@
|
|||||||
"perMonthAnnual": "/mo, billed yearly",
|
"perMonthAnnual": "/mo, billed yearly",
|
||||||
"perUser": "+ €3.90/user",
|
"perUser": "+ €3.90/user",
|
||||||
"perUserAnnual": "+ €2.90/user, yearly",
|
"perUserAnnual": "+ €2.90/user, yearly",
|
||||||
"savePercent": "Save ~17%",
|
"savePercent": "Save ~{percent}%",
|
||||||
"proMonthly": "€9.90",
|
"proMonthly": "€9.90",
|
||||||
"proAnnualMonthly": "€8.25",
|
"proAnnualMonthly": "€8.25",
|
||||||
"businessMonthly": "€29.90",
|
"businessMonthly": "€29.90",
|
||||||
@@ -3807,7 +3808,7 @@
|
|||||||
"mappingHint": "This can take one to three minutes. You can keep browsing; the page will update when it's done.",
|
"mappingHint": "This can take one to three minutes. You can keep browsing; the page will update when it's done.",
|
||||||
"analyzeNow": "Update themes",
|
"analyzeNow": "Update themes",
|
||||||
"emptyNeedMoreNotes": "Add {count} more notes to group your themes (minimum 10).",
|
"emptyNeedMoreNotes": "Add {count} more notes to group your themes (minimum 10).",
|
||||||
"embeddingsHint": "Only {indexed} of {total} notes are indexed for AI. Analysis will prepare them first (this may take several minutes).",
|
"embeddingsHint": "Only {indexed} of {total} notes are ready to group by theme. Update will prepare them first (this may take several minutes).",
|
||||||
"vsGraphHint": "This is not the same as “Link map” (network icon in the sidebar): here, AI groups your notes by theme.",
|
"vsGraphHint": "This is not the same as “Link map” (network icon in the sidebar): here, AI groups your notes by theme.",
|
||||||
"openGraphMap": "Open link map",
|
"openGraphMap": "Open link map",
|
||||||
"analysisFailed": "Analysis failed. Check your AI settings or try again.",
|
"analysisFailed": "Analysis failed. Check your AI settings or try again.",
|
||||||
@@ -4076,7 +4077,7 @@
|
|||||||
"chooseNotebook": "Choose a notebook",
|
"chooseNotebook": "Choose a notebook",
|
||||||
"changeNotebook": "Change notebook",
|
"changeNotebook": "Change notebook",
|
||||||
"change": "Change",
|
"change": "Change",
|
||||||
"localDbTitle": "Standalone Database",
|
"localDbTitle": "Table in this note",
|
||||||
"echoPopoverTitle": "Nearby notes",
|
"echoPopoverTitle": "Nearby notes",
|
||||||
"noEchoFound": "No nearby notes found.",
|
"noEchoFound": "No nearby notes found.",
|
||||||
"echoUpgradeText": "Turn this table into a notebook so Memento can find nearby notes.",
|
"echoUpgradeText": "Turn this table into a notebook so Memento can find nearby notes.",
|
||||||
@@ -4087,7 +4088,7 @@
|
|||||||
"analyticsDistribution": "Distribution",
|
"analyticsDistribution": "Distribution",
|
||||||
"analyticsTotalRows": "Total Rows",
|
"analyticsTotalRows": "Total Rows",
|
||||||
"analyticsShort": "Analytics",
|
"analyticsShort": "Analytics",
|
||||||
"turnIntoLabel": "Inline database",
|
"turnIntoLabel": "Table in the note",
|
||||||
"columnAdded": "Column added!",
|
"columnAdded": "Column added!",
|
||||||
"columnRemoved": "Column removed",
|
"columnRemoved": "Column removed",
|
||||||
"propertyName": "Property {{index}}",
|
"propertyName": "Property {{index}}",
|
||||||
@@ -4125,8 +4126,8 @@
|
|||||||
"selectOptionsPlaceholder": "Options separated by commas",
|
"selectOptionsPlaceholder": "Options separated by commas",
|
||||||
"namePlaceholder": "Enter a name…",
|
"namePlaceholder": "Enter a name…",
|
||||||
"or": "or",
|
"or": "or",
|
||||||
"createLocalDb": "Create a standalone local database",
|
"createLocalDb": "Create a table in this note",
|
||||||
"switchToLocalDb": "Switch to local database",
|
"switchToLocalDb": "Back to this note’s table",
|
||||||
"untitled": "Untitled",
|
"untitled": "Untitled",
|
||||||
"citationInserted": "Link inserted in the editor!",
|
"citationInserted": "Link inserted in the editor!",
|
||||||
"notesLoadError": "Error loading notes",
|
"notesLoadError": "Error loading notes",
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Personalizado"
|
"custom": "Personalizado"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Extrae contenido de múltiples sitios y crea un resumen",
|
"scraper": "Lee varios sitios y hace un resumen",
|
||||||
"researcher": "Busca información sobre un tema",
|
"researcher": "Busca información sobre un tema",
|
||||||
"monitor": "Observa un cuaderno y analiza notas",
|
"monitor": "Observa un cuaderno y analiza notas",
|
||||||
"slideGenerator": "Crea una presentación de PowerPoint a partir de notas.",
|
"slideGenerator": "Crea una presentación de PowerPoint a partir de notas.",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "ej. Vigilancia IA del martes",
|
"namePlaceholder": "ej. Vigilancia IA del martes",
|
||||||
"description": "Descripción (opcional)",
|
"description": "Descripción (opcional)",
|
||||||
"descriptionPlaceholder": "Resumen semanal de noticias de IA",
|
"descriptionPlaceholder": "Resumen semanal de noticias de IA",
|
||||||
"urlsLabel": "URLs a extraer",
|
"urlsLabel": "Direcciones de las páginas a leer",
|
||||||
"urlsOptional": "(opcional)",
|
"urlsOptional": "(opcional)",
|
||||||
"sourceNotebook": "Cuaderno a observar",
|
"sourceNotebook": "Cuaderno a observar",
|
||||||
"selectNotebook": "Seleccionar un cuaderno...",
|
"selectNotebook": "Seleccionar un cuaderno...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "Notificación por correo",
|
"notifyEmail": "Notificación por correo",
|
||||||
"notifyEmailHint": "Recibe un correo con los resultados del agente después de cada ejecución",
|
"notifyEmailHint": "Recibe un correo con los resultados del agente después de cada ejecución",
|
||||||
"includeImages": "Incluir imágenes",
|
"includeImages": "Incluir imágenes",
|
||||||
"includeImagesHint": "Extraer imágenes de las páginas analizadas y adjuntarlas a la nota generada",
|
"includeImagesHint": "Tomar las imágenes de las páginas leídas y adjuntarlas a la nota",
|
||||||
"back": "Atrás",
|
"back": "Atrás",
|
||||||
"configuration": "Configuración",
|
"configuration": "Configuración",
|
||||||
"options": "Opciones",
|
"options": "Opciones",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Vigilancia IA",
|
"name": "Vigilancia IA",
|
||||||
"description": "Extrae contenido de 5 sitios especializados en IA y genera un resumen semanal."
|
"description": "Lee 5 sitios de IA y escribe un resumen semanal."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Vigilancia Tech",
|
"name": "Vigilancia Tech",
|
||||||
"description": "Extrae contenido de los principales sitios tecnológicos y crea un resumen de noticias."
|
"description": "Lee los principales sitios tecnológicos y escribe un resumen de noticias."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Vigilancia Dev",
|
"name": "Vigilancia Dev",
|
||||||
"description": "Extrae contenido de sitios de desarrollo y resume nuevas tecnologías y frameworks."
|
"description": "Lee sitios de desarrollo y resume las novedades."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Observador de notas",
|
"name": "Observador de notas",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Herramientas del Agente",
|
"title": "Herramientas del Agente",
|
||||||
"webSearch": "Búsqueda Web",
|
"webSearch": "Búsqueda Web",
|
||||||
"webScrape": "Scraping Web",
|
"webScrape": "Lectura de páginas",
|
||||||
"noteSearch": "Búsqueda de Notas",
|
"noteSearch": "Búsqueda de Notas",
|
||||||
"noteRead": "Leer Nota",
|
"noteRead": "Leer Nota",
|
||||||
"noteCreate": "Crear Nota",
|
"noteCreate": "Crear Nota",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Ayuda",
|
"btnLabel": "Ayuda",
|
||||||
"close": "Cerrar",
|
"close": "Cerrar",
|
||||||
"whatIsAgent": "¿Qué es un agente?",
|
"whatIsAgent": "¿Qué es un agente?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "¿Cómo usar un agente?",
|
"howToUse": "¿Cómo usar un agente?",
|
||||||
"howToUseContent": "1. Haz clic en **\"Nuevo agente\"** (o empieza desde una **Plantilla** al final de la página)\n2. Elige un **tipo de agente** (Investigador, Monitor, Observador, Personalizado)\n3. Dale un **nombre** y rellena los campos específicos del tipo\n4. Opcionalmente elige un **cuaderno de destino** donde se guardarán los resultados\n5. Elige una **frecuencia** (Manual = tú lo activas)\n6. Haz clic en **Crear**, luego pulsa el botón **Ejecutar** en la tarjeta del agente\n7. Cuando termine, aparecerá una nueva nota en tu cuaderno de destino",
|
"howToUseContent": "1. Haz clic en **\"Nuevo agente\"** (o empieza desde una **Plantilla** al final de la página)\n2. Elige un **tipo de agente** (Investigador, Monitor, Observador, Personalizado)\n3. Dale un **nombre** y rellena los campos específicos del tipo\n4. Opcionalmente elige un **cuaderno de destino** donde se guardarán los resultados\n5. Elige una **frecuencia** (Manual = tú lo activas)\n6. Haz clic en **Crear**, luego pulsa el botón **Ejecutar** en la tarjeta del agente\n7. Cuando termine, aparecerá una nueva nota en tu cuaderno de destino",
|
||||||
"types": "Tipos de agentes",
|
"types": "Tipos de agentes",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Modo avanzado (Instrucciones IA, Iteraciones máx.)",
|
"advanced": "Modo avanzado (Instrucciones IA, Iteraciones máx.)",
|
||||||
"advancedContent": "Haz clic en **\"Modo avanzado\"** en la parte inferior del formulario para acceder a ajustes adicionales.\n\n### Instrucciones de IA\n\nEste campo te permite **reemplazar el prompt del sistema por defecto** del agente. Si se deja vacío, el agente usa un prompt automático adaptado a su tipo.\n\n**¿Por qué usarlo?** Quieres controlar exactamente cómo se comporta el agente. Por ejemplo:\n- \"Escribe el resumen en inglés, aunque las fuentes estén en francés\"\n- \"Estructura la nota con secciones: Contexto, Puntos clave, Opinión personal\"\n- \"Ignora los artículos de hace más de 30 días y céntrate en noticias recientes\"\n- \"Para cada tema detectado, sugiere 3 pistas de seguimiento con enlaces\"\n\n> **Nota:** Tus instrucciones reemplazan los valores por defecto, no se añaden a ellos.\n\n### Iteraciones máximas\n\nEste es el **número máximo de ciclos** que puede realizar el agente. Un ciclo = el agente piensa, llama a una herramienta, lee el resultado y luego decide la siguiente acción.\n\n- **3-5 iteraciones:** para tareas simples (analizar una sola página)\n- **10 iteraciones (por defecto):** buen equilibrio para la mayoría de casos\n- **15-25 iteraciones:** para investigación profunda donde el agente necesita explorar múltiples pistas\n\n> **Advertencia:** Más iteraciones = más tiempo y potencialmente mayores costes de API.",
|
"advancedContent": "Haz clic en **\"Modo avanzado\"** en la parte inferior del formulario para acceder a ajustes adicionales.\n\n### Instrucciones de IA\n\nEste campo te permite **reemplazar el prompt del sistema por defecto** del agente. Si se deja vacío, el agente usa un prompt automático adaptado a su tipo.\n\n**¿Por qué usarlo?** Quieres controlar exactamente cómo se comporta el agente. Por ejemplo:\n- \"Escribe el resumen en inglés, aunque las fuentes estén en francés\"\n- \"Estructura la nota con secciones: Contexto, Puntos clave, Opinión personal\"\n- \"Ignora los artículos de hace más de 30 días y céntrate en noticias recientes\"\n- \"Para cada tema detectado, sugiere 3 pistas de seguimiento con enlaces\"\n\n> **Nota:** Tus instrucciones reemplazan los valores por defecto, no se añaden a ellos.\n\n### Iteraciones máximas\n\nEste es el **número máximo de ciclos** que puede realizar el agente. Un ciclo = el agente piensa, llama a una herramienta, lee el resultado y luego decide la siguiente acción.\n\n- **3-5 iteraciones:** para tareas simples (analizar una sola página)\n- **10 iteraciones (por defecto):** buen equilibrio para la mayoría de casos\n- **15-25 iteraciones:** para investigación profunda donde el agente necesita explorar múltiples pistas\n\n> **Advertencia:** Más iteraciones = más tiempo y potencialmente mayores costes de API.",
|
||||||
"tools": "Herramientas disponibles (detalle)",
|
"tools": "Herramientas disponibles (detalle)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Frecuencia y programación",
|
"frequency": "Frecuencia y programación",
|
||||||
"frequencyContent": "| Frecuencia | Comportamiento\n|------------|-------------\n| **Manual** | Haces clic en \"Ejecutar\" tú mismo — sin programación automática\n| **Cada hora** | Se ejecuta cada hora\n| **Diario** | Se ejecuta una vez al día\n| **Semanal** | Se ejecuta una vez por semana\n| **Mensual** | Se ejecuta una vez al mes\n\n> **Consejo:** Empieza con \"Manual\" para probar tu agente, luego cambia a una frecuencia automática cuando estés satisfecho con los resultados.",
|
"frequencyContent": "| Frecuencia | Comportamiento\n|------------|-------------\n| **Manual** | Haces clic en \"Ejecutar\" tú mismo — sin programación automática\n| **Cada hora** | Se ejecuta cada hora\n| **Diario** | Se ejecuta una vez al día\n| **Semanal** | Se ejecuta una vez por semana\n| **Mensual** | Se ejecuta una vez al mes\n\n> **Consejo:** Empieza con \"Manual\" para probar tu agente, luego cambia a una frecuencia automática cuando estés satisfecho con los resultados.",
|
||||||
"targetNotebook": "Libreta destino",
|
"targetNotebook": "Libreta destino",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Plantillas",
|
"templates": "Plantillas",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Consejos y solución de problemas",
|
"tips": "Consejos y solución de problemas",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Elija el tipo de tarea que realizará el agente. Cada tipo tiene diferentes capacidades y campos.",
|
"agentType": "Elija el tipo de tarea que realizará el agente. Cada tipo tiene diferentes capacidades y campos.",
|
||||||
"researchTopic": "El tema que el agente investigará en la web. Sea específico para mejores resultados.",
|
"researchTopic": "El tema que el agente investigará en la web. Sea específico para mejores resultados.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "No se pudo obtener el estado de facturación",
|
"fetchStatusFailed": "No se pudo obtener el estado de facturación",
|
||||||
"fetchQuotasFailed": "No se pudieron obtener las cuotas",
|
"fetchQuotasFailed": "No se pudieron obtener las cuotas",
|
||||||
"fetchInvoicesFailed": "No se pudo cargar el historial de facturación.",
|
"fetchInvoicesFailed": "No se pudo cargar el historial de facturación.",
|
||||||
"savePercent": "Ahorra ~17%",
|
"savePercent": "Ahorra ~{percent} %",
|
||||||
|
"billedYearTotal": "o sea {price} al año",
|
||||||
"cancelSubscription": "Cancelar suscripción",
|
"cancelSubscription": "Cancelar suscripción",
|
||||||
"changeOffer": "Cambiar de oferta",
|
"changeOffer": "Cambiar de oferta",
|
||||||
"downgradeToFree": "Volver a la oferta gratuita",
|
"downgradeToFree": "Volver a la oferta gratuita",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Acompañamiento en la instalación"
|
"feature5": "Acompañamiento en la instalación"
|
||||||
},
|
},
|
||||||
"basicPrice": "Gratis",
|
"basicPrice": "Gratis",
|
||||||
"savePercent": "Ahorra ~17%",
|
"savePercent": "Ahorra ~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Esto puede tardar de uno a tres minutos. Puedes seguir navegando; la página se actualizará cuando termine.",
|
"mappingHint": "Esto puede tardar de uno a tres minutos. Puedes seguir navegando; la página se actualizará cuando termine.",
|
||||||
"analyzeNow": "Actualizar los temas",
|
"analyzeNow": "Actualizar los temas",
|
||||||
"emptyNeedMoreNotes": "Añade {count} notas más para agrupar tus temas (mínimo 10).",
|
"emptyNeedMoreNotes": "Añade {count} notas más para agrupar tus temas (mínimo 10).",
|
||||||
"embeddingsHint": "Solo {indexed} de {total} notas están indexadas para IA.",
|
"embeddingsHint": "Solo {indexed} de {total} notas están listas para agrupar por temas.",
|
||||||
"vsGraphHint": "Esto no es lo mismo que el \"Mapa de enlaces\" (icono de red en la barra lateral): aquí, la IA agrupa tus notas por tema.",
|
"vsGraphHint": "Esto no es lo mismo que el \"Mapa de enlaces\" (icono de red en la barra lateral): aquí, la IA agrupa tus notas por tema.",
|
||||||
"openGraphMap": "Abrir mapa de enlaces",
|
"openGraphMap": "Abrir mapa de enlaces",
|
||||||
"analysisFailed": "Análisis fallido. Revisa tu configuración de IA.",
|
"analysisFailed": "Análisis fallido. Revisa tu configuración de IA.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "¡Conversión completa! Cuaderno vinculado creado.",
|
"convertSuccess": "¡Conversión completa! Cuaderno vinculado creado.",
|
||||||
"convertToNotebook": "Convertir a cuaderno",
|
"convertToNotebook": "Convertir a cuaderno",
|
||||||
"converting": "Convirtiendo…",
|
"converting": "Convirtiendo…",
|
||||||
"createLocalDb": "Crear una base de datos local independiente",
|
"createLocalDb": "Crear una tabla en esta nota",
|
||||||
"createNotebook": "Crear",
|
"createNotebook": "Crear",
|
||||||
"defaultOption1": "Opción 1",
|
"defaultOption1": "Opción 1",
|
||||||
"defaultOption2": "Opción 2",
|
"defaultOption2": "Opción 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Palabra clave",
|
"keywordMatch": "Palabra clave",
|
||||||
"linkToNotebook": "Enlazar un cuaderno",
|
"linkToNotebook": "Enlazar un cuaderno",
|
||||||
"loadError": "Error al cargar datos estructurados.",
|
"loadError": "Error al cargar datos estructurados.",
|
||||||
"localDbTitle": "Base de datos independiente",
|
"localDbTitle": "Tabla en esta nota",
|
||||||
"namePlaceholder": "Introduce un nombre…",
|
"namePlaceholder": "Introduce un nombre…",
|
||||||
"noEchoFound": "No se encontraron notas cercanas.",
|
"noEchoFound": "No se encontraron notas cercanas.",
|
||||||
"noNotebook": "Este bloque requiere un cuaderno. Mueve esta nota a un cuaderno primero.",
|
"noNotebook": "Este bloque requiere un cuaderno. Mueve esta nota a un cuaderno primero.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Enlazar un cuaderno",
|
"selectNotebook": "Enlazar un cuaderno",
|
||||||
"selectOptionsPlaceholder": "Opciones separadas por comas",
|
"selectOptionsPlaceholder": "Opciones separadas por comas",
|
||||||
"semanticEcho": "Resonancias semánticas",
|
"semanticEcho": "Resonancias semánticas",
|
||||||
"switchToLocalDb": "Cambiar a base de datos local",
|
"switchToLocalDb": "Volver a la tabla de esta nota",
|
||||||
"turnIntoLabel": "Base de datos en línea",
|
"turnIntoLabel": "Tabla en la nota",
|
||||||
"untitled": "Sin título"
|
"untitled": "Sin título"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "سفارشی"
|
"custom": "سفارشی"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "چندین سایت را استخراج و خلاصهای ایجاد میکند",
|
"scraper": "چند سایت را میخواند و خلاصه مینویسد",
|
||||||
"researcher": "اطلاعاتی درباره یک موضوع جستجو میکند",
|
"researcher": "اطلاعاتی درباره یک موضوع جستجو میکند",
|
||||||
"monitor": "یک دفترچه را نظارت و یادداشتها را تحلیل میکند",
|
"monitor": "یک دفترچه را نظارت و یادداشتها را تحلیل میکند",
|
||||||
"slideGenerator": "یک ارائه پاورپوینت از یادداشت ها ایجاد می کند",
|
"slideGenerator": "یک ارائه پاورپوینت از یادداشت ها ایجاد می کند",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "مثال: پایش هوش مصنوعی سهشنبه",
|
"namePlaceholder": "مثال: پایش هوش مصنوعی سهشنبه",
|
||||||
"description": "توضیحات (اختیاری)",
|
"description": "توضیحات (اختیاری)",
|
||||||
"descriptionPlaceholder": "خلاصه هفتگی اخبار هوش مصنوعی",
|
"descriptionPlaceholder": "خلاصه هفتگی اخبار هوش مصنوعی",
|
||||||
"urlsLabel": "آدرسهای URL برای استخراج",
|
"urlsLabel": "نشانی صفحههایی که باید خوانده شوند",
|
||||||
"urlsOptional": "(اختیاری)",
|
"urlsOptional": "(اختیاری)",
|
||||||
"sourceNotebook": "دفترچه برای نظارت",
|
"sourceNotebook": "دفترچه برای نظارت",
|
||||||
"selectNotebook": "یک دفترچه انتخاب کنید...",
|
"selectNotebook": "یک دفترچه انتخاب کنید...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "اعلان ایمیل",
|
"notifyEmail": "اعلان ایمیل",
|
||||||
"notifyEmailHint": "پس از هر اجرا، ایمیل حاوی نتایج عامل دریافت کنید",
|
"notifyEmailHint": "پس از هر اجرا، ایمیل حاوی نتایج عامل دریافت کنید",
|
||||||
"includeImages": "شامل تصاویر",
|
"includeImages": "شامل تصاویر",
|
||||||
"includeImagesHint": "استخراج تصاویر از صفحات استخراج شده و پیوست به یادداشت تولید شده",
|
"includeImagesHint": "تصویرها را از صفحههای خواندهشده به یادداشت بچسبانید",
|
||||||
"back": "بازگشت",
|
"back": "بازگشت",
|
||||||
"configuration": "پیکربندی",
|
"configuration": "پیکربندی",
|
||||||
"options": "گزینهها",
|
"options": "گزینهها",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "پایش هوش مصنوعی",
|
"name": "پایش هوش مصنوعی",
|
||||||
"description": "از ۵ سایت تخصصی هوش مصنوعی استخراج و خلاصه هفتگی تولید میکند."
|
"description": "۵ سایت هوش مصنوعی را میخواند و خلاصه هفتگی مینویسد."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "پایش فناوری",
|
"name": "پایش فناوری",
|
||||||
"description": "از سایتهای فناوری اصلی استخراج و خلاصه اخبار ایجاد میکند."
|
"description": "سایتهای فناوری اصلی را میخواند و خلاصه اخبار مینویسد."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "پایش توسعه",
|
"name": "پایش توسعه",
|
||||||
"description": "از سایتهای توسعه استخراج و فناوریها و فریمورکهای جدید را خلاصه میکند."
|
"description": "سایتهای توسعه را میخواند و تازهها را خلاصه میکند."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "ناظر یادداشت",
|
"name": "ناظر یادداشت",
|
||||||
@@ -3177,7 +3177,8 @@
|
|||||||
"fetchStatusFailed": "دریافت وضعیت صورتحساب ناموفق بود",
|
"fetchStatusFailed": "دریافت وضعیت صورتحساب ناموفق بود",
|
||||||
"fetchQuotasFailed": "دریافت سهمیهها ناموفق بود",
|
"fetchQuotasFailed": "دریافت سهمیهها ناموفق بود",
|
||||||
"fetchInvoicesFailed": "بارگذاری تاریخچه صورتحساب ناموفق بود.",
|
"fetchInvoicesFailed": "بارگذاری تاریخچه صورتحساب ناموفق بود.",
|
||||||
"savePercent": "~۱۷٪ صرفهجویی",
|
"savePercent": "~{percent}٪ صرفهجویی",
|
||||||
|
"billedYearTotal": "یعنی {price} در سال",
|
||||||
"cancelSubscription": "لغو اشتراک",
|
"cancelSubscription": "لغو اشتراک",
|
||||||
"changeOffer": "تغییر طرح",
|
"changeOffer": "تغییر طرح",
|
||||||
"downgradeToFree": "بازگشت به طرح رایگان",
|
"downgradeToFree": "بازگشت به طرح رایگان",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "همراهی هنگام راهاندازی"
|
"feature5": "همراهی هنگام راهاندازی"
|
||||||
},
|
},
|
||||||
"basicPrice": "رایگان",
|
"basicPrice": "رایگان",
|
||||||
"savePercent": "حدود ۱۷٪ صرفهجویی",
|
"savePercent": "حدود {percent}٪ صرفهجویی",
|
||||||
"proMonthly": "۹٫۹۰€",
|
"proMonthly": "۹٫۹۰€",
|
||||||
"proAnnualMonthly": "۸٫۲۵€",
|
"proAnnualMonthly": "۸٫۲۵€",
|
||||||
"businessMonthly": "۲۹٫۹۰€",
|
"businessMonthly": "۲۹٫۹۰€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "این کار ممکن است یک تا سه دقیقه طول بکشد. میتوانید به مرور ادامه دهید؛ صفحه بهطور خودکار بهروزرسانی میشود.",
|
"mappingHint": "این کار ممکن است یک تا سه دقیقه طول بکشد. میتوانید به مرور ادامه دهید؛ صفحه بهطور خودکار بهروزرسانی میشود.",
|
||||||
"analyzeNow": "بهروزرسانی موضوعها",
|
"analyzeNow": "بهروزرسانی موضوعها",
|
||||||
"emptyNeedMoreNotes": "{count} یادداشت دیگر اضافه کنید تا موضوعها گروهبندی شوند (حداقل ۱۰).",
|
"emptyNeedMoreNotes": "{count} یادداشت دیگر اضافه کنید تا موضوعها گروهبندی شوند (حداقل ۱۰).",
|
||||||
"embeddingsHint": "فقط {indexed} از {total} یادداشت برای هوش مصنوعی نمایهسازی شدهاند.",
|
"embeddingsHint": "فقط {indexed} از {total} یادداشت آماده گروهبندی بر اساس موضوع هستند.",
|
||||||
"vsGraphHint": "با «نقشه پیوندها» (آیکون شبکه) یکسان نیست: اینجا هوش مصنوعی بر اساس معنا گروهبندی میکند.",
|
"vsGraphHint": "با «نقشه پیوندها» (آیکون شبکه) یکسان نیست: اینجا هوش مصنوعی بر اساس معنا گروهبندی میکند.",
|
||||||
"openGraphMap": "باز کردن نقشه پیوندها",
|
"openGraphMap": "باز کردن نقشه پیوندها",
|
||||||
"analysisFailed": "تحلیل ناموفق. تنظیمات هوش مصنوعی را بررسی کنید.",
|
"analysisFailed": "تحلیل ناموفق. تنظیمات هوش مصنوعی را بررسی کنید.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "تبدیل کامل شد! دفترچه پیوندی ایجاد شد.",
|
"convertSuccess": "تبدیل کامل شد! دفترچه پیوندی ایجاد شد.",
|
||||||
"convertToNotebook": "تبدیل به دفترچه",
|
"convertToNotebook": "تبدیل به دفترچه",
|
||||||
"converting": "در حال تبدیل…",
|
"converting": "در حال تبدیل…",
|
||||||
"createLocalDb": "ایجاد یک پایگاه داده محلی مستقل",
|
"createLocalDb": "ایجاد جدول در این یادداشت",
|
||||||
"createNotebook": "ایجاد دفترچه",
|
"createNotebook": "ایجاد دفترچه",
|
||||||
"defaultOption1": "گزینه ۱",
|
"defaultOption1": "گزینه ۱",
|
||||||
"defaultOption2": "گزینه ۲",
|
"defaultOption2": "گزینه ۲",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "کلمه کلیدی",
|
"keywordMatch": "کلمه کلیدی",
|
||||||
"linkToNotebook": "پیوند به یک دفترچه",
|
"linkToNotebook": "پیوند به یک دفترچه",
|
||||||
"loadError": "خطا در بارگذاری دادههای ساختاریافته.",
|
"loadError": "خطا در بارگذاری دادههای ساختاریافته.",
|
||||||
"localDbTitle": "پایگاه داده مستقل",
|
"localDbTitle": "جدول در این یادداشت",
|
||||||
"namePlaceholder": "یک نام وارد کنید…",
|
"namePlaceholder": "یک نام وارد کنید…",
|
||||||
"noEchoFound": "یادداشت نزدیکی پیدا نشد.",
|
"noEchoFound": "یادداشت نزدیکی پیدا نشد.",
|
||||||
"noNotebook": "این بلوک به یک دفترچه نیاز دارد. ابتدا این یادداشت را به یک دفترچه منتقل کنید.",
|
"noNotebook": "این بلوک به یک دفترچه نیاز دارد. ابتدا این یادداشت را به یک دفترچه منتقل کنید.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "پیوند به یک دفترچه",
|
"selectNotebook": "پیوند به یک دفترچه",
|
||||||
"selectOptionsPlaceholder": "گزینههای جدا شده با ویرگول",
|
"selectOptionsPlaceholder": "گزینههای جدا شده با ویرگول",
|
||||||
"semanticEcho": "طنینهای معنایی",
|
"semanticEcho": "طنینهای معنایی",
|
||||||
"switchToLocalDb": "تغییر به پایگاه داده محلی",
|
"switchToLocalDb": "بازگشت به جدول این یادداشت",
|
||||||
"turnIntoLabel": "پایگاه داده درونخطی",
|
"turnIntoLabel": "جدول داخل یادداشت",
|
||||||
"untitled": "بدون عنوان"
|
"untitled": "بدون عنوان"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2288,7 +2288,7 @@
|
|||||||
"custom": "Personnalisé"
|
"custom": "Personnalisé"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Scrape plusieurs sites et crée un résumé",
|
"scraper": "Lit plusieurs sites et en fait un résumé",
|
||||||
"researcher": "Recherche des informations sur un sujet",
|
"researcher": "Recherche des informations sur un sujet",
|
||||||
"monitor": "Surveille un carnet et analyse les notes",
|
"monitor": "Surveille un carnet et analyse les notes",
|
||||||
"slideGenerator": "Crée une présentation PowerPoint à partir de notes",
|
"slideGenerator": "Crée une présentation PowerPoint à partir de notes",
|
||||||
@@ -2302,7 +2302,7 @@
|
|||||||
"namePlaceholder": "Ex : Veille IA du mardi",
|
"namePlaceholder": "Ex : Veille IA du mardi",
|
||||||
"description": "Description (optionnel)",
|
"description": "Description (optionnel)",
|
||||||
"descriptionPlaceholder": "Résumé hebdo des actus IA",
|
"descriptionPlaceholder": "Résumé hebdo des actus IA",
|
||||||
"urlsLabel": "URLs à scraper",
|
"urlsLabel": "Adresses des pages à lire",
|
||||||
"urlsOptional": "(optionnel)",
|
"urlsOptional": "(optionnel)",
|
||||||
"sourceNotebook": "Carnet à surveiller",
|
"sourceNotebook": "Carnet à surveiller",
|
||||||
"selectNotebook": "Sélectionner un carnet...",
|
"selectNotebook": "Sélectionner un carnet...",
|
||||||
@@ -2367,7 +2367,7 @@
|
|||||||
"notifyEmail": "Notification par email",
|
"notifyEmail": "Notification par email",
|
||||||
"notifyEmailHint": "Recevez un email avec les résultats de l'agent après chaque exécution",
|
"notifyEmailHint": "Recevez un email avec les résultats de l'agent après chaque exécution",
|
||||||
"includeImages": "Inclure les images",
|
"includeImages": "Inclure les images",
|
||||||
"includeImagesHint": "Extraire les images des pages scrapées et les joindre à la note générée",
|
"includeImagesHint": "Prendre les images des pages lues et les joindre à la note",
|
||||||
"back": "Retour",
|
"back": "Retour",
|
||||||
"configuration": "Configuration",
|
"configuration": "Configuration",
|
||||||
"options": "Options"
|
"options": "Options"
|
||||||
@@ -2446,15 +2446,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Veille IA",
|
"name": "Veille IA",
|
||||||
"description": "Scrape les flux RSS de 6 sites IA (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) et génère un résumé hebdomadaire."
|
"description": "Lit les flux de 6 sites IA (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) et en fait un résumé de la semaine."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Veille Tech",
|
"name": "Veille Tech",
|
||||||
"description": "Scrape les flux RSS tech (Hacker News, DEV, Product Hunt) et crée un résumé quotidien."
|
"description": "Lit les flux tech (Hacker News, DEV, Product Hunt) et en fait un résumé du jour."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Veille Dev",
|
"name": "Veille Dev",
|
||||||
"description": "Scrape les flux RSS dev (JavaScript, TypeScript, React) et résume les nouvelles techs."
|
"description": "Lit les flux développement (JavaScript, TypeScript, React) et résume les nouveautés."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Surveillant de Notes",
|
"name": "Surveillant de Notes",
|
||||||
@@ -2501,7 +2501,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Outils de l'agent",
|
"title": "Outils de l'agent",
|
||||||
"webSearch": "Recherche web",
|
"webSearch": "Recherche web",
|
||||||
"webScrape": "Scraping web",
|
"webScrape": "Lecture de pages web",
|
||||||
"noteSearch": "Recherche notes",
|
"noteSearch": "Recherche notes",
|
||||||
"noteRead": "Lire une note",
|
"noteRead": "Lire une note",
|
||||||
"noteCreate": "Créer une note",
|
"noteCreate": "Créer une note",
|
||||||
@@ -2534,11 +2534,11 @@
|
|||||||
"howToUse": "Comment utiliser un agent ?",
|
"howToUse": "Comment utiliser un agent ?",
|
||||||
"howToUseContent": "1. Cliquez sur **\"Nouvel Agent\"** (ou commencez par un **Template** en bas de page)\n2. Choisissez un **type d'agent** (Chercheur, Veilleur, Surveillant, Personnalise)\n3. Donnez-lui un **nom** et remplissez les champs specifiques au type\n4. Choisissez optionnellement un **carnet cible** ou sauvegarder les resultats\n5. Selectionnez une **frequence** (Manuel = vous le lancez vous-meme)\n6. Cliquez sur **Creer**, puis appuyez sur le bouton **Executer** sur la carte de l'agent\n7. Une fois termine, une nouvelle note apparait dans votre carnet cible",
|
"howToUseContent": "1. Cliquez sur **\"Nouvel Agent\"** (ou commencez par un **Template** en bas de page)\n2. Choisissez un **type d'agent** (Chercheur, Veilleur, Surveillant, Personnalise)\n3. Donnez-lui un **nom** et remplissez les champs specifiques au type\n4. Choisissez optionnellement un **carnet cible** ou sauvegarder les resultats\n5. Selectionnez une **frequence** (Manuel = vous le lancez vous-meme)\n6. Cliquez sur **Creer**, puis appuyez sur le bouton **Executer** sur la carte de l'agent\n7. Une fois termine, une nouvelle note apparait dans votre carnet cible",
|
||||||
"types": "Types d'agents",
|
"types": "Types d'agents",
|
||||||
"typesContent": "### Chercheur\nRecherche le web sur un **sujet que vous definissez** et cree une note structuree avec des sources et references.\n\n- **Champs :** nom, sujet de recherche (ex : \"Dernieres avancees en intelligence artificielle\")\n- **Outils par defaut :** recherche web, scraping web, recherche de notes, creation de note\n- **Prerequis :** un fournisseur de recherche web doit etre configure (SearXNG ou Brave Search)\n\n### Veilleur (Scraper)\nScrape une **liste d'URLs** que vous spécifiez et produit un résumé de leur contenu.\n\n- **Champs :** nom, liste d'URLs (sites web ou flux RSS)\n- **Outils par défaut :** scraping web, création de note\n- **Astuce RSS :** Utilisez des URLs de flux RSS (ex: `site.com/feed`) pour scraper automatiquement les articles individuels au lieu des pages de liste\n- **Cas d'usage :** veille hebdomadaire tech, surveillance de concurrents, revue de blogs\n\n### Surveillant (Observateur de carnet)\nLit les notes d'un **carnet que vous selectionnez** et produit une analyse, des connexions et des suggestions.\n\n- **Champs :** nom, carnet source (celui a analyser)\n- **Outils par defaut :** recherche de notes, lecture de note, creation de note\n- **Cas d'usage :** trouver des connexions entre vos notes, obtenir des suggestions de lecture, detecter des themes recurrents\n\n### Personnalise\nUne toile vierge : vous ecrivez votre propre **prompt** et choisissez vos **outils**.\n\n- **Champs :** nom, description, instructions personnalisees (en mode avance)\n- **Aucun outil par defaut** — vous choisissez exactement ce dont l'agent a besoin\n- **Cas d'usage :** tout projet creatif ou specifique qui ne rentre pas dans les autres types",
|
"typesContent": "### Chercheur\nRecherche le web sur un **sujet que vous definissez** et cree une note structuree avec des sources et references.\n\n- **Champs :** nom, sujet de recherche (ex : \"Dernieres avancees en intelligence artificielle\")\n- **Outils par defaut :** recherche web, scraping web, recherche de notes, creation de note\n- **Prerequis :** un fournisseur de recherche web doit etre configure (SearXNG ou Brave Search)\n\n### Veilleur\nLit une **liste de pages** que vous indiquez et en produit un résumé.\n\n- **Champs :** nom, liste d'URLs (sites web ou flux RSS)\n- **Outils par défaut :** lecture de pages web, création de note\n- **Astuce RSS :** Utilisez des URLs de flux RSS (ex: `site.com/feed`) pour lire automatiquement les articles un par un au lieu des pages de liste\n- **Cas d'usage :** veille hebdomadaire tech, surveillance de concurrents, revue de blogs\n\n### Surveillant (Observateur de carnet)\nLit les notes d'un **carnet que vous selectionnez** et produit une analyse, des connexions et des suggestions.\n\n- **Champs :** nom, carnet source (celui a analyser)\n- **Outils par defaut :** recherche de notes, lecture de note, creation de note\n- **Cas d'usage :** trouver des connexions entre vos notes, obtenir des suggestions de lecture, detecter des themes recurrents\n\n### Personnalise\nUne toile vierge : vous ecrivez votre propre **prompt** et choisissez vos **outils**.\n\n- **Champs :** nom, description, instructions personnalisees (en mode avance)\n- **Aucun outil par defaut** — vous choisissez exactement ce dont l'agent a besoin\n- **Cas d'usage :** tout projet creatif ou specifique qui ne rentre pas dans les autres types",
|
||||||
"advanced": "Mode avance (Instructions IA, Iterations max)",
|
"advanced": "Mode avance (Instructions IA, Iterations max)",
|
||||||
"advancedContent": "Cliquez sur **\"Mode avance\"** en bas du formulaire pour acceder aux reglages supplementaires.\n\n### Instructions IA\n\nCe champ vous permet de **remplacer le prompt systeme par defaut** de l'agent. Si vous le laissez vide, l'agent utilise un prompt automatique adapte a son type.\n\n**Pourquoi l'utiliser ?** Vous voulez controler exactement le comportement de l'agent. Par exemple :\n- \"Redige le resume en anglais, meme si les sources sont en francais\"\n- \"Structure la note avec les sections : Contexte, Points cles, Opinion personnelle\"\n- \"Ignore les articles de plus de 30 jours et concentre-toi sur l'actualite recente\"\n- \"Pour chaque theme detecte, propose 3 pistes d'approfondissement avec des liens\"\n\n> **Note :** Vos instructions remplacent celles par defaut, pas qu'elles s'y ajoutent.\n\n### Iterations max\n\nC'est le **nombre maximum de cycles** que l'agent peut effectuer. Un cycle = l'agent reflechit, appelle un outil, lit le resultat, puis decide de la prochaine action.\n\n- **3-5 iterations :** pour des taches simples (scraping d'une seule page)\n- **10 iterations (defaut) :** bon equilibre pour la plupart des cas\n- **15-25 iterations :** pour des recherches profondes ou l'agent doit explorer plusieurs pistes\n\n> **Attention :** Plus d'iterations = plus de temps et potentiellement plus de couts API.",
|
"advancedContent": "Cliquez sur **\"Mode avance\"** en bas du formulaire pour acceder aux reglages supplementaires.\n\n### Instructions IA\n\nCe champ vous permet de **remplacer le prompt systeme par defaut** de l'agent. Si vous le laissez vide, l'agent utilise un prompt automatique adapte a son type.\n\n**Pourquoi l'utiliser ?** Vous voulez controler exactement le comportement de l'agent. Par exemple :\n- \"Redige le resume en anglais, meme si les sources sont en francais\"\n- \"Structure la note avec les sections : Contexte, Points cles, Opinion personnelle\"\n- \"Ignore les articles de plus de 30 jours et concentre-toi sur l'actualite recente\"\n- \"Pour chaque theme detecte, propose 3 pistes d'approfondissement avec des liens\"\n\n> **Note :** Vos instructions remplacent celles par defaut, pas qu'elles s'y ajoutent.\n\n### Iterations max\n\nC'est le **nombre maximum de cycles** que l'agent peut effectuer. Un cycle = l'agent reflechit, appelle un outil, lit le resultat, puis decide de la prochaine action.\n\n- **3-5 iterations :** pour des taches simples (scraping d'une seule page)\n- **10 iterations (defaut) :** bon equilibre pour la plupart des cas\n- **15-25 iterations :** pour des recherches profondes ou l'agent doit explorer plusieurs pistes\n\n> **Attention :** Plus d'iterations = plus de temps et potentiellement plus de couts API.",
|
||||||
"tools": "Outils disponibles (detail complet)",
|
"tools": "Outils disponibles (detail complet)",
|
||||||
"toolsContent": "Quand le mode avance est active, vous pouvez choisir precisement quels outils l'agent peut utiliser.\n\n### Recherche web\nPermet a l'agent de **lancer des recherches sur internet** via SearXNG ou Brave Search.\n\n- **Ce que ca fait :** L'agent formule une requete, obtient des resultats de recherche, et peut ensuite scraper les pages les plus pertinentes.\n- **Quand l'activer :** Quand l'agent doit trouver des informations sur un sujet (type Chercheur ou Personnalise).\n- **Configuration requise :** SearXNG (avec format JSON active) ou une cle API Brave Search. Configurable dans **Admin > Outils Agents**.\n- **Exemple :** L'agent cherche \"React Server Components best practices 2025\" et obtient 10 resultats, puis scrape les 3 plus pertinents.\n\n### Scraping web\nPermet à l'agent d'**extraire le contenu texte d'une page web** à partir de son URL.\n\n- **Ce que ça fait :** L'agent visite une URL et récupère le texte structuré de la page (titres, paragraphes, listes). Les publicités, menus et pieds de page sont généralement filtrés.\n- **Support RSS/Atom :** Si l'URL est un flux RSS, l'outil détecte automatiquement le flux, parse les articles et scrape les 5 derniers individuellement. Utilisez des URLs de flux RSS pour un contenu beaucoup plus riche que les pages de listing.\n- **Quand l'activer :** Pour le type Veilleur (obligatoire), ou tout agent qui doit lire des pages web.\n- **Configuration :** Fonctionne sans configuration, mais une **clé API Jina Reader** améliore la qualité et supprime les limites de débit. Configurable dans **Admin > Outils Agents**.\n- **Exemple :** L'agent scrape le flux RSS de `techcrunch.com/feed/` et récupère les 5 derniers articles complets.\n\n### Recherche de notes\nPermet a l'agent de **chercher dans vos notes existantes**.\n\n- **Ce que ca fait :** L'agent effectue une recherche textuelle dans toutes vos notes (ou celles d'un carnet specifique).\n- **Quand l'activer :** Pour les agents de type Surveillant, ou tout agent qui doit croiser des informations avec vos notes.\n- **Configuration :** Aucune — fonctionne immediatement.\n- **Exemple :** L'agent cherche toutes les notes contenant \"machine learning\" pour voir ce que vous avez deja ecrit sur le sujet.\n\n### Lire une note\nPermet a l'agent de **lire le contenu complet d'une note** specifique.\n\n- **Ce que ca fait :** Apres avoir trouve une note (via Recherche de notes), l'agent peut lire son contenu integral pour l'analyser ou l'utiliser.\n- **Quand l'activer :** En complement de Recherche de notes. Activer les deux ensemble permet a l'agent de chercher PUIS lire.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent trouve 5 notes sur \"productivite\", les lit toutes, et redige une synthese.\n\n### Creer une note\nPermet a l'agent d'**ecrire une nouvelle note** dans votre carnet cible.\n\n- **Ce que ca fait :** L'agent cree une note avec un titre et du contenu. C'est ainsi que les resultats arrivent dans vos carnets.\n- **Quand l'activer :** Presque toujours — sans cet outil, l'agent ne peut pas sauvegarder ses resultats. **Laissez-le active par defaut.**\n- **Configuration :** Aucune.\n- **Exemple :** L'agent cree une note \"Veille Tech - Semaine 16\" avec un resume de 5 articles.\n\n### Fetch URL\nPermet a l'agent de **telecharger le contenu brut d'une URL** (HTML, JSON, texte...).\n\n- **Ce que ca fait :** Contrairement au scraping qui extrait le texte proprement, Fetch URL recupere le contenu brut. Utile pour les API, les fichiers JSON, ou les pages non standard.\n- **Quand l'activer :** Quand l'agent doit interroger des API REST, lire des flux RSS, ou acceder a des donnees brutes.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent interroge l'API GitHub pour lister les derniers commits d'un projet.\n\n### Memoire\nPermet a l'agent d'**acceder a l'historique de ses executions precedentes**.\n\n- **Ce que ca fait :** L'agent peut rechercher dans les resultats de ses runs passes. Cela lui permet de comparer, de suivre des evolutions, ou de ne pas repeter les memes informations.\n- **Quand l'activer :** Pour les agents qui s'executent regulierement et doivent maintenir une continuite entre les executions.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent compare les actus de cette semaine avec celles de la semaine derniere et met en evidence les nouveautes.",
|
"toolsContent": "Quand le mode avance est active, vous pouvez choisir precisement quels outils l'agent peut utiliser.\n\n### Recherche web\nPermet a l'agent de **lancer des recherches sur internet** via SearXNG ou Brave Search.\n\n- **Ce que ca fait :** L'agent formule une requete, obtient des resultats de recherche, puis peut lire les pages les plus utiles.\n- **Quand l'activer :** Quand l'agent doit trouver des informations sur un sujet (type Chercheur ou Personnalise).\n- **Configuration requise :** SearXNG (avec format JSON active) ou une cle API Brave Search. Configurable dans **Admin > Outils Agents**.\n- **Exemple :** L'agent cherche \"React Server Components best practices 2025\" et obtient 10 resultats, puis lit les 3 plus utiles.\n\n### Lecture de pages web\nPermet à l'agent de **lire le texte d'une page** à partir de son adresse.\n\n- **Ce que ça fait :** L'agent visite une URL et récupère le texte structuré de la page (titres, paragraphes, listes). Les publicités, menus et pieds de page sont généralement filtrés.\n- **Support RSS/Atom :** Si l'URL est un flux RSS, l'outil détecte automatiquement le flux, parse les articles et scrape les 5 derniers individuellement. Utilisez des URLs de flux RSS pour un contenu beaucoup plus riche que les pages de listing.\n- **Quand l'activer :** Pour le type Veilleur (obligatoire), ou tout agent qui doit lire des pages web.\n- **Configuration :** Fonctionne sans configuration, mais une **clé API Jina Reader** améliore la qualité et supprime les limites de débit. Configurable dans **Admin > Outils Agents**.\n- **Exemple :** L'agent scrape le flux RSS de `techcrunch.com/feed/` et récupère les 5 derniers articles complets.\n\n### Recherche de notes\nPermet a l'agent de **chercher dans vos notes existantes**.\n\n- **Ce que ca fait :** L'agent effectue une recherche textuelle dans toutes vos notes (ou celles d'un carnet specifique).\n- **Quand l'activer :** Pour les agents de type Surveillant, ou tout agent qui doit croiser des informations avec vos notes.\n- **Configuration :** Aucune — fonctionne immediatement.\n- **Exemple :** L'agent cherche toutes les notes contenant \"machine learning\" pour voir ce que vous avez deja ecrit sur le sujet.\n\n### Lire une note\nPermet a l'agent de **lire le contenu complet d'une note** specifique.\n\n- **Ce que ca fait :** Apres avoir trouve une note (via Recherche de notes), l'agent peut lire son contenu integral pour l'analyser ou l'utiliser.\n- **Quand l'activer :** En complement de Recherche de notes. Activer les deux ensemble permet a l'agent de chercher PUIS lire.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent trouve 5 notes sur \"productivite\", les lit toutes, et redige une synthese.\n\n### Creer une note\nPermet a l'agent d'**ecrire une nouvelle note** dans votre carnet cible.\n\n- **Ce que ca fait :** L'agent cree une note avec un titre et du contenu. C'est ainsi que les resultats arrivent dans vos carnets.\n- **Quand l'activer :** Presque toujours — sans cet outil, l'agent ne peut pas sauvegarder ses resultats. **Laissez-le active par defaut.**\n- **Configuration :** Aucune.\n- **Exemple :** L'agent cree une note \"Veille Tech - Semaine 16\" avec un resume de 5 articles.\n\n### Fetch URL\nPermet a l'agent de **telecharger le contenu brut d'une URL** (HTML, JSON, texte...).\n\n- **Ce que ca fait :** Contrairement au scraping qui extrait le texte proprement, Fetch URL recupere le contenu brut. Utile pour les API, les fichiers JSON, ou les pages non standard.\n- **Quand l'activer :** Quand l'agent doit interroger des API REST, lire des flux RSS, ou acceder a des donnees brutes.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent interroge l'API GitHub pour lister les derniers commits d'un projet.\n\n### Memoire\nPermet a l'agent d'**acceder a l'historique de ses executions precedentes**.\n\n- **Ce que ca fait :** L'agent peut rechercher dans les resultats de ses runs passes. Cela lui permet de comparer, de suivre des evolutions, ou de ne pas repeter les memes informations.\n- **Quand l'activer :** Pour les agents qui s'executent regulierement et doivent maintenir une continuite entre les executions.\n- **Configuration :** Aucune.\n- **Exemple :** L'agent compare les actus de cette semaine avec celles de la semaine derniere et met en evidence les nouveautes.",
|
||||||
"frequency": "Frequence & planification",
|
"frequency": "Frequence & planification",
|
||||||
"frequencyContent": "| Frequence | Comportement\n|-----------|------------\n| **Manuel** | Vous cliquez sur \"Executer\" — aucune planification automatique\n| **Toutes les heures** | S'execute toutes les heures\n| **Quotidien** | S'execute une fois par jour\n| **Hebdomadaire** | S'execute une fois par semaine\n| **Mensuel** | S'execute une fois par mois\n\n> **Astuce :** Commencez par \"Manuel\" pour tester votre agent, puis passez a une frequence automatique une fois satisfait.",
|
"frequencyContent": "| Frequence | Comportement\n|-----------|------------\n| **Manuel** | Vous cliquez sur \"Executer\" — aucune planification automatique\n| **Toutes les heures** | S'execute toutes les heures\n| **Quotidien** | S'execute une fois par jour\n| **Hebdomadaire** | S'execute une fois par semaine\n| **Mensuel** | S'execute une fois par mois\n\n> **Astuce :** Commencez par \"Manuel\" pour tester votre agent, puis passez a une frequence automatique une fois satisfait.",
|
||||||
"targetNotebook": "Carnet cible",
|
"targetNotebook": "Carnet cible",
|
||||||
@@ -2546,12 +2546,12 @@
|
|||||||
"templates": "Modèles",
|
"templates": "Modèles",
|
||||||
"templatesContent": "Les templates sont des agents pré-configurés installables en un clic. Vous les trouvez en **bas de la page Agents**.\n\nTemplates disponibles :\n\n- **Veille IA** — revue hebdomadaire via les flux RSS de 6 sites IA (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben)\n- **Veille Tech** — résumé quotidien via les flux RSS de Hacker News, DEV Community, Product Hunt\n- **Veille Dev** — nouvelles technos via les flux RSS de DEV (JavaScript, TypeScript, React)\n- **Surveillant de Notes** — analyse un carnet et suggère des connexions\n- **Chercheur de Sujet** — recherche approfondie sur un sujet spécifique\n\nLes templates sont installés avec les outils adaptés à leur type. Vous pouvez les modifier après installation.",
|
"templatesContent": "Les templates sont des agents pré-configurés installables en un clic. Vous les trouvez en **bas de la page Agents**.\n\nTemplates disponibles :\n\n- **Veille IA** — revue hebdomadaire via les flux RSS de 6 sites IA (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben)\n- **Veille Tech** — résumé quotidien via les flux RSS de Hacker News, DEV Community, Product Hunt\n- **Veille Dev** — nouvelles technos via les flux RSS de DEV (JavaScript, TypeScript, React)\n- **Surveillant de Notes** — analyse un carnet et suggère des connexions\n- **Chercheur de Sujet** — recherche approfondie sur un sujet spécifique\n\nLes templates sont installés avec les outils adaptés à leur type. Vous pouvez les modifier après installation.",
|
||||||
"tips": "Conseils & depannage",
|
"tips": "Conseils & depannage",
|
||||||
"tipsContent": "- **Commencez par un template** et personnalisez-le — c'est le moyen le plus rapide d'obtenir un agent fonctionnel\n- **Testez en \"Manuel\"** avant d'activer la planification automatique\n- **Utilisez des URLs de flux RSS** au lieu des pages de liste pour un contenu beaucoup plus riche (ex: `techcrunch.com/feed/` au lieu de `techcrunch.com/category/ai/`)\n- **Un agent \"Chercheur\" nécessite un fournisseur de recherche web** — configurez SearXNG (format JSON) ou Brave Search dans **Admin > Outils Agents**\n- **Si un agent échoue**, cliquez sur sa carte puis **Historique** pour voir le journal d'exécution et les traces d'outils\n- **Le bouton Activer/Désactiver** permet de mettre en pause un agent sans le supprimer\n- **La qualité du scraping web** s'améliore avec une clé API Jina Reader (optionnel, dans Admin > Outils Agents)\n- **Combinez \"Recherche de notes\" + \"Lire une note\"** pour que l'agent puisse chercher ET analyser le contenu de vos notes\n- **Activez \"Mémoire\"** si votre agent tourne régulièrement — il évitera de répéter les mêmes informations d'une exécution à l'autre\n- **Les agents répondent dans votre langue** — basculez entre français et anglais dans les paramètres",
|
"tipsContent": "- **Commencez par un template** et personnalisez-le — c'est le moyen le plus rapide d'obtenir un agent fonctionnel\n- **Testez en \"Manuel\"** avant d'activer la planification automatique\n- **Utilisez des URLs de flux RSS** au lieu des pages de liste pour un contenu beaucoup plus riche (ex: `techcrunch.com/feed/` au lieu de `techcrunch.com/category/ai/`)\n- **Un agent \"Chercheur\" nécessite un fournisseur de recherche web** — configurez SearXNG (format JSON) ou Brave Search dans **Admin > Outils Agents**\n- **Si un agent échoue**, cliquez sur sa carte puis **Historique** pour voir le journal d'exécution et les traces d'outils\n- **Le bouton Activer/Désactiver** permet de mettre en pause un agent sans le supprimer\n- **La qualité de la lecture de pages** s'améliore avec une clé Jina Reader (optionnel, dans Admin > Outils Agents)\n- **Combinez \"Recherche de notes\" + \"Lire une note\"** pour que l'agent puisse chercher ET analyser le contenu de vos notes\n- **Activez \"Mémoire\"** si votre agent tourne régulièrement — il évitera de répéter les mêmes informations d'une exécution à l'autre\n- **Les agents répondent dans votre langue** — basculez entre français et anglais dans les paramètres",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Choisissez le type de tâche que l'agent effectuera. Chaque type a des capacités et des champs différents.",
|
"agentType": "Choisissez le type de tâche que l'agent effectuera. Chaque type a des capacités et des champs différents.",
|
||||||
"researchTopic": "Le sujet que l'agent recherchera sur le web. Soyez précis pour de meilleurs résultats.",
|
"researchTopic": "Le sujet que l'agent recherchera sur le web. Soyez précis pour de meilleurs résultats.",
|
||||||
"description": "Une courte description de ce que fait cet agent. Vous aide à vous souvenir de son objectif.",
|
"description": "Une courte description de ce que fait cet agent. Vous aide à vous souvenir de son objectif.",
|
||||||
"urls": "Liste des URLs à scraper. Supporte les flux RSS — utilisez les URLs de flux pour un contenu plus riche (ex: site.com/feed).",
|
"urls": "Liste des pages à lire. Les flux RSS marchent aussi — une adresse de flux (ex. site.com/feed) donne souvent plus d’articles.",
|
||||||
"sourceNotebook": "Le carnet que l'agent analysera. Il lit les notes de ce carnet pour trouver des connexions et des thèmes.",
|
"sourceNotebook": "Le carnet que l'agent analysera. Il lit les notes de ce carnet pour trouver des connexions et des thèmes.",
|
||||||
"targetNotebook": "Où la note résultat de l'agent sera sauvegardée. Choisissez Boîte de réception ou un carnet spécifique.",
|
"targetNotebook": "Où la note résultat de l'agent sera sauvegardée. Choisissez Boîte de réception ou un carnet spécifique.",
|
||||||
"frequency": "À quelle fréquence l'agent s'exécute automatiquement. Commencez par Manuel pour tester.",
|
"frequency": "À quelle fréquence l'agent s'exécute automatiquement. Commencez par Manuel pour tester.",
|
||||||
@@ -3514,7 +3514,8 @@
|
|||||||
"fetchStatusFailed": "Échec du chargement des informations de facturation",
|
"fetchStatusFailed": "Échec du chargement des informations de facturation",
|
||||||
"fetchQuotasFailed": "Échec du chargement des crédits",
|
"fetchQuotasFailed": "Échec du chargement des crédits",
|
||||||
"fetchInvoicesFailed": "Impossible de charger l'historique de facturation.",
|
"fetchInvoicesFailed": "Impossible de charger l'historique de facturation.",
|
||||||
"savePercent": "Économisez ~17%",
|
"savePercent": "Économisez ~{percent} %",
|
||||||
|
"billedYearTotal": "soit {price} par an",
|
||||||
"startTrialCta": "Essai gratuit {days} jours",
|
"startTrialCta": "Essai gratuit {days} jours",
|
||||||
"trialFeature": "Essai gratuit {days} jours (carte requise)",
|
"trialFeature": "Essai gratuit {days} jours (carte requise)",
|
||||||
"trialEndsOn": "Votre essai gratuit se termine le {date}. Vous serez ensuite facturé automatiquement.",
|
"trialEndsOn": "Votre essai gratuit se termine le {date}. Vous serez ensuite facturé automatiquement.",
|
||||||
@@ -3669,7 +3670,7 @@
|
|||||||
"perMonthAnnual": "/mois, facturé à l'année",
|
"perMonthAnnual": "/mois, facturé à l'année",
|
||||||
"perUser": "+ 3,90€/user",
|
"perUser": "+ 3,90€/user",
|
||||||
"perUserAnnual": "+ 2,90€/user, à l'année",
|
"perUserAnnual": "+ 2,90€/user, à l'année",
|
||||||
"savePercent": "~17 %",
|
"savePercent": "~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3813,7 +3814,7 @@
|
|||||||
"mappingHint": "Cela peut prendre une à trois minutes. Vous pouvez continuer à naviguer ; la page se mettra à jour à la fin.",
|
"mappingHint": "Cela peut prendre une à trois minutes. Vous pouvez continuer à naviguer ; la page se mettra à jour à la fin.",
|
||||||
"analyzeNow": "Mettre à jour les thèmes",
|
"analyzeNow": "Mettre à jour les thèmes",
|
||||||
"emptyNeedMoreNotes": "Ajoutez encore {count} notes pour regrouper vos thèmes (minimum 10).",
|
"emptyNeedMoreNotes": "Ajoutez encore {count} notes pour regrouper vos thèmes (minimum 10).",
|
||||||
"embeddingsHint": "Seulement {indexed} notes sur {total} sont indexées pour l’IA. L’analyse va d’abord les préparer (cela peut prendre plusieurs minutes).",
|
"embeddingsHint": "Seulement {indexed} notes sur {total} sont prêtes pour relier les thèmes. La mise à jour va d’abord les préparer (cela peut prendre plusieurs minutes).",
|
||||||
"vsGraphHint": "Ce n’est pas la même chose que la « Carte des liens » (icône réseau dans la barre latérale) : ici, l’IA regroupe vos notes par thèmes.",
|
"vsGraphHint": "Ce n’est pas la même chose que la « Carte des liens » (icône réseau dans la barre latérale) : ici, l’IA regroupe vos notes par thèmes.",
|
||||||
"openGraphMap": "Ouvrir la carte des liens",
|
"openGraphMap": "Ouvrir la carte des liens",
|
||||||
"analysisFailed": "L’analyse a échoué. Vérifiez vos paramètres IA ou réessayez.",
|
"analysisFailed": "L’analyse a échoué. Vérifiez vos paramètres IA ou réessayez.",
|
||||||
@@ -3881,17 +3882,17 @@
|
|||||||
},
|
},
|
||||||
"badgeDominant": "Dominant",
|
"badgeDominant": "Dominant",
|
||||||
"bridgeCount": "pont(s)",
|
"bridgeCount": "pont(s)",
|
||||||
"echoTitle": "Tu reviens sur cette idée",
|
"echoTitle": "Vous revenez sur cette idée",
|
||||||
"tipClusters": "L’IA a regroupé vos notes par thèmes, même si elles sont dans des carnets différents. Chaque thème est un sujet sur lequel vous revenez.",
|
"tipClusters": "L’IA a regroupé vos notes par thèmes, même si elles sont dans des carnets différents. Chaque thème est un sujet sur lequel vous revenez.",
|
||||||
"tipClustersAction": "Clique sur un thème pour voir ses notes. Clique sur une note pour l'ouvrir.",
|
"tipClustersAction": "Cliquez sur un thème pour voir ses notes. Cliquez sur une note pour l’ouvrir.",
|
||||||
"tipBridgeNotes": "Une note pont relie deux thèmes. On ne garde que le lien le plus fort.",
|
"tipBridgeNotes": "Une note pont relie deux thèmes. On ne garde que le lien le plus fort.",
|
||||||
"tipBridgeNotesAction": "Clique sur une note pour l'ouvrir et comprendre le lien.",
|
"tipBridgeNotesAction": "Cliquez sur une note pour l’ouvrir et comprendre le lien.",
|
||||||
"tipEcho": "Le Memory Echo détecte deux notes écrites à des moments très différents mais qui parlent de la même chose. Ton esprit a revisité une idée sans que tu t'en rendes compte.",
|
"tipEcho": "Memory Echo détecte deux notes écrites à des moments très différents mais qui parlent de la même chose. Votre esprit a revisité une idée sans que vous vous en rendiez compte.",
|
||||||
"tipEchoAction": "Deux notes, même idée, moments différents. Clique pour explorer.",
|
"tipEchoAction": "Deux notes, même idée, moments différents. Cliquez pour explorer.",
|
||||||
"tipSuggestions": "L’IA propose un pont seulement quand deux thèmes se touchent vraiment — pas des rapprochements forcés.",
|
"tipSuggestions": "L’IA propose un pont seulement quand deux thèmes se touchent vraiment — pas des rapprochements forcés.",
|
||||||
"tipSuggestionsAction": "Clique sur « Créer la note pont » pour créer la note et l'ouvrir immédiatement.",
|
"tipSuggestionsAction": "Cliquez sur « Créer la note pont » pour créer la note et l’ouvrir immédiatement.",
|
||||||
"tipIsolated": "Ces thèmes sont isolés : aucune note ne les relie aux autres. Peut-être explores-tu une idée encore fragile ? Une note de synthèse suffirait à créer le lien.",
|
"tipIsolated": "Ces thèmes sont isolés : aucune note ne les relie aux autres. Peut-être explorez-vous une idée encore fragile ? Une note de synthèse suffirait à créer le lien.",
|
||||||
"tipIsolatedAction": "Ces thèmes n'ont aucune note qui les relie au reste de ta réflexion.",
|
"tipIsolatedAction": "Ces thèmes n’ont aucune note qui les relie au reste de votre réflexion.",
|
||||||
"recalcSystem": {
|
"recalcSystem": {
|
||||||
"title": "Mise à jour des thèmes",
|
"title": "Mise à jour des thèmes",
|
||||||
"statusSynced": "À jour",
|
"statusSynced": "À jour",
|
||||||
@@ -4082,7 +4083,7 @@
|
|||||||
"chooseNotebook": "Choisir un carnet",
|
"chooseNotebook": "Choisir un carnet",
|
||||||
"changeNotebook": "Changer de carnet",
|
"changeNotebook": "Changer de carnet",
|
||||||
"change": "Changer",
|
"change": "Changer",
|
||||||
"localDbTitle": "Base de Données Autonome",
|
"localDbTitle": "Tableau dans cette note",
|
||||||
"echoPopoverTitle": "Notes proches",
|
"echoPopoverTitle": "Notes proches",
|
||||||
"noEchoFound": "Aucune note proche trouvée.",
|
"noEchoFound": "Aucune note proche trouvée.",
|
||||||
"echoUpgradeText": "Convertissez ce tableau en carnet pour que Memento trouve les notes proches.",
|
"echoUpgradeText": "Convertissez ce tableau en carnet pour que Memento trouve les notes proches.",
|
||||||
@@ -4093,7 +4094,7 @@
|
|||||||
"analyticsDistribution": "Répartition",
|
"analyticsDistribution": "Répartition",
|
||||||
"analyticsTotalRows": "Total des lignes",
|
"analyticsTotalRows": "Total des lignes",
|
||||||
"analyticsShort": "Analyses",
|
"analyticsShort": "Analyses",
|
||||||
"turnIntoLabel": "Base de données inline",
|
"turnIntoLabel": "Tableau dans la note",
|
||||||
"columnAdded": "Colonne ajoutée !",
|
"columnAdded": "Colonne ajoutée !",
|
||||||
"columnRemoved": "Colonne supprimée",
|
"columnRemoved": "Colonne supprimée",
|
||||||
"propertyName": "Propriété {{index}}",
|
"propertyName": "Propriété {{index}}",
|
||||||
@@ -4131,8 +4132,8 @@
|
|||||||
"selectOptionsPlaceholder": "Options séparées par des virgules",
|
"selectOptionsPlaceholder": "Options séparées par des virgules",
|
||||||
"namePlaceholder": "Saisir un nom…",
|
"namePlaceholder": "Saisir un nom…",
|
||||||
"or": "ou",
|
"or": "ou",
|
||||||
"createLocalDb": "Créer une base locale autonome",
|
"createLocalDb": "Créer un tableau dans cette note",
|
||||||
"switchToLocalDb": "Passer en base locale",
|
"switchToLocalDb": "Revenir au tableau de cette note",
|
||||||
"untitled": "Sans titre",
|
"untitled": "Sans titre",
|
||||||
"citationInserted": "Citation insérée dans l'éditeur !",
|
"citationInserted": "Citation insérée dans l'éditeur !",
|
||||||
"notesLoadError": "Erreur de chargement des notes",
|
"notesLoadError": "Erreur de chargement des notes",
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "कस्टम"
|
"custom": "कस्टम"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "कई साइटों से डेटा एकत्र करता है और सारांश बनाता है",
|
"scraper": "कई साइटें पढ़कर सार लिखता है",
|
||||||
"researcher": "किसी विषय पर जानकारी खोजता है",
|
"researcher": "किसी विषय पर जानकारी खोजता है",
|
||||||
"monitor": "नोटबुक की निगरानी करता है और नोट्स का विश्लेषण करता है",
|
"monitor": "नोटबुक की निगरानी करता है और नोट्स का विश्लेषण करता है",
|
||||||
"slideGenerator": "नोट्स से एक पावरपॉइंट प्रेजेंटेशन बनाता है",
|
"slideGenerator": "नोट्स से एक पावरपॉइंट प्रेजेंटेशन बनाता है",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "उदा: मंगलवार AI वॉच",
|
"namePlaceholder": "उदा: मंगलवार AI वॉच",
|
||||||
"description": "विवरण (वैकल्पिक)",
|
"description": "विवरण (वैकल्पिक)",
|
||||||
"descriptionPlaceholder": "साप्ताहिक AI समाचार सारांश",
|
"descriptionPlaceholder": "साप्ताहिक AI समाचार सारांश",
|
||||||
"urlsLabel": "स्क्रैप करने के लिए URL",
|
"urlsLabel": "पढ़ने वाले पेज के पते",
|
||||||
"urlsOptional": "(वैकल्पिक)",
|
"urlsOptional": "(वैकल्पिक)",
|
||||||
"sourceNotebook": "निगरानी करने के लिए नोटबुक",
|
"sourceNotebook": "निगरानी करने के लिए नोटबुक",
|
||||||
"selectNotebook": "नोटबुक चुनें...",
|
"selectNotebook": "नोटबुक चुनें...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "ईमेल सूचना",
|
"notifyEmail": "ईमेल सूचना",
|
||||||
"notifyEmailHint": "प्रत्येक रन के बाद एजेंट के परिणामों के साथ ईमेल प्राप्त करें",
|
"notifyEmailHint": "प्रत्येक रन के बाद एजेंट के परिणामों के साथ ईमेल प्राप्त करें",
|
||||||
"includeImages": "चित्र शामिल करें",
|
"includeImages": "चित्र शामिल करें",
|
||||||
"includeImagesHint": "स्क्रैप किए गए पेजों से चित्र निकालें और उत्पन्न नोट में संलग्न करें",
|
"includeImagesHint": "पढ़े गए पेजों की तस्वीरें नोट में जोड़ें",
|
||||||
"back": "वापस",
|
"back": "वापस",
|
||||||
"configuration": "कॉन्फ़िगरेशन",
|
"configuration": "कॉन्फ़िगरेशन",
|
||||||
"options": "विकल्प",
|
"options": "विकल्प",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AI वॉच",
|
"name": "AI वॉच",
|
||||||
"description": "5 AI विशेष साइटों से डेटा एकत्र करता है और साप्ताहिक सारांश बनाता है।"
|
"description": "5 AI साइटें पढ़कर साप्ताहिक सार लिखता है।"
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "टेक वॉच",
|
"name": "टेक वॉच",
|
||||||
"description": "प्रमुख तकनीकी साइटों से डेटा एकत्र करता है और समाचार सारांश बनाता है।"
|
"description": "मुख्य तकनीकी साइटें पढ़कर समाचार सार लिखता है।"
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "डेव वॉच",
|
"name": "डेव वॉच",
|
||||||
"description": "विकास साइटों से डेटा एकत्र करता है और नई तकनीकों का सारांश देता है।"
|
"description": "डेव साइटें पढ़कर नई तकनीकों का सार लिखता है।"
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "नोट पर्यवेक्षक",
|
"name": "नोट पर्यवेक्षक",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "एजेंट टूल",
|
"title": "एजेंट टूल",
|
||||||
"webSearch": "वेब खोज",
|
"webSearch": "वेब खोज",
|
||||||
"webScrape": "वेब स्क्रैप",
|
"webScrape": "पेज पढ़ना",
|
||||||
"noteSearch": "नोट खोज",
|
"noteSearch": "नोट खोज",
|
||||||
"noteRead": "नोट पढ़ें",
|
"noteRead": "नोट पढ़ें",
|
||||||
"noteCreate": "नोट बनाएं",
|
"noteCreate": "नोट बनाएं",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "सहायता",
|
"btnLabel": "सहायता",
|
||||||
"close": "बंद करें",
|
"close": "बंद करें",
|
||||||
"whatIsAgent": "एजेंट क्या है?",
|
"whatIsAgent": "एजेंट क्या है?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "एजेंट का उपयोग कैसे करें?",
|
"howToUse": "एजेंट का उपयोग कैसे करें?",
|
||||||
"howToUseContent": "1. **\"नया एजेंट\"** पर क्लिक करें (या पेज के नीचे **टेम्पलेट** से शुरू करें)।",
|
"howToUseContent": "1. **\"नया एजेंट\"** पर क्लिक करें (या पेज के नीचे **टेम्पलेट** से शुरू करें)।",
|
||||||
"types": "एजेंट प्रकार",
|
"types": "एजेंट प्रकार",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "उन्नत मोड (AI निर्देश, अधिकतम पुनरावृत्ति)",
|
"advanced": "उन्नत मोड (AI निर्देश, अधिकतम पुनरावृत्ति)",
|
||||||
"advancedContent": "अतिरिक्त सेटिंग्स तक पहुँचने के लिए फ़ॉर्म के नीचे **\"उन्नत मोड\"** पर क्लिक करें।",
|
"advancedContent": "अतिरिक्त सेटिंग्स तक पहुँचने के लिए फ़ॉर्म के नीचे **\"उन्नत मोड\"** पर क्लिक करें।",
|
||||||
"tools": "उपलब्ध उपकरण (विस्तार)",
|
"tools": "उपलब्ध उपकरण (विस्तार)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "आवृत्ति और शेड्यूलिंग",
|
"frequency": "आवृत्ति और शेड्यूलिंग",
|
||||||
"frequencyContent": "| आवृत्ति | व्यवहार\n|-----------|----------\n| **मैनुअल** | आप स्वयं \"चलाएँ\" पर क्लिक करते हैं।",
|
"frequencyContent": "| आवृत्ति | व्यवहार\n|-----------|----------\n| **मैनुअल** | आप स्वयं \"चलाएँ\" पर क्लिक करते हैं।",
|
||||||
"targetNotebook": "लक्ष्य नोटबुक",
|
"targetNotebook": "लक्ष्य नोटबुक",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "टेम्पलेट",
|
"templates": "टेम्पलेट",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "सुझाव और समस्या हल",
|
"tips": "सुझाव और समस्या हल",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "एजेंट किस प्रकार का कार्य करेगा उसे चुनें। प्रत्येक प्रकार की अलग क्षमताएं और फ़ील्ड हैं।",
|
"agentType": "एजेंट किस प्रकार का कार्य करेगा उसे चुनें। प्रत्येक प्रकार की अलग क्षमताएं और फ़ील्ड हैं।",
|
||||||
"researchTopic": "वह विषय जिस पर एजेंट वेब पर शोध करेगा। बेहतर परिणामों के लिए विशिष्ट रहें।",
|
"researchTopic": "वह विषय जिस पर एजेंट वेब पर शोध करेगा। बेहतर परिणामों के लिए विशिष्ट रहें।",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "बिलिंग स्थिति प्राप्त करने में विफल",
|
"fetchStatusFailed": "बिलिंग स्थिति प्राप्त करने में विफल",
|
||||||
"fetchQuotasFailed": "कोटा प्राप्त करने में विफल",
|
"fetchQuotasFailed": "कोटा प्राप्त करने में विफल",
|
||||||
"fetchInvoicesFailed": "बिलिंग इतिहास लोड करने में विफल।",
|
"fetchInvoicesFailed": "बिलिंग इतिहास लोड करने में विफल।",
|
||||||
"savePercent": "~17% बचाएँ",
|
"savePercent": "~{percent}% बचाएँ",
|
||||||
|
"billedYearTotal": "अर्थात {price} प्रति वर्ष",
|
||||||
"cancelSubscription": "सदस्यता रद्द करें",
|
"cancelSubscription": "सदस्यता रद्द करें",
|
||||||
"changeOffer": "योजना बदलें",
|
"changeOffer": "योजना बदलें",
|
||||||
"downgradeToFree": "मुफ़्त योजना पर वापस जाएँ",
|
"downgradeToFree": "मुफ़्त योजना पर वापस जाएँ",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "शुरुआत में साथ"
|
"feature5": "शुरुआत में साथ"
|
||||||
},
|
},
|
||||||
"basicPrice": "मुफ़्त",
|
"basicPrice": "मुफ़्त",
|
||||||
"savePercent": "~17% बचाएँ",
|
"savePercent": "~{percent}% बचाएँ",
|
||||||
"proMonthly": "€9.90",
|
"proMonthly": "€9.90",
|
||||||
"proAnnualMonthly": "€8.25",
|
"proAnnualMonthly": "€8.25",
|
||||||
"businessMonthly": "€29.90",
|
"businessMonthly": "€29.90",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "इसमें एक से तीन मिनट लग सकते हैं। आप ब्राउज़िंग जारी रख सकते हैं; पेज स्वचालित अपडेट होगा।",
|
"mappingHint": "इसमें एक से तीन मिनट लग सकते हैं। आप ब्राउज़िंग जारी रख सकते हैं; पेज स्वचालित अपडेट होगा।",
|
||||||
"analyzeNow": "विषय अपडेट करें",
|
"analyzeNow": "विषय अपडेट करें",
|
||||||
"emptyNeedMoreNotes": "विषय समूह करने के लिए {count} और नोट्स जोड़ें (न्यूनतम 10).",
|
"emptyNeedMoreNotes": "विषय समूह करने के लिए {count} और नोट्स जोड़ें (न्यूनतम 10).",
|
||||||
"embeddingsHint": "केवल {indexed}/{total} नोट्स AI के लिए अनुक्रमित हैं।",
|
"embeddingsHint": "केवल {indexed} / {total} नोट विषय के अनुसार जुड़ने के लिए तैयार हैं।",
|
||||||
"vsGraphHint": "यह \"लिंक मैप\" से अलग है: यहाँ AI लिंक के बजाय अर्थ के अनुसार समूहबद्ध करता है।",
|
"vsGraphHint": "यह \"लिंक मैप\" से अलग है: यहाँ AI लिंक के बजाय अर्थ के अनुसार समूहबद्ध करता है।",
|
||||||
"openGraphMap": "लिंक मानचित्र खोलें",
|
"openGraphMap": "लिंक मानचित्र खोलें",
|
||||||
"analysisFailed": "विश्लेषण विफल। AI सेटिंग्स जांचें।",
|
"analysisFailed": "विश्लेषण विफल। AI सेटिंग्स जांचें।",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "रूपांतरण पूर्ण! लिंक किया गया नोटबुक बनाया गया।",
|
"convertSuccess": "रूपांतरण पूर्ण! लिंक किया गया नोटबुक बनाया गया।",
|
||||||
"convertToNotebook": "नोटबुक में बदलें",
|
"convertToNotebook": "नोटबुक में बदलें",
|
||||||
"converting": "रूपांतरित कर रहा है…",
|
"converting": "रूपांतरित कर रहा है…",
|
||||||
"createLocalDb": "स्टैंडअलोन लोकल डेटाबेस बनाएं",
|
"createLocalDb": "इस नोट में तालिका बनाएँ",
|
||||||
"createNotebook": "नोटबुक बनाएं",
|
"createNotebook": "नोटबुक बनाएं",
|
||||||
"defaultOption1": "विकल्प 1",
|
"defaultOption1": "विकल्प 1",
|
||||||
"defaultOption2": "विकल्प 2",
|
"defaultOption2": "विकल्प 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "कीवर्ड",
|
"keywordMatch": "कीवर्ड",
|
||||||
"linkToNotebook": "नोटबुक से लिंक",
|
"linkToNotebook": "नोटबुक से लिंक",
|
||||||
"loadError": "संरचित डेटा लोड करने में त्रुटि।",
|
"loadError": "संरचित डेटा लोड करने में त्रुटि।",
|
||||||
"localDbTitle": "स्टैंडअलोन डेटाबेस",
|
"localDbTitle": "इस नोट की तालिका",
|
||||||
"namePlaceholder": "नाम दर्ज करें…",
|
"namePlaceholder": "नाम दर्ज करें…",
|
||||||
"noEchoFound": "कोई पास का नोट नहीं मिला।",
|
"noEchoFound": "कोई पास का नोट नहीं मिला।",
|
||||||
"noNotebook": "इस ब्लॉक को नोटबुक चाहिए। पहले इस नोट को नोटबुक में ले जाएं।",
|
"noNotebook": "इस ब्लॉक को नोटबुक चाहिए। पहले इस नोट को नोटबुक में ले जाएं।",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "नोटबुक से लिंक",
|
"selectNotebook": "नोटबुक से लिंक",
|
||||||
"selectOptionsPlaceholder": "कॉमा से अलग किए गए विकल्प",
|
"selectOptionsPlaceholder": "कॉमा से अलग किए गए विकल्प",
|
||||||
"semanticEcho": "सिमेंटिक अनुनाद",
|
"semanticEcho": "सिमेंटिक अनुनाद",
|
||||||
"switchToLocalDb": "स्थानीय डेटाबेस पर स्विच करें",
|
"switchToLocalDb": "इस नोट की तालिका पर वापस जाएँ",
|
||||||
"turnIntoLabel": "इनलाइन डेटाबेस",
|
"turnIntoLabel": "नोट में तालिका",
|
||||||
"untitled": "बिना शीर्षक"
|
"untitled": "बिना शीर्षक"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Personalizzato"
|
"custom": "Personalizzato"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Estrae contenuti da più siti e crea un riepilogo",
|
"scraper": "Legge più siti e ne fa un riepilogo",
|
||||||
"researcher": "Cerca informazioni su un argomento",
|
"researcher": "Cerca informazioni su un argomento",
|
||||||
"monitor": "Osserva un quaderno e analizza le note",
|
"monitor": "Osserva un quaderno e analizza le note",
|
||||||
"slideGenerator": "Crea una presentazione PowerPoint dalle note",
|
"slideGenerator": "Crea una presentazione PowerPoint dalle note",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "es. Martedì Watch IA",
|
"namePlaceholder": "es. Martedì Watch IA",
|
||||||
"description": "Descrizione (opzionale)",
|
"description": "Descrizione (opzionale)",
|
||||||
"descriptionPlaceholder": "Riepilogo settimanale delle notizie sull'IA",
|
"descriptionPlaceholder": "Riepilogo settimanale delle notizie sull'IA",
|
||||||
"urlsLabel": "URL da estrarre",
|
"urlsLabel": "Indirizzi delle pagine da leggere",
|
||||||
"urlsOptional": "(opzionale)",
|
"urlsOptional": "(opzionale)",
|
||||||
"sourceNotebook": "Quaderno da osservare",
|
"sourceNotebook": "Quaderno da osservare",
|
||||||
"selectNotebook": "Seleziona un quaderno...",
|
"selectNotebook": "Seleziona un quaderno...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "Notifica email",
|
"notifyEmail": "Notifica email",
|
||||||
"notifyEmailHint": "Ricevi un'email con i risultati dell'agent dopo ogni esecuzione",
|
"notifyEmailHint": "Ricevi un'email con i risultati dell'agent dopo ogni esecuzione",
|
||||||
"includeImages": "Includi immagini",
|
"includeImages": "Includi immagini",
|
||||||
"includeImagesHint": "Estrai immagini dalle pagine analizzate e allegale alla nota generata",
|
"includeImagesHint": "Prendi le immagini dalle pagine lette e allegale alla nota",
|
||||||
"back": "Indietro",
|
"back": "Indietro",
|
||||||
"configuration": "Configurazione",
|
"configuration": "Configurazione",
|
||||||
"options": "Opzioni",
|
"options": "Opzioni",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Watch IA",
|
"name": "Watch IA",
|
||||||
"description": "Estrae contenuti da 5 siti specializzati in IA e genera un riepilogo settimanale."
|
"description": "Legge 5 siti di IA e scrive un riepilogo settimanale."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Watch Tech",
|
"name": "Watch Tech",
|
||||||
"description": "Estrae contenuti dai principali siti tecnologici e crea un riepilogo delle notizie."
|
"description": "Legge i principali siti tecnologici e scrive un riepilogo delle notizie."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Watch Dev",
|
"name": "Watch Dev",
|
||||||
"description": "Estrae contenuti da siti di sviluppo e riassume nuove tecnologie e framework."
|
"description": "Legge siti di sviluppo e riassume le novità."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Osservatore di note",
|
"name": "Osservatore di note",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Strumenti Agente",
|
"title": "Strumenti Agente",
|
||||||
"webSearch": "Ricerca Web",
|
"webSearch": "Ricerca Web",
|
||||||
"webScrape": "Scraping Web",
|
"webScrape": "Lettura di pagine",
|
||||||
"noteSearch": "Cerca Note",
|
"noteSearch": "Cerca Note",
|
||||||
"noteRead": "Leggi Nota",
|
"noteRead": "Leggi Nota",
|
||||||
"noteCreate": "Crea Nota",
|
"noteCreate": "Crea Nota",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Aiuto",
|
"btnLabel": "Aiuto",
|
||||||
"close": "Chiudi",
|
"close": "Chiudi",
|
||||||
"whatIsAgent": "Cos'è un agente?",
|
"whatIsAgent": "Cos'è un agente?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Come usare un agente?",
|
"howToUse": "Come usare un agente?",
|
||||||
"howToUseContent": "1. Fai clic su **\"Nuovo agente\"** (oppure inizia da un **Modello** in fondo alla pagina).",
|
"howToUseContent": "1. Fai clic su **\"Nuovo agente\"** (oppure inizia da un **Modello** in fondo alla pagina).",
|
||||||
"types": "Tipi di agenti",
|
"types": "Tipi di agenti",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Modalità avanzata (Istruzioni IA, Iterazioni max)",
|
"advanced": "Modalità avanzata (Istruzioni IA, Iterazioni max)",
|
||||||
"advancedContent": "Fai clic su **\"Modalità avanzata\"** in fondo al modulo per accedere a impostazioni aggiuntive.",
|
"advancedContent": "Fai clic su **\"Modalità avanzata\"** in fondo al modulo per accedere a impostazioni aggiuntive.",
|
||||||
"tools": "Strumenti disponibili (dettaglio)",
|
"tools": "Strumenti disponibili (dettaglio)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Frequenza e pianificazione",
|
"frequency": "Frequenza e pianificazione",
|
||||||
"frequencyContent": "| Frequenza | Comportamento\n|-----------|----------\n| **Manuale** | Fai clic su \"Esegui\".",
|
"frequencyContent": "| Frequenza | Comportamento\n|-----------|----------\n| **Manuale** | Fai clic su \"Esegui\".",
|
||||||
"targetNotebook": "Quaderno di destinazione",
|
"targetNotebook": "Quaderno di destinazione",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Modelli",
|
"templates": "Modelli",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Suggerimenti e risoluzione problemi",
|
"tips": "Suggerimenti e risoluzione problemi",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Scegli il tipo di attività che l'agente svolgerà. Ogni tipo ha capacità e campi diversi.",
|
"agentType": "Scegli il tipo di attività che l'agente svolgerà. Ogni tipo ha capacità e campi diversi.",
|
||||||
"researchTopic": "L'argomento che l'agente cercherà sul web. Sii specifico per risultati migliori.",
|
"researchTopic": "L'argomento che l'agente cercherà sul web. Sii specifico per risultati migliori.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Impossibile recuperare lo stato della fatturazione",
|
"fetchStatusFailed": "Impossibile recuperare lo stato della fatturazione",
|
||||||
"fetchQuotasFailed": "Impossibile recuperare le quote",
|
"fetchQuotasFailed": "Impossibile recuperare le quote",
|
||||||
"fetchInvoicesFailed": "Impossibile caricare lo storico delle fatture.",
|
"fetchInvoicesFailed": "Impossibile caricare lo storico delle fatture.",
|
||||||
"savePercent": "Risparmia ~17%",
|
"savePercent": "Risparmia ~{percent} %",
|
||||||
|
"billedYearTotal": "cioè {price} all’anno",
|
||||||
"cancelSubscription": "Annulla abbonamento",
|
"cancelSubscription": "Annulla abbonamento",
|
||||||
"changeOffer": "Cambia offerta",
|
"changeOffer": "Cambia offerta",
|
||||||
"downgradeToFree": "Torna all’offerta gratuita",
|
"downgradeToFree": "Torna all’offerta gratuita",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Accompagnamento all’installazione"
|
"feature5": "Accompagnamento all’installazione"
|
||||||
},
|
},
|
||||||
"basicPrice": "Gratis",
|
"basicPrice": "Gratis",
|
||||||
"savePercent": "Risparmia ~17%",
|
"savePercent": "Risparmia ~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Può richiedere da uno a tre minuti. Puoi continuare a navigare; la pagina si aggiornerà automaticamente.",
|
"mappingHint": "Può richiedere da uno a tre minuti. Puoi continuare a navigare; la pagina si aggiornerà automaticamente.",
|
||||||
"analyzeNow": "Aggiorna i temi",
|
"analyzeNow": "Aggiorna i temi",
|
||||||
"emptyNeedMoreNotes": "Aggiungi altre {count} note per raggruppare i temi (minimo 10).",
|
"emptyNeedMoreNotes": "Aggiungi altre {count} note per raggruppare i temi (minimo 10).",
|
||||||
"embeddingsHint": "Solo {indexed} di {total} note indicizzate per IA.",
|
"embeddingsHint": "Solo {indexed} di {total} note sono pronte per essere raggruppate per temi.",
|
||||||
"vsGraphHint": "Non è la \"Mappa dei link\": qui l'IA raggruppa per significato, non per link.",
|
"vsGraphHint": "Non è la \"Mappa dei link\": qui l'IA raggruppa per significato, non per link.",
|
||||||
"openGraphMap": "Apri mappa link",
|
"openGraphMap": "Apri mappa link",
|
||||||
"analysisFailed": "Analisi fallita. Controlla le impostazioni IA.",
|
"analysisFailed": "Analisi fallita. Controlla le impostazioni IA.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Conversione completata! Quaderno collegato creato.",
|
"convertSuccess": "Conversione completata! Quaderno collegato creato.",
|
||||||
"convertToNotebook": "Converti in quaderno",
|
"convertToNotebook": "Converti in quaderno",
|
||||||
"converting": "Conversione…",
|
"converting": "Conversione…",
|
||||||
"createLocalDb": "Crea un database locale autonomo",
|
"createLocalDb": "Crea una tabella in questa nota",
|
||||||
"createNotebook": "Crea notebook",
|
"createNotebook": "Crea notebook",
|
||||||
"defaultOption1": "Opzione 1",
|
"defaultOption1": "Opzione 1",
|
||||||
"defaultOption2": "Opzione 2",
|
"defaultOption2": "Opzione 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Parola chiave",
|
"keywordMatch": "Parola chiave",
|
||||||
"linkToNotebook": "Collega a un quaderno",
|
"linkToNotebook": "Collega a un quaderno",
|
||||||
"loadError": "Errore nel caricamento dei dati strutturati.",
|
"loadError": "Errore nel caricamento dei dati strutturati.",
|
||||||
"localDbTitle": "Database autonomo",
|
"localDbTitle": "Tabella in questa nota",
|
||||||
"namePlaceholder": "Inserisci un nome…",
|
"namePlaceholder": "Inserisci un nome…",
|
||||||
"noEchoFound": "Nessuna nota vicina trovata.",
|
"noEchoFound": "Nessuna nota vicina trovata.",
|
||||||
"noNotebook": "Questo blocco richiede un quaderno. Sposta prima questa nota in un quaderno.",
|
"noNotebook": "Questo blocco richiede un quaderno. Sposta prima questa nota in un quaderno.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Collega a un quaderno",
|
"selectNotebook": "Collega a un quaderno",
|
||||||
"selectOptionsPlaceholder": "Opzioni separate da virgole",
|
"selectOptionsPlaceholder": "Opzioni separate da virgole",
|
||||||
"semanticEcho": "Risonanze semantiche",
|
"semanticEcho": "Risonanze semantiche",
|
||||||
"switchToLocalDb": "Passa a database locale",
|
"switchToLocalDb": "Torna alla tabella di questa nota",
|
||||||
"turnIntoLabel": "Database inline",
|
"turnIntoLabel": "Tabella nella nota",
|
||||||
"untitled": "Senza titolo"
|
"untitled": "Senza titolo"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "カスタム"
|
"custom": "カスタム"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "複数のサイトをスクレイピングして要約を作成",
|
"scraper": "複数のサイトを読んで要約する",
|
||||||
"researcher": "トピックに関する情報を検索",
|
"researcher": "トピックに関する情報を検索",
|
||||||
"monitor": "ノートブックを監視しノートを分析",
|
"monitor": "ノートブックを監視しノートを分析",
|
||||||
"slideGenerator": "メモから PowerPoint プレゼンテーションを作成します",
|
"slideGenerator": "メモから PowerPoint プレゼンテーションを作成します",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "例:火曜日のAIウォッチ",
|
"namePlaceholder": "例:火曜日のAIウォッチ",
|
||||||
"description": "説明(任意)",
|
"description": "説明(任意)",
|
||||||
"descriptionPlaceholder": "週次AIニュースまとめ",
|
"descriptionPlaceholder": "週次AIニュースまとめ",
|
||||||
"urlsLabel": "スクレイピングするURL",
|
"urlsLabel": "読むページのアドレス",
|
||||||
"urlsOptional": "(任意)",
|
"urlsOptional": "(任意)",
|
||||||
"sourceNotebook": "監視するノートブック",
|
"sourceNotebook": "監視するノートブック",
|
||||||
"selectNotebook": "ノートブックを選択...",
|
"selectNotebook": "ノートブックを選択...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "メール通知",
|
"notifyEmail": "メール通知",
|
||||||
"notifyEmailHint": "実行後にエージェントの結果をメールで受け取る",
|
"notifyEmailHint": "実行後にエージェントの結果をメールで受け取る",
|
||||||
"includeImages": "画像を含む",
|
"includeImages": "画像を含む",
|
||||||
"includeImagesHint": "スクレイピングしたページから画像を抽出し、生成されたノートに添付する",
|
"includeImagesHint": "読んだページの画像をノートに付ける",
|
||||||
"back": "戻る",
|
"back": "戻る",
|
||||||
"configuration": "設定",
|
"configuration": "設定",
|
||||||
"options": "オプション",
|
"options": "オプション",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AIウォッチ",
|
"name": "AIウォッチ",
|
||||||
"description": "AI専門の5サイトをスクレイピングし、週次まとめを生成します。"
|
"description": "AIの専門サイト5件を読んで、週のまとめを作ります。"
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Techウォッチ",
|
"name": "Techウォッチ",
|
||||||
"description": "主要テックサイトをスクレイピングし、ニュースまとめを作成します。"
|
"description": "主なテックサイトを読んで、ニュースのまとめを作ります。"
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Devウォッチ",
|
"name": "Devウォッチ",
|
||||||
"description": "開発者向けサイトをスクレイピングし、新しい技術やフレームワークを要約します。"
|
"description": "開発者向けサイトを読んで、新しい技術を要約します。"
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "ノートオブザーバー",
|
"name": "ノートオブザーバー",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "エージェントツール",
|
"title": "エージェントツール",
|
||||||
"webSearch": "ウェブ検索",
|
"webSearch": "ウェブ検索",
|
||||||
"webScrape": "ウェブスクレイプ",
|
"webScrape": "ページを読む",
|
||||||
"noteSearch": "ノート検索",
|
"noteSearch": "ノート検索",
|
||||||
"noteRead": "ノート読み取り",
|
"noteRead": "ノート読み取り",
|
||||||
"noteCreate": "ノート作成",
|
"noteCreate": "ノート作成",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "ヘルプ",
|
"btnLabel": "ヘルプ",
|
||||||
"close": "閉じる",
|
"close": "閉じる",
|
||||||
"whatIsAgent": "エージェントとは?",
|
"whatIsAgent": "エージェントとは?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "エージェントの使い方",
|
"howToUse": "エージェントの使い方",
|
||||||
"howToUseContent": "1. **「新しいエージェント」**をクリックします(またはページ下部の**テンプレート**から開始します)。",
|
"howToUseContent": "1. **「新しいエージェント」**をクリックします(またはページ下部の**テンプレート**から開始します)。",
|
||||||
"types": "エージェントの種類",
|
"types": "エージェントの種類",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "詳細モード(AI指示、最大反復回数)",
|
"advanced": "詳細モード(AI指示、最大反復回数)",
|
||||||
"advancedContent": "フォームの下部にある**「詳細モード」**をクリックして追加設定にアクセスしてください。",
|
"advancedContent": "フォームの下部にある**「詳細モード」**をクリックして追加設定にアクセスしてください。",
|
||||||
"tools": "利用可能なツール(詳細)",
|
"tools": "利用可能なツール(詳細)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "頻度とスケジュール",
|
"frequency": "頻度とスケジュール",
|
||||||
"frequencyContent": "| 頻度 | 動作\n|-----------|----------\n| **手動** | 自分で「実行」をクリックします。",
|
"frequencyContent": "| 頻度 | 動作\n|-----------|----------\n| **手動** | 自分で「実行」をクリックします。",
|
||||||
"targetNotebook": "保存先ノートブック",
|
"targetNotebook": "保存先ノートブック",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "テンプレート",
|
"templates": "テンプレート",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "ヒントとトラブルシューティング",
|
"tips": "ヒントとトラブルシューティング",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "エージェントが実行するタスクの種類を選択してください。各タイプには異なる機能とフィールドがあります。",
|
"agentType": "エージェントが実行するタスクの種類を選択してください。各タイプには異なる機能とフィールドがあります。",
|
||||||
"researchTopic": "エージェントがウェブで調査するトピック。より良い結果のために具体的に指定してください。",
|
"researchTopic": "エージェントがウェブで調査するトピック。より良い結果のために具体的に指定してください。",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "請求ステータスを取得できませんでした",
|
"fetchStatusFailed": "請求ステータスを取得できませんでした",
|
||||||
"fetchQuotasFailed": "クォータを取得できませんでした",
|
"fetchQuotasFailed": "クォータを取得できませんでした",
|
||||||
"fetchInvoicesFailed": "請求履歴を読み込めませんでした。",
|
"fetchInvoicesFailed": "請求履歴を読み込めませんでした。",
|
||||||
"savePercent": "~17%お得",
|
"savePercent": "~{percent}%お得",
|
||||||
|
"billedYearTotal": "年額 {price}",
|
||||||
"cancelSubscription": "サブスクリプションをキャンセル",
|
"cancelSubscription": "サブスクリプションをキャンセル",
|
||||||
"changeOffer": "プランを変更",
|
"changeOffer": "プランを変更",
|
||||||
"downgradeToFree": "無料プランに戻る",
|
"downgradeToFree": "無料プランに戻る",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "導入の案内"
|
"feature5": "導入の案内"
|
||||||
},
|
},
|
||||||
"basicPrice": "無料",
|
"basicPrice": "無料",
|
||||||
"savePercent": "約17%お得",
|
"savePercent": "約{percent}%お得",
|
||||||
"proMonthly": "€9.90",
|
"proMonthly": "€9.90",
|
||||||
"proAnnualMonthly": "€8.25",
|
"proAnnualMonthly": "€8.25",
|
||||||
"businessMonthly": "€29.90",
|
"businessMonthly": "€29.90",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "1〜3分かかる場合があります。ブラウジングを続けられます。ページは自動更新されます。",
|
"mappingHint": "1〜3分かかる場合があります。ブラウジングを続けられます。ページは自動更新されます。",
|
||||||
"analyzeNow": "テーマを更新",
|
"analyzeNow": "テーマを更新",
|
||||||
"emptyNeedMoreNotes": "テーマをまとめるには、あと{count}件のノートを追加してください(最小10)。",
|
"emptyNeedMoreNotes": "テーマをまとめるには、あと{count}件のノートを追加してください(最小10)。",
|
||||||
"embeddingsHint": "AI索引付き:{indexed}/{total}ノートのみ。",
|
"embeddingsHint": "{indexed} / {total} 件のノートがテーマ分けの準備ができています。",
|
||||||
"vsGraphHint": "「リンクマップ」とは異なります:ここではAIが意味でグループ化します。",
|
"vsGraphHint": "「リンクマップ」とは異なります:ここではAIが意味でグループ化します。",
|
||||||
"openGraphMap": "リンクマップを開く",
|
"openGraphMap": "リンクマップを開く",
|
||||||
"analysisFailed": "分析失敗。AI設定を確認。",
|
"analysisFailed": "分析失敗。AI設定を確認。",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "変換完了!リンクされたノートブックが作成されました。",
|
"convertSuccess": "変換完了!リンクされたノートブックが作成されました。",
|
||||||
"convertToNotebook": "ノートブックに変換",
|
"convertToNotebook": "ノートブックに変換",
|
||||||
"converting": "変換中…",
|
"converting": "変換中…",
|
||||||
"createLocalDb": "独立したローカルデータベースを作成",
|
"createLocalDb": "このノートに表を作る",
|
||||||
"createNotebook": "ノートブックを作成",
|
"createNotebook": "ノートブックを作成",
|
||||||
"defaultOption1": "オプション 1",
|
"defaultOption1": "オプション 1",
|
||||||
"defaultOption2": "オプション 2",
|
"defaultOption2": "オプション 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "キーワード",
|
"keywordMatch": "キーワード",
|
||||||
"linkToNotebook": "ノートブックにリンク",
|
"linkToNotebook": "ノートブックにリンク",
|
||||||
"loadError": "構造化データの読み込みに失敗しました。",
|
"loadError": "構造化データの読み込みに失敗しました。",
|
||||||
"localDbTitle": "スタンドアロンデータベース",
|
"localDbTitle": "このノート内の表",
|
||||||
"namePlaceholder": "名前を入力…",
|
"namePlaceholder": "名前を入力…",
|
||||||
"noEchoFound": "近いノートは見つかりませんでした。",
|
"noEchoFound": "近いノートは見つかりませんでした。",
|
||||||
"noNotebook": "このブロックにはノートブックが必要です。まずこのノートをノートブックに移動してください。",
|
"noNotebook": "このブロックにはノートブックが必要です。まずこのノートをノートブックに移動してください。",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "ノートブックにリンク",
|
"selectNotebook": "ノートブックにリンク",
|
||||||
"selectOptionsPlaceholder": "カンマ区切りのオプション",
|
"selectOptionsPlaceholder": "カンマ区切りのオプション",
|
||||||
"semanticEcho": "セマンティック共鳴",
|
"semanticEcho": "セマンティック共鳴",
|
||||||
"switchToLocalDb": "ローカルデータベースに切り替え",
|
"switchToLocalDb": "このノートの表に戻る",
|
||||||
"turnIntoLabel": "インラインデータベース",
|
"turnIntoLabel": "ノート内の表",
|
||||||
"untitled": "無題"
|
"untitled": "無題"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "사용자 정의"
|
"custom": "사용자 정의"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "여러 사이트를 스크랩하고 요약을 생성합니다",
|
"scraper": "여러 사이트를 읽고 요약을 만듭니다",
|
||||||
"researcher": "주제에 대한 정보를 검색합니다",
|
"researcher": "주제에 대한 정보를 검색합니다",
|
||||||
"monitor": "노트북을 감시하고 노트를 분석합니다",
|
"monitor": "노트북을 감시하고 노트를 분석합니다",
|
||||||
"slideGenerator": "노트에서 PowerPoint 프레젠테이션을 만듭니다.",
|
"slideGenerator": "노트에서 PowerPoint 프레젠테이션을 만듭니다.",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "예: 화요일 AI 와치",
|
"namePlaceholder": "예: 화요일 AI 와치",
|
||||||
"description": "설명 (선택 사항)",
|
"description": "설명 (선택 사항)",
|
||||||
"descriptionPlaceholder": "주간 AI 뉴스 요약",
|
"descriptionPlaceholder": "주간 AI 뉴스 요약",
|
||||||
"urlsLabel": "스크랩할 URL",
|
"urlsLabel": "읽을 페이지 주소",
|
||||||
"urlsOptional": "(선택 사항)",
|
"urlsOptional": "(선택 사항)",
|
||||||
"sourceNotebook": "감시할 노트북",
|
"sourceNotebook": "감시할 노트북",
|
||||||
"selectNotebook": "노트북을 선택하세요...",
|
"selectNotebook": "노트북을 선택하세요...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "이메일 알림",
|
"notifyEmail": "이메일 알림",
|
||||||
"notifyEmailHint": "각 실행 후 에이전트 결과가 포함된 이메일 받기",
|
"notifyEmailHint": "각 실행 후 에이전트 결과가 포함된 이메일 받기",
|
||||||
"includeImages": "이미지 포함",
|
"includeImages": "이미지 포함",
|
||||||
"includeImagesHint": "스크래핑된 페이지에서 이미지를 추출하여 생성된 노트에 첨부",
|
"includeImagesHint": "읽은 페이지의 이미지를 노트에 붙입니다",
|
||||||
"back": "뒤로",
|
"back": "뒤로",
|
||||||
"configuration": "구성",
|
"configuration": "구성",
|
||||||
"options": "옵션",
|
"options": "옵션",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AI 와치",
|
"name": "AI 와치",
|
||||||
"description": "AI 전문 사이트 5곳을 스크랩하여 주간 요약을 생성합니다."
|
"description": "AI 전문 사이트 5곳을 읽고 주간 요약을 만듭니다."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "테크 와치",
|
"name": "테크 와치",
|
||||||
"description": "주요 기술 사이트를 스크랩하여 뉴스 요약을 만듭니다."
|
"description": "주요 기술 사이트를 읽고 뉴스 요약을 만듭니다."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "개발 와치",
|
"name": "개발 와치",
|
||||||
"description": "개발 사이트를 스크랩하여 새로운 기술과 프레임워크를 요약합니다."
|
"description": "개발 사이트를 읽고 새로운 기술을 요약합니다."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "노트 관찰자",
|
"name": "노트 관찰자",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "에이전트 도구",
|
"title": "에이전트 도구",
|
||||||
"webSearch": "웹 검색",
|
"webSearch": "웹 검색",
|
||||||
"webScrape": "웹 스크랩",
|
"webScrape": "페이지 읽기",
|
||||||
"noteSearch": "노트 검색",
|
"noteSearch": "노트 검색",
|
||||||
"noteRead": "노트 읽기",
|
"noteRead": "노트 읽기",
|
||||||
"noteCreate": "노트 만들기",
|
"noteCreate": "노트 만들기",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "도움말",
|
"btnLabel": "도움말",
|
||||||
"close": "닫기",
|
"close": "닫기",
|
||||||
"whatIsAgent": "에이전트란?",
|
"whatIsAgent": "에이전트란?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "에이전트 사용 방법",
|
"howToUse": "에이전트 사용 방법",
|
||||||
"howToUseContent": "1. **\"새 에이전트\"**를 클릭하세요 (또는 페이지 하단의 **템플릿**에서 시작하세요).",
|
"howToUseContent": "1. **\"새 에이전트\"**를 클릭하세요 (또는 페이지 하단의 **템플릿**에서 시작하세요).",
|
||||||
"types": "에이전트 유형",
|
"types": "에이전트 유형",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "고급 모드 (AI 지시어, 최대 반복)",
|
"advanced": "고급 모드 (AI 지시어, 최대 반복)",
|
||||||
"advancedContent": "양식 하단의 **\"고급 모드\"**를 클릭하여 추가 설정에 액세스하세요.",
|
"advancedContent": "양식 하단의 **\"고급 모드\"**를 클릭하여 추가 설정에 액세스하세요.",
|
||||||
"tools": "사용 가능한 도구 (상세)",
|
"tools": "사용 가능한 도구 (상세)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "빈도 및 예약",
|
"frequency": "빈도 및 예약",
|
||||||
"frequencyContent": "| 빈도 | 동작\n|-----------|----------\n| **수동** | 직접 \"실행\"을 클릭합니다.",
|
"frequencyContent": "| 빈도 | 동작\n|-----------|----------\n| **수동** | 직접 \"실행\"을 클릭합니다.",
|
||||||
"targetNotebook": "대상 노트북",
|
"targetNotebook": "대상 노트북",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "템플릿",
|
"templates": "템플릿",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "팁과 문제 해결",
|
"tips": "팁과 문제 해결",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "에이전트가 수행할 작업 유형을 선택하세요. 각 유형은 다른 기능과 필드를 가집니다.",
|
"agentType": "에이전트가 수행할 작업 유형을 선택하세요. 각 유형은 다른 기능과 필드를 가집니다.",
|
||||||
"researchTopic": "에이전트가 웹에서 조사할 주제입니다. 더 나은 결과를 위해 구체적으로 작성하세요.",
|
"researchTopic": "에이전트가 웹에서 조사할 주제입니다. 더 나은 결과를 위해 구체적으로 작성하세요.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "결제 상태를 가져올 수 없습니다",
|
"fetchStatusFailed": "결제 상태를 가져올 수 없습니다",
|
||||||
"fetchQuotasFailed": "할당량을 가져올 수 없습니다",
|
"fetchQuotasFailed": "할당량을 가져올 수 없습니다",
|
||||||
"fetchInvoicesFailed": "결제 내역을 불러올 수 없습니다.",
|
"fetchInvoicesFailed": "결제 내역을 불러올 수 없습니다.",
|
||||||
"savePercent": "~17% 절약",
|
"savePercent": "~{percent}% 절약",
|
||||||
|
"billedYearTotal": "연 {price}",
|
||||||
"cancelSubscription": "구독 취소",
|
"cancelSubscription": "구독 취소",
|
||||||
"changeOffer": "요금제 변경",
|
"changeOffer": "요금제 변경",
|
||||||
"downgradeToFree": "무료 요금제로 돌아가기",
|
"downgradeToFree": "무료 요금제로 돌아가기",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "설치 안내"
|
"feature5": "설치 안내"
|
||||||
},
|
},
|
||||||
"basicPrice": "무료",
|
"basicPrice": "무료",
|
||||||
"savePercent": "약 17% 절약",
|
"savePercent": "약 {percent}% 절약",
|
||||||
"proMonthly": "€9.90",
|
"proMonthly": "€9.90",
|
||||||
"proAnnualMonthly": "€8.25",
|
"proAnnualMonthly": "€8.25",
|
||||||
"businessMonthly": "€29.90",
|
"businessMonthly": "€29.90",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "1~3분 정도 걸릴 수 있습니다. 계속 브라우징할 수 있습니다. 페이지가 자동 업데이트됩니다.",
|
"mappingHint": "1~3분 정도 걸릴 수 있습니다. 계속 브라우징할 수 있습니다. 페이지가 자동 업데이트됩니다.",
|
||||||
"analyzeNow": "주제 업데이트",
|
"analyzeNow": "주제 업데이트",
|
||||||
"emptyNeedMoreNotes": "주제를 묶으려면 노트를 {count}개 더 추가하세요 (최소 10).",
|
"emptyNeedMoreNotes": "주제를 묶으려면 노트를 {count}개 더 추가하세요 (최소 10).",
|
||||||
"embeddingsHint": "AI 인덱싱: {indexed}/{total}노트만.",
|
"embeddingsHint": "{indexed} / {total}개 노트가 주제별로 묶일 준비가 되었습니다.",
|
||||||
"vsGraphHint": "\"링크 맵\"과 다릅니다: 여기서는 AI가 링크가 아닌 의미로 그룹화합니다.",
|
"vsGraphHint": "\"링크 맵\"과 다릅니다: 여기서는 AI가 링크가 아닌 의미로 그룹화합니다.",
|
||||||
"openGraphMap": "링크 맵 열기",
|
"openGraphMap": "링크 맵 열기",
|
||||||
"analysisFailed": "분석 실패. AI 설정을 확인하세요.",
|
"analysisFailed": "분석 실패. AI 설정을 확인하세요.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "변환 완료! 연결된 노트북이 생성되었습니다.",
|
"convertSuccess": "변환 완료! 연결된 노트북이 생성되었습니다.",
|
||||||
"convertToNotebook": "노트북으로 변환",
|
"convertToNotebook": "노트북으로 변환",
|
||||||
"converting": "변환 중…",
|
"converting": "변환 중…",
|
||||||
"createLocalDb": "독립적인 로컬 데이터베이스 만들기",
|
"createLocalDb": "이 노트에 표 만들기",
|
||||||
"createNotebook": "노트북 만들기",
|
"createNotebook": "노트북 만들기",
|
||||||
"defaultOption1": "옵션 1",
|
"defaultOption1": "옵션 1",
|
||||||
"defaultOption2": "옵션 2",
|
"defaultOption2": "옵션 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "키워드",
|
"keywordMatch": "키워드",
|
||||||
"linkToNotebook": "노트북에 연결",
|
"linkToNotebook": "노트북에 연결",
|
||||||
"loadError": "구조화된 데이터 로드 실패.",
|
"loadError": "구조화된 데이터 로드 실패.",
|
||||||
"localDbTitle": "독립 데이터베이스",
|
"localDbTitle": "이 노트의 표",
|
||||||
"namePlaceholder": "이름 입력…",
|
"namePlaceholder": "이름 입력…",
|
||||||
"noEchoFound": "가까운 노트를 찾지 못했습니다.",
|
"noEchoFound": "가까운 노트를 찾지 못했습니다.",
|
||||||
"noNotebook": "이 블록은 노트북이 필요합니다. 먼저 이 노트를 노트북으로 이동하세요.",
|
"noNotebook": "이 블록은 노트북이 필요합니다. 먼저 이 노트를 노트북으로 이동하세요.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "노트북에 연결",
|
"selectNotebook": "노트북에 연결",
|
||||||
"selectOptionsPlaceholder": "쉼표로 구분된 옵션",
|
"selectOptionsPlaceholder": "쉼표로 구분된 옵션",
|
||||||
"semanticEcho": "시맨틱 공명",
|
"semanticEcho": "시맨틱 공명",
|
||||||
"switchToLocalDb": "로컬 데이터베이스로 전환",
|
"switchToLocalDb": "이 노트의 표로 돌아가기",
|
||||||
"turnIntoLabel": "인라인 데이터베이스",
|
"turnIntoLabel": "노트 안의 표",
|
||||||
"untitled": "제목 없음"
|
"untitled": "제목 없음"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Aangepast"
|
"custom": "Aangepast"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Schraapt meerdere sites en maakt een samenvatting",
|
"scraper": "Leest meerdere sites en maakt een samenvatting",
|
||||||
"researcher": "Zoekt naar informatie over een onderwerp",
|
"researcher": "Zoekt naar informatie over een onderwerp",
|
||||||
"monitor": "Bewaakt een notitieboek en analyseert notities",
|
"monitor": "Bewaakt een notitieboek en analyseert notities",
|
||||||
"slideGenerator": "Creëert een PowerPoint-presentatie van notities",
|
"slideGenerator": "Creëert een PowerPoint-presentatie van notities",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "bijv. Dinsdag AI Watch",
|
"namePlaceholder": "bijv. Dinsdag AI Watch",
|
||||||
"description": "Beschrijving (optioneel)",
|
"description": "Beschrijving (optioneel)",
|
||||||
"descriptionPlaceholder": "Wekelijkse AI-nieuwssamenvatting",
|
"descriptionPlaceholder": "Wekelijkse AI-nieuwssamenvatting",
|
||||||
"urlsLabel": "URL's om te schrapen",
|
"urlsLabel": "Adressen van te lezen pagina’s",
|
||||||
"urlsOptional": "(optioneel)",
|
"urlsOptional": "(optioneel)",
|
||||||
"sourceNotebook": "Notitieboek om te bewaken",
|
"sourceNotebook": "Notitieboek om te bewaken",
|
||||||
"selectNotebook": "Selecteer een notitieboek...",
|
"selectNotebook": "Selecteer een notitieboek...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "E-mailnotificatie",
|
"notifyEmail": "E-mailnotificatie",
|
||||||
"notifyEmailHint": "Ontvang een e-mail met de resultaten van de agent na elke uitvoering",
|
"notifyEmailHint": "Ontvang een e-mail met de resultaten van de agent na elke uitvoering",
|
||||||
"includeImages": "Afbeeldingen opnemen",
|
"includeImages": "Afbeeldingen opnemen",
|
||||||
"includeImagesHint": "Afbeeldingen extraheren van gescrapte pagina's en toevoegen aan de gegenereerde notitie",
|
"includeImagesHint": "Afbeeldingen van de gelezen pagina’s nemen en aan de notitie toevoegen",
|
||||||
"back": "Terug",
|
"back": "Terug",
|
||||||
"configuration": "Configuratie",
|
"configuration": "Configuratie",
|
||||||
"options": "Opties",
|
"options": "Opties",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AI Watch",
|
"name": "AI Watch",
|
||||||
"description": "Schraapt 5 op AI gespecialiseerde sites en genereert een wekelijkse samenvatting."
|
"description": "Leest 5 AI-sites en schrijft een wekelijkse samenvatting."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Tech Watch",
|
"name": "Tech Watch",
|
||||||
"description": "Schraapt grote techsites en maakt een nieuwssamenvatting."
|
"description": "Leest grote techsites en maakt een nieuwssamenvatting."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Dev Watch",
|
"name": "Dev Watch",
|
||||||
"description": "Schraapt ontwikkelingssites en vat nieuwe tech en frameworks samen."
|
"description": "Leest ontwikkelingssites en vat samen wat er nieuw is."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Notitie-waarnemer",
|
"name": "Notitie-waarnemer",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Agent-tools",
|
"title": "Agent-tools",
|
||||||
"webSearch": "Web Zoeken",
|
"webSearch": "Web Zoeken",
|
||||||
"webScrape": "Web Schrapen",
|
"webScrape": "Webpagina’s lezen",
|
||||||
"noteSearch": "Notitie Zoeken",
|
"noteSearch": "Notitie Zoeken",
|
||||||
"noteRead": "Notitie Lezen",
|
"noteRead": "Notitie Lezen",
|
||||||
"noteCreate": "Notitie Maken",
|
"noteCreate": "Notitie Maken",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Hulp",
|
"btnLabel": "Hulp",
|
||||||
"close": "Sluiten",
|
"close": "Sluiten",
|
||||||
"whatIsAgent": "Wat is een agent?",
|
"whatIsAgent": "Wat is een agent?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Hoe gebruik je een agent?",
|
"howToUse": "Hoe gebruik je een agent?",
|
||||||
"howToUseContent": "1. Klik op **\"Nieuwe agent\"** (of begin met een **Sjabloon** onderaan de pagina).",
|
"howToUseContent": "1. Klik op **\"Nieuwe agent\"** (of begin met een **Sjabloon** onderaan de pagina).",
|
||||||
"types": "Typen agents",
|
"types": "Typen agents",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Geavanceerde modus (AI-instructies, Max iteraties)",
|
"advanced": "Geavanceerde modus (AI-instructies, Max iteraties)",
|
||||||
"advancedContent": "Klik onderaan het formulier op **\"Geavanceerde modus\"** voor toegang tot aanvullende instellingen.",
|
"advancedContent": "Klik onderaan het formulier op **\"Geavanceerde modus\"** voor toegang tot aanvullende instellingen.",
|
||||||
"tools": "Beschikbare tools (details)",
|
"tools": "Beschikbare tools (details)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Frequentie & planning",
|
"frequency": "Frequentie & planning",
|
||||||
"frequencyContent": "| Frequentie | Gedrag\n|-----------|----------\n| **Handmatig** | U klikt zelf op \"Uitvoeren\".",
|
"frequencyContent": "| Frequentie | Gedrag\n|-----------|----------\n| **Handmatig** | U klikt zelf op \"Uitvoeren\".",
|
||||||
"targetNotebook": "Doelnotitieboek",
|
"targetNotebook": "Doelnotitieboek",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Sjablonen",
|
"templates": "Sjablonen",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Tips & probleemoplossing",
|
"tips": "Tips & probleemoplossing",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Kies het type taak dat de agent zal uitvoeren. Elk type heeft verschillende mogelijkheden en velden.",
|
"agentType": "Kies het type taak dat de agent zal uitvoeren. Elk type heeft verschillende mogelijkheden en velden.",
|
||||||
"researchTopic": "Het onderwerp dat de agent op het web zal onderzoeken. Wees specifiek voor betere resultaten.",
|
"researchTopic": "Het onderwerp dat de agent op het web zal onderzoeken. Wees specifiek voor betere resultaten.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Facturatiestatus kon niet worden opgehaald",
|
"fetchStatusFailed": "Facturatiestatus kon niet worden opgehaald",
|
||||||
"fetchQuotasFailed": "Quota konden niet worden opgehaald",
|
"fetchQuotasFailed": "Quota konden niet worden opgehaald",
|
||||||
"fetchInvoicesFailed": "Factuurgeschiedenis kon niet worden geladen.",
|
"fetchInvoicesFailed": "Factuurgeschiedenis kon niet worden geladen.",
|
||||||
"savePercent": "Bespaar ~17%",
|
"savePercent": "Bespaar ~{percent} %",
|
||||||
|
"billedYearTotal": "of {price} per jaar",
|
||||||
"cancelSubscription": "Abonnement opzeggen",
|
"cancelSubscription": "Abonnement opzeggen",
|
||||||
"changeOffer": "Ander aanbod kiezen",
|
"changeOffer": "Ander aanbod kiezen",
|
||||||
"downgradeToFree": "Terug naar het gratis aanbod",
|
"downgradeToFree": "Terug naar het gratis aanbod",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Begeleide installatie"
|
"feature5": "Begeleide installatie"
|
||||||
},
|
},
|
||||||
"basicPrice": "Gratis",
|
"basicPrice": "Gratis",
|
||||||
"savePercent": "Bespaar ~17%",
|
"savePercent": "Bespaar ~{percent} %",
|
||||||
"proMonthly": "€9,90",
|
"proMonthly": "€9,90",
|
||||||
"proAnnualMonthly": "€8,25",
|
"proAnnualMonthly": "€8,25",
|
||||||
"businessMonthly": "€29,90",
|
"businessMonthly": "€29,90",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Dit kan één tot drie minuten duren. U kunt blijven browsen; de pagina wordt automatisch bijgewerkt.",
|
"mappingHint": "Dit kan één tot drie minuten duren. U kunt blijven browsen; de pagina wordt automatisch bijgewerkt.",
|
||||||
"analyzeNow": "Thema's bijwerken",
|
"analyzeNow": "Thema's bijwerken",
|
||||||
"emptyNeedMoreNotes": "Voeg {count} notities meer toe om uw thema's te groeperen (minimum 10).",
|
"emptyNeedMoreNotes": "Voeg {count} notities meer toe om uw thema's te groeperen (minimum 10).",
|
||||||
"embeddingsHint": "Slechts {indexed} van {total} notities geïndexeerd voor AI.",
|
"embeddingsHint": "Slechts {indexed} van {total} notities zijn klaar om per thema te groeperen.",
|
||||||
"vsGraphHint": "Dit is niet de \"Link-kaart\": hier groepeert de AI op betekenis, niet op links.",
|
"vsGraphHint": "Dit is niet de \"Link-kaart\": hier groepeert de AI op betekenis, niet op links.",
|
||||||
"openGraphMap": "Linkkaart openen",
|
"openGraphMap": "Linkkaart openen",
|
||||||
"analysisFailed": "Analyse mislukt. Controleer je AI-instellingen.",
|
"analysisFailed": "Analyse mislukt. Controleer je AI-instellingen.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Conversie voltooid! Gekoppeld notitieboek aangemaakt.",
|
"convertSuccess": "Conversie voltooid! Gekoppeld notitieboek aangemaakt.",
|
||||||
"convertToNotebook": "Naar notitieboek converteren",
|
"convertToNotebook": "Naar notitieboek converteren",
|
||||||
"converting": "Converteren…",
|
"converting": "Converteren…",
|
||||||
"createLocalDb": "Maak een zelfstandige lokale database",
|
"createLocalDb": "Maak een tabel in deze notitie",
|
||||||
"createNotebook": "Notitieboek maken",
|
"createNotebook": "Notitieboek maken",
|
||||||
"defaultOption1": "Optie 1",
|
"defaultOption1": "Optie 1",
|
||||||
"defaultOption2": "Optie 2",
|
"defaultOption2": "Optie 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Trefwoord",
|
"keywordMatch": "Trefwoord",
|
||||||
"linkToNotebook": "Koppel aan een notitieboek",
|
"linkToNotebook": "Koppel aan een notitieboek",
|
||||||
"loadError": "Fout bij laden van gestructureerde gegevens.",
|
"loadError": "Fout bij laden van gestructureerde gegevens.",
|
||||||
"localDbTitle": "Zelfstandige database",
|
"localDbTitle": "Tabel in deze notitie",
|
||||||
"namePlaceholder": "Naam invoeren…",
|
"namePlaceholder": "Naam invoeren…",
|
||||||
"noEchoFound": "Geen nabije notities gevonden.",
|
"noEchoFound": "Geen nabije notities gevonden.",
|
||||||
"noNotebook": "Dit blok vereist een notitieboek. Verplaats deze notitie eerst naar een notitieboek.",
|
"noNotebook": "Dit blok vereist een notitieboek. Verplaats deze notitie eerst naar een notitieboek.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Koppel aan een notitieboek",
|
"selectNotebook": "Koppel aan een notitieboek",
|
||||||
"selectOptionsPlaceholder": "Opties gescheiden door komma's",
|
"selectOptionsPlaceholder": "Opties gescheiden door komma's",
|
||||||
"semanticEcho": "Semantische resonanties",
|
"semanticEcho": "Semantische resonanties",
|
||||||
"switchToLocalDb": "Schakel naar lokale database",
|
"switchToLocalDb": "Terug naar de tabel van deze notitie",
|
||||||
"turnIntoLabel": "Inline database",
|
"turnIntoLabel": "Tabel in de notitie",
|
||||||
"untitled": "Naamloos"
|
"untitled": "Naamloos"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Niestandardowy"
|
"custom": "Niestandardowy"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Pobiera dane z wielu stron i tworzy podsumowanie",
|
"scraper": "Czyta kilka stron i robi podsumowanie",
|
||||||
"researcher": "Wyszukuje informacje na dany temat",
|
"researcher": "Wyszukuje informacje na dany temat",
|
||||||
"monitor": "Obserwuje notatnik i analizuje notatki",
|
"monitor": "Obserwuje notatnik i analizuje notatki",
|
||||||
"slideGenerator": "Tworzy prezentację programu PowerPoint z notatek",
|
"slideGenerator": "Tworzy prezentację programu PowerPoint z notatek",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "np. Wtorkowy Przegląd AI",
|
"namePlaceholder": "np. Wtorkowy Przegląd AI",
|
||||||
"description": "Opis (opcjonalnie)",
|
"description": "Opis (opcjonalnie)",
|
||||||
"descriptionPlaceholder": "Tygodniowe podsumowanie wiadomości AI",
|
"descriptionPlaceholder": "Tygodniowe podsumowanie wiadomości AI",
|
||||||
"urlsLabel": "Adresy URL do pobrania",
|
"urlsLabel": "Adresy stron do przeczytania",
|
||||||
"urlsOptional": "(opcjonalnie)",
|
"urlsOptional": "(opcjonalnie)",
|
||||||
"sourceNotebook": "Notatnik do obserwacji",
|
"sourceNotebook": "Notatnik do obserwacji",
|
||||||
"selectNotebook": "Wybierz notatnik...",
|
"selectNotebook": "Wybierz notatnik...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "Powiadomienie e-mail",
|
"notifyEmail": "Powiadomienie e-mail",
|
||||||
"notifyEmailHint": "Otrzymuj e-mail z wynikami agenta po każdym uruchomieniu",
|
"notifyEmailHint": "Otrzymuj e-mail z wynikami agenta po każdym uruchomieniu",
|
||||||
"includeImages": "Uwzględnij obrazy",
|
"includeImages": "Uwzględnij obrazy",
|
||||||
"includeImagesHint": "Wyodrębnij obrazy ze zeskrapowanych stron i dołącz do wygenerowanej notatki",
|
"includeImagesHint": "Weź obrazy z przeczytanych stron i dołącz do notatki",
|
||||||
"back": "Wstecz",
|
"back": "Wstecz",
|
||||||
"configuration": "Konfiguracja",
|
"configuration": "Konfiguracja",
|
||||||
"options": "Opcje",
|
"options": "Opcje",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Przegląd AI",
|
"name": "Przegląd AI",
|
||||||
"description": "Pobiera dane z 5 stron specjalizujących się w AI i generuje tygodniowe podsumowanie."
|
"description": "Czyta 5 stron o AI i pisze tygodniowe podsumowanie."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Przegląd technologiczny",
|
"name": "Przegląd technologiczny",
|
||||||
"description": "Pobiera dane z dużych portali technologicznych i tworzy podsumowanie wiadomości."
|
"description": "Czyta duże portale technologiczne i pisze podsumowanie wiadomości."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Przegląd deweloperski",
|
"name": "Przegląd deweloperski",
|
||||||
"description": "Pobiera dane z portali dla programistów i podsumowuje nowe technologie i frameworki."
|
"description": "Czyta portale dla programistów i podsumowuje nowości."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Obserwator notatek",
|
"name": "Obserwator notatek",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Pomoc",
|
"btnLabel": "Pomoc",
|
||||||
"close": "Zamknij",
|
"close": "Zamknij",
|
||||||
"whatIsAgent": "Czym jest agent?",
|
"whatIsAgent": "Czym jest agent?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Jak używać agenta?",
|
"howToUse": "Jak używać agenta?",
|
||||||
"howToUseContent": "1. Kliknij **„Nowy agent\"** (lub zacznij od **Szablonu** na dole strony).",
|
"howToUseContent": "1. Kliknij **„Nowy agent\"** (lub zacznij od **Szablonu** na dole strony).",
|
||||||
"types": "Typy agentów",
|
"types": "Typy agentów",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Tryb zaawansowany (Instrukcje AI, Maks. iteracje)",
|
"advanced": "Tryb zaawansowany (Instrukcje AI, Maks. iteracje)",
|
||||||
"advancedContent": "Kliknij na **„Tryb zaawansowany\"** na dole formularza, aby uzyskać dostęp do dodatkowych ustawień.",
|
"advancedContent": "Kliknij na **„Tryb zaawansowany\"** na dole formularza, aby uzyskać dostęp do dodatkowych ustawień.",
|
||||||
"tools": "Dostępne narzędzia (szczegóły)",
|
"tools": "Dostępne narzędzia (szczegóły)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Częstotliwość i harmonogram",
|
"frequency": "Częstotliwość i harmonogram",
|
||||||
"frequencyContent": "| Częstotliwość | Zachowanie\n|-----------|----------\n| **Ręcznie** | Klikasz samodzielnie \"Uruchom\".",
|
"frequencyContent": "| Częstotliwość | Zachowanie\n|-----------|----------\n| **Ręcznie** | Klikasz samodzielnie \"Uruchom\".",
|
||||||
"targetNotebook": "Docelowy notatnik",
|
"targetNotebook": "Docelowy notatnik",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Szablony",
|
"templates": "Szablony",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Porady i rozwiązywanie problemów",
|
"tips": "Porady i rozwiązywanie problemów",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Wybierz typ zadania, które będzie wykonywał agent. Każdy typ ma różne możliwości i pola.",
|
"agentType": "Wybierz typ zadania, które będzie wykonywał agent. Każdy typ ma różne możliwości i pola.",
|
||||||
"researchTopic": "Temat, który agent zbada w internecie. Bądź konkretny, aby uzyskać lepsze wyniki.",
|
"researchTopic": "Temat, który agent zbada w internecie. Bądź konkretny, aby uzyskać lepsze wyniki.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Nie udało się pobrać statusu rozliczeń",
|
"fetchStatusFailed": "Nie udało się pobrać statusu rozliczeń",
|
||||||
"fetchQuotasFailed": "Nie udało się pobrać limitów",
|
"fetchQuotasFailed": "Nie udało się pobrać limitów",
|
||||||
"fetchInvoicesFailed": "Nie udało się załadować historii rozliczeń.",
|
"fetchInvoicesFailed": "Nie udało się załadować historii rozliczeń.",
|
||||||
"savePercent": "Oszczędź ~17%",
|
"savePercent": "Oszczędź ~{percent} %",
|
||||||
|
"billedYearTotal": "czyli {price} rocznie",
|
||||||
"cancelSubscription": "Anuluj subskrypcję",
|
"cancelSubscription": "Anuluj subskrypcję",
|
||||||
"changeOffer": "Zmień ofertę",
|
"changeOffer": "Zmień ofertę",
|
||||||
"downgradeToFree": "Wróć do oferty darmowej",
|
"downgradeToFree": "Wróć do oferty darmowej",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Pomoc przy starcie"
|
"feature5": "Pomoc przy starcie"
|
||||||
},
|
},
|
||||||
"basicPrice": "Za darmo",
|
"basicPrice": "Za darmo",
|
||||||
"savePercent": "Oszczędź ~17%",
|
"savePercent": "Oszczędź ~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "To może zająć od jednej do trzech minut. Możesz dalej przeglądać; strona zaktualizuje się automatycznie.",
|
"mappingHint": "To może zająć od jednej do trzech minut. Możesz dalej przeglądać; strona zaktualizuje się automatycznie.",
|
||||||
"analyzeNow": "Zaktualizuj tematy",
|
"analyzeNow": "Zaktualizuj tematy",
|
||||||
"emptyNeedMoreNotes": "Dodaj jeszcze {count} notatek, aby pogrupować tematy (minimum 10).",
|
"emptyNeedMoreNotes": "Dodaj jeszcze {count} notatek, aby pogrupować tematy (minimum 10).",
|
||||||
"embeddingsHint": "Tylko {indexed} z {total} notatek zaindeksowanych dla AI.",
|
"embeddingsHint": "Tylko {indexed} z {total} notatek jest gotowych do grupowania według motywów.",
|
||||||
"vsGraphHint": "To nie „Mapa linków\": tutaj AI grupuje wg znaczenia, nie linków.",
|
"vsGraphHint": "To nie „Mapa linków\": tutaj AI grupuje wg znaczenia, nie linków.",
|
||||||
"openGraphMap": "Otwórz mapę linków",
|
"openGraphMap": "Otwórz mapę linków",
|
||||||
"analysisFailed": "Analiza nieudana. Sprawdź ustawienia AI.",
|
"analysisFailed": "Analiza nieudana. Sprawdź ustawienia AI.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Konwersja zakończona! Utworzono powiązany notatnik.",
|
"convertSuccess": "Konwersja zakończona! Utworzono powiązany notatnik.",
|
||||||
"convertToNotebook": "Konwertuj na notatnik",
|
"convertToNotebook": "Konwertuj na notatnik",
|
||||||
"converting": "Konwertowanie…",
|
"converting": "Konwertowanie…",
|
||||||
"createLocalDb": "Utwórz autonomiczną lokalną bazę danych",
|
"createLocalDb": "Utwórz tabelę w tej notatce",
|
||||||
"createNotebook": "Utwórz notatnik",
|
"createNotebook": "Utwórz notatnik",
|
||||||
"defaultOption1": "Opcja 1",
|
"defaultOption1": "Opcja 1",
|
||||||
"defaultOption2": "Opcja 2",
|
"defaultOption2": "Opcja 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Słowo kluczowe",
|
"keywordMatch": "Słowo kluczowe",
|
||||||
"linkToNotebook": "Połącz z notatnikiem",
|
"linkToNotebook": "Połącz z notatnikiem",
|
||||||
"loadError": "Błąd ładowania danych ustrukturyzowanych.",
|
"loadError": "Błąd ładowania danych ustrukturyzowanych.",
|
||||||
"localDbTitle": "Autonomiczna baza danych",
|
"localDbTitle": "Tabela w tej notatce",
|
||||||
"namePlaceholder": "Wprowadź nazwę…",
|
"namePlaceholder": "Wprowadź nazwę…",
|
||||||
"noEchoFound": "Nie znaleziono bliskich notatek.",
|
"noEchoFound": "Nie znaleziono bliskich notatek.",
|
||||||
"noNotebook": "Ten blok wymaga notatnika. Najpierw przenieś tę notatkę do notatnika.",
|
"noNotebook": "Ten blok wymaga notatnika. Najpierw przenieś tę notatkę do notatnika.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Połącz z notatnikiem",
|
"selectNotebook": "Połącz z notatnikiem",
|
||||||
"selectOptionsPlaceholder": "Opcje oddzielone przecinkami",
|
"selectOptionsPlaceholder": "Opcje oddzielone przecinkami",
|
||||||
"semanticEcho": "Rezonanse semantyczne",
|
"semanticEcho": "Rezonanse semantyczne",
|
||||||
"switchToLocalDb": "Przełącz na lokalną bazę danych",
|
"switchToLocalDb": "Wróć do tabeli tej notatki",
|
||||||
"turnIntoLabel": "Wbudowana baza danych",
|
"turnIntoLabel": "Tabela w notatce",
|
||||||
"untitled": "Bez tytułu"
|
"untitled": "Bez tytułu"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Personalizado"
|
"custom": "Personalizado"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Extrai conteúdo de vários sites e cria um resumo",
|
"scraper": "Lê vários sites e faz um resumo",
|
||||||
"researcher": "Busca informações sobre um tema",
|
"researcher": "Busca informações sobre um tema",
|
||||||
"monitor": "Observa um caderno e analisa as notas",
|
"monitor": "Observa um caderno e analisa as notas",
|
||||||
"slideGenerator": "Cria uma apresentação do PowerPoint a partir de notas",
|
"slideGenerator": "Cria uma apresentação do PowerPoint a partir de notas",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "ex. Terça-feira IA Watch",
|
"namePlaceholder": "ex. Terça-feira IA Watch",
|
||||||
"description": "Descrição (opcional)",
|
"description": "Descrição (opcional)",
|
||||||
"descriptionPlaceholder": "Resumo semanal de notícias de IA",
|
"descriptionPlaceholder": "Resumo semanal de notícias de IA",
|
||||||
"urlsLabel": "URLs para extrair",
|
"urlsLabel": "Endereços das páginas a ler",
|
||||||
"urlsOptional": "(opcional)",
|
"urlsOptional": "(opcional)",
|
||||||
"sourceNotebook": "Caderno para observar",
|
"sourceNotebook": "Caderno para observar",
|
||||||
"selectNotebook": "Selecione um caderno...",
|
"selectNotebook": "Selecione um caderno...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "Notificação por e-mail",
|
"notifyEmail": "Notificação por e-mail",
|
||||||
"notifyEmailHint": "Receba um e-mail com os resultados do agente após cada execução",
|
"notifyEmailHint": "Receba um e-mail com os resultados do agente após cada execução",
|
||||||
"includeImages": "Incluir imagens",
|
"includeImages": "Incluir imagens",
|
||||||
"includeImagesHint": "Extrair imagens das páginas rastreadas e anexá-las à nota gerada",
|
"includeImagesHint": "Tirar as imagens das páginas lidas e anexá-las à nota",
|
||||||
"back": "Voltar",
|
"back": "Voltar",
|
||||||
"configuration": "Configuração",
|
"configuration": "Configuração",
|
||||||
"options": "Opções",
|
"options": "Opções",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Watch IA",
|
"name": "Watch IA",
|
||||||
"description": "Extrai conteúdo de 5 sites especializados em IA e gera um resumo semanal."
|
"description": "Lê 5 sites de IA e escreve um resumo semanal."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Watch Tech",
|
"name": "Watch Tech",
|
||||||
"description": "Extrai conteúdo dos principais sites de tecnologia e cria um resumo de notícias."
|
"description": "Lê os principais sites de tecnologia e escreve um resumo de notícias."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Watch Dev",
|
"name": "Watch Dev",
|
||||||
"description": "Extrai conteúdo de sites de desenvolvimento e resume novas tecnologias e frameworks."
|
"description": "Lê sites de desenvolvimento e resume as novidades."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Observador de notas",
|
"name": "Observador de notas",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Ajuda",
|
"btnLabel": "Ajuda",
|
||||||
"close": "Fechar",
|
"close": "Fechar",
|
||||||
"whatIsAgent": "O que é um agente?",
|
"whatIsAgent": "O que é um agente?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Como usar um agente?",
|
"howToUse": "Como usar um agente?",
|
||||||
"howToUseContent": "1. Clique em **\"Novo Agente\"** (ou comece a partir de um **Modelo** na parte inferior da página).",
|
"howToUseContent": "1. Clique em **\"Novo Agente\"** (ou comece a partir de um **Modelo** na parte inferior da página).",
|
||||||
"types": "Tipos de agentes",
|
"types": "Tipos de agentes",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Modo avançado (Instruções IA, Iterações máx.)",
|
"advanced": "Modo avançado (Instruções IA, Iterações máx.)",
|
||||||
"advancedContent": "Clique em **\"Modo avançado\"** na parte inferior do formulário para acessar definições adicionais.",
|
"advancedContent": "Clique em **\"Modo avançado\"** na parte inferior do formulário para acessar definições adicionais.",
|
||||||
"tools": "Ferramentas disponíveis (detalhes)",
|
"tools": "Ferramentas disponíveis (detalhes)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Frequência e agendamento",
|
"frequency": "Frequência e agendamento",
|
||||||
"frequencyContent": "| Frequência | Comportamento\n|-----------|----------\n| **Manual** | Clica em \"Executar\".",
|
"frequencyContent": "| Frequência | Comportamento\n|-----------|----------\n| **Manual** | Clica em \"Executar\".",
|
||||||
"targetNotebook": "Caderno de destino",
|
"targetNotebook": "Caderno de destino",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Modelos",
|
"templates": "Modelos",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Dicas e solução de problemas",
|
"tips": "Dicas e solução de problemas",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Escolha o tipo de tarefa que o agente realizará. Cada tipo tem capacidades e campos diferentes.",
|
"agentType": "Escolha o tipo de tarefa que o agente realizará. Cada tipo tem capacidades e campos diferentes.",
|
||||||
"researchTopic": "O tema que o agente pesquisará na web. Seja específico para melhores resultados.",
|
"researchTopic": "O tema que o agente pesquisará na web. Seja específico para melhores resultados.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Falha ao buscar o status de cobrança",
|
"fetchStatusFailed": "Falha ao buscar o status de cobrança",
|
||||||
"fetchQuotasFailed": "Falha ao buscar as cotas",
|
"fetchQuotasFailed": "Falha ao buscar as cotas",
|
||||||
"fetchInvoicesFailed": "Falha ao carregar o histórico de cobrança.",
|
"fetchInvoicesFailed": "Falha ao carregar o histórico de cobrança.",
|
||||||
"savePercent": "Economize ~17%",
|
"savePercent": "Economize ~{percent} %",
|
||||||
|
"billedYearTotal": "ou seja, {price} por ano",
|
||||||
"cancelSubscription": "Cancelar subscrição",
|
"cancelSubscription": "Cancelar subscrição",
|
||||||
"changeOffer": "Mudar de oferta",
|
"changeOffer": "Mudar de oferta",
|
||||||
"downgradeToFree": "Voltar à oferta gratuita",
|
"downgradeToFree": "Voltar à oferta gratuita",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Acompanhamento na instalação"
|
"feature5": "Acompanhamento na instalação"
|
||||||
},
|
},
|
||||||
"basicPrice": "Grátis",
|
"basicPrice": "Grátis",
|
||||||
"savePercent": "Economize ~17%",
|
"savePercent": "Economize ~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Pode demorar de um a três minutos. Pode continuar a navegar; a página atualizar-se-á automaticamente.",
|
"mappingHint": "Pode demorar de um a três minutos. Pode continuar a navegar; a página atualizar-se-á automaticamente.",
|
||||||
"analyzeNow": "Atualizar os temas",
|
"analyzeNow": "Atualizar os temas",
|
||||||
"emptyNeedMoreNotes": "Adicione mais {count} notas para agrupar os seus temas (mínimo 10).",
|
"emptyNeedMoreNotes": "Adicione mais {count} notas para agrupar os seus temas (mínimo 10).",
|
||||||
"embeddingsHint": "Apenas {indexed} de {total} notas indexadas para IA.",
|
"embeddingsHint": "Apenas {indexed} de {total} notas estão prontas para agrupar por temas.",
|
||||||
"vsGraphHint": "Não é o \"Mapa de ligações\": aqui a IA agrupa por significado, não por ligações.",
|
"vsGraphHint": "Não é o \"Mapa de ligações\": aqui a IA agrupa por significado, não por ligações.",
|
||||||
"openGraphMap": "Abrir mapa de links",
|
"openGraphMap": "Abrir mapa de links",
|
||||||
"analysisFailed": "Análise falhou. Verifica as configurações de IA.",
|
"analysisFailed": "Análise falhou. Verifica as configurações de IA.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Conversão concluída! Caderno vinculado criado.",
|
"convertSuccess": "Conversão concluída! Caderno vinculado criado.",
|
||||||
"convertToNotebook": "Converter em caderno",
|
"convertToNotebook": "Converter em caderno",
|
||||||
"converting": "Convertendo…",
|
"converting": "Convertendo…",
|
||||||
"createLocalDb": "Criar um banco de dados local autônomo",
|
"createLocalDb": "Criar uma tabela nesta nota",
|
||||||
"createNotebook": "Criar caderno",
|
"createNotebook": "Criar caderno",
|
||||||
"defaultOption1": "Opção 1",
|
"defaultOption1": "Opção 1",
|
||||||
"defaultOption2": "Opção 2",
|
"defaultOption2": "Opção 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Palavra-chave",
|
"keywordMatch": "Palavra-chave",
|
||||||
"linkToNotebook": "Vincular a um caderno",
|
"linkToNotebook": "Vincular a um caderno",
|
||||||
"loadError": "Erro ao carregar dados estruturados.",
|
"loadError": "Erro ao carregar dados estruturados.",
|
||||||
"localDbTitle": "Banco de dados autônomo",
|
"localDbTitle": "Tabela nesta nota",
|
||||||
"namePlaceholder": "Digite um nome…",
|
"namePlaceholder": "Digite um nome…",
|
||||||
"noEchoFound": "Nenhuma nota próxima encontrada.",
|
"noEchoFound": "Nenhuma nota próxima encontrada.",
|
||||||
"noNotebook": "Este bloco requer um caderno. Mova esta nota para um caderno primeiro.",
|
"noNotebook": "Este bloco requer um caderno. Mova esta nota para um caderno primeiro.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Vincular a um caderno",
|
"selectNotebook": "Vincular a um caderno",
|
||||||
"selectOptionsPlaceholder": "Opções separadas por vírgulas",
|
"selectOptionsPlaceholder": "Opções separadas por vírgulas",
|
||||||
"semanticEcho": "Ressonâncias semânticas",
|
"semanticEcho": "Ressonâncias semânticas",
|
||||||
"switchToLocalDb": "Mudar para banco de dados local",
|
"switchToLocalDb": "Voltar à tabela desta nota",
|
||||||
"turnIntoLabel": "Banco de dados embutido",
|
"turnIntoLabel": "Tabela na nota",
|
||||||
"untitled": "Sem título"
|
"untitled": "Sem título"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "Пользовательский"
|
"custom": "Пользовательский"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "Собирает данные с нескольких сайтов и создаёт сводку",
|
"scraper": "Читает несколько сайтов и пишет сводку",
|
||||||
"researcher": "Ищет информацию по теме",
|
"researcher": "Ищет информацию по теме",
|
||||||
"monitor": "Следит за блокнотом и анализирует заметки",
|
"monitor": "Следит за блокнотом и анализирует заметки",
|
||||||
"slideGenerator": "Создает презентацию PowerPoint из заметок.",
|
"slideGenerator": "Создает презентацию PowerPoint из заметок.",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "напр. Еженедельный обзор ИИ",
|
"namePlaceholder": "напр. Еженедельный обзор ИИ",
|
||||||
"description": "Описание (необязательно)",
|
"description": "Описание (необязательно)",
|
||||||
"descriptionPlaceholder": "Еженедельная сводка новостей ИИ",
|
"descriptionPlaceholder": "Еженедельная сводка новостей ИИ",
|
||||||
"urlsLabel": "URL-адреса для сбора",
|
"urlsLabel": "Адреса страниц для чтения",
|
||||||
"urlsOptional": "(необязательно)",
|
"urlsOptional": "(необязательно)",
|
||||||
"sourceNotebook": "Блокнот для наблюдения",
|
"sourceNotebook": "Блокнот для наблюдения",
|
||||||
"selectNotebook": "Выберите блокнот...",
|
"selectNotebook": "Выберите блокнот...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "Email-уведомление",
|
"notifyEmail": "Email-уведомление",
|
||||||
"notifyEmailHint": "Получайте письмо с результатами агента после каждого запуска",
|
"notifyEmailHint": "Получайте письмо с результатами агента после каждого запуска",
|
||||||
"includeImages": "Включить изображения",
|
"includeImages": "Включить изображения",
|
||||||
"includeImagesHint": "Извлекать изображения со страниц и прикреплять к созданной заметке",
|
"includeImagesHint": "Брать изображения с прочитанных страниц и прикреплять к заметке",
|
||||||
"back": "Назад",
|
"back": "Назад",
|
||||||
"configuration": "Конфигурация",
|
"configuration": "Конфигурация",
|
||||||
"options": "Параметры",
|
"options": "Параметры",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "Обзор ИИ",
|
"name": "Обзор ИИ",
|
||||||
"description": "Собирает данные с 5 сайтов, специализирующихся на ИИ, и генерирует еженедельную сводку."
|
"description": "Читает 5 сайтов об ИИ и пишет еженедельную сводку."
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "Обзор технологий",
|
"name": "Обзор технологий",
|
||||||
"description": "Собирает данные с крупных технических сайтов и создаёт сводку новостей."
|
"description": "Читает крупные технические сайты и пишет сводку новостей."
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "Обзор разработок",
|
"name": "Обзор разработок",
|
||||||
"description": "Собирает данные с сайтов для разработчиков и обобщает новые технологии и фреймворки."
|
"description": "Читает сайты для разработчиков и кратко описывает новинки."
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "Наблюдатель за заметками",
|
"name": "Наблюдатель за заметками",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "Инструменты Агента",
|
"title": "Инструменты Агента",
|
||||||
"webSearch": "Веб-поиск",
|
"webSearch": "Веб-поиск",
|
||||||
"webScrape": "Веб-скрейпинг",
|
"webScrape": "Чтение страниц",
|
||||||
"noteSearch": "Поиск Заметок",
|
"noteSearch": "Поиск Заметок",
|
||||||
"noteRead": "Читать Заметку",
|
"noteRead": "Читать Заметку",
|
||||||
"noteCreate": "Создать Заметку",
|
"noteCreate": "Создать Заметку",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "Помощь",
|
"btnLabel": "Помощь",
|
||||||
"close": "Закрыть",
|
"close": "Закрыть",
|
||||||
"whatIsAgent": "Что такое агент?",
|
"whatIsAgent": "Что такое агент?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "Как использовать агента?",
|
"howToUse": "Как использовать агента?",
|
||||||
"howToUseContent": "1. Нажмите **«Новый агент»** (или начните с **шаблона** в нижней части страницы).",
|
"howToUseContent": "1. Нажмите **«Новый агент»** (или начните с **шаблона** в нижней части страницы).",
|
||||||
"types": "Типы агентов",
|
"types": "Типы агентов",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "Расширенный режим (Инструкции ИИ, Макс. итерации)",
|
"advanced": "Расширенный режим (Инструкции ИИ, Макс. итерации)",
|
||||||
"advancedContent": "Нажмите **«Расширенный режим»** в нижней части формы, чтобы получить доступ к дополнительным настройкам.",
|
"advancedContent": "Нажмите **«Расширенный режим»** в нижней части формы, чтобы получить доступ к дополнительным настройкам.",
|
||||||
"tools": "Доступные инструменты (подробно)",
|
"tools": "Доступные инструменты (подробно)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "Частота и расписание",
|
"frequency": "Частота и расписание",
|
||||||
"frequencyContent": "| Частота | Поведение\n|-----------|----------\n| **Вручную** | Вы нажимаете «Запустить».",
|
"frequencyContent": "| Частота | Поведение\n|-----------|----------\n| **Вручную** | Вы нажимаете «Запустить».",
|
||||||
"targetNotebook": "Целевой блокнот",
|
"targetNotebook": "Целевой блокнот",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "Шаблоны",
|
"templates": "Шаблоны",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "Советы и устранение неполадок",
|
"tips": "Советы и устранение неполадок",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "Выберите тип задачи, которую будет выполнять агент. Каждый тип имеет разные возможности и поля.",
|
"agentType": "Выберите тип задачи, которую будет выполнять агент. Каждый тип имеет разные возможности и поля.",
|
||||||
"researchTopic": "Тема, которую агент будет исследовать в интернете. Будьте конкретны для лучших результатов.",
|
"researchTopic": "Тема, которую агент будет исследовать в интернете. Будьте конкретны для лучших результатов.",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "Не удалось получить статус биллинга",
|
"fetchStatusFailed": "Не удалось получить статус биллинга",
|
||||||
"fetchQuotasFailed": "Не удалось получить квоты",
|
"fetchQuotasFailed": "Не удалось получить квоты",
|
||||||
"fetchInvoicesFailed": "Не удалось загрузить историю счетов.",
|
"fetchInvoicesFailed": "Не удалось загрузить историю счетов.",
|
||||||
"savePercent": "Экономия ~17%",
|
"savePercent": "Экономия ~{percent} %",
|
||||||
|
"billedYearTotal": "то есть {price} в год",
|
||||||
"cancelSubscription": "Отменить подписку",
|
"cancelSubscription": "Отменить подписку",
|
||||||
"changeOffer": "Сменить тариф",
|
"changeOffer": "Сменить тариф",
|
||||||
"downgradeToFree": "Вернуться к бесплатному тарифу",
|
"downgradeToFree": "Вернуться к бесплатному тарифу",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "Помощь при запуске"
|
"feature5": "Помощь при запуске"
|
||||||
},
|
},
|
||||||
"basicPrice": "Бесплатно",
|
"basicPrice": "Бесплатно",
|
||||||
"savePercent": "Экономия ~17%",
|
"savePercent": "Экономия ~{percent} %",
|
||||||
"proMonthly": "9,90€",
|
"proMonthly": "9,90€",
|
||||||
"proAnnualMonthly": "8,25€",
|
"proAnnualMonthly": "8,25€",
|
||||||
"businessMonthly": "29,90€",
|
"businessMonthly": "29,90€",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "Это может занять от одной до трёх минут. Вы можете продолжать просмотр; страница обновится автоматически.",
|
"mappingHint": "Это может занять от одной до трёх минут. Вы можете продолжать просмотр; страница обновится автоматически.",
|
||||||
"analyzeNow": "Обновить темы",
|
"analyzeNow": "Обновить темы",
|
||||||
"emptyNeedMoreNotes": "Добавьте ещё {count} заметок, чтобы сгруппировать темы (минимум 10).",
|
"emptyNeedMoreNotes": "Добавьте ещё {count} заметок, чтобы сгруппировать темы (минимум 10).",
|
||||||
"embeddingsHint": "Только {indexed} из {total} заметок индексированы для ИИ.",
|
"embeddingsHint": "Только {indexed} из {total} заметок готовы к группировке по темам.",
|
||||||
"vsGraphHint": "Это не «Карта ссылок»: здесь ИИ группирует по смыслу, а не по ссылкам.",
|
"vsGraphHint": "Это не «Карта ссылок»: здесь ИИ группирует по смыслу, а не по ссылкам.",
|
||||||
"openGraphMap": "Открыть карту связей",
|
"openGraphMap": "Открыть карту связей",
|
||||||
"analysisFailed": "Анализ не удался. Проверьте настройки ИИ.",
|
"analysisFailed": "Анализ не удался. Проверьте настройки ИИ.",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "Конвертация завершена! Связанный блокнот создан.",
|
"convertSuccess": "Конвертация завершена! Связанный блокнот создан.",
|
||||||
"convertToNotebook": "В блокнот",
|
"convertToNotebook": "В блокнот",
|
||||||
"converting": "Конвертация…",
|
"converting": "Конвертация…",
|
||||||
"createLocalDb": "Создать автономную локальную базу данных",
|
"createLocalDb": "Создать таблицу в этой заметке",
|
||||||
"createNotebook": "Создать блокнот",
|
"createNotebook": "Создать блокнот",
|
||||||
"defaultOption1": "Вариант 1",
|
"defaultOption1": "Вариант 1",
|
||||||
"defaultOption2": "Вариант 2",
|
"defaultOption2": "Вариант 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "Ключевое слово",
|
"keywordMatch": "Ключевое слово",
|
||||||
"linkToNotebook": "Ссылка на блокнот",
|
"linkToNotebook": "Ссылка на блокнот",
|
||||||
"loadError": "Ошибка загрузки структурированных данных.",
|
"loadError": "Ошибка загрузки структурированных данных.",
|
||||||
"localDbTitle": "Автономная база данных",
|
"localDbTitle": "Таблица в этой заметке",
|
||||||
"namePlaceholder": "Введите имя…",
|
"namePlaceholder": "Введите имя…",
|
||||||
"noEchoFound": "Близких заметок не найдено.",
|
"noEchoFound": "Близких заметок не найдено.",
|
||||||
"noNotebook": "Этот блок требует блокнот. Сначала переместите эту запись в блокнот.",
|
"noNotebook": "Этот блок требует блокнот. Сначала переместите эту запись в блокнот.",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "Ссылка на блокнот",
|
"selectNotebook": "Ссылка на блокнот",
|
||||||
"selectOptionsPlaceholder": "Варианты, разделённые запятыми",
|
"selectOptionsPlaceholder": "Варианты, разделённые запятыми",
|
||||||
"semanticEcho": "Семантические резонансы",
|
"semanticEcho": "Семантические резонансы",
|
||||||
"switchToLocalDb": "Перейти к локальной базе данных",
|
"switchToLocalDb": "Вернуться к таблице этой заметки",
|
||||||
"turnIntoLabel": "Встроенная база данных",
|
"turnIntoLabel": "Таблица в заметке",
|
||||||
"untitled": "Без названия"
|
"untitled": "Без названия"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
@@ -2190,7 +2190,7 @@
|
|||||||
"custom": "自定义"
|
"custom": "自定义"
|
||||||
},
|
},
|
||||||
"typeDescriptions": {
|
"typeDescriptions": {
|
||||||
"scraper": "抓取多个网站并创建摘要",
|
"scraper": "阅读多个网站并写出摘要",
|
||||||
"researcher": "搜索有关主题的信息",
|
"researcher": "搜索有关主题的信息",
|
||||||
"monitor": "监视笔记本并分析笔记",
|
"monitor": "监视笔记本并分析笔记",
|
||||||
"slideGenerator": "根据笔记创建 PowerPoint 演示文稿",
|
"slideGenerator": "根据笔记创建 PowerPoint 演示文稿",
|
||||||
@@ -2203,7 +2203,7 @@
|
|||||||
"namePlaceholder": "例如:周二 AI 观察",
|
"namePlaceholder": "例如:周二 AI 观察",
|
||||||
"description": "描述(可选)",
|
"description": "描述(可选)",
|
||||||
"descriptionPlaceholder": "每周 AI 新闻摘要",
|
"descriptionPlaceholder": "每周 AI 新闻摘要",
|
||||||
"urlsLabel": "要抓取的 URL",
|
"urlsLabel": "要阅读的页面地址",
|
||||||
"urlsOptional": "(可选)",
|
"urlsOptional": "(可选)",
|
||||||
"sourceNotebook": "要监视的笔记本",
|
"sourceNotebook": "要监视的笔记本",
|
||||||
"selectNotebook": "选择笔记本...",
|
"selectNotebook": "选择笔记本...",
|
||||||
@@ -2248,7 +2248,7 @@
|
|||||||
"notifyEmail": "邮件通知",
|
"notifyEmail": "邮件通知",
|
||||||
"notifyEmailHint": "每次运行后通过邮件接收代理结果",
|
"notifyEmailHint": "每次运行后通过邮件接收代理结果",
|
||||||
"includeImages": "包含图片",
|
"includeImages": "包含图片",
|
||||||
"includeImagesHint": "从抓取的页面中提取图片并附加到生成的笔记",
|
"includeImagesHint": "从已阅读的页面取出图片并附到笔记",
|
||||||
"back": "返回",
|
"back": "返回",
|
||||||
"configuration": "配置",
|
"configuration": "配置",
|
||||||
"options": "选项",
|
"options": "选项",
|
||||||
@@ -2347,15 +2347,15 @@
|
|||||||
},
|
},
|
||||||
"veilleAI": {
|
"veilleAI": {
|
||||||
"name": "AI 观察",
|
"name": "AI 观察",
|
||||||
"description": "抓取 5 个 AI 专业网站并生成每周摘要。"
|
"description": "阅读 5 个 AI 网站并写出每周摘要。"
|
||||||
},
|
},
|
||||||
"veilleTech": {
|
"veilleTech": {
|
||||||
"name": "科技观察",
|
"name": "科技观察",
|
||||||
"description": "抓取主要科技网站并创建新闻摘要。"
|
"description": "阅读主要科技网站并写出新闻摘要。"
|
||||||
},
|
},
|
||||||
"veilleDev": {
|
"veilleDev": {
|
||||||
"name": "开发观察",
|
"name": "开发观察",
|
||||||
"description": "抓取开发网站并总结新技术和框架。"
|
"description": "阅读开发网站并总结新技术。"
|
||||||
},
|
},
|
||||||
"surveillant": {
|
"surveillant": {
|
||||||
"name": "笔记观察者",
|
"name": "笔记观察者",
|
||||||
@@ -2402,7 +2402,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"title": "代理工具",
|
"title": "代理工具",
|
||||||
"webSearch": "网络搜索",
|
"webSearch": "网络搜索",
|
||||||
"webScrape": "网页抓取",
|
"webScrape": "阅读网页",
|
||||||
"noteSearch": "笔记搜索",
|
"noteSearch": "笔记搜索",
|
||||||
"noteRead": "读取笔记",
|
"noteRead": "读取笔记",
|
||||||
"noteCreate": "创建笔记",
|
"noteCreate": "创建笔记",
|
||||||
@@ -2431,15 +2431,15 @@
|
|||||||
"btnLabel": "帮助",
|
"btnLabel": "帮助",
|
||||||
"close": "关闭",
|
"close": "关闭",
|
||||||
"whatIsAgent": "什么是代理?",
|
"whatIsAgent": "什么是代理?",
|
||||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or reads pages, then writes a structured note you can read later.",
|
||||||
"howToUse": "如何使用代理?",
|
"howToUse": "如何使用代理?",
|
||||||
"howToUseContent": "1. 点击**\"新建智能体\"**(或从页面底部的**模板**开始)。",
|
"howToUseContent": "1. 点击**\"新建智能体\"**(或从页面底部的**模板**开始)。",
|
||||||
"types": "代理类型",
|
"types": "代理类型",
|
||||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||||
"advanced": "高级模式(AI指令,最大迭代)",
|
"advanced": "高级模式(AI指令,最大迭代)",
|
||||||
"advancedContent": "点击表单底部的**\"高级模式\"**以访问附加设置。",
|
"advancedContent": "点击表单底部的**\"高级模式\"**以访问附加设置。",
|
||||||
"tools": "可用工具(详细)",
|
"tools": "可用工具(详细)",
|
||||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, then can read the most useful pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||||
"frequency": "频率和计划",
|
"frequency": "频率和计划",
|
||||||
"frequencyContent": "| 频率 | 行为\n|-----------|----------\n| **手动** | 您自己点击\"运行\"。",
|
"frequencyContent": "| 频率 | 行为\n|-----------|----------\n| **手动** | 您自己点击\"运行\"。",
|
||||||
"targetNotebook": "目标笔记本",
|
"targetNotebook": "目标笔记本",
|
||||||
@@ -2447,7 +2447,7 @@
|
|||||||
"templates": "模板",
|
"templates": "模板",
|
||||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||||
"tips": "提示和故障排除",
|
"tips": "提示和故障排除",
|
||||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Page-reading quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"agentType": "选择代理将执行的任务类型。每种类型具有不同的功能和字段。",
|
"agentType": "选择代理将执行的任务类型。每种类型具有不同的功能和字段。",
|
||||||
"researchTopic": "代理将在网络上研究的主题。请具体说明以获得更好的结果。",
|
"researchTopic": "代理将在网络上研究的主题。请具体说明以获得更好的结果。",
|
||||||
@@ -3176,7 +3176,8 @@
|
|||||||
"fetchStatusFailed": "无法获取计费状态",
|
"fetchStatusFailed": "无法获取计费状态",
|
||||||
"fetchQuotasFailed": "无法获取配额",
|
"fetchQuotasFailed": "无法获取配额",
|
||||||
"fetchInvoicesFailed": "无法加载计费历史记录。",
|
"fetchInvoicesFailed": "无法加载计费历史记录。",
|
||||||
"savePercent": "节省 ~17%",
|
"savePercent": "节省约 {percent}%",
|
||||||
|
"billedYearTotal": "即每年 {price}",
|
||||||
"cancelSubscription": "取消订阅",
|
"cancelSubscription": "取消订阅",
|
||||||
"changeOffer": "更换套餐",
|
"changeOffer": "更换套餐",
|
||||||
"downgradeToFree": "回到免费套餐",
|
"downgradeToFree": "回到免费套餐",
|
||||||
@@ -3385,7 +3386,7 @@
|
|||||||
"feature5": "安装陪同"
|
"feature5": "安装陪同"
|
||||||
},
|
},
|
||||||
"basicPrice": "免费",
|
"basicPrice": "免费",
|
||||||
"savePercent": "节省约 17%",
|
"savePercent": "节省约 {percent}%",
|
||||||
"proMonthly": "€9.90",
|
"proMonthly": "€9.90",
|
||||||
"proAnnualMonthly": "€8.25",
|
"proAnnualMonthly": "€8.25",
|
||||||
"businessMonthly": "€29.90",
|
"businessMonthly": "€29.90",
|
||||||
@@ -3665,7 +3666,7 @@
|
|||||||
"mappingHint": "这可能需要一到三分钟。您可以继续浏览;页面会自动更新。",
|
"mappingHint": "这可能需要一到三分钟。您可以继续浏览;页面会自动更新。",
|
||||||
"analyzeNow": "更新主题",
|
"analyzeNow": "更新主题",
|
||||||
"emptyNeedMoreNotes": "再添加 {count} 条笔记即可分组主题(至少 10 条)。",
|
"emptyNeedMoreNotes": "再添加 {count} 条笔记即可分组主题(至少 10 条)。",
|
||||||
"embeddingsHint": "仅{indexed}/{total}笔记被AI索引。",
|
"embeddingsHint": "仅 {indexed} / {total} 条笔记已准备好按主题分组。",
|
||||||
"vsGraphHint": "这与\"链接地图\"不同:这里AI按语义分组,而非按链接。",
|
"vsGraphHint": "这与\"链接地图\"不同:这里AI按语义分组,而非按链接。",
|
||||||
"openGraphMap": "打开链接地图",
|
"openGraphMap": "打开链接地图",
|
||||||
"analysisFailed": "分析失败。请检查AI设置。",
|
"analysisFailed": "分析失败。请检查AI设置。",
|
||||||
@@ -4492,7 +4493,7 @@
|
|||||||
"convertSuccess": "转换完成!已创建关联笔记本。",
|
"convertSuccess": "转换完成!已创建关联笔记本。",
|
||||||
"convertToNotebook": "转换为笔记本",
|
"convertToNotebook": "转换为笔记本",
|
||||||
"converting": "转换中…",
|
"converting": "转换中…",
|
||||||
"createLocalDb": "创建独立本地数据库",
|
"createLocalDb": "在本笔记中创建表格",
|
||||||
"createNotebook": "创建笔记本",
|
"createNotebook": "创建笔记本",
|
||||||
"defaultOption1": "选项 1",
|
"defaultOption1": "选项 1",
|
||||||
"defaultOption2": "选项 2",
|
"defaultOption2": "选项 2",
|
||||||
@@ -4514,7 +4515,7 @@
|
|||||||
"keywordMatch": "关键词",
|
"keywordMatch": "关键词",
|
||||||
"linkToNotebook": "链接到笔记本",
|
"linkToNotebook": "链接到笔记本",
|
||||||
"loadError": "加载结构化数据失败。",
|
"loadError": "加载结构化数据失败。",
|
||||||
"localDbTitle": "独立数据库",
|
"localDbTitle": "本笔记中的表格",
|
||||||
"namePlaceholder": "输入名称…",
|
"namePlaceholder": "输入名称…",
|
||||||
"noEchoFound": "未找到相近笔记。",
|
"noEchoFound": "未找到相近笔记。",
|
||||||
"noNotebook": "此块需要笔记本。先将此笔记移至笔记本。",
|
"noNotebook": "此块需要笔记本。先将此笔记移至笔记本。",
|
||||||
@@ -4528,8 +4529,8 @@
|
|||||||
"selectNotebook": "链接到笔记本",
|
"selectNotebook": "链接到笔记本",
|
||||||
"selectOptionsPlaceholder": "用逗号分隔的选项",
|
"selectOptionsPlaceholder": "用逗号分隔的选项",
|
||||||
"semanticEcho": "语义共振",
|
"semanticEcho": "语义共振",
|
||||||
"switchToLocalDb": "切换到本地数据库",
|
"switchToLocalDb": "回到本笔记的表格",
|
||||||
"turnIntoLabel": "内联数据库",
|
"turnIntoLabel": "笔记中的表格",
|
||||||
"untitled": "无标题"
|
"untitled": "无标题"
|
||||||
},
|
},
|
||||||
"structuredViews": {
|
"structuredViews": {
|
||||||
|
|||||||
Reference in New Issue
Block a user