SkateSpots/src/i18n/de/drift.ts
SkateSpots 66fc47cc28 feat: restore map footer, inline crew roles, Cordn reactions/push
- Keep the map footer links permanently visible; remove the hide toggle.
- Publish inline founder promote/demote from the member row.
- Add encrypted MLS reaction/delete/read control messages and UI.
- Add the minute Cordn join watcher: NIP-17 DMs + encrypted bell notices.
- Add the browser translation-matrix runner and a low-end performance finding.
2026-10-28 11:02:47 +07:00

433 lines
22 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.

/**
* de — translation drift fragment. Keys added after the main batches
* (language picker search, trust, marketplace guidelines, clothing craft,
* weather additions, Cordn MLS chat). Composed LAST in `index.ts` via a deep
* merge so these nested keys complement — never replace — the batch namespaces.
*/
const drift = {
nav: {
searchLanguages: "Sprachen suchen…",
noLanguages: "Keine Sprachen gefunden",
},
mapPage: {
searchSuggestPlaces: "Orte",
},
mapUi: {
firstRunTitle: "Loslegen",
firstRunAddSpot: "Füge deinen ersten Spot hinzu",
firstRunJoinCrew: "Einer Crew beitreten",
firstRunStartCrew: "Starte deine Crew",
firstRunWallet: "Richte deine Wallet ein",
forecastDays: "{{count}}-Tage-Vorhersage",
},
spotUi: {
forecastDays: "{{count}}-Tage-Vorhersage",
},
marketUi: {
trades: {
stateRevoked: "widerrufen",
stateVerifying: "wird geprüft",
},
loadFailed: "Relays konnten nicht erreicht werden. Prüfe deine Verbindung und versuche es erneut.",
statusPending: "ausstehend",
offers: {
closeDeal: "Deal abschließen",
loadFailed: "Angebote konnten nicht geladen werden. Prüfe deine Verbindung und versuche es erneut.",
},
pay: {
nonSats: "Dieses Angebot ist in {{currency}} ausgewiesen. In-App-Zahlung ist nur in sats möglich. Rechne direkt mit dem Verkäufer ab.",
unsupported: "Dieser Zahlungscode (eine Cashu-Anfrage) wird noch nicht unterstützt. Bitte den Verkäufer um eine Lightning-Rechnung oder -Adresse.",
},
escrowRequest: {
lockedNotSent: "Die Gelder sind in der Treuhand gesperrt und auf diesem Gerät gespeichert, aber die Anfrage wurde nicht gesendet. Öffne das Angebot erneut, um es zu wiederholen. Zahle nicht erneut.",
mintLabel: "Mint (wo die Gelder gesperrt sind)",
sellerMintHint: "Der Verkäufer bevorzugt diesen Mint; hier gesperrte Gelder kann er am einfachsten einlösen.",
mintHint: "Die Treuhand liegt bei diesem Mint. Der Verkäufer löst hier ein, wähle also einen, dem ihr beide vertraut.",
noMints: "Keine Mints verfügbar",
p2pkUnsupported: "Dieser Mint gibt keine P2PK-Unterstützung (NUT-11) an, daher kann die Treuhand hier nicht gesperrt werden. Wähle einen anderen Mint.",
},
},
labUi: {
offerClothing: "Kleidung anbieten",
tabClothing: "Kleidung",
empty: {
clothingTitle: "Noch keine Kleidungsdesigner",
clothingBody: "Sei der Erste, der individuelle Kleidung, Team-Kits und Apparel für die Szene anbietet.",
},
craftFields: {
sizing: "Größenbereich",
samples: "Muster / Prototypen",
customization: "Individualisierung",
},
},
socialUi: {
coordinator: {
ourDefaultTitle: "SkateSpots-Koordinator",
ourDefaultDesc: "SkateSpots betreibt einen Koordinator unter relay.skate-spots.org. Nutze ihn standardmäßig oder betreibe deinen eigenen – ein Koordinator sieht stets nur Chiffretext und Metadaten, niemals deine Nachrichten.",
useOurs: "SkateSpots-Koordinator verwenden",
},
crewCoordinator: {
encryptedChat: "Verschlüsselter Chat",
privateChatName: "Privater Chat",
privateChatDesc: "Gruppenchat mit Forward Secrecy (MLS) über einen Koordinator.",
privateChatDescFull: "Der private Chat wird einmal von einem Admin erstellt, dann treten Mitglieder bei.",
chatRowDesc: "Alle in der Crew – versiegelt mit dem Schlüssel jedes Mitglieds (NIP-17).",
openChat: "Öffnen",
setUpChat: "Einrichten",
joinChat: "Beitreten",
checking: "Wird geprüft…",
openInAnotherApp: "In einer anderen App öffnen",
openInCordnWeb: "Cordn (Web)",
openCordnGroup: "Crew-Chat öffnen",
copyForStaircase: "Für Staircase kopieren",
},
dms: {
refresh: "Aktualisieren",
crews: "Crews",
crewFounder: "Gründer",
crewMember: "Mitglied",
crewOpen: "Öffnen",
crewSetUp: "Einrichten",
},
form: {
cordnGroup: "Cordn-Gruppe",
cordnGroupHint: "Optional: Füge den Gruppenlink aus Staircase oder Cordn Web ein. Deine Crew erhält dann echten Ende-zu-Ende-MLS-Chat, gehostet auf unserem Koordinator.",
},
},
settingsUi: {
loginDialog: {
welcomeSubtitleBrowse: "Registriere dich oder melde dich an – oder stöbere weiter.",
extensionCard: "Browser-Erweiterung",
signerCard: "Signer-App",
secretKeyLink: "Stattdessen einen geheimen Schlüssel verwenden",
whereBunker: "Wo bekomme ich einen Bunker?",
},
settingsPage: {
trust: "Vertrauen",
trustSub: "Quellen und Anzeige",
},
},
walletUi: {
trust: {
mute: "Stummschalten",
muted: "Stummgeschaltet",
mutedDesc: "Du siehst deren Inhalte nicht.",
muteFailed: "Stummschalten fehlgeschlagen. Versuche es erneut.",
loginToMute: "Melde dich an, um stummzuschalten.",
attributedNetwork: "Von Personen in deinem Netzwerk",
attributedProviderHouse: "Vom Community-Vertrauensanbieter",
attributedProviderCustom: "Von dem Anbieter, den du gewählt hast",
howItWorks: "Wie Vertrauen funktioniert",
flaggedNoticeTitle: "Von vertrauenswürdigen Skatern gemeldet",
flaggedNoticeDesc: "Sei vorsichtig. Vertrauenswürdige Personen im Netzwerk haben dieses Konto gemeldet.",
flaggedReporterFollow: "{{count}}, denen du folgst",
flaggedReporterNetwork: "{{count}} in deinem Netzwerk",
flaggedReporterOther: "{{count}} weitere Konten",
flaggedReport: "Melden",
flaggedDismiss: "Verwerfen",
bucketVerified: "Verifiziert",
bucketUnknown: "Unbekannt",
bucketFlagged: "Markiert",
bucketVerifiedDesc: "Jemand in deinem Netzwerk bürgt für dieses Konto.",
bucketUnknownDesc: "Noch niemand in deinem Netzwerk hat für dieses Konto gebürgt.",
bucketFlaggedDesc: "Vertrauenswürdige Personen haben dieses Konto gemeldet.",
reportedByTrusted: "Von {{count}} vertrauenswürdigen Personen gemeldet",
},
},
trustUi: {
alertsTitle: "Netzwerk-Warnungen",
alertsDesc: "Konten, denen du folgst und die vertrauenswürdige Personen gemeldet oder stummgeschaltet haben.",
alertsEmpty: "Keine Warnungen. Wir prüfen die Konten, denen du folgst, auf vertrauenswürdige Meldungen.",
alertsReported: "Von {{count}} vertrauenswürdigen Personen gemeldet",
alertsMuted: "Von {{count}} vertrauenswürdigen Personen stummgeschaltet",
alertsIgnore: "Ignorieren",
alertsUnfollow: "Entfolgen",
alertsLogin: "Melde dich an, um Warnungen für die Konten zu sehen, denen du folgst.",
providerTitle: "Anbieter",
providerDesc: "Bewertungen kommen von einem Anbieter, den du wählst. Der Community-Anbieter ist die Standardeinstellung.",
useCommunity: "Community-Anbieter verwenden",
setProvider: "Anbieter festlegen",
customPubkeyPlaceholder: "npub oder Hex-Pubkey des Anbieters",
customRelayPlaceholder: "wss://relay.beispiel.com",
invalidProvider: "Gib einen gültigen npub oder 64-stelligen Hex-Pubkey und ein wss://-Relay ein.",
publishFailed: "Anbieter konnte nicht veröffentlicht werden. Versuche es erneut.",
providerSaved: "Anbieter aktualisiert.",
loggedOutProvider: "Melde dich an, um einen Anbieter zu wählen.",
showMarks: "Vertrauensmarkierungen anzeigen",
showMarksDesc: "Verifizierte und unbekannte Markierungen. Meldungen werden immer angezeigt.",
sourceLabel: "Quelle",
sourceHouse: "Community-Vertrauensanbieter",
sourceCustom: "Dein Anbieter",
loggedOut: "Melde dich an, um deinen eigenen Vertrauensanbieter zu wählen.",
seoTitle: "Wie Vertrauen funktioniert",
seoDescription: "Wie SkateSpots Vertrauen zeigt: drei Zustände, woher Bewertungen kommen und warum Abwesenheit kein Misstrauen ist.",
title: "Wie Vertrauen funktioniert",
intro: "Vertrauen ist hier ein Signal, kein Urteil. Es kommt von denen, die du kennst, oder von einem Anbieter, den du wählst. Wir bewerten Menschen nicht global.",
statesTitle: "Drei Zustände",
verifiedTitle: "Verifiziert",
verifiedDesc: "Jemand in deinem Netzwerk bürgt für dieses Konto: ein Freund eines Freundes oder dein gewählter Anbieter.",
unknownTitle: "Unbekannt",
unknownDesc: "Noch hat niemand gebürgt. Hier startet jedes neue Konto.",
flaggedTitle: "Markiert",
flaggedDesc: "Vertrauenswürdige Personen haben dieses Konto gemeldet. Es ist eine Warnung, genauer hinzusehen, kein Beweis.",
absenceTitle: "Kein Abzeichen ist kein Misstrauen",
absenceDesc: "Die meisten Konten zeigen gar nichts. Das bedeutet, dass noch niemand in deinem Netzwerk für sie gebürgt hat, nicht dass etwas nicht stimmt. Lies eine fehlende Markierung niemals als negativ.",
sourceTitle: "Wer es berechnet",
sourceDesc: "Standardmäßig nutzen wir dein eigenes Netzwerk. Du kannst auch einen Vertrauensanbieter wählen, der signierte Scores über Nostr (NIP-85) veröffentlicht, oder die Anzeige ausschalten. Markierungen werden immer angezeigt, da sie ein Sicherheitssignal sind.",
endorsementTitle: "Präsenz ist keine Befürwortung",
endorsementDesc: "Eine verifizierte Markierung bedeutet, dass jemand gebürgt hat, nicht dass die Person gut ist. Eine Meldung bedeutet, dass vertrauenswürdige Personen sie gemeldet haben, nicht dass sie schuldig ist. Prüfe die Details, bevor du entscheidest.",
povTitle: "Es kommt auf den Standpunkt an",
povDesc: "Eine Bewertung ist relativ zu dem, der sie betrachtet. Ein Rang eines Anbieters oder einer Person ist mit einem anderen nicht vergleichbar, und wir stellen keinen als objektive Tatsache dar.",
settingsCta: "In den Einstellungen verwalten",
},
marketTerms: {
link: "Marketplace-Richtlinien",
seoTitle: "Marketplace-Richtlinien",
seoDescription: "Wie SkateSpots-Gear-Angebote funktionieren: von Person zu Person, Käufer aufgepasst, und die Regeln.",
title: "Marketplace-Richtlinien",
intro: "SkateSpots ist ein Gear-Board von Person zu Person. Du handelst direkt mit der anderen Person: Wir halten keine Gelder, versenden keine Artikel und lösen keine Streitigkeiten.",
howTitle: "Wie es funktioniert",
howBody: "Stelle Gear ein, kontaktiere den Verkäufer per privater Nachricht und rechne direkt ab (Bargeld, Lightning oder Tausch). Es gibt keinen Warenkorb und keinen Checkout.",
rulesTitle: "Was nicht erlaubt ist",
rulesBody: "Keine illegalen, gefährlichen oder Erwachseneninhalte; keine Drogen, Waffen, Fälschungen oder gestohlenen Waren. Halte Angebote auf Skate-Gear und verwandte Artikel beschränkt.",
respectTitle: "Sei respektvoll",
respectBody: "Keine Beleidigungen, Belästigung, Drohungen oder Hass. Moderatoren können Angebote oder Konten ausblenden.",
trustTitle: "Vertrauen ist ein Leitfaden, keine Garantie",
trustBody: "Verifizierungsmarkierungen und Handelsreputation sind Signale aus dem Netzwerk, keine Versprechen. Prüfe selbst, bevor du handelst.",
trustLink: "Wie Vertrauen funktioniert",
privacyLink: "Was dein Gerät verlässt",
safetyTitle: "Handle sicher",
safetyBody: "Triff dich für Übergaben an öffentlichen Orten, nutze die Treuhand oder eine Anzahlung bei Versand und sende niemals Geld außerhalb der App.",
moderationTitle: "Moderation ist sanft und umkehrbar",
moderationBody: "Ausgeblendete Inhalte bleiben auf den Relays und können wiederhergestellt werden; Streitigkeiten zwischen Personen musst du selbst lösen.",
},
labOptions: {
clothing: {
service: {
tees: "T-Shirts",
hoodies: "Hoodies & Sweatshirts",
pants: "Hosen & Shorts",
jackets: "Jacken & Outerwear",
kits: "Team-Kits & Trikots",
caps: "Caps & Beanies",
socks: "Socken",
accessories: "Taschen & Accessoires",
footwear: "Schuhe",
patches: "Patches & Applikationen",
griptape: "Griptape- & Deck-Apparel",
onepiece: "Einzelstücke / Upcycling",
},
serviceDesc: {
tees: "Individuelle T-Shirts und Tops",
hoodies: "Hoodies, Sweater und Jogginghosen",
pants: "Arbeitshosen, Cargos und Shorts",
jackets: "Coaches, Shells und Arbeitsjacken",
kits: "Team-Kits, Trikots und Uniformen",
caps: "Caps, Beanies und Kopfbedeckungen",
socks: "Crew-Socken und Strickwaren",
accessories: "Taschen, Gürtel und Kleinlederwaren",
footwear: "Individuelle Schuhe",
patches: "Bestickte Patches und Applikationen",
griptape: "Griptape-Kunst und Deck-Apparel",
onepiece: "Einzelstücke und Upcycling-Kleidung",
},
method: {
screenprint: "Siebdruck",
dtg: "DTG / Direct-to-Garment",
embroidery: "Stickerei",
cutsew: "Cut & Sew",
sublimation: "Sublimation",
heattransfer: "Transferdruck / Vinyl",
garmentdye: "Stückfärbung",
knit: "Strickwaren",
patchwork: "Patchwork",
allover: "All-over-Druck",
},
material: {
cotton: "Baumwolle",
heavyweight: "Heavyweight",
organic: "Bio / nachhaltig",
fleece: "Fleece",
denim: "Denim",
canvas: "Canvas",
nylon: "Nylon / technisch",
wool: "Merino / Wolle",
leather: "Leder",
recycled: "Recycelt / Deadstock",
},
},
},
becomeRolesUi: {
clothing: {
seoTitle: "Kleidungsdesigner werden - SkateSpots",
seoDescription: "Individuelle Kleidung, Team-Kits und Apparel für die Szene.",
heading: "Kleidungsdesigner",
tagline: "Individuelle Kleidung, Team-Kits und Apparel für die Szene",
noun: "Kleidungsdesigner",
rateLabel: "Preis",
portfolioLabel: "Shop- / Portfolio-Link",
sectionWhatYouMake: "Was du machst",
sectionHowYouMake: "Wie du es machst",
sectionMaterials: "Materialien",
minimumPlaceholder: "z. B. 10 Stück",
turnaroundPlaceholder: "z. B. 2–3 Wochen",
sizingPlaceholder: "z. B. XS-3XL / Maßanfertigung",
samplesHelper: "Bietest du Muster oder Prototypen vor einer vollen Produktion an?",
customizationPlaceholder: "z. B. Namen, Nummern, Grafiken",
},
},
weatherUi: {
updated: "Aktualisiert",
refresh: "Aktualisieren",
unavailable: "Wetter nicht verfügbar.",
retry: "Erneut versuchen",
sunrise: "Sonnenaufgang",
sunset: "Sonnenuntergang",
legendTitle: "Wetterwert",
legendWeatherOnly: "Nur Wetter",
},
cordnUi: {
shareInvite: 'Einladen',
shareInviteText: 'Komm zu {{crew}} — privater Crew-Chat',
inviteCopied: 'Einladungslink kopiert',
title: "Privater Chat",
subtitle: "Ende-zu-Ende-verschlüsselt (MLS) zwischen den Crew-Mitgliedern. Der Koordinator leitet nur Chiffretext und Metadaten weiter – er sieht nie den Inhalt der Nachrichten.",
notLoggedIn: "Melde dich an, um den privaten Chat der Crew zu nutzen.",
membersOnly: "Nur Crew-Mitglieder können den privaten Chat öffnen.",
connecting: "Verbinden…",
noCoordinator: "Für diese Crew ist noch kein Koordinator konfiguriert.",
noGroupAdmin: "Der private Chat dieser Crew wurde noch nicht erstellt.",
noGroupMember: "Du bist noch nicht im privaten Chat dieser Crew.",
create: "Privaten Chat erstellen",
requestJoin: "Um Beitritt bitten",
checkInvite: "Nach Einladung suchen",
requested: "Anfrage gesendet – ein Crew-Admin wird sie genehmigen.",
noInvite: "Noch keine Einladung. Bitte einen Admin, deine Anfrage zu genehmigen.",
placeholder: "Nachricht an die Crew…",
send: "Senden",
refresh: "Aktualisieren",
requests: "Beitrittsanfragen",
checkRequests: "Anfragen prüfen",
approve: "Hinzufügen",
noRequests: "Keine offenen Beitrittsanfragen.",
inviteHint: "Bisher bist nur du in diesem Chat – Crew-Mitglieder können auf „Um Beitritt bitten“ tippen, dann genehmigst du sie hier.",
memberCount: "{{count}} in der Gruppe",
you: "Du",
groupRef: "Gruppenlink",
copyRef: "Kopieren",
copied: "Kopiert",
attachImage: "Bild anhängen",
uploading: "Wird hochgeladen…",
uploadFailed: "Das Bild konnte nicht hochgeladen werden.",
bannerTitle: "Diese Crew hat noch keinen privaten Chat",
bannerBody: "Richte einen Ende-zu-Ende-verschlüsselten (MLS) Chat für deine Crew ein – Mitglieder treten über den Tab bei.",
bannerCta: "Einrichten",
ready: "Verbunden · MLS",
errorPrefix: "Koordinator konnte nicht erreicht werden",
interactiveHint: "Dein Signer fragt bei jeder Aktion nach Bestätigung – nutze Aktualisieren und Senden nach Bedarf.",
setupDevice: "Dieses Gerät einrichten",
setupDeviceBody: "Dieses Gerät erhält einen eigenen Schlüssel für den privaten Chat. Ein Gründer genehmigt ihn einmal.",
waitingApproval: "Warte auf die Genehmigung durch den Gründer…",
waitingApprovalManual: "Warte auf den Gründer. Tippe nach der Genehmigung auf „Nach Einladung suchen“.",
onboardingFounder1: "Starte den privaten Chat.",
onboardingFounder2: "Genehmige Mitglieder, die um Beitritt bitten.",
onboardingFounder3: "Chatte privat mit deiner Crew.",
onboardingMember1: "Um Beitritt bitten",
onboardingMember2: "Der Gründer genehmigt dein Gerät.",
onboardingMember3: "Du bist dabei – Nachrichten sind verschlüsselt.",
encryptedNote: "Nur Crew-Mitglieder können das lesen; der Koordinator leitet nur verschlüsselte Nachrichten weiter.",
advanced: "Erweitert",
coordinator: "Koordinator",
keyPackage: "Schlüsselpaket",
keyPackageReady: "Auf diesem Gerät bereit",
keyPackageMissing: "Auf diesem Gerät nicht eingerichtet",
members: "Mitglieder",
roleFounder: "Gründer",
roleAdmin: "Admin",
makeAdmin: "Zum Admin machen",
removeAdmin: "Admin entfernen",
adminAdded: "Mitglied zum Admin befördert.",
adminRemoved: "Admin-Rolle entfernt.",
roleUpdateFailed: "Rolle konnte nicht geändert werden. Versuch es erneut.",
addReaction: "Reaktion hinzufügen",
deleteMessage: "Nachricht löschen",
deleteMessageConfirm: "Diese Nachricht für alle löschen?",
readBy: "Gelesen von {{count}}",
joinRequestTitle: "Private Chat-Anfrage",
joinRequestFor: "Neue Anfrage zum Beitritt zu {{crew}}",
joinRequestReview: "Anfrage prüfen",
joinRequestDismiss: "Anfrage verwerfen",
roleMember: "Mitglied",
qrTitle: "Scannen und dem privaten Chat beitreten",
qrHint: "Crew-Mitglieder scannen das mit der Handykamera. Der Link öffnet den Tab „Privater Chat“.",
sendFailed: "Senden fehlgeschlagen – tippe auf Wiederholen.",
sending: "Senden…",
sent: "Gesendet",
retry: "Wiederholen",
errorUnreachable: "Der private Chat ist nicht erreichbar. Prüfe deine Verbindung.",
errorDetails: "Details",
unreachable: "Nicht erreichbar",
dismiss: "Schließen",
linkDevice: "Dieses Gerät verknüpfen",
linkDeviceTitle: "Weiteres Gerät verknüpfen",
linkDeviceHint: "Scanne diesen Code auf einem Gerät, das bereits im Raum ist.",
linkDeviceNote: "Der Code enthält ein öffentliches Schlüsselpaket. Dein privater Schlüssel bleibt auf dem neuen Gerät.",
waitingDevice: "Warte auf das andere Gerät…",
addDevice: "Gerät hinzufügen",
deviceLinked: "Gerät hinzugefügt.",
deviceLinkFailed: "Dieses Gerät konnte nicht hinzugefügt werden.",
removeMemberConfirm: "{{name}} aus dem privaten Chat entfernen? Dieses Gerät verliert den Zugriff.",
removeMemberFailed: "Dieses Mitglied konnte nicht entfernt werden.",
reply: "Antworten",
},
communityUi: {
link: "Community",
title: "Community-Chat",
subtitle: "Stell Fragen, gib Feedback und sprich mit der SkateSpots-Community – Ende-zu-Ende verschlüsselt.",
heading: "SkateSpots Community",
eyebrow: "Fragen & Feedback",
seoTitle: "SkateSpots Community-Chat",
seoDescription: "Fragen, Feedback und Community-Austausch – Ende-zu-Ende verschlüsselt.",
notLoggedIn: "Melde dich an, um am Community-Chat teilzunehmen.",
noGroupAdmin: "Der Community-Raum wurde noch nicht erstellt.",
noGroupMember: "Du bist noch nicht im Community-Raum.",
create: "Community-Raum erstellen",
setupDeviceBody: "Damit erhält dieses Gerät einen Schlüssel für den Community-Raum. Ein Admin oder der Bot bestätigt ihn einmal.",
onboardingFounder1: "Erstelle den Community-Raum.",
onboardingFounder2: "Bestätige den Community-Bot und neue Mitglieder.",
onboardingFounder3: "Beantworte Fragen und sammle Feedback.",
onboardingMember1: "Bitte um Zugang zum Community-Raum.",
onboardingMember2: "Ein Admin oder der Community-Bot bestätigt dein Gerät.",
onboardingMember3: "Stell Fragen, gib Feedback oder sag einfach Hallo.",
encryptedNote: "Nur Mitglieder des Raums können das lesen; der Koordinator leitet ausschließlich verschlüsselte Nachrichten weiter.",
shareInviteText: "Komm in den SkateSpots-Community-Chat",
qrTitle: "Scannen und dem Community-Chat beitreten",
qrHint: "Scanne mit der Handykamera, um den Community-Chat zu öffnen und Zugang zu erbitten.",
owner: "Eigentümer",
botName: "Community-Bot",
howItWorks: "Neue Geräte werden einmal von einem Admin oder dem Community-Bot bestätigt. Nachrichten, die vor deinem Beitritt gesendet wurden, kannst du nicht sehen.",
feedbackNote: "Fragen und Feedback sind willkommen. Sei freundlich – es ist ein gemeinsamer Raum.",
},
translateUi: {
title: "Nachrichtenübersetzung",
translate: "Übersetzen",
translating: "Wird übersetzt…",
showOriginal: "Original anzeigen",
showTranslation: "Übersetzung anzeigen",
translatedFrom: "Übersetzt aus {{language}}",
failed: "Übersetzung fehlgeschlagen. Versuch es erneut.",
unsupported: "Dieses Sprachpaar ist noch nicht verfügbar.",
pilotNote: "Pilot: nur Englisch ↔ Spanisch.",
autoTranslate: "Nachrichten automatisch übersetzen",
autoTranslateDesc: "Eingehende Nachrichten in deine Sprache übersetzen. Läuft auf diesem Gerät; nichts wird gesendet.",
privacy: "Die Übersetzung läuft auf deinem Gerät. Deine Nachricht verlässt es nie. Bei der ersten Nutzung wird ein Sprachmodell heruntergeladen.",
},
newsletterDraftUi: {
weeklyDraftReady: 'Wöchentlicher Entwurf bereit',
loadDraft: 'Entwurf laden',
hidePreview: 'Vorschau ausblenden',
untitled: 'Ohne Titel',
},
};
export default drift;