* Initial plan * Implement Translation component with Storybook stories Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Add Jest test for Translation component and demonstrate ?lang=de functionality Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Javascript formatting autofixes * Create centralized type-safe localization system Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Add @testing-library/react to Translation component tests Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Fix code formatting errors with prettier and eslint Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Revert "Fix code formatting errors with prettier and eslint" Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * fix(js): eslinter errors * fix(js): unused code warnings * fix(js): fix additional warnings * Update Emoji admin page to use new Translation component Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Organize localization keys by logical sections (Frontend, Admin, Common, Testing) Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Organize localization keys by TypeScript namespaces Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Javascript formatting autofixes * feat(js): add support for default translated text * chore: add default lang translations on commit * fix(js): unused code warnings * Update OfflineBanner component to use new Translation component Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * fix(js): fix localization extraction job * chore(js): remove ts-node cli * fix(css): fix css warning * feat(js): add some additional translation strings via component * chore: update extracted translations * test: add tests for Translation component defaultText and fallback behavior Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * chore: update extracted translations * Javascript formatting autofixes * chore: call out new Translation component * fix: linter warning * chore: updated instructions --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gabek <414923+gabek@users.noreply.github.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: Gabe Kangas <gabek@real-ity.com>
145 lines
9.5 KiB
JSON
145 lines
9.5 KiB
JSON
{
|
|
"Notify": "Benachrichtigung",
|
|
"Level": "Level",
|
|
"Info": "Info",
|
|
"Warning": "Warnung",
|
|
"Error": "Error",
|
|
"Timestamp": "Zeitstempel",
|
|
"Message": "Nachricht",
|
|
"Logs": "Logs",
|
|
"Link": "Link",
|
|
"No news": "Keine Neuigkeiten",
|
|
"News & Updates from Owncast": "Nachrichten & Updates von Owncast",
|
|
"Use your broadcasting software": "Verwende deine Broadcast-Software",
|
|
"Learn how to point your existing software to your new server and start streaming your content": "Erfahren Sie, wie Sie Ihre vorhandene Software auf Ihren neuen Server verweisen und mit dem Streaming Ihrer Inhalte beginnen können.",
|
|
"View": "Ansicht",
|
|
"Overridden via command line": "Wird über die Befehlszeile überschrieben.",
|
|
"Embed your video onto other sites": "Ihr Video auf anderen Websites einbetten",
|
|
"Learn how you can add your Owncast stream to other sites you control": "Erfahren Sie, wie Sie Ihren Owncast Stream zu anderen Websites hinzufügen können, die Sie kontrollieren.",
|
|
"Chat is disabled": "Chat ist deaktiviert",
|
|
"Chat will continue to be disabled until you begin a live stream": "Der Chat ist weiterhin deaktiviert, bis Sie einen Live-Stream starten.",
|
|
"Find an audience on the Owncast Directory": "Finde ein Publikum im Owncast-Verzeichnis",
|
|
"List yourself in the Owncast Directory and show off your stream": {
|
|
" Enable it in": "Listet dich im Owncast-Verzeichnis und zeig deinen Stream an. Aktiviere ihn in"
|
|
},
|
|
"settings": "Einstellungen.",
|
|
"Add your Owncast instance to the Fediverse": "Füge deine Owncast-Instanz dem Fediverse hinzu",
|
|
"Enable Owncast social features": "Aktiviere die Owncast sozialen Funktionen",
|
|
"to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream": "um deine Instanz der Fediverse beitreten zu lassen, so dass Menschen dir folgen und sich mit deinem Live-Stream austauschen können.",
|
|
"No stream is active": "Kein Stream ist aktiv",
|
|
"You should start one": "Du solltest einen starten.",
|
|
"Healthy Stream": "Gesunder Stream",
|
|
"Yes": "Ja",
|
|
"No": "Nein",
|
|
"Playback Health": "Playback Gesundheit",
|
|
"Stream health represents": "Stream-Gesundheit entspricht",
|
|
"of all known players": {
|
|
" Other player status is unknown": "aller bekannten Spieler. Andere Spieler Status unbekannt."
|
|
},
|
|
"TROUBLESHOOT": "Fehlerbehebung",
|
|
"Powered by Owncast": "Betrieben von Owncast",
|
|
"Documentation": "Dokumentation",
|
|
"Contribute": "Beitragen",
|
|
"Source": "Quelle",
|
|
"Skip to player": "Zum Player springen",
|
|
"Skip to offline message": "Zur Offline-Nachricht springen",
|
|
"Skip to page content": "Zum Seiteninhalt springen",
|
|
"Skip to footer": "Zur Fußzeile springen",
|
|
"Chat will be available when the stream is live": "Chat ist verfügbar, wenn der Stream live ist.",
|
|
"Chat is offline": "Chat ist offline",
|
|
"Stay updated!": "Bleib auf dem Laufenden!",
|
|
"Click and never miss future streams!": "Klicke und werde über zukünftige Streams informiert!",
|
|
"This stream is offline": "Der Stream ist offline.",
|
|
"the next time goes live": "das nächste Mal geht live",
|
|
"Follow": "Folgen",
|
|
"on the Fediverse to see the next time goes live": "auf dem Fediverse zu sehen, wann das nächste Mal live geht",
|
|
"offline_basic": "Dieser Stream ist offline. Schauen Sie bald wieder vorbei!",
|
|
"offline_notify_only": "Dieser Stream ist offline. <span class='notify-link'>Lassen Sie sich benachrichtigen</span>, wenn {{streamer}} das nächste Mal live geht.",
|
|
"offline_fediverse_only": "Dieser Stream ist offline. <span class='follow-link'>Folgen</span> Sie {{fediverseAccount}} auf dem Fediverse, um zu sehen, wann {{streamer}} das nächste Mal live geht.",
|
|
"offline_notify_and_fediverse": "Dieser Stream ist offline. Sie können <span class='notify-link'>sich benachrichtigen lassen</span>, wenn {{streamer}} das nächste Mal live geht oder <span class='follow-link'>folgen</span> Sie {{fediverseAccount}} auf dem Fediverse.",
|
|
"Last live ago": "Letzter Live- {{timeAgo}} vor",
|
|
"Want to upload custom emojis in bulk? Check out our": "Willst du benutzerdefinierte Emojis in großen Mengen hochladen? Schau in unseren",
|
|
"Emoji guide": "Emoji-Guide",
|
|
"Time": "Zeit",
|
|
"User": "Nutzer",
|
|
"Visible messages": "Sichtbare Nachrichten",
|
|
"Hidden messages": "Versteckte Nachrichten",
|
|
"Chat Messages": "Chat-Nachrichten",
|
|
"Manage the messages from viewers that show up on your stream": "Verwalten Sie die Nachrichten von Zuschauern, die auf Ihrem Stream erscheinen.",
|
|
"Show": "Zeigen",
|
|
"Hide": "Verstecken",
|
|
"Visit the": "Besuchen Sie",
|
|
"documentation": "Dokumentation",
|
|
"to configure additional details about your viewers": ", um zusätzliche Details über Ihre Zuschauer zu konfigurieren.",
|
|
"When a stream is active and chat is enabled, connected chat clients will be displayed here": "Wenn ein Stream aktiv ist und der Chat aktiviert ist, werden hier die verbundenen Chat-Clients angezeigt.",
|
|
"Connected": "Verbunden",
|
|
"offline": "Offline",
|
|
"Banned Users": "Gesperrte Benutzer",
|
|
"IP Bans": "IP-Sperren",
|
|
"Moderators": "Moderatoren",
|
|
"Bring in moderators to help keep your chat in order": "Führen Sie Moderatoren ein, um Ihren Chat in Ordnung zu halten.",
|
|
"Learn more about chat moderation here": "Erfahren Sie hier mehr über Chat-Moderation.",
|
|
"Hardware Info": "Hardware Informationen",
|
|
"Please wait": "Bitte warten",
|
|
"No hardware details have been collected yet": "Es wurden noch keine Details zur Hardware gesammelt.",
|
|
"CPU": "CPU",
|
|
"Memory": "Arbeitsspeicher",
|
|
"Disk": "Festplatte",
|
|
"used": "verwendet",
|
|
"I want to configure my owncast instance": "Ich möchte meine Owncast Instanz konfigurieren",
|
|
"Learn more": "Mehr erfahren",
|
|
"Help configuring my broadcasting software": "Hilfe bei der Konfiguration meiner Broadcasting-Software",
|
|
"I want to embed my stream into another site": "Ich möchte meinen Stream in eine andere Website einbetten",
|
|
"I want to customize my website": "Ich möchte meine Website anpassen",
|
|
"I want to tweak my video output": "Ich möchte meine Videoausgabe optimieren",
|
|
"I want to use an external storage provider": "Ich möchte einen externen Speicheranbieter verwenden",
|
|
"I found a bug": "Ich habe einen Fehler gefunden!",
|
|
"If you found a bug, then please": "Wenn du einen Fehler gefunden hast, dann",
|
|
"let us know": "Gib uns bitte Bescheid",
|
|
"I have a general question": "Ich habe eine allgemeine Frage",
|
|
"Most general questions are answered in our": "Die meisten allgemeinen Fragen werden in unserem",
|
|
"FAQ": "Häufig gestellte Fragen",
|
|
"or exist in our": "beantwortet oder existieren in unseren",
|
|
"discussions": "Diskussionen",
|
|
"I want to build add-ons for Owncast": "Ich möchte Add-ons für Owncast entwickeln",
|
|
"You can build your own bots, overlays, tools and add-ons with our": "Baue deine eigenen Bots, Overlays, Werkzeuge und Add-ons mit unserer",
|
|
"developer APIs": "Entwickler-APIs.",
|
|
"How can we help you?": "Wie können wir dir helfen?",
|
|
"Troubleshooting": "Problembehandlung",
|
|
"Fix your problems": "Behebe deine Probleme",
|
|
"Read the Docs": "Lese die Dokumentation",
|
|
"Common tasks": "Häufige Aufgaben",
|
|
"Other": "Sonstiges",
|
|
"Outbound Video Stream": "Ausgehender Video-Stream",
|
|
"Outbound Audio Stream": "Ausgehender Audio-Stream",
|
|
"Stream started": "Stream gestartet",
|
|
"Viewers": "Zuschauer",
|
|
"Peak viewer count": "Höchste Zuschauerzahl",
|
|
"Outbound Stream Details": "Details zum ausgehenden Stream",
|
|
"Inbound Stream Details": "Details zum eingehenden Stream",
|
|
"Input": "Input",
|
|
"Inbound Video Stream": "Eingehender Video-Stream",
|
|
"Inbound Audio Stream": "Eingehender Audio-Stream",
|
|
"Current stream": "Aktueller Stream",
|
|
"Last 12 hours": "Letzten 12 Stunden",
|
|
"Last 24 hours": "Letzten 24 Stunden",
|
|
"Last 7 days": "Letzte 7 Tage",
|
|
"Last 30 days": "Letzten 30 Tage",
|
|
"Last 3 months": "Letzten 3 Monate",
|
|
"Last 6 months": "Letzten 6 Monate",
|
|
"Viewer Info": "Viewer Info",
|
|
"Current viewers": "Aktuelle Zuschauerzahl",
|
|
"Max viewers this stream": "Maximale Anzahl von Zuschauern in diesem Stream",
|
|
"Max viewers last stream": "Maximale Zuschauerzahl beim letzten Stream",
|
|
"max viewers": "Max. Zuschauer",
|
|
"No viewer data has been collected yet": "Bisher wurden noch keine Daten von Zuschauern gesammelt.",
|
|
"hello_world": "Hallo <strong>{{name}}</strong>, willkommen in der Welt!",
|
|
"notification_message": "Sie können <a href=\"#\">hier klicken</a>, um Benachrichtigungen zu erhalten, wenn {{streamer}} live geht.",
|
|
"complex_message": "Dies ist eine <em>komplexe</em> Nachricht mit <strong>{{count}}</strong> Zuschauern und <code>{{status}}</code> Status.",
|
|
"Emojis": "Emojis",
|
|
"Here you can upload new custom emojis for usage in the chat. When uploading a new emoji, the filename without extension will be used as emoji name. Additionally, emoji names are case-insensitive. For best results, ensure all emoji have unique names.": "Hier können Sie neue benutzerdefinierte Emojis für die Verwendung im Chat hochladen. Beim Hochladen eines neuen Emojis wird der Dateiname ohne Erweiterung als Emoji-Name verwendet. Zusätzlich sind Emoji-Namen nicht groß-/kleinschreibungsempfindlich. Für beste Ergebnisse sollten alle Emojis eindeutige Namen haben.",
|
|
"Want to upload custom emojis in bulk? Check out our <a href=\"https://owncast.online/docs/chat/emoji\" rel=\"noopener noreferrer\" target=\"_blank\">Emoji guide</a>.": "Möchten Sie benutzerdefinierte Emojis in großen Mengen hochladen? Schauen Sie sich unseren <a href=\"https://owncast.online/docs/chat/emoji\" rel=\"noopener noreferrer\" target=\"_blank\">Emoji-Guide</a> an.",
|
|
"Upload new emoji": "Neues Emoji hochladen",
|
|
"Delete emoji": "Emoji löschen"
|
|
}
|