Files
familienarchiv/frontend/src/lib/messages-extra.ts
Marcel 48286b9f77 feat(frontend): new strip components, suggestions dropdown, empty state
CorrespondenzPersonBar (Row 1), CorrespondenzFilterControls (Row 2 with
live count + sort), CorrespondentSuggestionsDropdown (fetch-on-focus,
keyboard nav), SinglePersonHintBar, CorrespondenzEmptyState (recent
persons from localStorage). New i18n shim in messages-extra.ts until
root-owned paraglide files can be regenerated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 12:50:40 +02:00

38 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Extra message functions for i18n keys added after the last paraglide compile.
*
* TODO: Remove this file once the root-owned paraglide files in src/lib/paraglide/
* are regenerated (run `npm run dev` or the paraglide compile step as the owning user).
* At that point, these functions will be generated into _index.js and the components
* that import from here should switch back to importing from $lib/paraglide/messages.js.
*
* Note: these fall back to German only — locale switching is handled by the generated
* paraglide files, not this shim.
*/
// Svelte auto-escapes interpolated values — do not use {@html} with these strings.
export const conv_hint_single_person = (inputs: { name: string }) =>
`Alle Briefe von ${inputs.name} — wähle einen Korrespondenten oben um einzugrenzen`;
export const conv_hint_single_person_filtered = (inputs: {
name: string;
from: string;
to: string;
sortLabel: string;
}) => `Alle Briefe von ${inputs.name} · ${inputs.from}${inputs.to} · ${inputs.sortLabel}`;
export const conv_strip_period = () => 'Zeitraum';
export const conv_strip_from_placeholder = () => 'Von…';
export const conv_strip_to_placeholder = () => 'Bis…';
export const conv_strip_all_correspondents = () => 'Alle Korrespondenten';
export const conv_strip_sort_newest = () => 'Neueste';
export const conv_strip_sort_oldest = () => 'Älteste';
export const conv_suggestions_heading = () => 'Häufigste Korrespondenten';
export const conv_suggestions_all_label = (inputs: { name: string }) =>
`Alle Korrespondenten von ${inputs.name}`;
export const conv_letters_count = (inputs: { count: number }) => `${inputs.count} Briefe`;
export const conv_empty_search_placeholder = () => 'Person suchen…';
export const conv_empty_recent_label = () => 'Zuletzt geöffnet';
export const conv_no_party = () => '—';