feat(lang): add Finnish localization support (#676)

Co-authored-by: retardgerman <78982850+retardgerman@users.noreply.github.com>
Co-authored-by: Fredrik Burmester <fredrik.burmester@gmail.com>
This commit is contained in:
Miro Rauhala
2025-07-15 09:39:38 +03:00
committed by GitHub
parent ff930e2ad2
commit 80192e65c4
2 changed files with 483 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ import ja from "./translations/ja.json";
import nl from "./translations/nl.json"; import nl from "./translations/nl.json";
import pl from "./translations/pl.json"; import pl from "./translations/pl.json";
import ptBR from "./translations/pt-BR.json"; import ptBR from "./translations/pt-BR.json";
import fi from "./translations/fi.json";
import ro from "./translations/ro.json"; import ro from "./translations/ro.json";
import ru from "./translations/ru.json"; import ru from "./translations/ru.json";
import sq from "./translations/sq.json"; import sq from "./translations/sq.json";
@@ -38,6 +39,7 @@ export const APP_LANGUAGES = [
{ label: "Português (Brasil)", value: "pt-BR" }, { label: "Português (Brasil)", value: "pt-BR" },
{ label: "Română", value: "ro" }, { label: "Română", value: "ro" },
{ label: "Svenska", value: "sv" }, { label: "Svenska", value: "sv" },
{ label: "Suomi", value: "fi" },
{ label: "Shqip", value: "sq" }, { label: "Shqip", value: "sq" },
{ label: "Русский", value: "ru" }, { label: "Русский", value: "ru" },
{ label: "Українська", value: "uk" }, { label: "Українська", value: "uk" },
@@ -62,6 +64,7 @@ i18n.use(initReactI18next).init({
"pt-BR": { translation: ptBR }, "pt-BR": { translation: ptBR },
ro: { translation: ro }, ro: { translation: ro },
sv: { translation: sv }, sv: { translation: sv },
fi: { translation: fi },
sq: { translation: sq }, sq: { translation: sq },
ru: { translation: ru }, ru: { translation: ru },
tr: { translation: tr }, tr: { translation: tr },

480
translations/fi.json Normal file
View File

@@ -0,0 +1,480 @@
{
"login": {
"username_required": "Käyttäjätunnus on pakollinen",
"error_title": "Virhe",
"login_title": "Kirjaudu sisään",
"login_to_title": "Kirjaudu sisään palveluun",
"username_placeholder": "Käyttäjätunnus",
"password_placeholder": "Salasana",
"login_button": "Kirjaudu sisään",
"quick_connect": "Pikayhdistys",
"enter_code_to_login": "Syötä koodi {{code}} kirjautuaksesi",
"failed_to_initiate_quick_connect": "Pikayhdistyksen aloittaminen epäonnistui",
"got_it": "Okei",
"connection_failed": "Yhteys epäonnistui",
"could_not_connect_to_server": "Yhteyttä palvelimeen ei voitu muodostaa. Tarkista URL-osoite ja verkkoyhteytesi.",
"an_unexpected_error_occured": "Odottamaton virhe tapahtui",
"change_server": "Vaihda palvelinta",
"invalid_username_or_password": "Virheellinen käyttäjätunnus tai salasana",
"user_does_not_have_permission_to_log_in": "Käyttäjällä ei ole oikeuksia kirjautua sisään",
"server_is_taking_too_long_to_respond_try_again_later": "Palvelin reagoi liian hitaasti, yritä myöhemmin uudelleen",
"server_received_too_many_requests_try_again_later": "Palvelin sai liian monta pyyntöä, yritä myöhemmin uudelleen.",
"there_is_a_server_error": "Palvelimessa on virhe",
"an_unexpected_error_occured_did_you_enter_the_correct_url": "Odottamaton virhe tapahtui. Syötitkö palvelimen URL-osoitteen oikein?"
},
"server": {
"enter_url_to_jellyfin_server": "Syötä URL-osoite Jellyfin-palvelimellesi",
"server_url_placeholder": "http(s)://oma-palvelin.com",
"connect_button": "Yhdistä",
"previous_servers": "edelliset palvelimet",
"clear_button": "Tyhjennä",
"search_for_local_servers": "Etsi paikallisia palvelimia",
"searching": "Etsitään...",
"servers": "Palvelimet"
},
"home": {
"no_internet": "Ei internet-yhteyttä",
"no_items": "Ei kohteita",
"no_internet_message": "Ei hätää, voit silti katsella\nladattua sisältöä.",
"go_to_downloads": "Siirry latauksiin",
"oops": "Ups!",
"error_message": "Jotain meni pieleen.\nKirjaudu ulos ja takaisin sisään.",
"continue_watching": "Jatka katsomista",
"next_up": "Seuraavaksi",
"recently_added_in": "Äskettäin lisätty {{libraryName}}-kirjastoon",
"suggested_movies": "Ehdotetut elokuvat",
"suggested_episodes": "Ehdotetut jaksot",
"intro": {
"welcome_to_streamyfin": "Tervetuloa Streamyfiniin",
"a_free_and_open_source_client_for_jellyfin": "Ilmainen ja avoimen lähdekoodin asiakas Jellyfinille.",
"features_title": "Ominaisuudet",
"features_description": "Streamyfin sisältää useita ominaisuuksia ja integroituu laajaan valikoimaan ohjelmistoja, jotka löydät asetukset-valikosta. Näitä ovat:",
"jellyseerr_feature_description": "Yhdistä Jellyseerr-instanssiisi ja pyydä elokuvia suoraan sovelluksessa.",
"downloads_feature_title": "Lataukset",
"downloads_feature_description": "Lataa elokuvia ja TV-sarjoja katsottavaksi offline-tilassa. Käytä joko oletusmenetelmää tai asenna optimoitu palvelin ladataksesi tiedostoja taustalla.",
"chromecast_feature_description": "Lähetä elokuvia ja TV-sarjoja Chromecast-laitteillesi.",
"centralised_settings_plugin_title": "Keskitetty asetusten liitännäinen",
"centralised_settings_plugin_description": "Määritä asetukset keskitetystä sijainnista Jellyfin-palvelimellasi. Kaikki asiakasasetukset kaikille käyttäjille synkronoidaan automaattisesti.",
"done_button": "Valmis",
"go_to_settings_button": "Siirry asetuksiin",
"read_more": "Lue lisää"
},
"settings": {
"settings_title": "Asetukset",
"log_out_button": "Kirjaudu ulos",
"user_info": {
"user_info_title": "Käyttäjätiedot",
"user": "Käyttäjä",
"server": "Palvelin",
"token": "Token",
"app_version": "Sovelluksen versio"
},
"quick_connect": {
"quick_connect_title": "Pikayhdistys",
"authorize_button": "Valtuuta Pikayhdistys",
"enter_the_quick_connect_code": "Syötä nopean yhteyden koodi...",
"success": "Onnistui",
"quick_connect_autorized": "Pikayhdistys valtuutettu",
"error": "Virhe",
"invalid_code": "Virheellinen koodi",
"authorize": "Valtuuta"
},
"media_controls": {
"media_controls_title": "Mediaohjaimet",
"forward_skip_length": "Eteenpäin hyppäämisen pituus",
"rewind_length": "Taaksepäin hyppäämisen pituus",
"seconds_unit": "s"
},
"audio": {
"audio_title": "Ääni",
"set_audio_track": "Aseta ääniura edellisestä kohteesta",
"audio_language": "Ääni kieli",
"audio_hint": "Valitse oletusäänen kieli.",
"none": "Ei mitään",
"language": "Kieli"
},
"subtitles": {
"subtitle_title": "Tekstitykset",
"subtitle_language": "Tekstityksen kieli",
"subtitle_mode": "Tekstitysmoodi",
"set_subtitle_track": "Aseta tekstitys edellisestä kohteesta",
"subtitle_size": "Tekstityksen koko",
"subtitle_hint": "Määritä tekstitysasetukset.",
"none": "Ei mitään",
"language": "Kieli",
"loading": "Ladataan",
"modes": {
"Default": "Oletus",
"Smart": "Älykäs",
"Always": "Aina",
"None": "Ei mitään",
"OnlyForced": "Vain pakotettu"
}
},
"other": {
"other_title": "Muut",
"follow_device_orientation": "Automaattinen kierto",
"video_orientation": "Videon suunta",
"orientation": "Suunta",
"orientations": {
"DEFAULT": "Oletus",
"ALL": "Kaikki",
"PORTRAIT": "Pystysuora",
"PORTRAIT_UP": "Pystysuora ylös",
"PORTRAIT_DOWN": "Pystysuora alas",
"LANDSCAPE": "Vaakasuora",
"LANDSCAPE_LEFT": "Vaakasuora vasemmalle",
"LANDSCAPE_RIGHT": "Vaakasuora oikealle",
"OTHER": "Muu",
"UNKNOWN": "Tuntematon"
},
"safe_area_in_controls": "Turvallinen alue ohjaimissa",
"video_player": "Videosoitin",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Kokeellinen + PiP)"
},
"show_custom_menu_links": "Näytä mukautetut valikkolinkit",
"hide_libraries": "Piilota kirjastot",
"select_liraries_you_want_to_hide": "Valitse kirjastot, jotka haluat piilottaa Kirjasto-välilehdeltä ja etusivun osioista.",
"disable_haptic_feedback": "Poista haptinen palautteet käytöstä",
"default_quality": "Oletuslaatu"
},
"downloads": {
"downloads_title": "Lataukset",
"download_method": "Latausmenetelmä",
"remux_max_download": "Remuxin maksimi lataus",
"auto_download": "Automaattinen lataus",
"optimized_versions_server": "Optimoitujen versioiden palvelin",
"save_button": "Tallenna",
"optimized_server": "Optimoitu palvelin",
"optimized": "Optimoitu",
"default": "Oletus",
"optimized_version_hint": "Syötä optimoidun palvelimen URL-osoite. URL-osoitteen tulee sisältää http tai https ja valinnaisesti portti.",
"read_more_about_optimized_server": "Lue lisää optimoidusta palvelimesta.",
"url": "URL",
"server_url_placeholder": "http(s)://verkkotunnus.org:portti"
},
"plugins": {
"plugins_title": "Liitännäiset",
"jellyseerr": {
"jellyseerr_warning": "Tämä integraatio on alkuvaiheessa. Odota muutoksia.",
"server_url": "Palvelimen URL",
"server_url_hint": "Esimerkki: http(s)://verkkotunnus.url\n(lisää portti tarvittaessa)",
"server_url_placeholder": "Jellyseerr URL...",
"password": "Salasana",
"password_placeholder": "Syötä salasana Jellyfin-käyttäjälle {{username}}",
"save_button": "Tallenna",
"clear_button": "Tyhjennä",
"login_button": "Kirjaudu sisään",
"total_media_requests": "Yhteensä mediapyynnöt",
"movie_quota_limit": "Elokuvakiintiön raja",
"movie_quota_days": "Elokuvakiintiön päivät",
"tv_quota_limit": "TV-kiintiön raja",
"tv_quota_days": "TV-kiintiön päivät",
"reset_jellyseerr_config_button": "Nollaa Jellyseerr-asetukset",
"unlimited": "Rajoittamaton",
"plus_n_more": "+{{n}} lisää",
"order_by": {
"DEFAULT": "Oletus",
"VOTE_COUNT_AND_AVERAGE": "Äänimäärä ja keskiarvo",
"POPULARITY": "Suosio"
}
},
"marlin_search": {
"enable_marlin_search": "Ota Marlin-haku käyttöön",
"url": "URL",
"server_url_placeholder": "http(s)://verkkotunnus.org:portti",
"marlin_search_hint": "Syötä Marlin-palvelimen URL-osoite. URL-osoitteen tulee sisältää http tai https ja valinnaisesti portti.",
"read_more_about_marlin": "Lue lisää Marlinista.",
"save_button": "Tallenna",
"toasts": {
"saved": "Tallennettu"
}
}
},
"storage": {
"storage_title": "Tallennustila",
"app_usage": "Sovelluksen käyttö {{usedSpace}}%",
"device_usage": "Laitteen käyttö {{availableSpace}}%",
"size_used": "{{used}} / {{total}} käytössä",
"delete_all_downloaded_files": "Poista kaikki ladatut tiedostot"
},
"intro": {
"show_intro": "Näytä intro",
"reset_intro": "Nollaa intro"
},
"logs": {
"logs_title": "Lokit",
"export_logs": "Vie lokit",
"click_for_more_info": "Napsauta lisätietoja varten",
"level": "Taso",
"no_logs_available": "Ei lokitietoja saatavilla",
"delete_all_logs": "Poista kaikki lokit"
},
"languages": {
"title": "Kielet",
"app_language": "Sovelluksen kieli",
"app_language_description": "Valitse sovelluksen kieli.",
"system": "Järjestelmä"
},
"toasts": {
"error_deleting_files": "Virhe tiedostojen poistamisessa",
"background_downloads_enabled": "Taustalataukset käytössä",
"background_downloads_disabled": "Taustalataukset pois käytöstä",
"connected": "Yhdistetty",
"could_not_connect": "Yhteyttä ei voitu muodostaa",
"invalid_url": "Virheellinen URL"
}
},
"sessions": {
"title": "Istunnot",
"no_active_sessions": "Ei aktiivisia istuntoja"
},
"downloads": {
"downloads_title": "Lataukset",
"tvseries": "TV-sarjat",
"movies": "Elokuvat",
"queue": "Jonot",
"queue_hint": "Jonot ja lataukset menetetään sovelluksen uudelleenkäynnistyksen yhteydessä",
"no_items_in_queue": "Ei kohteita jonossa",
"no_downloaded_items": "Ei ladattuja kohteita",
"delete_all_movies_button": "Poista kaikki elokuvat",
"delete_all_tvseries_button": "Poista kaikki TV-sarjat",
"delete_all_button": "Poista kaikki",
"active_download": "Aktiivinen lataus",
"no_active_downloads": "Ei aktiivisia latauksia",
"active_downloads": "Aktiiviset lataukset",
"new_app_version_requires_re_download": "Uusi sovellusversio vaatii uudelleen latauksen",
"new_app_version_requires_re_download_description": "Uusi päivitys vaatii sisällön lataamista uudelleen. Poista kaikki ladattu sisältö ja yritä uudelleen.",
"back": "Takaisin",
"delete": "Poista",
"something_went_wrong": "Jotain meni pieleen",
"could_not_get_stream_url_from_jellyfin": "Ei voitu saada suoratoiston URL:ia Jellyfinilta",
"eta": "Arvio {{eta}}",
"methods": "Menetelmät",
"toasts": {
"you_are_not_allowed_to_download_files": "Sinulla ei ole lupaa ladata tiedostoja.",
"deleted_all_movies_successfully": "Kaikki elokuvat poistettu onnistuneesti!",
"failed_to_delete_all_movies": "Kaikkien elokuvien poistaminen epäonnistui",
"deleted_all_tvseries_successfully": "Kaikki TV-sarjat poistettu onnistuneesti!",
"failed_to_delete_all_tvseries": "Kaikkien TV-sarjojen poistaminen epäonnistui",
"download_cancelled": "Lataus peruutettu",
"could_not_cancel_download": "Latausta ei voitu peruuttaa",
"download_completed": "Lataus valmis",
"download_started_for": "Lataus aloitettu kohteelle {{item}}",
"item_is_ready_to_be_downloaded": "{{item}} on valmis ladattavaksi",
"download_stated_for_item": "Lataus aloitettu kohteelle {{item}}",
"download_failed_for_item": "Lataus epäonnistui kohteelle {{item}} - {{error}}",
"download_completed_for_item": "Lataus valmis kohteelle {{item}}",
"queued_item_for_optimization": "Jonotettu {{item}} optimointia varten",
"failed_to_start_download_for_item": "Latauksen aloittaminen kohteelle {{item}} epäonnistui: {{message}}",
"server_responded_with_status_code": "Palvelin vastasi tilakoodilla {{statusCode}}",
"no_response_received_from_server": "Palvelimelta ei saatu vastausta",
"error_setting_up_the_request": "Virhe pyynnön asetuksessa",
"failed_to_start_download_for_item_unexpected_error": "Latauksen aloittaminen kohteelle {{item}} epäonnistui: Odottamaton virhe",
"all_files_folders_and_jobs_deleted_successfully": "Kaikki tiedostot, kansiot ja tehtävät poistettu onnistuneesti",
"an_error_occured_while_deleting_files_and_jobs": "Virhe tapahtui tiedostojen ja tehtävien poistamisen aikana",
"go_to_downloads": "Siirry latauksiin"
}
}
},
"search": {
"search_here": "Hae täältä...",
"search": "Haku...",
"x_items": "{{count}} kohdetta",
"library": "Kirjasto",
"discover": "Löydä",
"no_results": "Ei tuloksia",
"no_results_found_for": "Ei tuloksia löydetty",
"movies": "Elokuvat",
"series": "Sarjat",
"episodes": "Jaksot",
"collections": "Kokoelmat",
"actors": "Näyttelijät",
"request_movies": "Pyydä elokuvia",
"request_series": "Pyydä sarjoja",
"recently_added": "Äskettäin lisätty",
"recent_requests": "Äskettäin pyydetyt",
"plex_watchlist": "Plexin seurantalista",
"trending": "Trendikkäät",
"popular_movies": "Suositut elokuvat",
"movie_genres": "Elokuvagenret",
"upcoming_movies": "Tulevat elokuvat",
"studios": "Studios",
"popular_tv": "Suositut TV-ohjelmat",
"tv_genres": "TV-genret",
"upcoming_tv": "Tulevat TV-ohjelmat",
"networks": "Verkot",
"tmdb_movie_keyword": "TMDB Elokuvan avainsana",
"tmdb_movie_genre": "TMDB Elokuvagenre",
"tmdb_tv_keyword": "TMDB TV:n avainsana",
"tmdb_tv_genre": "TMDB TV-genre",
"tmdb_search": "TMDB Haku",
"tmdb_studio": "TMDB Studio",
"tmdb_network": "TMDB Verkko",
"tmdb_movie_streaming_services": "TMDB Elokuvan suoratoistopalvelut",
"tmdb_tv_streaming_services": "TMDB TV:n suoratoistopalvelut"
},
"library": {
"no_items_found": "Ei kohteita löytynyt",
"no_results": "Ei tuloksia",
"no_libraries_found": "Ei kirjastoja löytynyt",
"item_types": {
"movies": "elokuvat",
"series": "sarjat",
"boxsets": "bokset",
"items": "kohteet"
},
"options": {
"display": "Näyttö",
"row": "Rivi",
"list": "Lista",
"image_style": "Kuvatyylit",
"poster": "Juliste",
"cover": "Kansi",
"show_titles": "Näytä otsikot",
"show_stats": "Näytä tilastot"
},
"filters": {
"genres": "Genret",
"years": "Vuodet",
"sort_by": "Lajittele",
"sort_order": "Lajittelujärjestys",
"asc": "Nouseva",
"desc": "Laskeva",
"tags": "Tunnisteet"
},
"favorites": {
"series": "Sarjat",
"movies": "Elokuvat",
"episodes": "Jaksot",
"videos": "Videot",
"boxsets": "Bokset",
"playlists": "Soittolistat",
"noDataTitle": "Ei suosikkeja vielä",
"noData": "Merkitse kohteita suosikeiksi, jotta ne näkyvät täällä nopeaa pääsyä varten."
},
"custom_links": {
"no_links": "Ei linkkejä"
},
"player": {
"error": "Virhe",
"failed_to_get_stream_url": "Suoratoisto-URL:n saaminen epäonnistui",
"an_error_occured_while_playing_the_video": "Virhe tapahtui videota toistettaessa. Tarkista lokit asetuksista.",
"client_error": "Asiakasvirhe",
"could_not_create_stream_for_chromecast": "Suoratoistoa ei voitu luoda Chromecastille",
"message_from_server": "Viesti palvelimelta: {{message}}",
"video_has_finished_playing": "Video on lopettanut toistamisen!",
"no_video_source": "Ei videolähdettä...",
"next_episode": "Seuraava jakso",
"refresh_tracks": "Päivitä raidat",
"subtitle_tracks": "Tekstitysraidat:",
"audio_tracks": "Ääniraidat:",
"playback_state": "Toistotila:",
"no_data_available": "Ei tietoja saatavilla",
"index": "Indeksi:"
},
"item_card": {
"next_up": "Seuraavaksi",
"no_items_to_display": "Ei näytettäviä kohteita",
"cast_and_crew": "Näyttelijät ja työryhmä",
"series": "Sarjat",
"seasons": "Kausi(t)",
"season": "Kausi",
"no_episodes_for_this_season": "Ei jaksoja tälle kaudelle",
"overview": "Yhteenveto",
"more_with": "Lisää {{name}}:n kanssa",
"similar_items": "Samanlaiset kohteet",
"no_similar_items_found": "Ei löytynyt samanlaisia kohteita",
"video": "Video",
"more_details": "Lisätietoja",
"quality": "Laatu",
"audio": "Ääni",
"subtitles": "Tekstitys",
"show_more": "Näytä lisää",
"show_less": "Näytä vähemmän",
"appeared_in": "Ilmestyi",
"could_not_load_item": "Kohteen lataaminen epäonnistui",
"none": "Ei mitään",
"download": {
"download_season": "Lataa kausi",
"download_series": "Lataa sarja",
"download_episode": "Lataa jakso",
"download_movie": "Lataa elokuva",
"download_x_item": "Lataa {{item_count}} kohdetta",
"download_button": "Lataa",
"using_optimized_server": "Käytetään optimoitua palvelinta",
"using_default_method": "Käytetään oletusmenetelmää"
}
}
},
"live_tv": {
"next": "Seuraava",
"previous": "Edellinen",
"live_tv": "Live TV",
"coming_soon": "Tulossa pian",
"on_now": "Nykyään",
"shows": "Ohjelmat",
"movies": "Elokuvat",
"sports": "Urheilu",
"for_kids": "Lapsille",
"news": "Uutiset"
},
"jellyseerr": {
"confirm": "Vahvista",
"cancel": "Peruuta",
"yes": "Kyllä",
"whats_wrong": "Mikä on vialla?",
"issue_type": "Ongelmatyyppi",
"select_an_issue": "Valitse ongelma",
"types": "Tyypit",
"describe_the_issue": "(valinnainen) Kuvaile ongelmaa...",
"submit_button": "Lähetä",
"report_issue_button": "Ilmoita ongelmasta",
"request_button": "Pyydä",
"are_you_sure_you_want_to_request_all_seasons": "Oletko varma, että haluat pyytää kaikki kaudet?",
"failed_to_login": "Kirjautuminen epäonnistui",
"cast": "Näyttelijät",
"details": "Yksityiskohdat",
"status": "Tila",
"original_title": "Alkuperäinen otsikko",
"series_type": "Sarjan tyyppi",
"release_dates": "Julkaisupäivät",
"first_air_date": "Ensimmäinen esitys",
"next_air_date": "Seuraava esitys",
"revenue": "Tulot",
"budget": "Budjetti",
"original_language": "Alkuperäinen kieli",
"production_country": "Tuotantomaa",
"studios": "Studio",
"network": "Verkko",
"currently_streaming_on": "Nykyään suoratoistona",
"advanced": "Lisäasetukset",
"request_as": "Pyydä muodossa",
"tags": "Tunnisteet",
"quality_profile": "Laatuprofiili",
"root_folder": "Juurikansio",
"season_all": "Kausi (kaikki)",
"season_number": "Kausi {{season_number}}",
"number_episodes": "{{episode_number}} jaksoa",
"born": "Syntynyt",
"appearances": "Ulkonäöt",
"toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr-palvelin ei täytä vähimmäisversiovaatimuksia! Päivitä vähintään versioon 2.0.0",
"jellyseerr_test_failed": "Jellyseerr-testi epäonnistui. Yritä uudelleen.",
"failed_to_test_jellyseerr_server_url": "Jellyseerr-palvelimen URL-osoitteen testaaminen epäonnistui",
"issue_submitted": "Ongelma lähetetty!",
"requested_item": "Pyydetty {{item}}!",
"you_dont_have_permission_to_request": "Sinulla ei ole lupaa pyytää!",
"something_went_wrong_requesting_media": "Jotain meni pieleen mediaa pyydettäessä!"
}
},
"tabs": {
"home": "Etusivu",
"search": "Haku",
"library": "Kirjasto",
"custom_links": "Mukautetut linkit",
"favorites": "Suosikit"
}
}