feat: Add Finnish translations (#1133)

## Summary

* **What is the goal of this PR?** (e.g., Implements the new feature for
file uploading.)
Adds Finnish language support
* **What changes are included?**
Created new translation yaml file, ran the translation script to
generate the C++ code

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**< PARTIALLY >**_

---------

Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com>
This commit is contained in:
Perttu
2026-02-25 19:03:35 +02:00
committed by GitHub
parent cae8517235
commit c99a673e5b
2 changed files with 323 additions and 0 deletions

View File

@@ -42,6 +42,9 @@ If you'd like to add your name to this list, please open a PR adding yourself an
## Catalan
- [angeldenom](https://github.com/angeldenom)
## Finnish
- [plahteenlahti](https://github.com/plahteenlahti)
## Ukrainian
- [mirus-ua](https://github.com/mirus-ua)

View File

@@ -0,0 +1,320 @@
_language_name: "Suomi"
_language_code: "FI"
_order: "14"
STR_CROSSPOINT: "CrossPoint"
STR_BOOTING: "KÄYNNISTYY"
STR_SLEEPING: "LEPOTILA"
STR_ENTERING_SLEEP: "Siirrytään lepotilaan"
STR_BROWSE_FILES: "Selaa tiedostoja"
STR_FILE_TRANSFER: "Tiedostonsiirto"
STR_SETTINGS_TITLE: "Asetukset"
STR_CALIBRE_LIBRARY: "Calibre-kirjasto"
STR_CONTINUE_READING: "Jatka lukemista"
STR_NO_OPEN_BOOK: "Kirjaa ei valittu"
STR_START_READING: "Aloita lukeminen"
STR_BOOKS: "Kirjat"
STR_NO_BOOKS_FOUND: "Kirjoja ei löytynyt"
STR_SELECT_CHAPTER: "Valitse luku"
STR_NO_CHAPTERS: "Ei lukuja"
STR_END_OF_BOOK: "Kirjan loppu"
STR_EMPTY_CHAPTER: "Tyhjä luku"
STR_INDEXING: "Indeksoidaan"
STR_MEMORY_ERROR: "Muistivirhe"
STR_PAGE_LOAD_ERROR: "Sivun latausvirhe"
STR_EMPTY_FILE: "Tyhjä tiedosto"
STR_OUT_OF_BOUNDS: "Alueen ulkopuolella"
STR_LOADING: "Ladataan..."
STR_LOADING_POPUP: "Ladataan"
STR_LOAD_XTC_FAILED: "XTC:n lataus epäonnistui"
STR_LOAD_TXT_FAILED: "TXT:n lataus epäonnistui"
STR_LOAD_EPUB_FAILED: "EPUB:n lataus epäonnistui"
STR_SD_CARD_ERROR: "SD-korttivirhe"
STR_WIFI_NETWORKS: "WiFi-verkot"
STR_NO_NETWORKS: "Verkkoja ei löytynyt"
STR_NETWORKS_FOUND: "%zu verkkoa löydetty"
STR_SCANNING: "Etsitään..."
STR_CONNECTING: "Yhdistetään..."
STR_CONNECTED: "Yhdistetty!"
STR_CONNECTION_FAILED: "Yhteys epäonnistui"
STR_CONNECTION_TIMEOUT: "Yhteys aikakatkaistiin"
STR_FORGET_NETWORK: "Unohda verkko?"
STR_SAVE_PASSWORD: "Tallenna salasana seuraavaa kertaa varten?"
STR_REMOVE_PASSWORD: "Poista tallennettu salasana?"
STR_PRESS_OK_SCAN: "Paina OK etsiäksesi uudelleen"
STR_PRESS_ANY_CONTINUE: "Paina mitä tahansa painiketta jatkaaksesi"
STR_SELECT_HINT: "VASEN/OIKEA: Valitse | OK: Vahvista"
STR_HOW_CONNECT: "Miten haluat yhdistää?"
STR_JOIN_NETWORK: "Liity verkkoon"
STR_CREATE_HOTSPOT: "Luo yhteyspiste"
STR_JOIN_DESC: "Yhdistä olemassa olevaan WiFi-verkkoon"
STR_HOTSPOT_DESC: "Luo WiFi-verkko, johon muut voivat liittyä"
STR_STARTING_HOTSPOT: "Käynnistetään yhteyspiste..."
STR_HOTSPOT_MODE: "Yhteyspistetila"
STR_CONNECT_WIFI_HINT: "Yhdistä laitteesi tähän WiFi-verkkoon"
STR_OPEN_URL_HINT: "Avaa tämä osoite selaimessasi"
STR_OR_HTTP_PREFIX: "tai http://"
STR_SCAN_QR_HINT: "tai skannaa QR-koodi puhelimellasi:"
STR_CALIBRE_WIRELESS: "Calibre langaton"
STR_CALIBRE_WEB_URL: "Calibre-verkko-osoite"
STR_CONNECT_WIRELESS: "Yhdistä langattomana laitteena"
STR_NETWORK_LEGEND: "* = Salattu | + = Tallennettu"
STR_MAC_ADDRESS: "MAC-osoite:"
STR_CHECKING_WIFI: "Tarkistetaan WiFi..."
STR_ENTER_WIFI_PASSWORD: "Syötä WiFi-salasana"
STR_ENTER_TEXT: "Syötä teksti"
STR_TO_PREFIX: "verkkoon "
STR_CALIBRE_DISCOVERING: "Etsitään Calibrea..."
STR_CALIBRE_CONNECTING_TO: "Yhdistetään: "
STR_CALIBRE_CONNECTED_TO: "Yhdistetty: "
STR_CALIBRE_WAITING_COMMANDS: "Odotetaan komentoja..."
STR_CONNECTION_FAILED_RETRYING: "(Yhteys epäonnistui, yritetään uudelleen)"
STR_CALIBRE_DISCONNECTED: "Yhteys Calibreen katkaistiin"
STR_CALIBRE_WAITING_TRANSFER: "Odotetaan siirtoa..."
STR_CALIBRE_TRANSFER_HINT: "Jos siirto epäonnistuu, ota käyttöön\\n'Ignore free space' Calibren\\nSmartDevice-lisäosan asetuksissa."
STR_CALIBRE_RECEIVING: "Vastaanotetaan: "
STR_CALIBRE_RECEIVED: "Vastaanotettu: "
STR_CALIBRE_WAITING_MORE: "Odotetaan lisää..."
STR_CALIBRE_FAILED_CREATE_FILE: "Tiedoston luonti epäonnistui"
STR_CALIBRE_PASSWORD_REQUIRED: "Salasana vaaditaan"
STR_CALIBRE_TRANSFER_INTERRUPTED: "Siirto keskeytyi"
STR_CALIBRE_INSTRUCTION_1: "1) Asenna CrossPoint Reader -lisäosa"
STR_CALIBRE_INSTRUCTION_2: "2) Ole samassa WiFi-verkossa"
STR_CALIBRE_INSTRUCTION_3: "3) Calibressa: \"Lähetä laitteelle\""
STR_CALIBRE_INSTRUCTION_4: "\"Pidä tämä näyttö auki lähetyksen aikana\""
STR_CAT_DISPLAY: "Näyttö"
STR_CAT_READER: "Lukija"
STR_CAT_CONTROLS: "Ohjaimet"
STR_CAT_SYSTEM: "Järjestelmä"
STR_SLEEP_SCREEN: "Lepotilanäyttö"
STR_SLEEP_COVER_MODE: "Lepotilanäytön kansitila"
STR_STATUS_BAR: "Tilapalkki"
STR_HIDE_BATTERY: "Piilota akun %"
STR_EXTRA_SPACING: "Kappaleiden lisäväli"
STR_TEXT_AA: "Tekstin reunanpehmennys"
STR_SHORT_PWR_BTN: "Lyhyt virtapainikkeen painallus"
STR_ORIENTATION: "Lukusuunta"
STR_FRONT_BTN_LAYOUT: "Etupainikkeiden asettelu"
STR_SIDE_BTN_LAYOUT: "Sivupainikkeiden asettelu (lukija)"
STR_LONG_PRESS_SKIP: "Pitkä painallus: lukuhyppy"
STR_FONT_FAMILY: "Lukijan fonttiperhe"
STR_EXT_READER_FONT: "Ulkoinen lukijafontti"
STR_EXT_CHINESE_FONT: "Lukijafontti"
STR_EXT_UI_FONT: "Käyttöliittymäfontti"
STR_FONT_SIZE: "Käyttöliittymän fonttikoko"
STR_LINE_SPACING: "Lukijan riviväli"
STR_ASCII_LETTER_SPACING: "ASCII-kirjainväli"
STR_ASCII_DIGIT_SPACING: "ASCII-numeroväli"
STR_CJK_SPACING: "CJK-välistys"
STR_COLOR_MODE: "Väritila"
STR_SCREEN_MARGIN: "Lukijan näyttömarginaali"
STR_PARA_ALIGNMENT: "Lukijan kappaletasaus"
STR_HYPHENATION: "Tavutus"
STR_TIME_TO_SLEEP: "Aika lepotilaan"
STR_REFRESH_FREQ: "Päivitystaajuus"
STR_CALIBRE_SETTINGS: "Calibre-asetukset"
STR_KOREADER_SYNC: "KOReader-synkronointi"
STR_CHECK_UPDATES: "Tarkista päivitykset"
STR_LANGUAGE: "Kieli"
STR_SELECT_WALLPAPER: "Valitse taustakuva"
STR_CLEAR_READING_CACHE: "Tyhjennä lukuvälimuisti"
STR_CALIBRE: "Calibre"
STR_USERNAME: "Käyttäjänimi"
STR_PASSWORD: "Salasana"
STR_SYNC_SERVER_URL: "Synkronointipalvelimen osoite"
STR_DOCUMENT_MATCHING: "Dokumenttien tunnistus"
STR_AUTHENTICATE: "Tunnistaudu"
STR_KOREADER_USERNAME: "KOReader-käyttäjänimi"
STR_KOREADER_PASSWORD: "KOReader-salasana"
STR_FILENAME: "Tiedostonimi"
STR_BINARY: "Binääri"
STR_SET_CREDENTIALS_FIRST: "Aseta tunnukset ensin"
STR_WIFI_CONN_FAILED: "WiFi-yhteys epäonnistui"
STR_AUTHENTICATING: "Tunnistaudutaan..."
STR_AUTH_SUCCESS: "Tunnistautuminen onnistui!"
STR_KOREADER_AUTH: "KOReader-tunnistautuminen"
STR_SYNC_READY: "KOReader-synkronointi on käyttövalmis"
STR_AUTH_FAILED: "Tunnistautuminen epäonnistui"
STR_DONE: "Valmis"
STR_CLEAR_CACHE_WARNING_1: "Tämä tyhjentää kaiken välimuistiin tallennetun kirjatiedon."
STR_CLEAR_CACHE_WARNING_2: "Kaikki lukuedistyminen menetetään!"
STR_CLEAR_CACHE_WARNING_3: "Kirjat täytyy indeksoida uudelleen"
STR_CLEAR_CACHE_WARNING_4: "kun ne avataan seuraavan kerran."
STR_CLEARING_CACHE: "Tyhjennetään välimuistia..."
STR_CACHE_CLEARED: "Välimuisti tyhjennetty"
STR_ITEMS_REMOVED: "kohdetta poistettu"
STR_FAILED_LOWER: "epäonnistui"
STR_CLEAR_CACHE_FAILED: "Välimuistin tyhjennys epäonnistui"
STR_CHECK_SERIAL_OUTPUT: "Tarkista sarjatuloste lisätiedoista"
STR_DARK: "Tumma"
STR_LIGHT: "Vaalea"
STR_CUSTOM: "Mukautettu"
STR_COVER: "Kansi"
STR_NONE_OPT: "Ei mitään"
STR_FIT: "Sovita"
STR_CROP: "Rajaa"
STR_NO_PROGRESS: "Ei edistymistä"
STR_FULL_OPT: "Täysi"
STR_NEVER: "Ei koskaan"
STR_IN_READER: "Lukijassa"
STR_ALWAYS: "Aina"
STR_IGNORE: "Ohita"
STR_SLEEP: "Lepotila"
STR_PAGE_TURN: "Sivunkääntö"
STR_PORTRAIT: "Pysty"
STR_LANDSCAPE_CW: "Vaaka myötäpäivään"
STR_INVERTED: "Käännetty"
STR_LANDSCAPE_CCW: "Vaaka vastapäivään"
STR_FRONT_LAYOUT_BCLR: "Tak, Vah, Vas, Oik"
STR_FRONT_LAYOUT_LRBC: "Vas, Oik, Tak, Vah"
STR_FRONT_LAYOUT_LBCR: "Vas, Tak, Vah, Oik"
STR_PREV_NEXT: "Edell/Seur"
STR_NEXT_PREV: "Seur/Edell"
STR_BOOKERLY: "Bookerly"
STR_NOTO_SANS: "Noto Sans"
STR_OPEN_DYSLEXIC: "Open Dyslexic"
STR_SMALL: "Pieni"
STR_MEDIUM: "Keskikokoinen"
STR_LARGE: "Suuri"
STR_X_LARGE: "Erittäin suuri"
STR_TIGHT: "Tiukka"
STR_NORMAL: "Normaali"
STR_WIDE: "Leveä"
STR_JUSTIFY: "Tasaa"
STR_ALIGN_LEFT: "Vasen"
STR_CENTER: "Keskitetty"
STR_ALIGN_RIGHT: "Oikea"
STR_MIN_1: "1 min"
STR_MIN_5: "5 min"
STR_MIN_10: "10 min"
STR_MIN_15: "15 min"
STR_MIN_30: "30 min"
STR_PAGES_1: "1 sivu"
STR_PAGES_5: "5 sivua"
STR_PAGES_10: "10 sivua"
STR_PAGES_15: "15 sivua"
STR_PAGES_30: "30 sivua"
STR_UPDATE: "Päivitä"
STR_CHECKING_UPDATE: "Tarkistetaan päivitystä..."
STR_NEW_UPDATE: "Uusi päivitys saatavilla!"
STR_CURRENT_VERSION: "Nykyinen versio: "
STR_NEW_VERSION: "Uusi versio: "
STR_UPDATING: "Päivitetään..."
STR_NO_UPDATE: "Ei päivitystä saatavilla"
STR_UPDATE_FAILED: "Päivitys epäonnistui"
STR_UPDATE_COMPLETE: "Päivitys valmis"
STR_POWER_ON_HINT: "Pidä virtapainiketta pohjassa käynnistääksesi"
STR_EXTERNAL_FONT: "Ulkoinen fontti"
STR_BUILTIN_DISABLED: "Sisäänrakennettu (pois käytöstä)"
STR_NO_ENTRIES: "Merkintöjä ei löytynyt"
STR_DOWNLOADING: "Ladataan..."
STR_DOWNLOAD_FAILED: "Lataus epäonnistui"
STR_ERROR_MSG: "Virhe:"
STR_UNNAMED: "Nimetön"
STR_NO_SERVER_URL: "Palvelinosoitetta ei ole määritetty"
STR_FETCH_FEED_FAILED: "Syötteen haku epäonnistui"
STR_PARSE_FEED_FAILED: "Syötteen käsittely epäonnistui"
STR_NETWORK_PREFIX: "Verkko: "
STR_IP_ADDRESS_PREFIX: "IP-osoite: "
STR_SCAN_QR_WIFI_HINT: "tai skannaa QR-koodi puhelimellasi yhdistääksesi WiFiin."
STR_ERROR_GENERAL_FAILURE: "Virhe: Yleinen virhe"
STR_ERROR_NETWORK_NOT_FOUND: "Virhe: Verkkoa ei löytynyt"
STR_ERROR_CONNECTION_TIMEOUT: "Virhe: Yhteys aikakatkaistiin"
STR_SD_CARD: "SD-kortti"
STR_BACK: "« Takaisin"
STR_EXIT: "« Poistu"
STR_HOME: "« Koti"
STR_SAVE: "« Tallenna"
STR_SELECT: "Valitse"
STR_TOGGLE: "Vaihda"
STR_CONFIRM: "Vahvista"
STR_CANCEL: "Peruuta"
STR_CONNECT: "Yhdistä"
STR_OPEN: "Avaa"
STR_DOWNLOAD: "Lataa"
STR_RETRY: "Yritä uudelleen"
STR_YES: "Kyllä"
STR_NO: "Ei"
STR_STATE_ON: "PÄÄLLÄ"
STR_STATE_OFF: "POIS"
STR_SET: "Asetettu"
STR_NOT_SET: "Ei asetettu"
STR_DIR_LEFT: "Vasen"
STR_DIR_RIGHT: "Oikea"
STR_DIR_UP: "Ylös"
STR_DIR_DOWN: "Alas"
STR_CAPS_ON: "ISOT"
STR_CAPS_OFF: "pienet"
STR_OK_BUTTON: "OK"
STR_ON_MARKER: "[PÄÄLLÄ]"
STR_SLEEP_COVER_FILTER: "Lepotilanäytön kansisuodatin"
STR_FILTER_CONTRAST: "Kontrasti"
STR_STATUS_BAR_FULL_PERCENT: "Täysi + prosentti"
STR_STATUS_BAR_FULL_BOOK: "Täysi + kirjapalkki"
STR_STATUS_BAR_BOOK_ONLY: "Vain kirjapalkki"
STR_STATUS_BAR_FULL_CHAPTER: "Täysi + lukupalkki"
STR_UI_THEME: "Käyttöliittymäteema"
STR_THEME_CLASSIC: "Klassinen"
STR_THEME_LYRA: "Lyra"
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
STR_SUNLIGHT_FADING_FIX: "Auringonvalon haalistumiskorjaus"
STR_REMAP_FRONT_BUTTONS: "Uudelleenmääritä etupainikkeet"
STR_OPDS_BROWSER: "OPDS-selain"
STR_COVER_CUSTOM: "Kansi + mukautettu"
STR_RECENTS: "Viimeisimmät"
STR_MENU_RECENT_BOOKS: "Viimeisimmät kirjat"
STR_NO_RECENT_BOOKS: "Ei viimeisimpiä kirjoja"
STR_CALIBRE_DESC: "Käytä Calibren langatonta laiteyhteyttä"
STR_FORGET_AND_REMOVE: "Unohda verkko ja poista tallennettu salasana?"
STR_FORGET_BUTTON: "Unohda"
STR_CALIBRE_STARTING: "Käynnistetään Calibrea..."
STR_CALIBRE_SETUP: "Asetukset"
STR_CALIBRE_STATUS: "Tila"
STR_CLEAR_BUTTON: "Tyhjennä"
STR_DEFAULT_VALUE: "Oletus"
STR_REMAP_PROMPT: "Paina etupainiketta kullekin toiminnolle"
STR_UNASSIGNED: "Ei määritetty"
STR_ALREADY_ASSIGNED: "Jo määritetty"
STR_REMAP_RESET_HINT: "Sivupainike ylös: Palauta oletusasettelu"
STR_REMAP_CANCEL_HINT: "Sivupainike alas: Peruuta uudelleenmääritys"
STR_HW_BACK_LABEL: "Takaisin (1. painike)"
STR_HW_CONFIRM_LABEL: "Vahvista (2. painike)"
STR_HW_LEFT_LABEL: "Vasen (3. painike)"
STR_HW_RIGHT_LABEL: "Oikea (4. painike)"
STR_GO_TO_PERCENT: "Siirry kohtaan %"
STR_GO_HOME_BUTTON: "Siirry kotiin"
STR_SYNC_PROGRESS: "Synkronoi edistyminen"
STR_DELETE_CACHE: "Poista kirjan välimuisti"
STR_CHAPTER_PREFIX: "Luku: "
STR_PAGES_SEPARATOR: " sivua | "
STR_BOOK_PREFIX: "Kirja: "
STR_KBD_SHIFT: "shift"
STR_KBD_SHIFT_CAPS: "SHIFT"
STR_KBD_LOCK: "LOCK"
STR_CALIBRE_URL_HINT: "Calibrelle lisää /opds osoitteeseen"
STR_PERCENT_STEP_HINT: "Vasen/Oikea: 1% Ylös/Alas: 10%"
STR_SYNCING_TIME: "Synkronoidaan aikaa..."
STR_CALC_HASH: "Lasketaan dokumentin tarkistussummaa..."
STR_HASH_FAILED: "Dokumentin tiivisteen laskenta epäonnistui"
STR_FETCH_PROGRESS: "Haetaan etäedistymistä..."
STR_UPLOAD_PROGRESS: "Lähetetään lukuedistymistä..."
STR_NO_CREDENTIALS_MSG: "Tunnuksia ei ole määritetty"
STR_KOREADER_SETUP_HINT: "Määritä KOReader-tili asetuksissa"
STR_PROGRESS_FOUND: "Edistyminen löytyi!"
STR_REMOTE_LABEL: "Etä:"
STR_LOCAL_LABEL: "Paikallinen:"
STR_PAGE_OVERALL_FORMAT: "Sivu %d, %.2f%% kokonaisuudesta"
STR_PAGE_TOTAL_OVERALL_FORMAT: "Sivu %d/%d, %.2f%% kokonaisuudesta"
STR_DEVICE_FROM_FORMAT: " Lähde: %s"
STR_APPLY_REMOTE: "Käytä etäedistymistä"
STR_UPLOAD_LOCAL: "Lähetä paikallinen edistyminen"
STR_NO_REMOTE_MSG: "Etäedistymistä ei löytynyt"
STR_UPLOAD_PROMPT: "Lähetä nykyinen sijainti?"
STR_UPLOAD_SUCCESS: "Edistyminen lähetetty!"
STR_SYNC_FAILED_MSG: "Synkronointi epäonnistui"
STR_SECTION_PREFIX: "Osio "
STR_UPLOAD: "Lähetä"
STR_BOOK_S_STYLE: "Kirjan tyyli"
STR_EMBEDDED_STYLE: "Upotettu tyyli"
STR_OPDS_SERVER_URL: "OPDS-palvelimen osoite"
STR_SCREENSHOT_BUTTON: "Ota kuvakaappaus"