fix(geo): i18n für StandortInput-Platzhalter und aria-label

placeholder und aria-label im StandortInput waren als deutsche
Strings hardcodet, während alle übrigen UI-Texte über t() aus
@/lib/i18n/de laufen. Das verletzte den i18n-Querschnittsstandard
des Repos.

- search.adresse ("Adresse") und search.adressePlaceholder
  ("Adresse oder Ort") in de.ts ergänzt
- standort-input.tsx nutzt jetzt t("search.adressePlaceholder")
  und t("search.adresse")
- Unit-Test für die neuen i18n-Keys ergänzt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matthias Hochmeister
2026-06-09 09:48:47 +02:00
parent e8bb75412b
commit 8f19d8e187
3 changed files with 16 additions and 2 deletions

View File

@@ -89,8 +89,8 @@ export function StandortInput({ onResolved, defaultAddress = "" }: StandortInput
void geocode(); void geocode();
} }
}} }}
placeholder="Adresse oder Ort" placeholder={t("search.adressePlaceholder")}
aria-label="Adresse" aria-label={t("search.adresse")}
disabled={busy} disabled={busy}
/> />
<Button type="button" onClick={() => void geocode()} disabled={busy}> <Button type="button" onClick={() => void geocode()} disabled={busy}>

View File

@@ -0,0 +1,12 @@
import { describe, it, expect } from "vitest";
import { t } from "../de";
describe("i18n de — search keys", () => {
it("liefert den Adress-Platzhalter für das Standort-Input", () => {
expect(t("search.adressePlaceholder")).toBe("Adresse oder Ort");
});
it("liefert das Adress-Label für das Standort-Input", () => {
expect(t("search.adresse")).toBe("Adresse");
});
});

View File

@@ -28,6 +28,8 @@ export const de = {
suchen: "Suchen", suchen: "Suchen",
keineTreffer: "Keine Treffer.", keineTreffer: "Keine Treffer.",
luftlinie: "Luftlinie (geschätzt)", luftlinie: "Luftlinie (geschätzt)",
adresse: "Adresse",
adressePlaceholder: "Adresse oder Ort",
}, },
detail: { detail: {
eckdaten: "Eckdaten", eckdaten: "Eckdaten",