i18n: fix German translation contexts and add Russian translation

This commit is contained in:
Sebastian Palencsar
2026-06-24 08:30:26 +02:00
parent d717d052b1
commit bff0073ae5
3 changed files with 1060 additions and 265 deletions

View File

@@ -46,6 +46,7 @@ target_sources(bearwave PRIVATE qml.qrc)
qt_add_lrelease(bearwave qt_add_lrelease(bearwave
TS_FILES TS_FILES
${CMAKE_CURRENT_SOURCE_DIR}/../translations/bearwave_de.ts ${CMAKE_CURRENT_SOURCE_DIR}/../translations/bearwave_de.ts
${CMAKE_CURRENT_SOURCE_DIR}/../translations/bearwave_ru.ts
QM_FILES_OUTPUT_VARIABLE bearwave_qm_files QM_FILES_OUTPUT_VARIABLE bearwave_qm_files
) )

View File

@@ -1,316 +1,555 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="de_DE"> <TS version="2.1" language="de_DE">
<context> <context>
<name>AboutDialog</name>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="24"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="24"/>
<source>build</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="53"/>
<source>BearWave</source>
<translation type="unfinished">BearWave</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="61"/>
<source>Internet Radio Player for KDE</source>
<translation type="unfinished">Internet Radio Player für KDE</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="82"/>
<source>Author: Sebastian Palencsár</source>
<translation type="unfinished">Autor: Sebastian Palencsár</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="97"/>
<source>Open website</source>
<translation type="unfinished">Website öffnen</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="121"/>
<source>Open GitHub</source>
<translation type="unfinished">GitHub öffnen</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="145"/>
<source>Open LinkedIn</source>
<translation type="unfinished">LinkedIn öffnen</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="175"/>
<source>GNU GPLv3 License</source>
<translation type="unfinished">GNU GPLv3-Lizenz</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="180"/>
<source>Copyright (c) 2026</source>
<translation type="unfinished">Copyright (c) 2026</translation>
</message>
</context>
<context>
<name>AddStationDialog</name>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="14"/>
<source>Add station manually</source>
<translation type="unfinished">Sender manuell hinzufügen</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="22"/>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="23"/>
<source>Stream URL (http/https)</source>
<translation type="unfinished">Stream URL (http/https)</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="24"/>
<source>Country (optional)</source>
<translation type="unfinished">Land (optional)</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="30"/>
<source>Station added</source>
<translation type="unfinished">Sender hinzugefügt</translation>
</message>
</context>
<context>
<name>BearTheme</name>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="20"/>
<source>Pop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="21"/>
<source>Rock</source>
<translation type="unfinished">Rock</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="22"/>
<source>Electronic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="23"/>
<source>Classical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="24"/>
<source>Jazz</source>
<translation type="unfinished">Jazz</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="25"/>
<source>Metal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="26"/>
<source>Hip Hop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="27"/>
<source>Chillout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="28"/>
<source>News / Talk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="29"/>
<source>Soundtracks</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="30"/>
<source>Ambient</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="31"/>
<source>Blues / Soul</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditStationDialog</name>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="16"/>
<source>Edit station</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="24"/>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="25"/>
<source>Stream URL (http/https)</source>
<translation type="unfinished">Stream URL (http/https)</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="26"/>
<source>Country (optional)</source>
<translation type="unfinished">Land (optional)</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="33"/>
<source>Manual</source>
<translation type="unfinished">Manuell</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="48"/>
<source>Station updated</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HeaderNavigation</name>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="74"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="175"/>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="80"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="181"/>
<source>DE</source>
<translation type="unfinished">DE</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="86"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="187"/>
<source>NL</source>
<translation type="unfinished">NL</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="92"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="193"/>
<source>Favorites</source>
<translation type="unfinished">Favoriten</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="98"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="199"/>
<source>History</source>
<translation type="unfinished">Verlauf</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="106"/>
<source>Manual +</source>
<translation type="unfinished">Manuell +</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="111"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="154"/>
<source>About</source>
<translation type="unfinished">About</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="117"/>
<source>Resume</source>
<translation type="unfinished">Fortsetzen</translation>
</message>
</context>
<context>
<name>LoadingOverlay</name>
<message>
<location filename="../src/qml/components/LoadingOverlay.qml" line="39"/>
<source>Loading stations...</source>
<translation type="unfinished">Lade Sender...</translation>
</message>
</context>
<context>
<name>Main</name> <name>Main</name>
<message> <message>
<source>BearWave</source> <location filename="../src/qml/Main.qml" line="13"/>
<translation>BearWave</translation> <source>BearWave</source>
<translation>BearWave</translation>
</message> </message>
<message> <message>
<source>Pause</source> <location filename="../src/qml/Main.qml" line="168"/>
<translation>Pause</translation> <source>Error: </source>
<translation>Fehler: </translation>
</message> </message>
<message> <message>
<source>Play</source> <location filename="../src/qml/Main.qml" line="59"/>
<translation>Wiedergabe</translation> <source>Top Global</source>
<translation>Weltweite Top-Sender</translation>
</message> </message>
</context>
<context>
<name>NotificationManager</name>
<message> <message>
<source>Hide</source> <location filename="../src/notificationmanager.cpp" line="214"/>
<translation>Verstecken</translation> <source>Station: %1</source>
<translation type="unfinished"></translation>
</message> </message>
</context>
<context>
<name>PlayerBar</name>
<message> <message>
<source>Show</source> <location filename="../src/qml/components/PlayerBar.qml" line="78"/>
<translation>Zeigen</translation> <location filename="../src/qml/components/PlayerBar.qml" line="79"/>
<source>No station selected</source>
<translation type="unfinished">Kein Sender ausgewählt</translation>
</message> </message>
<message> <message>
<source>Quit</source> <location filename="../src/qml/components/PlayerBar.qml" line="132"/>
<translation>Beenden</translation> <source>Now playing: </source>
<translation type="unfinished">Jetzt läuft: </translation>
</message> </message>
<message> <message>
<source>Top</source> <location filename="../src/qml/components/PlayerBar.qml" line="133"/>
<translation>Top</translation> <source>Now playing: No track info</source>
<translation type="unfinished">Jetzt läuft: Keine Titelinfo</translation>
</message> </message>
<message> <message>
<source>DE</source> <location filename="../src/qml/components/PlayerBar.qml" line="193"/>
<translation>DE</translation> <source>Mute</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>NL</source> <location filename="../src/qml/components/PlayerBar.qml" line="193"/>
<translation>NL</translation> <source>Unmute</source>
<translation type="unfinished"></translation>
</message> </message>
</context>
<context>
<name>QuickFilters</name>
<message> <message>
<source>Favorites</source> <location filename="../src/qml/components/QuickFilters.qml" line="49"/>
<translation>Favoriten</translation> <location filename="../src/qml/components/QuickFilters.qml" line="120"/>
<source>Genre:</source>
<translation type="unfinished">Genre:</translation>
</message> </message>
<message> <message>
<source>Manual +</source> <location filename="../src/qml/components/QuickFilters.qml" line="56"/>
<translation>Manuell +</translation> <location filename="../src/qml/components/QuickFilters.qml" line="131"/>
<source>Rock</source>
<translation type="unfinished">Rock</translation>
</message> </message>
<message> <message>
<source>About</source> <location filename="../src/qml/components/QuickFilters.qml" line="62"/>
<translation>About</translation> <location filename="../src/qml/components/QuickFilters.qml" line="137"/>
<source>News</source>
<translation type="unfinished">News</translation>
</message> </message>
<message> <message>
<source>Resume</source> <location filename="../src/qml/components/QuickFilters.qml" line="68"/>
<translation>Fortsetzen</translation> <location filename="../src/qml/components/QuickFilters.qml" line="143"/>
<source>Jazz</source>
<translation type="unfinished">Jazz</translation>
</message> </message>
<message> <message>
<source>Search stations (name, genre, country)</source> <location filename="../src/qml/components/QuickFilters.qml" line="76"/>
<translation>Sender suchen (Name, Genre, Land)</translation> <location filename="../src/qml/components/QuickFilters.qml" line="155"/>
<source>Country:</source>
<translation type="unfinished">Land:</translation>
</message> </message>
<message> <message>
<source>Search</source> <location filename="../src/qml/components/QuickFilters.qml" line="83"/>
<translation>Suche</translation> <location filename="../src/qml/components/QuickFilters.qml" line="166"/>
<source>US</source>
<translation type="unfinished">US</translation>
</message> </message>
<message> <message>
<source>Sort A-Z</source> <location filename="../src/qml/components/QuickFilters.qml" line="89"/>
<translation>Sort A-Z</translation> <location filename="../src/qml/components/QuickFilters.qml" line="172"/>
<source>UK</source>
<translation type="unfinished">UK</translation>
</message> </message>
<message> <message>
<source>Sort Bitrate</source> <location filename="../src/qml/components/QuickFilters.qml" line="95"/>
<translation>Sort Bitrate</translation> <location filename="../src/qml/components/QuickFilters.qml" line="178"/>
<source>FR</source>
<translation type="unfinished">FR</translation>
</message> </message>
<message> <message>
<source>Sort Votes</source> <location filename="../src/qml/components/QuickFilters.qml" line="101"/>
<translation>Sort Votes</translation> <location filename="../src/qml/components/QuickFilters.qml" line="184"/>
<source>WORLD</source>
<translation type="unfinished">WELT</translation>
</message> </message>
<message> </context>
<source>Tip: you are not limited to DE/NL. Search worldwide by country, genre, or station name.</source> <context>
<translation>Tipp: Du bist nicht auf DE/NL begrenzt. Suche weltweit nach Ländern, Genres oder Sendernamen.</translation>
</message>
<message>
<source>Genre:</source>
<translation>Genre:</translation>
</message>
<message>
<source>Rock</source>
<translation>Rock</translation>
</message>
<message>
<source>News</source>
<translation>News</translation>
</message>
<message>
<source>Jazz</source>
<translation>Jazz</translation>
</message>
<message>
<source>Country:</source>
<translation>Land:</translation>
</message>
<message>
<source>US</source>
<translation>US</translation>
</message>
<message>
<source>UK</source>
<translation>UK</translation>
</message>
<message>
<source>FR</source>
<translation>FR</translation>
</message>
<message>
<source>WORLD</source>
<translation>WELT</translation>
</message>
<message>
<source>Error: </source>
<translation>Fehler: </translation>
</message>
<message>
<source>FM</source>
<translation>FM</translation>
</message>
<message>
<source>Stream</source>
<translation>Stream</translation>
</message>
<message>
<source>Removed from favorites</source>
<translation>Aus Favoriten entfernt</translation>
</message>
<message>
<source>Added to favorites</source>
<translation>Zu Favoriten hinzugefügt</translation>
</message>
<message>
<source>No stations loaded yet</source>
<translation>Noch keine Sender geladen</translation>
</message>
<message>
<source>Load DE/NL stations or use search</source>
<translation>Lade DE/NL oder nutze die Suche</translation>
</message>
<message>
<source>No station selected</source>
<translation>Kein Sender ausgewählt</translation>
</message>
<message>
<source>Now playing: </source>
<translation>Jetzt läuft: </translation>
</message>
<message>
<source>Now playing: No track info</source>
<translation>Jetzt läuft: Keine Titelinfo</translation>
</message>
<message>
<source>Volume</source>
<translation>Lautstärke</translation>
</message>
<message>
<source>Loading stations...</source>
<translation>Lade Sender...</translation>
</message>
<message>
<source>Add station manually</source>
<translation>Sender manuell hinzufügen</translation>
</message>
<message>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<source>Stream URL (http/https)</source>
<translation>Stream URL (http/https)</translation>
</message>
<message>
<source>Country (optional)</source>
<translation>Land (optional)</translation>
</message>
<message>
<source>Station added</source>
<translation>Sender hinzugefügt</translation>
</message>
<message>
<source>Internet Radio Player for KDE</source>
<translation>Internet Radio Player für KDE</translation>
</message>
<message>
<source>Author: Sebastian Palencsár</source>
<translation>Autor: Sebastian Palencsár</translation>
</message>
<message>
<source>Open website</source>
<translation>Website öffnen</translation>
</message>
<message>
<source>Open GitHub</source>
<translation>GitHub öffnen</translation>
</message>
<message>
<source>Open LinkedIn</source>
<translation>LinkedIn öffnen</translation>
</message>
<message>
<source>GNU GPLv3 License</source>
<translation>GNU GPLv3-Lizenz</translation>
</message>
<message>
<source>Copyright (c) 2026</source>
<translation>Copyright (c) 2026</translation>
</message>
<message>
<source>History</source>
<translation>Verlauf</translation>
</message>
<message>
<source>No playback history</source>
<translation>Kein Wiedergabeverlauf</translation>
</message>
<message>
<source>Play some stations to build history</source>
<translation>Spiele Sender ab, um einen Verlauf aufzubauen</translation>
</message>
<message>
<source> Back to Categories</source>
<translation> Zurück zu den Kategorien</translation>
</message>
<message>
<source>World &gt; Country: </source>
<translation>Welt &gt; Land: </translation>
</message>
<message>
<source>World &gt; Genre: </source>
<translation>Welt &gt; Genre: </translation>
</message>
<message>
<source>Explore World Stations</source>
<translation>Weltweite Sender entdecken</translation>
</message>
<message>
<source>Filter countries...</source>
<translation>Länder filtern...</translation>
</message>
<message>
<source>Choose a country or music style to find radio stations from all over the world.</source>
<translation>Wähle ein Land oder eine Musikrichtung, um Radiosender aus der ganzen Welt zu finden.</translation>
</message>
<message>
<source>Countries</source>
<translation>Länder</translation>
</message>
<message>
<source>Filtered Countries</source>
<translation>Gefilterte Länder</translation>
</message>
<message>
<source>Popular Music Styles</source>
<translation>Beliebte Musikrichtungen</translation>
</message>
<message>
<source>Top Global</source>
<translation>Weltweite Top-Sender</translation>
</message>
<message>
<source>stations</source>
<translation>Sender</translation>
</message>
</context>
<context>
<name>RadioBackend</name> <name>RadioBackend</name>
<message> <message>
<source>Manual</source> <location filename="../src/radiobackend.cpp" line="424"/>
<translation>Manuell</translation> <location filename="../src/radiobackend.cpp" line="868"/>
<source>Stream URL must use http:// or https://</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>Last played</source> <location filename="../src/radiobackend.cpp" line="433"/>
<translation>Zuletzt gehört</translation> <location filename="../src/radiobackend.cpp" line="879"/>
</message> <source>Manual</source>
</context> <translation>Manuell</translation>
<context>
<name>SystemTrayManager</name>
<message>
<source>BearWave</source>
<translation>BearWave</translation>
</message> </message>
<message> <message>
<source>Pause</source> <location filename="../src/radiobackend.cpp" line="540"/>
<translation>Pause</translation> <location filename="../src/radiobackend.cpp" line="564"/>
<location filename="../src/radiobackend.cpp" line="803"/>
<source>Last played</source>
<translation>Zuletzt gehört</translation>
</message> </message>
<message> </context>
<source>Play</source> <context>
<translation>Wiedergabe</translation>
</message>
<message>
<source>Hide</source>
<translation>Verstecken</translation>
</message>
<message>
<source>Show</source>
<translation>Zeigen</translation>
</message>
<message>
<source>Quit</source>
<translation>Beenden</translation>
</message>
</context>
<context>
<name>RadioBrowser</name> <name>RadioBrowser</name>
<message> <message>
<source>Network error</source> <location filename="../src/radiobrowser.cpp" line="157"/>
<translation>Netzwerkfehler</translation> <source>Network error</source>
<translation>Netzwerkfehler</translation>
</message> </message>
</context> </context>
<context>
<name>SearchToolbar</name>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="29"/>
<location filename="../src/qml/components/SearchToolbar.qml" line="89"/>
<source>Search stations (name, genre, country)</source>
<translation type="unfinished">Sender suchen (Name, Genre, Land)</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="44"/>
<location filename="../src/qml/components/SearchToolbar.qml" line="114"/>
<source>Search</source>
<translation type="unfinished">Suche</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="54"/>
<source>Sort A-Z</source>
<translation type="unfinished">Sort A-Z</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="63"/>
<source>Sort Bitrate</source>
<translation type="unfinished">Sort Bitrate</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="72"/>
<source>Sort Votes</source>
<translation type="unfinished">Sort Votes</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="160"/>
<source>Tip: you are not limited to DE/NL. Search worldwide by country, genre, or station name.</source>
<translation type="unfinished">Tipp: Du bist nicht auf DE/NL begrenzt. Suche weltweit nach Ländern, Genres oder Sendernamen.</translation>
</message>
</context>
<context>
<name>StationCard</name>
<message>
<location filename="../src/qml/components/StationCard.qml" line="183"/>
<source>Stream</source>
<translation type="unfinished">Stream</translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="196"/>
<source>Edit Station</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="210"/>
<source>Removed from favorites</source>
<translation type="unfinished">Aus Favoriten entfernt</translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="210"/>
<source>Added to favorites</source>
<translation type="unfinished">Zu Favoriten hinzugefügt</translation>
</message>
</context>
<context>
<name>StationListPanel</name>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="47"/>
<source>No playback history</source>
<translation type="unfinished">Kein Wiedergabeverlauf</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="47"/>
<source>No stations loaded yet</source>
<translation type="unfinished">Noch keine Sender geladen</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="54"/>
<source>Play some stations to build history</source>
<translation type="unfinished">Spiele Sender ab, um einen Verlauf aufzubauen</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="55"/>
<source>Load DE/NL stations or use search</source>
<translation type="unfinished">Lade DE/NL oder nutze die Suche</translation>
</message>
</context>
<context>
<name>SystemTrayManager</name>
<message>
<location filename="../src/systemtraymanager.cpp" line="50"/>
<source>BearWave</source>
<translation>BearWave</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="89"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="89"/>
<source>Play</source>
<translation>Wiedergabe</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="98"/>
<source>Hide</source>
<translation>Verstecken</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="98"/>
<source>Show</source>
<translation>Zeigen</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="62"/>
<source>Quit</source>
<translation>Beenden</translation>
</message>
</context>
<context>
<name>WorldCategories</name>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="29"/>
<source>Explore World Stations</source>
<translation type="unfinished">Weltweite Sender entdecken</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="37"/>
<source>Filter countries...</source>
<translation type="unfinished">Länder filtern...</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="46"/>
<source>Choose a country or music style to find radio stations from all over the world.</source>
<translation type="unfinished">Wähle ein Land oder eine Musikrichtung, um Radiosender aus der ganzen Welt zu finden.</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="63"/>
<source>Countries</source>
<translation type="unfinished">Länder</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="63"/>
<source>Filtered Countries</source>
<translation type="unfinished">Gefilterte Länder</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="134"/>
<source>Top 200</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="135"/>
<source>stations</source>
<translation type="unfinished">Sender</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="159"/>
<source>Popular Music Styles</source>
<translation type="unfinished">Beliebte Musikrichtungen</translation>
</message>
</context>
<context>
<name>WorldCategoryHeader</name>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="18"/>
<source> Back to Categories</source>
<translation type="unfinished"> Zurück zu den Kategorien</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="27"/>
<source>World &gt; Country: </source>
<translation type="unfinished">Welt &gt; Land: </translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="28"/>
<source>World &gt; Genre: </source>
<translation type="unfinished">Welt &gt; Genre: </translation>
</message>
</context>
</TS> </TS>

555
translations/bearwave_ru.ts Normal file
View File

@@ -0,0 +1,555 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>AboutDialog</name>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="24"/>
<source>Version</source>
<translation>Версия</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="24"/>
<source>build</source>
<translation>сборка</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="53"/>
<source>BearWave</source>
<translation>BearWave</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="61"/>
<source>Internet Radio Player for KDE</source>
<translation>Интернет радиоплеер для KDE</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="82"/>
<source>Author: Sebastian Palencsár</source>
<translation>Автор: Sebastian Palencsár</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="97"/>
<source>Open website</source>
<translation>Перейти на веб-сайт</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="121"/>
<source>Open GitHub</source>
<translation>Перейти на GitHub</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="145"/>
<source>Open LinkedIn</source>
<translation>Перейти на LinkedIn</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="175"/>
<source>GNU GPLv3 License</source>
<translation>Лицензия GNU GPLv3</translation>
</message>
<message>
<location filename="../src/qml/components/AboutDialog.qml" line="180"/>
<source>Copyright (c) 2026</source>
<translation>Copyright (c) 2026</translation>
</message>
</context>
<context>
<name>AddStationDialog</name>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="14"/>
<source>Add station manually</source>
<translation>Добавить станцию вручную</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="22"/>
<source>Name</source>
<translation>Название</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="23"/>
<source>Stream URL (http/https)</source>
<translation>Адрес канала (http/https)</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="24"/>
<source>Country (optional)</source>
<translation>Страна (необязательно)</translation>
</message>
<message>
<location filename="../src/qml/components/AddStationDialog.qml" line="30"/>
<source>Station added</source>
<translation>Станция добавлена</translation>
</message>
</context>
<context>
<name>BearTheme</name>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="20"/>
<source>Pop</source>
<translation>Поп</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="21"/>
<source>Rock</source>
<translation>Рок</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="22"/>
<source>Electronic</source>
<translation>Электронная</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="23"/>
<source>Classical</source>
<translation>Классическая</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="24"/>
<source>Jazz</source>
<translation>Джаз</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="25"/>
<source>Metal</source>
<translation>Метал</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="26"/>
<source>Hip Hop</source>
<translation>Хип-хоп</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="27"/>
<source>Chillout</source>
<translation>Успокаивающая</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="28"/>
<source>News / Talk</source>
<translation>Новости / Разговоры</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="29"/>
<source>Soundtracks</source>
<translation>Саундтреки</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="30"/>
<source>Ambient</source>
<translation>Атмосфера</translation>
</message>
<message>
<location filename="../src/qml/theme/BearTheme.qml" line="31"/>
<source>Blues / Soul</source>
<translation>Блюз / Соул</translation>
</message>
</context>
<context>
<name>EditStationDialog</name>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="16"/>
<source>Edit station</source>
<translation>Редактировать станцию</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="24"/>
<source>Name</source>
<translation>Название</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="25"/>
<source>Stream URL (http/https)</source>
<translation>Адрес канала (http/https)</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="26"/>
<source>Country (optional)</source>
<translation>Страна (необязательно)</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="33"/>
<source>Manual</source>
<translation>Справка</translation>
</message>
<message>
<location filename="../src/qml/components/EditStationDialog.qml" line="48"/>
<source>Station updated</source>
<translation>Обновление станции</translation>
</message>
</context>
<context>
<name>HeaderNavigation</name>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="74"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="175"/>
<source>Top</source>
<translation>Топ</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="80"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="181"/>
<source>DE</source>
<translation>DE</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="86"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="187"/>
<source>NL</source>
<translation>NL</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="92"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="193"/>
<source>Favorites</source>
<translation>Избранные</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="98"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="199"/>
<source>History</source>
<translation>История</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="106"/>
<source>Manual +</source>
<translation>Вручную +</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="111"/>
<location filename="../src/qml/components/HeaderNavigation.qml" line="154"/>
<source>About</source>
<translation>О BearWave</translation>
</message>
<message>
<location filename="../src/qml/components/HeaderNavigation.qml" line="117"/>
<source>Resume</source>
<translation>Продолжить</translation>
</message>
</context>
<context>
<name>LoadingOverlay</name>
<message>
<location filename="../src/qml/components/LoadingOverlay.qml" line="39"/>
<source>Loading stations...</source>
<translation>Загрузка станций...</translation>
</message>
</context>
<context>
<name>Main</name>
<message>
<location filename="../src/qml/Main.qml" line="13"/>
<source>BearWave</source>
<translation>BearWave</translation>
</message>
<message>
<location filename="../src/qml/Main.qml" line="168"/>
<source>Error: </source>
<translation>Ошибка: </translation>
</message>
<message>
<location filename="../src/qml/Main.qml" line="59"/>
<source>Top Global</source>
<translation>Всемирный топ</translation>
</message>
</context>
<context>
<name>NotificationManager</name>
<message>
<location filename="../src/notificationmanager.cpp" line="214"/>
<source>Station: %1</source>
<translation>Станция: %1</translation>
</message>
</context>
<context>
<name>PlayerBar</name>
<message>
<location filename="../src/qml/components/PlayerBar.qml" line="78"/>
<location filename="../src/qml/components/PlayerBar.qml" line="79"/>
<source>No station selected</source>
<translation>Нет выбранной станции</translation>
</message>
<message>
<location filename="../src/qml/components/PlayerBar.qml" line="132"/>
<source>Now playing: </source>
<translation>Сейчас играет: </translation>
</message>
<message>
<location filename="../src/qml/components/PlayerBar.qml" line="133"/>
<source>Now playing: No track info</source>
<translation>Сейчас играет: нет информации о треке</translation>
</message>
<message>
<location filename="../src/qml/components/PlayerBar.qml" line="193"/>
<source>Mute</source>
<translation>Без звука</translation>
</message>
<message>
<location filename="../src/qml/components/PlayerBar.qml" line="193"/>
<source>Unmute</source>
<translation>Со звуком</translation>
</message>
</context>
<context>
<name>QuickFilters</name>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="49"/>
<location filename="../src/qml/components/QuickFilters.qml" line="120"/>
<source>Genre:</source>
<translation>Жанр:</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="56"/>
<location filename="../src/qml/components/QuickFilters.qml" line="131"/>
<source>Rock</source>
<translation>Рок</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="62"/>
<location filename="../src/qml/components/QuickFilters.qml" line="137"/>
<source>News</source>
<translation>Новости</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="68"/>
<location filename="../src/qml/components/QuickFilters.qml" line="143"/>
<source>Jazz</source>
<translation>Джаз</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="76"/>
<location filename="../src/qml/components/QuickFilters.qml" line="155"/>
<source>Country:</source>
<translation>Страна:</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="83"/>
<location filename="../src/qml/components/QuickFilters.qml" line="166"/>
<source>US</source>
<translation>US</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="89"/>
<location filename="../src/qml/components/QuickFilters.qml" line="172"/>
<source>UK</source>
<translation>UK</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="95"/>
<location filename="../src/qml/components/QuickFilters.qml" line="178"/>
<source>FR</source>
<translation>FR</translation>
</message>
<message>
<location filename="../src/qml/components/QuickFilters.qml" line="101"/>
<location filename="../src/qml/components/QuickFilters.qml" line="184"/>
<source>WORLD</source>
<translation>Мир</translation>
</message>
</context>
<context>
<name>RadioBackend</name>
<message>
<location filename="../src/radiobackend.cpp" line="424"/>
<location filename="../src/radiobackend.cpp" line="868"/>
<source>Stream URL must use http:// or https://</source>
<translation>URL-адрес потока должен использовать http:// или https://</translation>
</message>
<message>
<location filename="../src/radiobackend.cpp" line="433"/>
<location filename="../src/radiobackend.cpp" line="879"/>
<source>Manual</source>
<translation>Справка</translation>
</message>
<message>
<location filename="../src/radiobackend.cpp" line="540"/>
<location filename="../src/radiobackend.cpp" line="564"/>
<location filename="../src/radiobackend.cpp" line="803"/>
<source>Last played</source>
<translation>Последнее</translation>
</message>
</context>
<context>
<name>RadioBrowser</name>
<message>
<location filename="../src/radiobrowser.cpp" line="157"/>
<source>Network error</source>
<translation>Ошибка сети</translation>
</message>
</context>
<context>
<name>SearchToolbar</name>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="29"/>
<location filename="../src/qml/components/SearchToolbar.qml" line="89"/>
<source>Search stations (name, genre, country)</source>
<translation>Поиск станций (название, жанр, страна)</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="44"/>
<location filename="../src/qml/components/SearchToolbar.qml" line="114"/>
<source>Search</source>
<translation>Поиск</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="54"/>
<source>Sort A-Z</source>
<translation>Сорт. А-Я</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="63"/>
<source>Sort Bitrate</source>
<translation>Сорт. битрейт</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="72"/>
<source>Sort Votes</source>
<translation>Сорт. голоса</translation>
</message>
<message>
<location filename="../src/qml/components/SearchToolbar.qml" line="160"/>
<source>Tip: you are not limited to DE/NL. Search worldwide by country, genre, or station name.</source>
<translation>Совет: вы не ограничены DE/NL. Ищите по всему миру, по стране, жанру или названию станции.</translation>
</message>
</context>
<context>
<name>StationCard</name>
<message>
<location filename="../src/qml/components/StationCard.qml" line="183"/>
<source>Stream</source>
<translation>Поток</translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="196"/>
<source>Edit Station</source>
<translation>Редактировать станцию</translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="210"/>
<source>Removed from favorites</source>
<translation>Убрать из избранного</translation>
</message>
<message>
<location filename="../src/qml/components/StationCard.qml" line="210"/>
<source>Added to favorites</source>
<translation>Добавить в избранное</translation>
</message>
</context>
<context>
<name>StationListPanel</name>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="47"/>
<source>No playback history</source>
<translation>Нет истории воспроизведения</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="47"/>
<source>No stations loaded yet</source>
<translation>Станции пока не загружены</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="54"/>
<source>Play some stations to build history</source>
<translation>Прослушайте несколько станций, чтобы создать историю</translation>
</message>
<message>
<location filename="../src/qml/components/StationListPanel.qml" line="55"/>
<source>Load DE/NL stations or use search</source>
<translation>Загрузите станции DE/NL или воспользуйтесь поиском</translation>
</message>
</context>
<context>
<name>SystemTrayManager</name>
<message>
<location filename="../src/systemtraymanager.cpp" line="50"/>
<source>BearWave</source>
<translation>BearWave</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="89"/>
<source>Pause</source>
<translation>Пауза</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="89"/>
<source>Play</source>
<translation>Слушать</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="98"/>
<source>Hide</source>
<translation>Скрыть</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="98"/>
<source>Show</source>
<translation>Показать</translation>
</message>
<message>
<location filename="../src/systemtraymanager.cpp" line="62"/>
<source>Quit</source>
<translation>Выйти</translation>
</message>
</context>
<context>
<name>WorldCategories</name>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="29"/>
<source>Explore World Stations</source>
<translation>Сканировать мировые станции</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="37"/>
<source>Filter countries...</source>
<translation>Фильтровать страны...</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="46"/>
<source>Choose a country or music style to find radio stations from all over the world.</source>
<translation>Выберите страну или музыкальный стиль, чтобы найти радиостанции со всего мира.</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="63"/>
<source>Countries</source>
<translation>Страны</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="63"/>
<source>Filtered Countries</source>
<translation>Выбранные страны</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="134"/>
<source>Top 200</source>
<translation>Топ 200</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="135"/>
<source>stations</source>
<translation>станции</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategories.qml" line="159"/>
<source>Popular Music Styles</source>
<translation>Популярные музыкальные стили</translation>
</message>
</context>
<context>
<name>WorldCategoryHeader</name>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="18"/>
<source> Back to Categories</source>
<translation> Вернуться к категориям</translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="27"/>
<source>World &gt; Country: </source>
<translation>Мир &gt; Страна: </translation>
</message>
<message>
<location filename="../src/qml/components/WorldCategoryHeader.qml" line="28"/>
<source>World &gt; Genre: </source>
<translation>Мир &gt; Жанр: </translation>
</message>
</context>
</TS>