i18n on the web - deepseek translations

This commit is contained in:
Priec
2026-08-14 20:35:37 +02:00
parent 2dc0d94ba0
commit 8f1bfdbe0c
91 changed files with 4679 additions and 1237 deletions

View File

@@ -1,7 +1,7 @@
{# GET / — crate::pages::analytics::ui::AnalyticsPage #}
{% extends "ui/base.html" %}
{% block title %}Analytics{% endblock %}
{% block title %}{{ nav.tr("analytics-title") }}{% endblock %}
{% block head %}
<script src="https://cdn.jsdelivr.net/npm/echarts@6/dist/echarts.min.js"></script>
@@ -12,52 +12,52 @@
<main x-data="{ sql: '', copied: false }">
<section class="heading">
<div>
<p class="eyebrow">Reporting</p>
<h1>Analytics</h1>
<p>Query the read-only analytics API and chart the result.</p>
<p class="eyebrow">{{ nav.tr("analytics-eyebrow") }}</p>
<h1>{{ nav.tr("analytics-title") }}</h1>
<p>{{ nav.tr("analytics-description") }}</p>
</div>
</section>
<div class="analytics">
<aside class="panel sidebar">
<h2>Available data</h2>
<p class="hint">Load a profile to see the table and column aliases accepted by analytics SQL.</p>
<h2>{{ nav.tr("analytics-available-data") }}</h2>
<p class="hint">{{ nav.tr("analytics-load-hint") }}</p>
<div hx-get="/api/profiles" hx-trigger="load" hx-target="#profile" hx-swap="innerHTML">
<form class="catalog-load" hx-post="/api/catalog" hx-target="#catalog" hx-swap="innerHTML" hx-disabled-elt="button">
<label>Profile
<label>{{ nav.tr("analytics-profile") }}
<select id="profile" name="profile_name" hx-post="/api/catalog" hx-trigger="change"
hx-target="#catalog" hx-swap="innerHTML">
<option value="">Loading profiles</option>
<option value="">{{ nav.tr("analytics-loading-profiles") }}</option>
</select>
</label>
<button type="submit">Load schema</button>
<button type="submit">{{ nav.tr("analytics-load-schema") }}</button>
</form>
</div>
<div id="catalog" aria-live="polite"><p class="hint">No schema loaded.</p></div>
<div id="catalog" aria-live="polite"><p class="hint">{{ nav.tr("analytics-no-schema") }}</p></div>
</aside>
<section>
<form id="query-form" class="panel query-form" hx-post="/api/query" hx-include="#profile"
hx-target="#output" hx-swap="innerHTML" hx-disabled-elt="button">
<div class="query-row">
<label>Chart
<label>{{ nav.tr("analytics-chart") }}
<select name="chart_type">
<option value="bar">Bar</option>
<option value="line">Line</option>
<option value="pie">Pie</option>
<option value="scatter">Scatter</option>
<option value="table">Table</option>
<option value="bar">{{ nav.tr("analytics-chart-bar") }}</option>
<option value="line">{{ nav.tr("analytics-chart-line") }}</option>
<option value="pie">{{ nav.tr("analytics-chart-pie") }}</option>
<option value="scatter">{{ nav.tr("analytics-chart-scatter") }}</option>
<option value="table">{{ nav.tr("analytics-chart-table") }}</option>
</select>
</label>
<label>Max rows<input name="max_rows" type="number" min="1" value="1000"></label>
<label>{{ nav.tr("analytics-max-rows") }}<input name="max_rows" type="number" min="1" value="1000"></label>
</div>
<label>SQL
<label>{{ nav.tr("analytics-sql") }}
<textarea id="sql" x-ref="sql" x-model="sql" name="sql" required spellcheck="false"
placeholder="Load the schema, then choose a starter query or write a SELECT query"></textarea>
placeholder="{{ nav.tr("analytics-sql-placeholder") }}"></textarea>
</label>
<div class="actions">
<button type="submit">Run query</button>
<span class="htmx-indicator hint">Running</span>
<button type="submit">{{ nav.tr("analytics-run-query") }}</button>
<span class="htmx-indicator hint">{{ nav.tr("analytics-running") }}</span>
</div>
</form>