{{ t('hero.titleA') }}{{ t('hero.titleB') }}

{{ t('hero.subtitle') }}

{{ t('hero.updated') }} {{ fmtDate(lastUpdated) }} · {{ relTime(lastUpdated) }}
{{ healthyCount }}/{{ sources.length || stats.total_sources || 60 }}
{{ t('hero.f1') }}
{{ t('hero.f2v') }}
{{ t('hero.f2') }}
{{ t('hero.f3v') }}
{{ t('hero.f3') }}
{{ t('hero.f4v') }}
{{ t('hero.f4') }}
{{ t('hero.licensePre') }}{{ t('hero.licenseLink') }}{{ t('hero.licensePost') }}
{{ t('hero.disclaimer') }}
{{ t('stats.groupScale') }}
{{ sources.length || stats.total_sources || 0 }}
{{ t('stats.sources') }}
{{ healthyCount }}
{{ t('stats.healthy') }} {{ healthyCount }}/{{ sources.length || stats.total_sources || 0 }}
{{ fmtNum(stats.total_articles) }}
{{ t('stats.articles') }}
{{ t('stats.groupToday') }}
{{ fmtNum(stats.articles_today) }}
{{ t('stats.today') }}
{{ fmtNum(stats.articles_this_week) }}
{{ t('stats.week') }}
{{ fmtNum(stats.total_briefings) }}
{{ t('stats.briefings') }}

{{ t('ov.hotTopics') }}

{{ t('common.empty') }}

{{ t('ov.emerging') }}

{{ e.topic }} ({{ t('ov.recent') }} {{ e.recent_count }}) NEW +{{ (e.growth_rate * 100).toFixed(0) }}%
{{ t('common.noData') }}

{{ t('ov.recent') }}

{{ a.title }}
{{ a.one_line_summary }}
{{ t('ov.noArticles') }}

{{ t('ov.highRisk') }}

{{ t('common.aiDisclaimer') }}
{{ a.title }}
{{ t('common.none') }}

{{ t('ov.hype') }}

{{ t('common.aiDisclaimer') }}
{{ a.title }}
{{ t('common.none') }}

{{ t('tr.dailyCount') }}

{{ t('tr.topicTrend') }}

{{ t('tr.riskTrend') }}

{{ t('tr.contentType') }}

{{ t('tr.sourceActivity') }}

{{ t('tk.people') }}

{{ p.name }} {{ p.count }}
{{ p.organization }} · {{ p.category }}
{{ t('common.noData') }}

{{ t('tk.orgs') }}

{{ o.name }} {{ o.count }}
{{ o.type }} · {{ o.category }}
{{ t('common.noData') }}

{{ selectedEntity.name }} · {{ t('tk.related') }} ({{ selectedEntity.total_mentions }})

{{ a.title }}

{{ t('nav.articles') }} ({{ articleTotal }})

{{ a.title }}
{{ a.one_line_summary }}
{{ t('ar.noMatch') }}
{{ articlePage }} / {{ Math.ceil(articleTotal/20) }}

{{ t('nav.briefings') }}

{{ t('br.none') }}

{{ t('sc.title') }}

{{ t('sc.scheduler') }}: {{ schedulerRunning ? t('sc.running') : t('sc.stopped') }}
{{ job.name }}
{{ job.trigger }}
{{ t('sc.nextRun') }}: {{ job.next_run || 'N/A' }}
{{ t('common.noData') }}

{{ t('sc.configTitle') }}

{{ t('sc.configBody') }}

{{ t('al.title') }}

{{ t('common.aiDisclaimer') }}
{{ a.severity.toUpperCase() }} {{ a.title }}
{{ a.description }}
{{ a.alert_type }} {{ a.created_at ? fmtDate(a.created_at) : '' }}
{{ t('al.none') }}

{{ t('na.leaderboard') }}

{{ idx+1 }}. {{ n.topic }} {{ (n.strength * 100).toFixed(0) }}%
{{ t('na.noData') }}

{{ t('na.analyze') }}

{{ t('na.topic') }}: {{ narrativeResult.topic }}
{{ t('na.strength') }}: {{ (narrativeResult.strength * 100).toFixed(1) }}% ({{ narrativeResult.level }})
{{ t('na.related') }}: {{ narrativeResult.article_count }}
{{ key }} {{ (val * 100).toFixed(0) }}%

{{ t('src.title') }} ({{ sources.length }})

{{ t('src.healthRatio', {healthy: healthyCount, total: sources.length}) }}
{{ cat }} ({{ group.length }})
{{ s.name }} {{ s.source_type }} · {{ s.region }}
{{ t('src.credibility') }} {{ ((s.credibility_score||0)*100).toFixed(0) }}%
{{ t('common.loading') }}

{{ t('ab.title') }}

{{ t('ab.lead1') }} {{ t('ab.lead2') }}

{{ t('ab.updateTitle') }}

{{ t('ab.updateLine') }}
{{ t('ab.uptimeLine') }}

{{ t('ab.methodTitle') }}

{{ t('ab.m1') }}
{{ t('ab.m1b') }}
{{ t('ab.m2') }}
{{ t('ab.m2b') }}
{{ t('ab.m3') }}
{{ t('ab.m3b') }}
{{ t('ab.m4') }}
{{ t('ab.m4b') }}

{{ t('ab.disclaimerTitle') }}

{{ t('ab.disclaimerSub') }}
  1. {{ t('ab.d1') }}
  2. {{ t('ab.d2') }}
  3. {{ t('ab.d3') }}

{{ t('ab.dataTitle') }}

GET /api/v1/articles
{{ t('ab.apiDesc') }}
/api/v1/articles?category=funding&date_from=2026-08-01&date_to=2026-08-31&limit=20
{{ t('ab.apiRate') }}
{{ t('ab.licenseTitle') }}
{{ t('ab.licenseBody') }}

{{ t('ab.contactTitle') }}

{{ t('ab.contactBody') }}

github.com/tanghuidao/huidao

{{ t('ab.cite') }}
{{ toast.message }}