feat(i18n): add sort, result count, and empty-state translation keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-06 13:35:46 +02:00
parent 2c0748d60e
commit 3f8f3cd938
4 changed files with 30 additions and 6 deletions

View File

@@ -52,7 +52,15 @@
"login_label_username": "Benutzername", "login_label_username": "Benutzername",
"login_label_password": "Passwort", "login_label_password": "Passwort",
"login_btn_submit": "Anmelden", "login_btn_submit": "Anmelden",
"docs_search_placeholder": "Suche in Titel, Inhalt, Ort...", "docs_search_placeholder": "Titel, Personen, Tags durchsuchen…",
"docs_sort_label": "Sortierung",
"docs_sort_date": "Datum",
"docs_sort_title": "Titel",
"docs_sort_sender": "Absender",
"docs_sort_receiver": "Empfänger",
"docs_sort_upload": "Hochgeladen",
"docs_result_count": "{count} Dokumente",
"docs_empty_for_term": "Keine Dokumente f\u00fcr \"{term}\" gefunden",
"docs_btn_filter": "Filter", "docs_btn_filter": "Filter",
"docs_btn_reset_title": "Filter zurücksetzen", "docs_btn_reset_title": "Filter zurücksetzen",
"docs_filter_label_tags": "Schlagworte", "docs_filter_label_tags": "Schlagworte",

View File

@@ -52,7 +52,15 @@
"login_label_username": "Username", "login_label_username": "Username",
"login_label_password": "Password", "login_label_password": "Password",
"login_btn_submit": "Sign in", "login_btn_submit": "Sign in",
"docs_search_placeholder": "Search in title, content, location...", "docs_search_placeholder": "Search title, people, tags…",
"docs_sort_label": "Sort",
"docs_sort_date": "Date",
"docs_sort_title": "Title",
"docs_sort_sender": "Sender",
"docs_sort_receiver": "Receiver",
"docs_sort_upload": "Uploaded",
"docs_result_count": "{count} documents",
"docs_empty_for_term": "No documents found for \"{term}\"",
"docs_btn_filter": "Filter", "docs_btn_filter": "Filter",
"docs_btn_reset_title": "Reset filter", "docs_btn_reset_title": "Reset filter",
"docs_filter_label_tags": "Tags", "docs_filter_label_tags": "Tags",

View File

@@ -52,7 +52,15 @@
"login_label_username": "Usuario", "login_label_username": "Usuario",
"login_label_password": "Contraseña", "login_label_password": "Contraseña",
"login_btn_submit": "Iniciar sesión", "login_btn_submit": "Iniciar sesión",
"docs_search_placeholder": "Buscar en título, contenido, lugar...", "docs_search_placeholder": "Buscar título, personas, etiquetas…",
"docs_sort_label": "Ordenar",
"docs_sort_date": "Fecha",
"docs_sort_title": "Título",
"docs_sort_sender": "Remitente",
"docs_sort_receiver": "Destinatario",
"docs_sort_upload": "Subido",
"docs_result_count": "{count} documentos",
"docs_empty_for_term": "No se encontraron documentos para \"{term}\"",
"docs_btn_filter": "Filtrar", "docs_btn_filter": "Filtrar",
"docs_btn_reset_title": "Restablecer filtro", "docs_btn_reset_title": "Restablecer filtro",
"docs_filter_label_tags": "Etiquetas", "docs_filter_label_tags": "Etiquetas",

View File

@@ -56,7 +56,7 @@ describe('Home page search bar', () => {
it('renders the full-text search input', async () => { it('renders the full-text search input', async () => {
render(Page, { data: emptyData }); render(Page, { data: emptyData });
await expect await expect
.element(page.getByPlaceholder('Suche in Titel, Inhalt, Ort...')) .element(page.getByPlaceholder('Titel, Personen, Tags durchsuchen\u2026'))
.toBeInTheDocument(); .toBeInTheDocument();
await page.screenshot({ path: 'test-results/screenshots/home-default.png' }); await page.screenshot({ path: 'test-results/screenshots/home-default.png' });
}); });
@@ -79,7 +79,7 @@ describe('Home page search bar', () => {
it('pre-fills the search input from filters.q', async () => { it('pre-fills the search input from filters.q', async () => {
render(Page, { data: { ...emptyData, filters: { ...emptyData.filters, q: 'Urlaub' } } }); render(Page, { data: { ...emptyData, filters: { ...emptyData.filters, q: 'Urlaub' } } });
await expect await expect
.element(page.getByPlaceholder('Suche in Titel, Inhalt, Ort...')) .element(page.getByPlaceholder('Titel, Personen, Tags durchsuchen\u2026'))
.toHaveValue('Urlaub'); .toHaveValue('Urlaub');
}); });
}); });
@@ -178,7 +178,7 @@ describe('Home page search input keystroke preservation', () => {
it('does not overwrite the search input while the user is focused and stale data arrives', async () => { it('does not overwrite the search input while the user is focused and stale data arrives', async () => {
const { rerender } = render(Page, { data: emptyData }); const { rerender } = render(Page, { data: emptyData });
const input = page.getByPlaceholder('Suche in Titel, Inhalt, Ort...'); const input = page.getByPlaceholder('Titel, Personen, Tags durchsuchen\u2026');
// User types "abc" — input is focused // User types "abc" — input is focused
await input.click(); await input.click();