
msgid ""
msgstr ""
"Project-Id-Version:  TimeTracker\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-11-24 06:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fi\n"
"Language-Team: fi <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"

#: app/__init__.py:721 app/__init__.py:754
msgid "Your session expired or the page was open too long. Please try again."
msgstr "Istunto on vanhentunut tai sivu oli auki liian kauan. Yritä uudelleen."

#: app/routes/admin.py:41
msgid "Administrator access required"
msgstr "Järjestelmänvalvojan käyttöoikeudet vaaditaan"

#: app/routes/admin.py:162 app/routes/admin.py:199 app/routes/auth.py:61
msgid "Username is required"
msgstr "Käyttäjätunnus vaaditaan"

#: app/routes/admin.py:167
msgid "User already exists"
msgstr "Käyttäjä on jo olemassa"

#: app/routes/admin.py:174
msgid "Could not create user due to a database error. Please check server logs."
msgstr "Käyttäjää ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/admin.py:177
#, python-format
msgid "User \"%(username)s\" created successfully"
msgstr "Käyttäjän \"%(username)s\" luominen onnistui"

#: app/routes/admin.py:205
msgid "Username already exists"
msgstr "Käyttäjätunnus on jo olemassa"

#: app/routes/admin.py:210
msgid "Please select a client when enabling client portal access."
msgstr "Valitse asiakas, kun otat asiakasportaalin käyttöön."

#: app/routes/admin.py:221
msgid "Could not update user due to a database error. Please check server logs."
msgstr ""
"Käyttäjää ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/admin.py:224
#, python-format
msgid "User \"%(username)s\" updated successfully"
msgstr "Käyttäjän \"%(username)s\" päivitys onnistui"

#: app/routes/admin.py:240
msgid "Cannot delete the last administrator"
msgstr "Viimeistä järjestelmänvalvojaa ei voi poistaa"

#: app/routes/admin.py:245
msgid "Cannot delete user with existing time entries"
msgstr "Ei voi poistaa käyttäjää, jolla on olemassa olevia aikamerkintöjä"

#: app/routes/admin.py:251
msgid "Could not delete user due to a database error. Please check server logs."
msgstr ""
"Käyttäjää ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/admin.py:254
#, python-format
msgid "User \"%(username)s\" deleted successfully"
msgstr "Käyttäjän \"%(username)s\" poistaminen onnistui"

#: app/routes/admin.py:314
msgid "Telemetry has been enabled. Thank you for helping us improve!"
msgstr "Telemetria on otettu käyttöön. Kiitos, että autat meitä parantamaan!"

#: app/routes/admin.py:316
msgid "Telemetry has been disabled."
msgstr "Telemetria on poistettu käytöstä."

#: app/routes/admin.py:350
#, python-format
msgid "Invalid timezone: %(timezone)s"
msgstr "Virheellinen aikavyöhyke: %(timezone)s"

#: app/routes/admin.py:394
msgid "Could not update settings due to a database error. Please check server logs."
msgstr ""
"Asetuksia ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/admin.py:396
msgid "Settings updated successfully"
msgstr "Asetukset päivitetty onnistuneesti"

#: app/routes/admin.py:441 app/routes/admin.py:539
msgid "Could not update PDF layout due to a database error."
msgstr "PDF-asettelua ei voitu päivittää tietokantavirheen vuoksi."

#: app/routes/admin.py:444 app/routes/admin.py:541
msgid "PDF layout updated successfully"
msgstr "PDF-asettelu päivitetty onnistuneesti"

#: app/routes/admin.py:502 app/routes/admin.py:605
msgid "Could not reset PDF layout due to a database error."
msgstr "PDF-asettelua ei voitu nollata tietokantavirheen vuoksi."

#: app/routes/admin.py:504 app/routes/admin.py:607
msgid "PDF layout reset to defaults"
msgstr "PDF-asettelu palautettu oletusasetuksiin"

#: app/routes/admin.py:1139 app/routes/admin.py:1144
msgid "No logo file selected"
msgstr "Logotiedostoa ei ole valittu"

#: app/routes/admin.py:1160 app/routes/auth.py:234
msgid "Invalid image file."
msgstr "Virheellinen kuvatiedosto."

#: app/routes/admin.py:1187
msgid "Could not save logo due to a database error. Please check server logs."
msgstr "Logoa ei voitu tallentaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/admin.py:1190
msgid ""
"Company logo uploaded successfully! You can see it in the \"Current Company "
"Logo\" section above. It will appear on invoices and PDF documents."
msgstr ""
"Yrityksen logon lataus onnistui! Näet sen yllä olevassa \"Nykyinen yrityksen"
" logo\" -osiossa. Se näkyy laskuissa ja PDF-dokumenteissa."

#: app/routes/admin.py:1192
msgid "Invalid file type. Allowed types: PNG, JPG, JPEG, GIF, SVG, WEBP"
msgstr "Virheellinen tiedostotyyppi. Sallitut tyypit: PNG, JPG, JPEG, GIF, SVG, WEBP"

#: app/routes/admin.py:1215
msgid "Could not remove logo due to a database error. Please check server logs."
msgstr "Logoa ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/admin.py:1217
msgid ""
"Company logo removed successfully. Upload a new logo in the section below if"
" needed."
msgstr ""
"Yrityksen logon poisto onnistui. Lataa tarvittaessa uusi logo alla olevaan "
"osioon."

#: app/routes/admin.py:1219
msgid "No logo to remove"
msgstr "Ei poistettavaa logoa"

#: app/routes/admin.py:1278
msgid "Backup failed: archive not created"
msgstr "Varmuuskopiointi epäonnistui: arkistoa ei luotu"

#: app/routes/admin.py:1283
#, python-format
msgid "Backup failed: %(error)s"
msgstr "Varmuuskopiointi epäonnistui: %(error)s"

#: app/routes/admin.py:1295 app/routes/admin.py:1316
msgid "Invalid file type"
msgstr "Virheellinen tiedostotyyppi"

#: app/routes/admin.py:1302 app/routes/admin.py:1327
msgid "Backup file not found"
msgstr "Varmuuskopiotiedostoa ei löydy"

#: app/routes/admin.py:1325
#, python-format
msgid "Backup \"%(filename)s\" deleted successfully"
msgstr "Varmuuskopio \"%(filename)s\" poistettiin onnistuneesti"

#: app/routes/admin.py:1329
#, python-format
msgid "Failed to delete backup: %(error)s"
msgstr "Varmuuskopion poistaminen epäonnistui: %(error)s"

#: app/routes/admin.py:1347
msgid "Invalid file type. Please select a .zip backup archive."
msgstr "Virheellinen tiedostotyyppi. Valitse .zip-varmuuskopioarkisto."

#: app/routes/admin.py:1351
msgid "Backup file not found."
msgstr "Varmuuskopiotiedostoa ei löydy."

#: app/routes/admin.py:1362
msgid "Invalid file type. Please upload a .zip backup archive."
msgstr "Virheellinen tiedostotyyppi. Lataa .zip-varmuuskopioarkisto."

#: app/routes/admin.py:1369
msgid "No backup file provided"
msgstr "Varmuuskopiotiedostoa ei ole toimitettu"

#: app/routes/admin.py:1403
msgid "Restore started. You can monitor progress on this page."
msgstr "Palautus aloitettu. Voit seurata edistymistä tällä sivulla."

#: app/routes/admin.py:1522
msgid "OIDC is not enabled. Set AUTH_METHOD to \"oidc\" or \"both\"."
msgstr "OIDC ei ole käytössä. Aseta AUTH_METHOD arvoksi \"oidc\" tai \"molemmat\"."

#: app/routes/admin.py:1527
msgid "OIDC_ISSUER is not configured"
msgstr "OIDC_ISSUER ei ole määritetty"

#: app/routes/admin.py:1537
#, python-format
msgid "✓ Discovery document fetched successfully from %(url)s"
msgstr "✓ Löytöasiakirja haettu onnistuneesti osoitteesta %(url)s"

#: app/routes/admin.py:1540
#, python-format
msgid "✗ Timeout fetching discovery document from %(url)s"
msgstr "✗ Aikakatkaisu etsintäasiakirjan hakemisessa osoitteesta %(url)s"

#: app/routes/admin.py:1544
#, python-format
msgid "✗ Failed to fetch discovery document: %(error)s"
msgstr "✗ Löytöasiakirjan nouto epäonnistui: %(error)s"

#: app/routes/admin.py:1548
#, python-format
msgid "✗ Unexpected error: %(error)s"
msgstr "✗ Odottamaton virhe: %(error)s"

#: app/routes/admin.py:1556
msgid "✓ OAuth client is registered in application"
msgstr "✓ OAuth-asiakas on rekisteröity sovellukseen"

#: app/routes/admin.py:1559
msgid "✗ OAuth client is not registered"
msgstr "✗ OAuth-asiakasta ei ole rekisteröity"

#: app/routes/admin.py:1562
#, python-format
msgid "✗ Failed to create OAuth client: %(error)s"
msgstr "✗ OAuth-asiakkaan luominen epäonnistui: %(error)s"

#: app/routes/admin.py:1569
#, python-format
msgid "✓ %(endpoint)s: %(url)s"
msgstr "✓ %(päätepiste)s: %(url)s"

#: app/routes/admin.py:1571
#, python-format
msgid "✗ Missing %(endpoint)s in discovery document"
msgstr "✗ Löytöasiakirjasta puuttuu %(endpoint)s"

#: app/routes/admin.py:1578
#, python-format
msgid "✓ Scope \"%(scope)s\" is supported by provider"
msgstr "✓ Palveluntarjoaja tukee laajuutta \"%(scope)s\"."

#: app/routes/admin.py:1580
#, python-format
msgid ""
"⚠ Scope \"%(scope)s\" may not be supported by provider (supported: "
"%(supported)s)"
msgstr ""
"⚠ Palveluntarjoaja ei ehkä tue laajuutta \"%(scope)s\" (tuettu: "
"%(supported)s)"

#: app/routes/admin.py:1585
#, python-format
msgid "ℹ Provider supports claims: %(claims)s"
msgstr "ℹ Palveluntarjoaja tukee vaatimuksia: %(claims)s"

#: app/routes/admin.py:1597
#, python-format
msgid "✓ Configured %(claim_type)s claim \"%(claim_name)s\" is supported"
msgstr "✓ Määritetty %(claim_type)s-vaatimus \"%(claim_name)s\" on tuettu"

#: app/routes/admin.py:1599
#, python-format
msgid ""
"⚠ Configured %(claim_type)s claim \"%(claim_name)s\" not in supported claims"
" list (may still work)"
msgstr ""
"⚠ Määritetty %(claim_type)s-vaatimus \"%(claim_name)s\" ei ole tuettujen "
"vaatimusten luettelossa (voi silti toimia)"

#: app/routes/admin.py:1601
msgid "OIDC configuration test completed"
msgstr "OIDC-määritystesti valmis"

#: app/routes/admin.py:1931 app/routes/admin.py:1995 app/routes/quotes.py:1041
#: app/routes/quotes.py:1126 app/routes/time_entry_templates.py:51
#: app/routes/time_entry_templates.py:167
msgid "Template name is required"
msgstr "Mallin nimi vaaditaan"

#: app/routes/admin.py:1937 app/routes/admin.py:2004
msgid "A template with this name already exists"
msgstr "Tämän niminen malli on jo olemassa"

#: app/routes/admin.py:1956
msgid "Could not create email template due to a database error."
msgstr "Sähköpostimallia ei voitu luoda tietokantavirheen vuoksi."

#: app/routes/admin.py:1959
msgid "Email template created successfully"
msgstr "Sähköpostimallin luominen onnistui"

#: app/routes/admin.py:2020
msgid "Could not update email template due to a database error."
msgstr "Sähköpostimallia ei voitu päivittää tietokantavirheen vuoksi."

#: app/routes/admin.py:2023
msgid "Email template updated successfully"
msgstr "Sähköpostimallin päivitys onnistui"

#: app/routes/admin.py:2041
msgid "Cannot delete template that is in use by invoices or recurring invoices"
msgstr "Laskujen tai toistuvien laskujen käytössä olevaa mallia ei voi poistaa"

#: app/routes/admin.py:2046
msgid "Could not delete email template due to a database error."
msgstr "Sähköpostimallia ei voitu poistaa tietokantavirheen vuoksi."

#: app/routes/admin.py:2048
#, python-format
msgid "Email template \"%(name)s\" deleted successfully"
msgstr "Sähköpostimallin \"%(name)s\" poistaminen onnistui"

#: app/routes/audit_logs.py:24
msgid "Audit logs table does not exist. Please run: flask db upgrade"
msgstr "Tarkastuslokitaulukkoa ei ole olemassa. Suorita: flask db upgrade"

#: app/routes/auth.py:83
msgid ""
"Could not create your account due to a database error. Please try again "
"later."
msgstr "Tiliäsi ei voitu luoda tietokantavirheen vuoksi. Yritä myöhemmin uudelleen."

#: app/routes/auth.py:94 app/routes/auth.py:508
msgid "Welcome! Your account has been created."
msgstr "Tervetuloa! Tilisi on luotu."

#: app/routes/auth.py:97
msgid "User not found. Please contact an administrator."
msgstr "Käyttäjää ei löydy. Ota yhteyttä järjestelmänvalvojaan."

#: app/routes/auth.py:105
msgid "Could not update your account role due to a database error."
msgstr "Tilin roolia ei voitu päivittää tietokantavirheen vuoksi."

#: app/routes/auth.py:111 app/routes/auth.py:550
msgid "Account is disabled. Please contact an administrator."
msgstr "Tili on poistettu käytöstä. Ota yhteyttä järjestelmänvalvojaan."

#: app/routes/auth.py:135 app/routes/auth.py:581
#, python-format
msgid "Welcome back, %(username)s!"
msgstr "Tervetuloa takaisin, %(username)s!"

#: app/routes/auth.py:139
msgid "Unexpected error during login. Please try again or check server logs."
msgstr ""
"Odottamaton virhe kirjautumisen aikana. Yritä uudelleen tai tarkista "
"palvelimen lokit."

#: app/routes/auth.py:169
#, python-format
msgid "Goodbye, %(username)s!"
msgstr "Hyvästi, %(username)s!"

#: app/routes/auth.py:224
msgid "Invalid avatar file type. Allowed: PNG, JPG, JPEG, GIF, WEBP"
msgstr "Virheellinen avatar-tiedostotyyppi. Sallittu: PNG, JPG, JPEG, GIF, WEBP"

#: app/routes/auth.py:247
msgid "Failed to save avatar on server."
msgstr "Avatarin tallentaminen palvelimelle epäonnistui."

#: app/routes/auth.py:266
msgid "Profile updated successfully"
msgstr "Profiilin päivitys onnistui"

#: app/routes/auth.py:269
msgid "Could not update your profile due to a database error."
msgstr "Profiiliasi ei voitu päivittää tietokantavirheen vuoksi."

#: app/routes/auth.py:291
msgid "Avatar removed"
msgstr "Avatar poistettu"

#: app/routes/auth.py:294
msgid "Failed to remove avatar."
msgstr "Avatarin poistaminen epäonnistui."

#: app/routes/auth.py:342
msgid "Single Sign-On is not configured yet. Please contact an administrator."
msgstr ""
"Kertakirjautumista ei ole vielä määritetty. Ota yhteyttä "
"järjestelmänvalvojaan."

#: app/routes/auth.py:361
msgid "Single Sign-On is not configured."
msgstr "Kertakirjautumista ei ole määritetty."

#: app/routes/auth.py:464
msgid ""
"Authentication failed: missing issuer or subject claim. Please check OIDC "
"configuration."
msgstr ""
"Todennus epäonnistui: myöntäjä- tai aihevaatimus puuttuu. Tarkista OIDC-"
"asetukset."

#: app/routes/auth.py:488
msgid "User account does not exist and self-registration is disabled."
msgstr "Käyttäjätiliä ei ole olemassa ja itserekisteröinti on poistettu käytöstä."

#: app/routes/auth.py:511
msgid "Could not create your account due to a database error."
msgstr "Tiliäsi ei voitu luoda tietokantavirheen vuoksi."

#: app/routes/auth.py:586
msgid "Unexpected error during SSO login. Please try again or contact support."
msgstr ""
"Odottamaton virhe SSO-kirjautumisen aikana. Yritä uudelleen tai ota yhteyttä"
" tukeen."

#: app/routes/budget_alerts.py:342
msgid "You do not have access to this project."
msgstr "Sinulla ei ole pääsyä tähän projektiin."

#: app/routes/budget_alerts.py:349
msgid "This project does not have a budget set."
msgstr "Tälle hankkeelle ei ole asetettu budjettia."

#: app/routes/calendar.py:153
msgid "Event created successfully"
msgstr "Tapahtuma luotu onnistuneesti"

#: app/routes/calendar.py:233
msgid "Event updated successfully"
msgstr "Tapahtuman päivitys onnistui"

#: app/routes/calendar.py:252
msgid "You do not have permission to delete this event."
msgstr "Sinulla ei ole lupaa poistaa tätä tapahtumaa."

#: app/routes/calendar.py:260
msgid "Failed to delete event"
msgstr "Tapahtuman poistaminen epäonnistui"

#: app/routes/calendar.py:265 app/routes/calendar.py:270
msgid "Event deleted successfully"
msgstr "Tapahtuman poistaminen onnistui"

#: app/routes/calendar.py:276
#, python-format
msgid "Error deleting event: %(error)s"
msgstr "Virhe poistettaessa tapahtumaa: %(error)s"

#: app/routes/calendar.py:306
msgid "Event moved successfully"
msgstr "Tapahtuma siirrettiin onnistuneesti"

#: app/routes/calendar.py:344
msgid "Event resized successfully"
msgstr "Tapahtuman koon muuttaminen onnistui"

#: app/routes/calendar.py:362
msgid "You do not have permission to view this event."
msgstr "Sinulla ei ole lupaa tarkastella tätä tapahtumaa."

#: app/routes/calendar.py:413
msgid "You do not have permission to edit this event."
msgstr "Sinulla ei ole lupaa muokata tätä tapahtumaa."

#: app/routes/client_notes.py:23 app/routes/client_notes.py:79
msgid "Note content cannot be empty"
msgstr "Huomautuksen sisältö ei voi olla tyhjä"

#: app/routes/client_notes.py:45
msgid "Note added successfully"
msgstr "Huomautus lisätty onnistuneesti"

#: app/routes/client_notes.py:47
msgid "Error adding note"
msgstr "Virhe muistiinpanon lisäämisessä"

#: app/routes/client_notes.py:50 app/routes/client_notes.py:52
#, python-format
msgid "Error adding note: %(error)s"
msgstr "Virhe lisättäessä huomautusta: %(error)s"

#: app/routes/client_notes.py:65 app/routes/client_notes.py:110
msgid "Note does not belong to this client"
msgstr "Huomautus ei kuulu tälle asiakkaalle"

#: app/routes/client_notes.py:70
msgid "You do not have permission to edit this note"
msgstr "Sinulla ei ole lupaa muokata tätä muistiinpanoa"

#: app/routes/client_notes.py:85 app/templates/clients/view.html:327
#: app/templates/clients/view.html:332
msgid "Error updating note"
msgstr "Virhe muistiinpanon päivittämisessä"

#: app/routes/client_notes.py:92
msgid "Note updated successfully"
msgstr "Huomautus päivitetty onnistuneesti"

#: app/routes/client_notes.py:96 app/routes/client_notes.py:98
#, python-format
msgid "Error updating note: %(error)s"
msgstr "Virhe päivitettäessä huomautusta: %(error)s"

#: app/routes/client_notes.py:115
msgid "You do not have permission to delete this note"
msgstr "Sinulla ei ole lupaa poistaa tätä muistiinpanoa"

#: app/routes/client_notes.py:124
msgid "Error deleting note"
msgstr "Virhe muistiinpanon poistamisessa"

#: app/routes/client_notes.py:131
msgid "Note deleted successfully"
msgstr "Huomautus poistettu onnistuneesti"

#: app/routes/client_notes.py:134
#, python-format
msgid "Error deleting note: %(error)s"
msgstr "Virhe poistettaessa huomautusta: %(error)s"

#: app/routes/client_portal.py:55 app/routes/client_portal.py:82
#: app/routes/client_portal.py:91 app/routes/client_portal.py:95
#: app/routes/client_portal.py:121
msgid "Please log in to access the client portal."
msgstr "Kirjaudu sisään päästäksesi asiakasportaaliin."

#: app/routes/client_portal.py:59
msgid "Client portal access is not enabled for your account."
msgstr "Asiakasportaalin käyttöoikeus ei ole käytössä tililläsi."

#: app/routes/client_portal.py:64
msgid "Your client account is inactive."
msgstr "Asiakastilisi ei ole aktiivinen."

#: app/routes/client_portal.py:161
msgid "Username and password are required."
msgstr "Käyttäjätunnus ja salasana vaaditaan."

#: app/routes/client_portal.py:168
msgid "Invalid username or password."
msgstr "Virheellinen käyttäjätunnus tai salasana."

#: app/routes/client_portal.py:175
#, python-format
msgid "Welcome, %(client_name)s!"
msgstr "Tervetuloa, %(client_name)s!"

#: app/routes/client_portal.py:189
msgid "You have been logged out."
msgstr "Sinut on kirjattu ulos."

#: app/routes/client_portal.py:199
msgid "Invalid or missing password setup token."
msgstr "Virheellinen tai puuttuu salasanan määritystunnus."

#: app/routes/client_portal.py:206
msgid "Invalid or expired password setup token. Please request a new one."
msgstr "Virheellinen tai vanhentunut salasanan määritystunnus. Pyydä uusi."

#: app/routes/client_portal.py:215
msgid "Password is required."
msgstr "Salasana vaaditaan."

#: app/routes/client_portal.py:219
msgid "Password must be at least 8 characters long."
msgstr "Salasanan tulee olla vähintään 8 merkkiä pitkä."

#: app/routes/client_portal.py:223
msgid "Passwords do not match."
msgstr "Salasanat eivät täsmää."

#: app/routes/client_portal.py:231
msgid "Could not set password due to a database error."
msgstr "Salasanaa ei voitu asettaa tietokantavirheen vuoksi."

#: app/routes/client_portal.py:234
msgid "Password set successfully! You can now log in to the portal."
msgstr "Salasana asetettu onnistuneesti! Voit nyt kirjautua sisään portaaliin."

#: app/routes/client_portal.py:251 app/routes/client_portal.py:321
#: app/routes/client_portal.py:356 app/routes/client_portal.py:454
msgid "Unable to load client portal data."
msgstr "Asiakasportaalin tietoja ei voi ladata."

#: app/routes/client_portal.py:392
msgid "Invoice not found."
msgstr "Laskua ei löydy."

#: app/routes/client_portal.py:434
msgid "Quote not found."
msgstr "Lainausta ei löytynyt."

#: app/routes/clients.py:76 app/routes/clients.py:78
msgid "You do not have permission to create clients"
msgstr "Sinulla ei ole lupaa luoda asiakkaita"

#: app/routes/clients.py:105 app/routes/clients.py:264
msgid "Client name is required"
msgstr "Asiakkaan nimi vaaditaan"

#: app/routes/clients.py:116 app/routes/clients.py:270
msgid "A client with this name already exists"
msgstr "Tämänniminen asiakas on jo olemassa"

#: app/routes/clients.py:129 app/routes/clients.py:277 app/routes/offers.py:92
#: app/routes/offers.py:228 app/routes/projects.py:242 app/routes/projects.py:652
#: app/routes/quotes.py:158
msgid "Invalid hourly rate format"
msgstr "Virheellinen tuntihinnan muoto"

#: app/routes/clients.py:141 app/routes/clients.py:285
msgid "Prepaid hours must be a positive number."
msgstr "Ennakkomaksutuntien on oltava positiivinen luku."

#: app/routes/clients.py:153 app/routes/clients.py:294
msgid "Prepaid reset day must be between 1 and 28."
msgstr "Prepaid-nollauspäivän on oltava välillä 1–28."

#: app/routes/clients.py:176
msgid "Could not create client due to a database error. Please check server logs."
msgstr ""
"Asiakasohjelmaa ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen"
" lokit."

#: app/routes/clients.py:248
msgid "You do not have permission to edit clients"
msgstr "Sinulla ei ole lupaa muokata asiakkaita"

#: app/routes/clients.py:305
msgid "Portal username is required when enabling portal access."
msgstr "Portaalin käyttäjätunnus vaaditaan portaalin käyttöönoton yhteydessä."

#: app/routes/clients.py:311
msgid "This portal username is already in use by another client."
msgstr "Tämä portaalin käyttäjätunnus on jo toisen asiakkaan käytössä."

#: app/routes/clients.py:339
msgid "Could not update client due to a database error. Please check server logs."
msgstr ""
"Asiakasohjelmaa ei voitu päivittää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/clients.py:360
msgid "You do not have permission to send portal emails"
msgstr "Sinulla ei ole lupaa lähettää portaalisähköposteja"

#: app/routes/clients.py:365
msgid "Client portal is not enabled for this client."
msgstr "Asiakasportaali ei ole käytössä tälle asiakkaalle."

#: app/routes/clients.py:369
msgid "Portal username is not set for this client."
msgstr "Portaalin käyttäjätunnusta ei ole asetettu tälle asiakkaalle."

#: app/routes/clients.py:373
msgid "Client email address is not set. Cannot send password setup email."
msgstr ""
"Asiakkaan sähköpostiosoitetta ei ole asetettu. Salasanan asetussähköpostia "
"ei voi lähettää."

#: app/routes/clients.py:380
msgid "Could not generate password setup token due to a database error."
msgstr "Salasanan määritystunnusta ei voitu luoda tietokantavirheen vuoksi."

#: app/routes/clients.py:394
#, python-format
msgid "Password setup email sent successfully to %(email)s"
msgstr "Salasanan asetussähköposti lähetetty onnistuneesti osoitteeseen %(email)s"

#: app/routes/clients.py:404
msgid ""
"Email server is not configured. Please configure email settings in Admin → "
"Email Configuration or set MAIL_SERVER environment variable."
msgstr ""
"Sähköpostipalvelinta ei ole määritetty. Määritä sähköpostiasetukset kohdassa"
" Admin → Email Configuration tai aseta MAIL_SERVER-ympäristömuuttuja."

#: app/routes/clients.py:406
msgid ""
"Failed to send password setup email. Please check email configuration and "
"server logs for details."
msgstr ""
"Salasanan asetussähköpostin lähettäminen epäonnistui. Tarkista sähköpostin "
"määritykset ja palvelimen lokit saadaksesi lisätietoja."

#: app/routes/clients.py:409
#, python-format
msgid "An error occurred while sending the email: %(error)s"
msgstr "Sähköpostia lähetettäessä tapahtui virhe: %(error)s"

#: app/routes/clients.py:421
msgid "You do not have permission to archive clients"
msgstr "Sinulla ei ole lupaa arkistoida asiakkaita"

#: app/routes/clients.py:425
msgid "Client is already inactive"
msgstr "Asiakas on jo epäaktiivinen"

#: app/routes/clients.py:442
msgid "You do not have permission to activate clients"
msgstr "Sinulla ei ole lupaa aktivoida asiakkaita"

#: app/routes/clients.py:446
msgid "Client is already active"
msgstr "Asiakas on jo aktiivinen"

#: app/routes/clients.py:461 app/routes/clients.py:489
msgid "You do not have permission to delete clients"
msgstr "Sinulla ei ole lupaa poistaa asiakkaita"

#: app/routes/clients.py:466
msgid "Cannot delete client with existing projects"
msgstr "Olemassa olevien projektien asiakasta ei voi poistaa"

#: app/routes/clients.py:473
msgid "Could not delete client due to a database error. Please check server logs."
msgstr ""
"Asiakasohjelmaa ei voitu poistaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/clients.py:495
msgid "No clients selected for deletion"
msgstr "Poistettavia asiakkaita ei ole valittu"

#: app/routes/clients.py:534
msgid "Could not delete clients due to a database error. Please check server logs."
msgstr ""
"Asiakkaita ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/clients.py:545
msgid "No clients were deleted"
msgstr "Asiakkaita ei poistettu"

#: app/routes/clients.py:555
msgid "You do not have permission to change client status"
msgstr "Sinulla ei ole lupaa muuttaa asiakkaan tilaa"

#: app/routes/clients.py:562
msgid "No clients selected"
msgstr "Asiakkaita ei ole valittu"

#: app/routes/clients.py:566 app/routes/projects.py:968 app/routes/tasks.py:399
msgid "Invalid status"
msgstr "Virheellinen tila"

#: app/routes/clients.py:595
msgid ""
"Could not update client status due to a database error. Please check server "
"logs."
msgstr ""
"Asiakkaan tilaa ei voitu päivittää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/clients.py:607
msgid "No clients were updated"
msgstr "Asiakkaita ei ole päivitetty"

#: app/routes/comments.py:24 app/routes/comments.py:114
msgid "Comment content cannot be empty"
msgstr "Kommentin sisältö ei voi olla tyhjä"

#: app/routes/comments.py:28
msgid "Comment must be associated with a project, task, or quote"
msgstr "Kommentin on liityttävä projektiin, tehtävään tai tarjoukseen"

#: app/routes/comments.py:34
msgid "Comment cannot be associated with multiple targets"
msgstr "Kommenttia ei voi liittää useisiin kohteisiin"

#: app/routes/comments.py:56
msgid "Invalid parent comment"
msgstr "Virheellinen vanhemman kommentti"

#: app/routes/comments.py:81
msgid "Comment added successfully"
msgstr "Kommentti lisätty onnistuneesti"

#: app/routes/comments.py:83
msgid "Error adding comment"
msgstr "Virhe kommentin lisäämisessä"

#: app/routes/comments.py:86
#, python-format
msgid "Error adding comment: %(error)s"
msgstr "Virhe lisättäessä kommenttia: %(error)s"

#: app/routes/comments.py:106
msgid "You do not have permission to edit this comment"
msgstr "Sinulla ei ole lupaa muokata tätä kommenttia"

#: app/routes/comments.py:123
msgid "Comment updated successfully"
msgstr "Kommentin päivitys onnistui"

#: app/routes/comments.py:136
#, python-format
msgid "Error updating comment: %(error)s"
msgstr "Virhe päivitettäessä kommenttia: %(error)s"

#: app/routes/comments.py:148
msgid "You do not have permission to delete this comment"
msgstr "Sinulla ei ole lupaa poistaa tätä kommenttia"

#: app/routes/comments.py:163
msgid "Comment deleted successfully"
msgstr "Kommentin poistaminen onnistui"

#: app/routes/comments.py:176
#, python-format
msgid "Error deleting comment: %(error)s"
msgstr "Virhe poistettaessa kommenttia: %(error)s"

#: app/routes/contacts.py:57
msgid "Contact created successfully"
msgstr "Yhteystietojen luominen onnistui"

#: app/routes/contacts.py:61
#, python-format
msgid "Error creating contact: %(error)s"
msgstr "Virhe luotaessa yhteystietoa: %(error)s"

#: app/routes/contacts.py:104
msgid "Contact updated successfully"
msgstr "Yhteystietojen päivitys onnistui"

#: app/routes/contacts.py:108
#, python-format
msgid "Error updating contact: %(error)s"
msgstr "Virhe päivitettäessä yhteystietoa: %(error)s"

#: app/routes/contacts.py:123
msgid "Contact deleted successfully"
msgstr "Yhteyshenkilön poistaminen onnistui"

#: app/routes/contacts.py:126
#, python-format
msgid "Error deleting contact: %(error)s"
msgstr "Virhe poistettaessa yhteystietoa: %(error)s"

#: app/routes/contacts.py:139
msgid "Contact set as primary"
msgstr "Yhteyshenkilö asetettu ensisijaiseksi"

#: app/routes/contacts.py:142
#, python-format
msgid "Error setting primary contact: %(error)s"
msgstr "Virhe ensisijaisen yhteyshenkilön asettamisessa: %(error)s"

#: app/routes/contacts.py:178
msgid "Communication recorded successfully"
msgstr "Viestintä tallennettu onnistuneesti"

#: app/routes/contacts.py:182
#, python-format
msgid "Error recording communication: %(error)s"
msgstr "Virhe tallennettaessa viestintää: %(error)s"

#: app/routes/deals.py:104 app/routes/deals.py:178
msgid "Invalid deal value"
msgstr "Virheellinen tarjouksen arvo"

#: app/routes/deals.py:137
msgid "Deal created successfully"
msgstr "Kauppa luotu onnistuneesti"

#: app/routes/deals.py:141
#, python-format
msgid "Error creating deal: %(error)s"
msgstr "Virhe tarjouksen luomisessa: %(error)s"

#: app/routes/deals.py:206
msgid "Deal updated successfully"
msgstr "Sopimuksen päivitys onnistui"

#: app/routes/deals.py:210
#, python-format
msgid "Error updating deal: %(error)s"
msgstr "Virhe päivitettäessä sopimusta: %(error)s"

#: app/routes/deals.py:242
msgid "Deal closed as won"
msgstr "Kauppa suljettiin voitettuna"

#: app/routes/deals.py:245 app/routes/deals.py:272
#, python-format
msgid "Error closing deal: %(error)s"
msgstr "Virhe suljettaessa sopimusta: %(error)s"

#: app/routes/deals.py:269
msgid "Deal closed as lost"
msgstr "Kauppa päättyi menetettynä"

#: app/routes/deals.py:304 app/routes/leads.py:309
msgid "Activity recorded successfully"
msgstr "Toiminnan tallennus onnistui"

#: app/routes/deals.py:308 app/routes/leads.py:313
#, python-format
msgid "Error recording activity: %(error)s"
msgstr "Virhe tallennettaessa toimintaa: %(error)s"

#: app/routes/expense_categories.py:50 app/routes/expense_categories.py:138
msgid "Category name is required"
msgstr "Luokan nimi vaaditaan"

#: app/routes/expense_categories.py:85
msgid "Expense category created successfully"
msgstr "Kululuokka luotu onnistuneesti"

#: app/routes/expense_categories.py:90 app/routes/expense_categories.py:96
msgid "Error creating expense category"
msgstr "Virhe luotaessa kululuokkaa"

#: app/routes/expense_categories.py:169
msgid "Expense category updated successfully"
msgstr "Kululuokan päivitys onnistui"

#: app/routes/expense_categories.py:174 app/routes/expense_categories.py:180
msgid "Error updating expense category"
msgstr "Virhe kululuokan päivittämisessä"

#: app/routes/expense_categories.py:197
msgid "Expense category deactivated successfully"
msgstr "Kululuokka deaktivoitu onnistuneesti"

#: app/routes/expense_categories.py:201 app/routes/expense_categories.py:206
msgid "Error deactivating expense category"
msgstr "Virhe kululuokan deaktivoinnissa"

#: app/routes/expenses.py:231
msgid "Title is required"
msgstr "Otsikko vaaditaan"

#: app/routes/expenses.py:235
msgid "Category is required"
msgstr "Luokka vaaditaan"

#: app/routes/expenses.py:239
msgid "Amount is required"
msgstr "Määrä vaaditaan"

#: app/routes/expenses.py:243
msgid "Expense date is required"
msgstr "Kulutuspäivä vaaditaan"

#: app/routes/expenses.py:250 app/routes/expenses.py:413
#: app/routes/expenses.py:1205 app/routes/mileage.py:179
#: app/routes/per_diem.py:136 app/routes/projects.py:1226
#: app/routes/projects.py:1297 app/routes/reports.py:181 app/routes/reports.py:326
#: app/routes/reports.py:460 app/routes/reports.py:656 app/routes/reports.py:740
#: app/routes/reports.py:800 app/routes/timer.py:743 app/routes/weekly_goals.py:87
msgid "Invalid date format"
msgstr "Virheellinen päivämäärän muoto"

#: app/routes/expenses.py:258 app/routes/expenses.py:421
#: app/routes/expenses.py:1213 app/routes/projects.py:1219
#: app/routes/projects.py:1290
msgid "Invalid amount format"
msgstr "Virheellinen summan muoto"

#: app/routes/expenses.py:325
msgid "Expense created successfully"
msgstr "Kulu luotu onnistuneesti"

#: app/routes/expenses.py:336 app/routes/expenses.py:341
#: app/routes/expenses.py:1258 app/routes/expenses.py:1263
msgid "Error creating expense"
msgstr "Virhe kuluja luotaessa"

#: app/routes/expenses.py:353
msgid "You do not have permission to view this expense"
msgstr "Sinulla ei ole lupaa tarkastella tätä kulua"

#: app/routes/expenses.py:371
msgid "You do not have permission to edit this expense"
msgstr "Sinulla ei ole lupaa muokata tätä kulua"

#: app/routes/expenses.py:376
msgid "Cannot edit approved or reimbursed expenses"
msgstr "Hyväksyttyjä tai korvattuja kuluja ei voi muokata"

#: app/routes/expenses.py:406 app/routes/expenses.py:1198
#: app/routes/mileage.py:172 app/routes/per_diem.py:128 app/routes/per_diem.py:550
#: app/routes/per_diem.py:601
msgid "Please fill in all required fields"
msgstr "Täytä kaikki pakolliset kentät"

#: app/routes/expenses.py:482
msgid "Expense updated successfully"
msgstr "Kulujen päivitys onnistui"

#: app/routes/expenses.py:487 app/routes/expenses.py:492
msgid "Error updating expense"
msgstr "Virhe kulujen päivittämisessä"

#: app/routes/expenses.py:504
msgid "You do not have permission to delete this expense"
msgstr "Sinulla ei ole lupaa poistaa tätä kulua"

#: app/routes/expenses.py:509
msgid "Cannot delete approved or invoiced expenses"
msgstr "Hyväksyttyjä tai laskutettuja kuluja ei voi poistaa"

#: app/routes/expenses.py:525
msgid "Expense deleted successfully"
msgstr "Kulu poistettu onnistuneesti"

#: app/routes/expenses.py:529 app/routes/expenses.py:533
msgid "Error deleting expense"
msgstr "Virhe kulujen poistamisessa"

#: app/routes/expenses.py:544
msgid "No expenses selected for deletion"
msgstr "Poistettavia kuluja ei ole valittu"

#: app/routes/expenses.py:591
msgid "Could not delete expenses due to a database error. Please check server logs."
msgstr "Kuluja ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/expenses.py:596
#, python-format
msgid "Successfully deleted %(count)d expense(s)"
msgstr "%(count)d kulu(tta) poistettu onnistuneesti"

#: app/routes/expenses.py:599
#, python-format
msgid "Skipped %(count)d expense(s): %(errors)s"
msgstr "Ohitettu %(count)d kulu(tta): %(errors)s"

#: app/routes/expenses.py:611
msgid "No expenses selected"
msgstr "Kuluja ei ole valittu"

#: app/routes/expenses.py:617 app/routes/invoices.py:573 app/routes/mileage.py:407
#: app/routes/payments.py:523 app/routes/per_diem.py:413 app/routes/tasks.py:637
msgid "Invalid status value"
msgstr "Virheellinen tila-arvo"

#: app/routes/expenses.py:644
msgid "Could not update expenses due to a database error"
msgstr "Kuluja ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/expenses.py:647
#, python-format
msgid "Successfully updated %(count)d expense(s) to %(status)s"
msgstr "%(count)d kulu(t) päivitetty onnistuneesti arvoon %(status)s"

#: app/routes/expenses.py:650
#, python-format
msgid "Skipped %(count)d expense(s) (no permission)"
msgstr "Ohitettu %(count)d kulu(tta) (ei lupaa)"

#: app/routes/expenses.py:660
msgid "Only administrators can approve expenses"
msgstr "Vain järjestelmänvalvojat voivat hyväksyä kulut"

#: app/routes/expenses.py:666
msgid "Only pending expenses can be approved"
msgstr "Vain odottavat kulut voidaan hyväksyä"

#: app/routes/expenses.py:674
msgid "Expense approved successfully"
msgstr "Kulu hyväksytty"

#: app/routes/expenses.py:678 app/routes/expenses.py:682
msgid "Error approving expense"
msgstr "Virhe kulujen hyväksymisessä"

#: app/routes/expenses.py:692
msgid "Only administrators can reject expenses"
msgstr "Vain järjestelmänvalvojat voivat hylätä kulut"

#: app/routes/expenses.py:698
msgid "Only pending expenses can be rejected"
msgstr "Vain odottavat kulut voidaan hylätä"

#: app/routes/expenses.py:704 app/routes/mileage.py:494 app/routes/per_diem.py:500
#: app/routes/quotes.py:992
msgid "Rejection reason is required"
msgstr "Hylkäämisen syy vaaditaan"

#: app/routes/expenses.py:710
msgid "Expense rejected"
msgstr "Kulutus hylätty"

#: app/routes/expenses.py:714 app/routes/expenses.py:718
msgid "Error rejecting expense"
msgstr "Virhe kulujen hylkäämisessä"

#: app/routes/expenses.py:728
msgid "Only administrators can mark expenses as reimbursed"
msgstr "Vain ylläpitäjät voivat merkitä kulut korvatuiksi"

#: app/routes/expenses.py:734
msgid "Only approved expenses can be marked as reimbursed"
msgstr "Vain hyväksytyt kulut voidaan merkitä korvatuiksi"

#: app/routes/expenses.py:738
msgid "This expense is not marked as reimbursable"
msgstr "Tätä kulua ei ole merkitty korvattavaksi"

#: app/routes/expenses.py:745
msgid "Expense marked as reimbursed"
msgstr "Kulut merkitty korvatuksi"

#: app/routes/expenses.py:749 app/routes/expenses.py:753
msgid "Error marking expense as reimbursed"
msgstr "Virhe merkittäessä kuluja korvatuiksi"

#: app/routes/expenses.py:1084
msgid "OCR is not available. Please contact your administrator."
msgstr "OCR ei ole käytettävissä. Ota yhteyttä järjestelmänvalvojaasi."

#: app/routes/expenses.py:1088 app/routes/quotes.py:728
msgid "No file provided"
msgstr "Ei tiedostoa"

#: app/routes/expenses.py:1094 app/routes/quotes.py:733
msgid "No file selected"
msgstr "Tiedostoa ei ole valittu"

#: app/routes/expenses.py:1098
msgid "Invalid file type. Allowed types: png, jpg, jpeg, gif, pdf"
msgstr "Virheellinen tiedostotyyppi. Sallitut tyypit: png, jpg, jpeg, gif, pdf"

#: app/routes/expenses.py:1146
msgid ""
"Receipt scanned successfully! You can now create an expense with the "
"extracted data."
msgstr "Kuitti skannattu onnistuneesti! Voit nyt luoda kuluja poimituista tiedoista."

#: app/routes/expenses.py:1151
msgid "Error scanning receipt. Please try again or enter the expense manually."
msgstr "Virhe skannattaessa kuittia. Yritä uudelleen tai syötä kulut manuaalisesti."

#: app/routes/expenses.py:1164
msgid "No scanned receipt data found. Please scan a receipt first."
msgstr "Skannattuja kuittitietoja ei löytynyt. Skannaa ensin kuitti."

#: app/routes/expenses.py:1249
msgid "Expense created successfully from scanned receipt"
msgstr "Kulu luotu onnistuneesti skannatusta kuitista"

#: app/routes/inventory.py:155 app/routes/inventory.py:262
msgid "SKU already exists. Please use a different SKU."
msgstr "SKU on jo olemassa. Käytä toista SKU:ta."

#: app/routes/inventory.py:210
msgid "Stock item created successfully."
msgstr "Varastotuotteen luominen onnistui."

#: app/routes/inventory.py:215
#, python-format
msgid "Error creating stock item: %(error)s"
msgstr "Virhe luotaessa varastotuotetta: %(error)s"

#: app/routes/inventory.py:342
msgid "Stock item updated successfully."
msgstr "Varastotuotteen päivitys onnistui."

#: app/routes/inventory.py:347
#, python-format
msgid "Error updating stock item: %(error)s"
msgstr "Virhe päivitettäessä varastossa olevaa tuotetta: %(error)s"

#: app/routes/inventory.py:365
msgid "Cannot delete stock item with existing stock or movement history."
msgstr ""
"Ei voi poistaa varastonimikettä, jolla on olemassa oleva varasto- tai "
"liikehistoria."

#: app/routes/inventory.py:373
msgid "Stock item deleted successfully."
msgstr "Varastotuotteen poistaminen onnistui."

#: app/routes/inventory.py:377
#, python-format
msgid "Error deleting stock item: %(error)s"
msgstr "Virhe varastotuotteen poistamisessa: %(error)s"

#: app/routes/inventory.py:414 app/routes/inventory.py:478
msgid "Warehouse code already exists. Please use a different code."
msgstr "Varastokoodi on jo olemassa. Käytä eri koodia."

#: app/routes/inventory.py:433
msgid "Warehouse created successfully."
msgstr "Varaston luominen onnistui."

#: app/routes/inventory.py:438
#, python-format
msgid "Error creating warehouse: %(error)s"
msgstr "Virhe luotaessa varastoa: %(error)s"

#: app/routes/inventory.py:494
msgid "Warehouse updated successfully."
msgstr "Varaston päivitys onnistui."

#: app/routes/inventory.py:499
#, python-format
msgid "Error updating warehouse: %(error)s"
msgstr "Virhe varaston päivityksessä: %(error)s"

#: app/routes/inventory.py:515
msgid ""
"Cannot delete warehouse with existing stock. Please transfer or remove all "
"stock first."
msgstr ""
"Ei voida poistaa varastoa olemassa olevan varaston kanssa. Siirrä tai poista"
" ensin kaikki varastot."

#: app/routes/inventory.py:523
msgid "Warehouse deleted successfully."
msgstr "Varaston poistaminen onnistui."

#: app/routes/inventory.py:527
#, python-format
msgid "Error deleting warehouse: %(error)s"
msgstr "Virhe varaston poistamisessa: %(error)s"

#: app/routes/inventory.py:689
msgid "Stock movement recorded successfully."
msgstr "Osakeliikkeen tallennus onnistui."

#: app/routes/inventory.py:694
#, python-format
msgid "Error recording stock movement: %(error)s"
msgstr "Virhe tallennettaessa varastoliikettä: %(error)s"

#: app/routes/inventory.py:766
msgid "Source and destination warehouses must be different."
msgstr "Lähde- ja kohdevarastojen on oltava erilaisia."

#: app/routes/inventory.py:780
msgid "Insufficient stock available in source warehouse."
msgstr "Lähdevarastossa ei ole riittävästi varastoa."

#: app/routes/inventory.py:833
msgid "Stock transfer completed successfully."
msgstr "Varaston siirto onnistui."

#: app/routes/inventory.py:838
#, python-format
msgid "Error creating transfer: %(error)s"
msgstr "Virhe luotaessa siirtoa: %(error)s"

#: app/routes/inventory.py:934
msgid "Stock adjustment recorded successfully."
msgstr "Varaston oikaisu tallennettu onnistuneesti."

#: app/routes/inventory.py:939
#, python-format
msgid "Error recording adjustment: %(error)s"
msgstr "Virhe tallennuksen säätö: %(error)s"

#: app/routes/inventory.py:1063
msgid "Reservation fulfilled successfully."
msgstr "Varaus suoritettu onnistuneesti."

#: app/routes/inventory.py:1066
#, python-format
msgid "Error fulfilling reservation: %(error)s"
msgstr "Virhe varauksen täyttämisessä: %(error)s"

#: app/routes/inventory.py:1083
msgid "Reservation cancelled successfully."
msgstr "Varaus peruutettu onnistuneesti."

#: app/routes/inventory.py:1086
#, python-format
msgid "Error cancelling reservation: %(error)s"
msgstr "Virhe peruutettaessa varausta: %(error)s"

#: app/routes/inventory.py:1152
msgid "Supplier created successfully."
msgstr "Toimittaja luotiin onnistuneesti."

#: app/routes/inventory.py:1157
#, python-format
msgid "Error creating supplier: %(error)s"
msgstr "Virhe luotaessa toimittajaa: %(error)s"

#: app/routes/inventory.py:1201
msgid "Supplier code already exists. Please use a different code."
msgstr "Toimittajakoodi on jo olemassa. Käytä eri koodia."

#: app/routes/inventory.py:1222
msgid "Supplier updated successfully."
msgstr "Toimittaja päivitetty onnistuneesti."

#: app/routes/inventory.py:1227
#, python-format
msgid "Error updating supplier: %(error)s"
msgstr "Virhe päivitettäessä toimittajaa: %(error)s"

#: app/routes/inventory.py:1243
msgid "Cannot delete supplier with associated stock items. Remove items first."
msgstr ""
"Toimittajaa ja siihen liittyviä varastotuotteita ei voi poistaa. Poista "
"kohteet ensin."

#: app/routes/inventory.py:1252
msgid "Supplier deleted successfully."
msgstr "Toimittajan poistaminen onnistui."

#: app/routes/inventory.py:1255
#, python-format
msgid "Error deleting supplier: %(error)s"
msgstr "Virhe toimittajan poistamisessa: %(error)s"

#: app/routes/inventory.py:1351
msgid "Purchase order created successfully."
msgstr "Ostotilauksen luominen onnistui."

#: app/routes/inventory.py:1356
#, python-format
msgid "Error creating purchase order: %(error)s"
msgstr "Virhe luotaessa ostotilausta: %(error)s"

#: app/routes/inventory.py:1389
msgid "Cannot edit a purchase order that has been received."
msgstr "Vastaanotettua ostotilausta ei voi muokata."

#: app/routes/inventory.py:1437
msgid "Purchase order updated successfully."
msgstr "Ostotilauksen päivitys onnistui."

#: app/routes/inventory.py:1442
#, python-format
msgid "Error updating purchase order: %(error)s"
msgstr "Virhe päivitettäessä ostotilausta: %(error)s"

#: app/routes/inventory.py:1468
msgid "Purchase order marked as sent."
msgstr "Ostotilaus merkitty lähetetyksi."

#: app/routes/inventory.py:1471
#, python-format
msgid "Error sending purchase order: %(error)s"
msgstr "Virhe lähetettäessä ostotilausta: %(error)s"

#: app/routes/inventory.py:1489
msgid "Purchase order cancelled successfully."
msgstr "Ostotilaus peruutettu onnistuneesti."

#: app/routes/inventory.py:1492
#, python-format
msgid "Error cancelling purchase order: %(error)s"
msgstr "Virhe ostotilauksen peruuttamisessa: %(error)s"

#: app/routes/inventory.py:1507
msgid "Cannot delete a purchase order that has been received. Cancel it instead."
msgstr "Vastaanotettua ostotilausta ei voi poistaa. Peruuta sen sijaan."

#: app/routes/inventory.py:1515
msgid "Purchase order deleted successfully."
msgstr "Ostotilauksen poistaminen onnistui."

#: app/routes/inventory.py:1519
#, python-format
msgid "Error deleting purchase order: %(error)s"
msgstr "Virhe poistettaessa ostotilausta: %(error)s"

#: app/routes/inventory.py:1552
msgid "Purchase order marked as received and stock updated."
msgstr "Ostotilaus merkitty vastaanotetuksi ja varasto päivitetty."

#: app/routes/inventory.py:1555
#, python-format
msgid "Error receiving purchase order: %(error)s"
msgstr "Virhe ostotilauksen vastaanottamisessa: %(error)s"

#: app/routes/invoices.py:117
msgid "Project, client name, and due date are required"
msgstr "Projekti, asiakkaan nimi ja eräpäivä vaaditaan"

#: app/routes/invoices.py:123 app/routes/tasks.py:151 app/routes/tasks.py:277
msgid "Invalid due date format"
msgstr "Virheellinen eräpäivän muoto"

#: app/routes/invoices.py:129 app/routes/offers.py:108 app/routes/offers.py:244
#: app/routes/quotes.py:174 app/routes/quotes.py:324
#: app/routes/recurring_invoices.py:85
msgid "Invalid tax rate format"
msgstr "Virheellinen veroprosentin muoto"

#: app/routes/invoices.py:135
msgid "Selected project not found"
msgstr "Valittua projektia ei löydy"

#: app/routes/invoices.py:191
msgid "Could not create invoice due to a database error. Please check server logs."
msgstr "Laskua ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/invoices.py:226
msgid "You do not have permission to view this invoice"
msgstr "Sinulla ei ole lupaa tarkastella tätä laskua"

#: app/routes/invoices.py:254 app/routes/invoices.py:626
msgid "You do not have permission to edit this invoice"
msgstr "Sinulla ei ole lupaa muokata tätä laskua"

#: app/routes/invoices.py:382 app/routes/quotes.py:498 app/routes/quotes.py:601
#, python-format
msgid "Warning: Could not reserve stock for item %(item)s: %(error)s"
msgstr "Varoitus: Ei voitu varata varastoa tuotteelle %(item)s: %(error)s"

#: app/routes/invoices.py:387
msgid "Could not update invoice due to a database error. Please check server logs."
msgstr ""
"Laskua ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/invoices.py:390
msgid "Invoice updated successfully"
msgstr "Laskun päivitys onnistui"

#: app/routes/invoices.py:480
#, python-format
msgid "Warning: Could not reduce stock for item %(item)s: %(error)s"
msgstr "Varoitus: Tuotteen %(item)s varastoa ei voitu vähentää: %(error)s"

#: app/routes/invoices.py:496
msgid "You do not have permission to delete this invoice"
msgstr "Sinulla ei ole lupaa poistaa tätä laskua"

#: app/routes/invoices.py:502
msgid "Could not delete invoice due to a database error. Please check server logs."
msgstr "Laskua ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/invoices.py:515
msgid "No invoices selected for deletion"
msgstr "Poistettavia laskuja ei ole valittu"

#: app/routes/invoices.py:547
msgid "Could not delete invoices due to a database error. Please check server logs."
msgstr "Laskuja ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/invoices.py:567
msgid "No invoices selected"
msgstr "Laskuja ei ole valittu"

#: app/routes/invoices.py:608
msgid "Could not update invoices due to a database error"
msgstr "Laskuja ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/invoices.py:637
msgid "No time entries, costs, expenses, or extra goods selected"
msgstr "Ei valittuja aikamerkintöjä, kuluja, kuluja tai ylimääräisiä tuotteita"

#: app/routes/invoices.py:741
msgid "Could not generate items due to a database error. Please check server logs."
msgstr "Ei voitu luoda kohteita tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/invoices.py:744
msgid "Invoice items generated successfully from time entries and costs"
msgstr "Aikakirjauksista ja kuluista luotu onnistuneesti laskutuskohteet"

#: app/routes/invoices.py:747
#, python-format
msgid "Applied %(hours)s prepaid hours for %(client)s before billing overages."
msgstr ""
"Käytettiin %(hours)s ennakkoon maksettua tuntia %(client)s:lle ennen "
"laskutusylijäämiä."

#: app/routes/invoices.py:842 app/routes/invoices.py:913
msgid "You do not have permission to export this invoice"
msgstr "Sinulla ei ole lupaa viedä tätä laskua"

#: app/routes/invoices.py:962
#, python-format
msgid "PDF generation failed: %(err)s. Fallback also failed: %(fb)s"
msgstr "PDF:n luominen epäonnistui: %(err)s. Myös varatoimi epäonnistui: %(fb)s"

#: app/routes/invoices.py:973
msgid "You do not have permission to duplicate this invoice"
msgstr "Sinulla ei ole lupaa kopioida tätä laskua"

#: app/routes/invoices.py:997
msgid ""
"Could not duplicate invoice due to a database error. Please check server "
"logs."
msgstr "Laskua ei voitu kopioida tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/invoices.py:1028
msgid ""
"Could not finalize duplicated invoice due to a database error. Please check "
"server logs."
msgstr ""
"Kaksinkertaista laskua ei voitu viimeistellä tietokantavirheen vuoksi. "
"Tarkista palvelimen lokit."

#: app/routes/invoices_refactored.py:236
msgid "Invoice marked as sent"
msgstr "Lasku merkitty lähetetyksi"

#: app/routes/invoices_refactored.py:238 app/routes/invoices_refactored.py:278
#: app/routes/projects_refactored_example.py:202 app/routes/timer_refactored.py:49
#: app/routes/timer_refactored.py:135
msgid "message"
msgstr "viesti"

#: app/routes/invoices_refactored.py:276
msgid "Invoice marked as paid"
msgstr "Lasku merkitty maksetuksi"

#: app/routes/kanban.py:84
msgid "Key and label are required"
msgstr "Avain ja tarra vaaditaan"

#: app/routes/kanban.py:134
msgid "Could not create column due to a database error. Please check server logs."
msgstr "Saraketta ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/kanban.py:177
msgid "Label is required"
msgstr "Tunniste vaaditaan"

#: app/routes/kanban.py:198
msgid "Could not update column due to a database error. Please check server logs."
msgstr ""
"Saraketta ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/kanban.py:230
msgid "System columns cannot be deleted"
msgstr "Järjestelmäsarakkeita ei voi poistaa"

#: app/routes/kanban.py:266
msgid "Could not delete column due to a database error. Please check server logs."
msgstr ""
"Saraketta ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/kanban.py:310
msgid "Could not toggle column due to a database error. Please check server logs."
msgstr ""
"Saraketta ei voitu vaihtaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/leads.py:100
msgid "Lead created successfully"
msgstr "Liidi luotu onnistuneesti"

#: app/routes/leads.py:104
#, python-format
msgid "Error creating lead: %(error)s"
msgstr "Virhe luotaessa liidia: %(error)s"

#: app/routes/leads.py:150
msgid "Lead updated successfully"
msgstr "Liidin päivitys onnistui"

#: app/routes/leads.py:154
#, python-format
msgid "Error updating lead: %(error)s"
msgstr "Virhe päivitettäessä liidia: %(error)s"

#: app/routes/leads.py:165 app/routes/leads.py:218
msgid "Lead has already been converted"
msgstr "Lyijy on jo muunnettu"

#: app/routes/leads.py:203
msgid "Lead converted to client successfully"
msgstr "Liidi muutettu asiakkaaksi onnistuneesti"

#: app/routes/leads.py:207 app/routes/leads.py:257
#, python-format
msgid "Error converting lead: %(error)s"
msgstr "Virhe muunnettaessa johtoa: %(error)s"

#: app/routes/leads.py:253
msgid "Lead converted to deal successfully"
msgstr "Liidi muutettu kaupaksi onnistuneesti"

#: app/routes/leads.py:274
msgid "Lead marked as lost"
msgstr "Lyijy merkitty kadonneeksi"

#: app/routes/leads.py:277
#, python-format
msgid "Error marking lead as lost: %(error)s"
msgstr "Virhe merkittäessä johtoa kadonneeksi: %(error)s"

#: app/routes/mileage.py:213
msgid "Mileage entry created successfully"
msgstr "Ajokilometrit luotiin onnistuneesti"

#: app/routes/mileage.py:222 app/routes/mileage.py:227
msgid "Error creating mileage entry"
msgstr "Virhe luotaessa mittarilukematietoa"

#: app/routes/mileage.py:239
msgid "You do not have permission to view this mileage entry"
msgstr "Sinulla ei ole lupaa tarkastella tätä mittarilukematietoa"

#: app/routes/mileage.py:256
msgid "You do not have permission to edit this mileage entry"
msgstr "Sinulla ei ole lupaa muokata tätä mittarilukematietoa"

#: app/routes/mileage.py:261
msgid "Cannot edit approved or reimbursed mileage entries"
msgstr "Ei voi muokata hyväksyttyjä tai korvattuja kilometrimääriä"

#: app/routes/mileage.py:299
msgid "Mileage entry updated successfully"
msgstr "Ajokilometrit päivitetty onnistuneesti"

#: app/routes/mileage.py:304 app/routes/mileage.py:309
msgid "Error updating mileage entry"
msgstr "Virhe päivitettäessä mittarilukematietoa"

#: app/routes/mileage.py:321
msgid "You do not have permission to delete this mileage entry"
msgstr "Sinulla ei ole lupaa poistaa tätä mittarilukematietoa"

#: app/routes/mileage.py:328
msgid "Mileage entry deleted successfully"
msgstr "Ajokilometrimerkintä poistettu onnistuneesti"

#: app/routes/mileage.py:332 app/routes/mileage.py:336
msgid "Error deleting mileage entry"
msgstr "Virhe poistettaessa mittarilukematietoa"

#: app/routes/mileage.py:347
msgid "No mileage entries selected for deletion"
msgstr "Poistettavia kilometrimerkintöjä ei ole valittu"

#: app/routes/mileage.py:378
msgid ""
"Could not delete mileage entries due to a database error. Please check "
"server logs."
msgstr ""
"Ajokilometrejä ei voitu poistaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/mileage.py:386
#, python-format
msgid "Successfully deleted %(count)d mileage entr%(plural)s"
msgstr "%(count)d mittarilukema entr%(plural)s poistettu onnistuneesti"

#: app/routes/mileage.py:389
#, python-format
msgid "Skipped %(count)d mileage entr%(plural)s: %(errors)s"
msgstr "Ohitettu %(count)d mittarilukema %(monikko)s: %(errors)s"

#: app/routes/mileage.py:401
msgid "No mileage entries selected"
msgstr "Kilometrejä ei ole valittu"

#: app/routes/mileage.py:434
msgid "Could not update mileage entries due to a database error"
msgstr "Ajokilometrejä ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/mileage.py:437
#, python-format
msgid "Successfully updated %(count)d mileage entr%(plural)s to %(status)s"
msgstr ""
"%(count)d mittarilukema entr%(plural)s päivitetty onnistuneesti arvoon "
"%(status)s"

#: app/routes/mileage.py:440
#, python-format
msgid "Skipped %(count)d mileage entr%(plural)s (no permission)"
msgstr "Ohitettu %(count)d mittarilukema %(monikko)s (ei lupaa)"

#: app/routes/mileage.py:450
msgid "Only administrators can approve mileage entries"
msgstr "Vain ylläpitäjät voivat hyväksyä ajokilometrejä"

#: app/routes/mileage.py:456
msgid "Only pending mileage entries can be approved"
msgstr "Vain vireillä olevat kilometrimäärät voidaan hyväksyä"

#: app/routes/mileage.py:464
msgid "Mileage entry approved successfully"
msgstr "Kilometrimerkintä hyväksytty"

#: app/routes/mileage.py:468 app/routes/mileage.py:472
msgid "Error approving mileage entry"
msgstr "Virhe ajokilometrimerkinnän hyväksymisessä"

#: app/routes/mileage.py:482
msgid "Only administrators can reject mileage entries"
msgstr "Vain järjestelmänvalvojat voivat hylätä kilometrimerkintöjä"

#: app/routes/mileage.py:488
msgid "Only pending mileage entries can be rejected"
msgstr "Vain vireillä olevat kilometrimerkinnät voidaan hylätä"

#: app/routes/mileage.py:500
msgid "Mileage entry rejected"
msgstr "Kilometrimerkintä hylätty"

#: app/routes/mileage.py:504 app/routes/mileage.py:508
msgid "Error rejecting mileage entry"
msgstr "Virhe evättäessä kilometrimäärää"

#: app/routes/mileage.py:518
msgid "Only administrators can mark mileage entries as reimbursed"
msgstr "Vain ylläpitäjät voivat merkitä kilometrimerkinnät hyvitetyiksi"

#: app/routes/mileage.py:524
msgid "Only approved mileage entries can be marked as reimbursed"
msgstr "Vain hyväksytyt kilometrimäärät voidaan merkitä hyvitetyiksi"

#: app/routes/mileage.py:531
msgid "Mileage entry marked as reimbursed"
msgstr "Kilometrimerkintä merkitty hyvitetyksi"

#: app/routes/mileage.py:535 app/routes/mileage.py:539
msgid "Error marking mileage entry as reimbursed"
msgstr "Virhe merkittäessä kilometrimerkintää hyvitetyksi"

#: app/routes/offers.py:69 app/routes/quotes.py:135
msgid "Quote title and client are required"
msgstr "Tarjouksen nimi ja asiakas vaaditaan"

#: app/routes/offers.py:75 app/routes/projects.py:231 app/routes/projects.py:645
#: app/routes/quotes.py:141
msgid "Selected client not found"
msgstr "Valittua asiakasta ei löydy"

#: app/routes/offers.py:84 app/routes/offers.py:220 app/routes/quotes.py:150
msgid "Invalid total amount format"
msgstr "Virheellinen kokonaissumman muoto"

#: app/routes/offers.py:100 app/routes/offers.py:236 app/routes/quotes.py:166
#: app/routes/tasks.py:142 app/routes/tasks.py:268
msgid "Invalid estimated hours format"
msgstr "Virheellinen arvioitu tuntimuoto"

#: app/routes/offers.py:117 app/routes/offers.py:253 app/routes/quotes.py:200
#: app/routes/quotes.py:350
msgid "Invalid date format for valid until"
msgstr "Virheellinen päivämäärämuoto voimassa olevalle asti"

#: app/routes/offers.py:163 app/routes/quotes.py:258
msgid "Could not create quote due to a database error. Please check server logs."
msgstr "Lainausta ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/offers.py:178 app/routes/quotes.py:273
msgid "Quote created successfully"
msgstr "Lainaus luotu onnistuneesti"

#: app/routes/offers.py:199 app/routes/quotes.py:299
msgid "Only draft quotes can be edited"
msgstr "Vain lainausluonnoksia voidaan muokata"

#: app/routes/offers.py:269 app/routes/quotes.py:429
msgid "Could not update quote due to a database error. Please check server logs."
msgstr ""
"Lainausta ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/offers.py:281 app/routes/quotes.py:447
msgid "Quote updated successfully"
msgstr "Lainaus päivitetty onnistuneesti"

#: app/routes/offers.py:294 app/routes/quotes.py:469
msgid "Only draft quotes can be sent"
msgstr "Vain tarjousluonnoksia voidaan lähettää"

#: app/routes/offers.py:300 app/routes/quotes.py:501
msgid "Could not send quote due to a database error. Please check server logs."
msgstr ""
"Tarjousta ei voitu lähettää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/offers.py:312 app/routes/quotes.py:527
msgid "Quote sent successfully"
msgstr "Lainaus lähetetty onnistuneesti"

#: app/routes/offers.py:323 app/routes/quotes.py:538
msgid "This quote cannot be accepted"
msgstr "Tätä lainausta ei voida hyväksyä"

#: app/routes/offers.py:354 app/routes/quotes.py:569
#, python-format
msgid "Could not accept quote: %(error)s"
msgstr "Tarjousta ei voitu hyväksyä: %(error)s"

#: app/routes/offers.py:359 app/routes/quotes.py:604
msgid "Could not accept quote due to a database error. Please check server logs."
msgstr ""
"Tarjousta ei voitu hyväksyä tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/offers.py:373 app/routes/quotes.py:632
msgid "Quote accepted and project created successfully"
msgstr "Tarjous hyväksytty ja projekti luotu onnistuneesti"

#: app/routes/offers.py:386 app/routes/quotes.py:645
msgid "This quote cannot be rejected"
msgstr "Tätä lainausta ei voi hylätä"

#: app/routes/offers.py:392 app/routes/quotes.py:651
#, python-format
msgid "Could not reject quote: %(error)s"
msgstr "Lainausta ei voitu hylätä: %(error)s"

#: app/routes/offers.py:396 app/routes/quotes.py:655 app/routes/quotes.py:1002
msgid "Could not reject quote due to a database error. Please check server logs."
msgstr ""
"Tarjousta ei voitu hylätä tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/offers.py:408 app/routes/quotes.py:667
msgid "Quote rejected"
msgstr "Lainaus hylätty"

#: app/routes/offers.py:420 app/routes/quotes.py:679
msgid "Only draft or rejected quotes can be deleted"
msgstr "Vain luonnokset tai hylätyt lainaukset voidaan poistaa"

#: app/routes/offers.py:427 app/routes/quotes.py:686
msgid "Could not delete quote due to a database error. Please check server logs."
msgstr ""
"Lainausta ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/offers.py:439 app/routes/quotes.py:698
msgid "Quote deleted successfully"
msgstr "Lainaus poistettu onnistuneesti"

#: app/routes/payments.py:48
msgid "Invalid from date format"
msgstr "Virheellinen päivämäärämuoto"

#: app/routes/payments.py:55
msgid "Invalid to date format"
msgstr "Virheellinen päivämäärämuoto"

#: app/routes/payments.py:120
msgid "You do not have permission to view this payment"
msgstr "Sinulla ei ole lupaa tarkastella tätä maksua"

#: app/routes/payments.py:144
msgid "Invoice, amount, and payment date are required"
msgstr "Lasku, summa ja maksupäivä vaaditaan"

#: app/routes/payments.py:151
msgid "Selected invoice not found"
msgstr "Valittua laskua ei löydy"

#: app/routes/payments.py:157
msgid "You do not have permission to add payments to this invoice"
msgstr "Sinulla ei ole oikeutta lisätä maksuja tähän laskuun"

#: app/routes/payments.py:164 app/routes/payments.py:330
msgid "Payment amount must be greater than zero"
msgstr "Maksun summan on oltava suurempi kuin nolla"

#: app/routes/payments.py:168 app/routes/payments.py:333
msgid "Invalid payment amount"
msgstr "Virheellinen maksusumma"

#: app/routes/payments.py:176 app/routes/payments.py:340
msgid "Invalid payment date format"
msgstr "Virheellinen maksupäivän muoto"

#: app/routes/payments.py:186 app/routes/payments.py:349
msgid "Gateway fee cannot be negative"
msgstr "Yhdyskäytävämaksu ei voi olla negatiivinen"

#: app/routes/payments.py:190 app/routes/payments.py:352
msgid "Invalid gateway fee amount"
msgstr "Virheellinen yhdyskäytävämaksun määrä"

#: app/routes/payments.py:263
msgid "Could not create payment due to a database error. Please check server logs."
msgstr "Maksua ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/payments.py:307
msgid "You do not have permission to edit this payment"
msgstr "Sinulla ei ole lupaa muokata tätä maksua"

#: app/routes/payments.py:389
msgid "Could not update payment due to a database error. Please check server logs."
msgstr ""
"Maksua ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/payments.py:399
msgid "Payment updated successfully"
msgstr "Maksu päivitetty onnistuneesti"

#: app/routes/payments.py:413
msgid "You do not have permission to delete this payment"
msgstr "Sinulla ei ole lupaa poistaa tätä maksua"

#: app/routes/payments.py:433
msgid "Could not delete payment due to a database error. Please check server logs."
msgstr "Maksua ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/payments.py:442
msgid "Payment deleted successfully"
msgstr "Maksun poistaminen onnistui"

#: app/routes/payments.py:452
msgid "No payments selected for deletion"
msgstr "Poistettavia maksuja ei ole valittu"

#: app/routes/payments.py:497
msgid "Could not delete payments due to a database error. Please check server logs."
msgstr "Maksuja ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/payments.py:517
msgid "No payments selected"
msgstr "Maksuja ei ole valittu"

#: app/routes/payments.py:568
msgid "Could not update payments due to a database error"
msgstr "Maksuja ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/per_diem.py:140
msgid "Start date must be before end date"
msgstr "Aloituspäivän on oltava ennen lopetuspäivää"

#: app/routes/per_diem.py:176
msgid "No per diem rate found for this location. Please configure rates first."
msgstr "Tästä sijainnista ei löytynyt päivärahaa. Määritä hinnat ensin."

#: app/routes/per_diem.py:221
msgid "Per diem claim created successfully"
msgstr "Päivärahavaatimus luotu onnistuneesti"

#: app/routes/per_diem.py:230 app/routes/per_diem.py:235
msgid "Error creating per diem claim"
msgstr "Virhe luotaessa päivärahavaatimusta"

#: app/routes/per_diem.py:247
msgid "You do not have permission to view this per diem claim"
msgstr "Sinulla ei ole lupaa tarkastella tätä päivärahavaatimusta"

#: app/routes/per_diem.py:264
msgid "You do not have permission to edit this per diem claim"
msgstr "Sinulla ei ole lupaa muokata tätä päivärahavaatimusta"

#: app/routes/per_diem.py:269
msgid "Cannot edit approved or reimbursed per diem claims"
msgstr "Ei voi muokata hyväksyttyjä tai korvattuja päivärahavaatimuksia"

#: app/routes/per_diem.py:305
msgid "Per diem claim updated successfully"
msgstr "Päivärahavaatimus päivitetty onnistuneesti"

#: app/routes/per_diem.py:310 app/routes/per_diem.py:315
msgid "Error updating per diem claim"
msgstr "Virhe päivitettäessä päivärahavaatimusta"

#: app/routes/per_diem.py:327
msgid "You do not have permission to delete this per diem claim"
msgstr "Sinulla ei ole lupaa poistaa tätä päivärahavaatimusta"

#: app/routes/per_diem.py:334
msgid "Per diem claim deleted successfully"
msgstr "Päivärahavaatimus poistettu onnistuneesti"

#: app/routes/per_diem.py:338 app/routes/per_diem.py:342
msgid "Error deleting per diem claim"
msgstr "Virhe päivärahahakemuksen poistamisessa"

#: app/routes/per_diem.py:353
msgid "No per diem claims selected for deletion"
msgstr "Päivärahavaatimuksia ei ole valittu poistettavaksi"

#: app/routes/per_diem.py:384
msgid ""
"Could not delete per diem claims due to a database error. Please check "
"server logs."
msgstr ""
"Päivärahavaatimuksia ei voitu poistaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/per_diem.py:392
#, python-format
msgid "Successfully deleted %(count)d per diem claim(s)"
msgstr "%(count)d päivärahavaatimus(tta) poistettu onnistuneesti"

#: app/routes/per_diem.py:395
#, python-format
msgid "Skipped %(count)d per diem claim(s): %(errors)s"
msgstr "Ohitettu %(count)d päivärahavaatimus(t): %(errors)s"

#: app/routes/per_diem.py:407
msgid "No per diem claims selected"
msgstr "Päivärahavaatimuksia ei ole valittu"

#: app/routes/per_diem.py:440
msgid "Could not update per diem claims due to a database error"
msgstr "Päivärahavaatimuksia ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/per_diem.py:443
#, python-format
msgid "Successfully updated %(count)d per diem claim(s) to %(status)s"
msgstr "%(count)d päivärahavaatimus(t) päivitetty onnistuneesti arvoon %(status)s"

#: app/routes/per_diem.py:446
#, python-format
msgid "Skipped %(count)d per diem claim(s) (no permission)"
msgstr "Ohitettu %(count)d päivärahavaatimus(ta) (ei lupaa)"

#: app/routes/per_diem.py:456
msgid "Only administrators can approve per diem claims"
msgstr "Vain ylläpitäjät voivat hyväksyä päivärahahakemukset"

#: app/routes/per_diem.py:462
msgid "Only pending per diem claims can be approved"
msgstr "Vain vireillä olevat päivärahahakemukset voidaan hyväksyä"

#: app/routes/per_diem.py:470
msgid "Per diem claim approved successfully"
msgstr "Päivärahahakemus hyväksytty"

#: app/routes/per_diem.py:474 app/routes/per_diem.py:478
msgid "Error approving per diem claim"
msgstr "Virhe päivärahahakemuksen hyväksymisessä"

#: app/routes/per_diem.py:488
msgid "Only administrators can reject per diem claims"
msgstr "Vain ylläpitäjät voivat hylätä päivärahahakemukset"

#: app/routes/per_diem.py:494
msgid "Only pending per diem claims can be rejected"
msgstr "Vain vireillä olevat päivärahahakemukset voidaan hylätä"

#: app/routes/per_diem.py:506
msgid "Per diem claim rejected"
msgstr "Päivärahavaatimus hylätty"

#: app/routes/per_diem.py:510 app/routes/per_diem.py:514
msgid "Error rejecting per diem claim"
msgstr "Virhe päivärahahakemuksen hylkäämisessä"

#: app/routes/per_diem.py:571
msgid "Per diem rate created successfully"
msgstr "Päivärahan luominen onnistui"

#: app/routes/per_diem.py:575 app/routes/per_diem.py:580
msgid "Error creating per diem rate"
msgstr "Virhe luotaessa päivärahaa"

#: app/routes/per_diem.py:620
msgid "Per diem rate updated successfully"
msgstr "Päivämäärän päivitys onnistui"

#: app/routes/per_diem.py:625 app/routes/per_diem.py:630
msgid "Error updating per diem rate"
msgstr "Virhe päivitettäessä päivärahaa"

#: app/routes/per_diem.py:647
#, python-format
msgid ""
"Cannot delete rate: It is being used by %(count)d per diem claim(s). "
"Deactivate it instead."
msgstr ""
"Korkoa ei voi poistaa: %(count)d päivärahavaatimuksen käyttää sitä. Sen "
"sijaan deaktivoi se."

#: app/routes/per_diem.py:653
msgid "Per diem rate deleted successfully"
msgstr "Päivämäärän poistaminen onnistui"

#: app/routes/per_diem.py:657 app/routes/per_diem.py:661
msgid "Error deleting per diem rate"
msgstr "Virhe päivärahaa poistettaessa"

#: app/routes/permissions.py:21 app/routes/permissions.py:35
#: app/routes/permissions.py:81 app/routes/permissions.py:138
#: app/routes/permissions.py:187 app/routes/permissions.py:211
#: app/utils/permissions.py:39 app/utils/permissions.py:68
msgid "You do not have permission to access this page"
msgstr "Sinulla ei ole lupaa käyttää tätä sivua"

#: app/routes/permissions.py:43 app/routes/permissions.py:96
msgid "Role name is required"
msgstr "Roolin nimi vaaditaan"

#: app/routes/permissions.py:48 app/routes/permissions.py:102
msgid "A role with this name already exists"
msgstr "Tämän niminen rooli on jo olemassa"

#: app/routes/permissions.py:63
msgid "Could not create role due to a database error"
msgstr "Roolia ei voitu luoda tietokantavirheen vuoksi"

#: app/routes/permissions.py:66
msgid "Role created successfully"
msgstr "Rooli luotiin onnistuneesti"

#: app/routes/permissions.py:88
msgid "System roles cannot be edited"
msgstr "Järjestelmärooleja ei voi muokata"

#: app/routes/permissions.py:120
msgid "Could not update role due to a database error"
msgstr "Roolia ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/permissions.py:123
msgid "Role updated successfully"
msgstr "Roolin päivitys onnistui"

#: app/routes/permissions.py:154
msgid "You do not have permission to perform this action"
msgstr "Sinulla ei ole lupaa suorittaa tätä toimintoa"

#: app/routes/permissions.py:161
msgid "System roles cannot be deleted"
msgstr "Järjestelmärooleja ei voi poistaa"

#: app/routes/permissions.py:166
msgid "Cannot delete role that is assigned to users. Please reassign users first."
msgstr ""
"Käyttäjille määritettyä roolia ei voi poistaa. Määritä ensin käyttäjät "
"uudelleen."

#: app/routes/permissions.py:173
msgid "Could not delete role due to a database error"
msgstr "Roolia ei voitu poistaa tietokantavirheen vuoksi"

#: app/routes/permissions.py:176
#, python-format
msgid "Role \"%(name)s\" deleted successfully"
msgstr "Rooli \"%(name)s\" poistettiin onnistuneesti"

#: app/routes/permissions.py:230
msgid "Could not update user roles due to a database error"
msgstr "Käyttäjärooleja ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/permissions.py:233
msgid "User roles updated successfully"
msgstr "Käyttäjäroolien päivitys onnistui"

#: app/routes/projects.py:221 app/routes/projects.py:639
msgid "Project name and client are required"
msgstr "Projektin nimi ja asiakas vaaditaan"

#: app/routes/projects.py:252 app/routes/projects.py:663
msgid "Invalid budget amount"
msgstr "Virheellinen budjettisumma"

#: app/routes/projects.py:260 app/routes/projects.py:672
msgid "Invalid budget threshold percent (0-100)"
msgstr "Virheellinen budjetin kynnysprosentti (0–100)"

#: app/routes/projects.py:265 app/routes/projects.py:678
msgid "A project with this name already exists"
msgstr "Tämän niminen projekti on jo olemassa"

#: app/routes/projects.py:279 app/routes/projects.py:686
msgid "Project code already in use"
msgstr "Projektikoodi on jo käytössä"

#: app/routes/projects.py:297
msgid "Could not create project due to a database error. Please check server logs."
msgstr "Projektia ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/projects.py:702
msgid "Could not update project due to a database error. Please check server logs."
msgstr ""
"Projektia ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/projects.py:730
msgid "You do not have permission to archive projects"
msgstr "Sinulla ei ole lupaa arkistoida projekteja"

#: app/routes/projects.py:738
msgid "Project is already archived"
msgstr "Projekti on jo arkistoitu"

#: app/routes/projects.py:777
msgid "You do not have permission to unarchive projects"
msgstr "Sinulla ei ole lupaa poistaa projekteja arkistosta"

#: app/routes/projects.py:781 app/routes/projects.py:839
msgid "Project is already active"
msgstr "Projekti on jo aktiivinen"

#: app/routes/projects.py:813
msgid "You do not have permission to deactivate projects"
msgstr "Sinulla ei ole lupaa poistaa projekteja käytöstä"

#: app/routes/projects.py:817
msgid "Project is already inactive"
msgstr "Projekti on jo epäaktiivinen"

#: app/routes/projects.py:835
msgid "You do not have permission to activate projects"
msgstr "Sinulla ei ole lupaa aktivoida projekteja"

#: app/routes/projects.py:858
msgid "Cannot delete project with existing time entries"
msgstr "Projektia, jossa on olemassa olevia aikamerkintöjä, ei voi poistaa"

#: app/routes/projects.py:878
msgid "Could not delete project due to a database error. Please check server logs."
msgstr ""
"Projektia ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/projects.py:890
msgid "You do not have permission to delete projects"
msgstr "Sinulla ei ole lupaa poistaa projekteja"

#: app/routes/projects.py:896
msgid "No projects selected for deletion"
msgstr "Poistettavia projekteja ei ole valittu"

#: app/routes/projects.py:935
msgid "Could not delete projects due to a database error. Please check server logs."
msgstr ""
"Projekteja ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/projects.py:946
msgid "No projects were deleted"
msgstr "Projekteja ei poistettu"

#: app/routes/projects.py:956
msgid "You do not have permission to change project status"
msgstr "Sinulla ei ole lupaa muuttaa projektin tilaa"

#: app/routes/projects.py:964
msgid "No projects selected"
msgstr "Ei valittuja projekteja"

#: app/routes/projects.py:1026
msgid ""
"Could not update project status due to a database error. Please check server"
" logs."
msgstr ""
"Projektin tilaa ei voitu päivittää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/projects.py:1038
msgid "No projects were updated"
msgstr "Projekteja ei ole päivitetty"

#: app/routes/projects.py:1055 app/routes/projects.py:1056
msgid "Project is already in favorites"
msgstr "Projekti on jo suosikeissa"

#: app/routes/projects.py:1078 app/routes/projects.py:1079
msgid "Project added to favorites"
msgstr "Projekti lisätty suosikkeihin"

#: app/routes/projects.py:1083 app/routes/projects.py:1084
msgid "Failed to add project to favorites"
msgstr "Projektin lisääminen suosikkeihin epäonnistui"

#: app/routes/projects.py:1100 app/routes/projects.py:1101
msgid "Project is not in favorites"
msgstr "Projekti ei ole suosikeissa"

#: app/routes/projects.py:1123 app/routes/projects.py:1124
msgid "Project removed from favorites"
msgstr "Projekti poistettu suosikeista"

#: app/routes/projects.py:1128 app/routes/projects.py:1129
msgid "Failed to remove project from favorites"
msgstr "Projektin poistaminen suosikeista epäonnistui"

#: app/routes/projects.py:1210 app/routes/projects.py:1281
msgid "Description, category, amount, and date are required"
msgstr "Kuvaus, luokka, määrä ja päivämäärä vaaditaan"

#: app/routes/projects.py:1244
msgid "Could not add cost due to a database error. Please check server logs."
msgstr ""
"Kustannuksia ei voitu lisätä tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/projects.py:1247
msgid "Cost added successfully"
msgstr "Kustannukset lisätty onnistuneesti"

#: app/routes/projects.py:1262 app/routes/projects.py:1329
msgid "Cost not found"
msgstr "Hintaa ei löytynyt"

#: app/routes/projects.py:1267
msgid "You do not have permission to edit this cost"
msgstr "Sinulla ei ole lupaa muokata tätä hintaa"

#: app/routes/projects.py:1311
msgid "Could not update cost due to a database error. Please check server logs."
msgstr ""
"Kustannuksia ei voitu päivittää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/projects.py:1314
msgid "Cost updated successfully"
msgstr "Hinta päivitetty onnistuneesti"

#: app/routes/projects.py:1334
msgid "You do not have permission to delete this cost"
msgstr "Sinulla ei ole lupaa poistaa tätä hintaa"

#: app/routes/projects.py:1339
msgid "Cannot delete cost that has been invoiced"
msgstr "Laskutettua kulua ei voi poistaa"

#: app/routes/projects.py:1345
msgid "Could not delete cost due to a database error. Please check server logs."
msgstr ""
"Kustannuksia ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/projects.py:1435 app/routes/projects.py:1510
msgid "Name and unit price are required"
msgstr "Nimi ja yksikköhinta vaaditaan"

#: app/routes/projects.py:1444 app/routes/projects.py:1519
msgid "Invalid quantity format"
msgstr "Virheellinen määrän muoto"

#: app/routes/projects.py:1453 app/routes/projects.py:1528
msgid "Invalid unit price format"
msgstr "Virheellinen yksikköhinnan muoto"

#: app/routes/projects.py:1472
msgid "Could not add extra good due to a database error. Please check server logs."
msgstr ""
"Ei voitu lisätä ylimääräistä hyvää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/projects.py:1475
msgid "Extra good added successfully"
msgstr "Erittäin hyvä lisätty onnistuneesti"

#: app/routes/projects.py:1490 app/routes/projects.py:1561
msgid "Extra good not found"
msgstr "Erittäin hyvää ei löytynyt"

#: app/routes/projects.py:1495
msgid "You do not have permission to edit this extra good"
msgstr "Sinulla ei ole lupaa muokata tätä ylimääräistä tuotetta"

#: app/routes/projects.py:1543
msgid ""
"Could not update extra good due to a database error. Please check server "
"logs."
msgstr ""
"Ei voitu päivittää erityisen hyvin tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/projects.py:1546
msgid "Extra good updated successfully"
msgstr "Erittäin hyvä päivitys onnistuneesti"

#: app/routes/projects.py:1566
msgid "You do not have permission to delete this extra good"
msgstr "Sinulla ei ole lupaa poistaa tätä ylimääräistä tuotetta"

#: app/routes/projects.py:1571
msgid "Cannot delete extra good that has been added to an invoice"
msgstr "Laskuun lisättyä ylimääräistä tuotetta ei voi poistaa"

#: app/routes/projects.py:1577
msgid ""
"Could not delete extra good due to a database error. Please check server "
"logs."
msgstr ""
"Erityistä hyvää ei voitu poistaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/projects_refactored_example.py:123
msgid "Project not found"
msgstr "Projektia ei löydy"

#: app/routes/projects_refactored_example.py:199
msgid "Project created successfully"
msgstr "Projekti luotu onnistuneesti"

#: app/routes/quotes.py:191 app/routes/quotes.py:341
msgid "Invalid discount amount format"
msgstr "Virheellinen alennussumman muoto"

#: app/routes/quotes.py:467
msgid "Quote must be approved before it can be sent"
msgstr "Tarjous on hyväksyttävä ennen kuin se voidaan lähettää"

#: app/routes/quotes.py:475
#, python-format
msgid "Cannot send quote: %(error)s"
msgstr "Tarjousta ei voi lähettää: %(error)s"

#: app/routes/quotes.py:716
msgid "You do not have permission to upload attachments to this quote"
msgstr "Sinulla ei ole lupaa ladata liitteitä tähän lainaukseen"

#: app/routes/quotes.py:737
msgid "File type not allowed"
msgstr "Tiedostotyyppiä ei sallita"

#: app/routes/quotes.py:746
msgid "File size exceeds maximum allowed size (10 MB)"
msgstr "Tiedoston koko ylittää suurimman sallitun koon (10 Mt)"

#: app/routes/quotes.py:782
msgid ""
"Could not upload attachment due to a database error. Please check server "
"logs."
msgstr "Liitettä ei voitu ladata tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/quotes.py:801
msgid "Attachment uploaded successfully"
msgstr "Liite lähetetty onnistuneesti"

#: app/routes/quotes.py:817
msgid "You do not have permission to download this attachment"
msgstr "Sinulla ei ole lupaa ladata tätä liitettä"

#: app/routes/quotes.py:824
msgid "File not found"
msgstr "Tiedostoa ei löydy"

#: app/routes/quotes.py:848
msgid "You do not have permission to delete this attachment"
msgstr "Sinulla ei ole lupaa poistaa tätä liitettä"

#: app/routes/quotes.py:865
msgid ""
"Could not delete attachment due to a database error. Please check server "
"logs."
msgstr ""
"Liitettä ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/quotes.py:877
msgid "Attachment deleted successfully"
msgstr "Liitteen poistaminen onnistui"

#: app/routes/quotes.py:890
msgid "You do not have permission to request approval for this quote"
msgstr "Sinulla ei ole lupaa pyytää hyväksyntää tälle tarjoukselle"

#: app/routes/quotes.py:894 app/routes/quotes.py:938 app/routes/quotes.py:983
msgid "This quote does not require approval"
msgstr "Tämä tarjous ei vaadi hyväksyntää"

#: app/routes/quotes.py:900
#, python-format
msgid "Cannot request approval: %(error)s"
msgstr "Ei voida pyytää hyväksyntää: %(error)s"

#: app/routes/quotes.py:904
msgid "Could not request approval due to a database error. Please check server logs."
msgstr ""
"Ei voitu pyytää hyväksyntää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/quotes.py:926
msgid "Approval requested successfully"
msgstr "Hyväksyntäpyyntö onnistui"

#: app/routes/quotes.py:942 app/routes/quotes.py:987
msgid "This quote is not pending approval"
msgstr "Tämä tarjous ei odota hyväksyntää"

#: app/routes/quotes.py:950
#, python-format
msgid "Cannot approve quote: %(error)s"
msgstr "Tarjousta ei voida hyväksyä: %(error)s"

#: app/routes/quotes.py:954
msgid "Could not approve quote due to a database error. Please check server logs."
msgstr ""
"Tarjousta ei voitu hyväksyä tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/quotes.py:971
msgid "Quote approved successfully"
msgstr "Tarjous hyväksytty"

#: app/routes/quotes.py:998
#, python-format
msgid "Cannot reject quote: %(error)s"
msgstr "Tarjousta ei voi hylätä: %(error)s"

#: app/routes/quotes.py:1019
msgid "Quote approval rejected"
msgstr "Lainauksen hyväksyntä hylätty"

#: app/routes/quotes.py:1094
msgid "Could not create template due to a database error. Please check server logs."
msgstr "Mallia ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/quotes.py:1106
msgid "Template created successfully"
msgstr "Malli luotiin onnistuneesti"

#: app/routes/quotes.py:1121
msgid "You do not have permission to create a template from this quote"
msgstr "Sinulla ei ole lupaa luoda mallia tästä lainauksesta"

#: app/routes/quotes.py:1161
msgid "Could not save template due to a database error. Please check server logs."
msgstr ""
"Mallia ei voitu tallentaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/quotes.py:1173
msgid "Template saved successfully"
msgstr "Malli tallennettu onnistuneesti"

#: app/routes/quotes.py:1183
msgid "You do not have permission to export this quote"
msgstr "Sinulla ei ole lupaa viedä tätä tarjousta"

#: app/routes/quotes.py:1229
#, python-format
msgid "Error generating PDF: %(error)s"
msgstr "Virhe PDF:n luomisessa: %(error)s"

#: app/routes/quotes.py:1248
msgid "Recipient email address is required"
msgstr "Vastaanottajan sähköpostiosoite vaaditaan"

#: app/routes/quotes.py:1263
#, python-format
msgid "Quote sent successfully to %(email)s"
msgstr "Tarjous lähetetty onnistuneesti osoitteeseen %(email)s"

#: app/routes/quotes.py:1278
#, python-format
msgid "Failed to send quote: %(error)s"
msgstr "Tarjouksen lähettäminen epäonnistui: %(error)s"

#: app/routes/quotes.py:1284
#, python-format
msgid "Error sending email: %(error)s"
msgstr "Virhe lähetettäessä sähköpostia: %(error)s"

#: app/routes/quotes.py:1301
msgid "You do not have permission to duplicate this quote"
msgstr "Sinulla ei ole lupaa kopioida tätä lainausta"

#: app/routes/quotes.py:1337
msgid "Could not duplicate quote due to a database error. Please check server logs."
msgstr ""
"Lainausta ei voitu kopioida tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/quotes.py:1354
msgid ""
"Could not finalize duplicated quote due to a database error. Please check "
"server logs."
msgstr ""
"Kopioitua tarjousta ei voitu viimeistellä tietokantavirheen vuoksi. Tarkista"
" palvelimen lokit."

#: app/routes/quotes.py:1357
#, python-format
msgid "Quote %(quote_number)s created as duplicate"
msgstr "Lainaus %(quote_number)s luotiin kaksoiskappaleena"

#: app/routes/quotes.py:1379
msgid "Please select an action and at least one quote"
msgstr "Valitse toiminto ja vähintään yksi tarjous"

#: app/routes/quotes.py:1385
msgid "Invalid quote IDs"
msgstr "Virheelliset lainaustunnukset"

#: app/routes/quotes.py:1394
msgid "No quotes found or you do not have permission"
msgstr "Lainauksia ei löytynyt tai sinulla ei ole lupaa"

#: app/routes/quotes.py:1451
#, python-format
msgid "Duplicated %(count)d quote(s)"
msgstr "Kopioitu %(count)d lainaus"

#: app/routes/quotes.py:1453
#, python-format
msgid "Failed to duplicate %(count)d quote(s)"
msgstr "%(count)d lainauksen kopiointi epäonnistui"

#: app/routes/quotes.py:1455
msgid "Error duplicating quotes"
msgstr "Virhe lainausmerkkien kopioinnissa"

#: app/routes/quotes.py:1470
#, python-format
msgid "Marked %(count)d quote(s) as sent"
msgstr "%(count)d lainaus merkittiin lähetetyksi"

#: app/routes/quotes.py:1472
#, python-format
msgid "Could not mark %(count)d quote(s) as sent"
msgstr "%(count)d lainausta ei voitu merkitä lähetetyksi"

#: app/routes/quotes.py:1474
msgid "Error updating quotes"
msgstr "Virhe tarjousten päivittämisessä"

#: app/routes/quotes.py:1490
#, python-format
msgid "Deleted %(count)d quote(s)"
msgstr "%(count)d lainaus poistettu"

#: app/routes/quotes.py:1492
#, python-format
msgid "Could not delete %(count)d quote(s) (may be in use)"
msgstr "Ei voitu poistaa %(count)d lainausta (saattaa olla käytössä)"

#: app/routes/quotes.py:1494
msgid "Error deleting quotes"
msgstr "Virhe lainausmerkkejä poistettaessa"

#: app/routes/quotes.py:1497
msgid "Invalid action"
msgstr "Virheellinen toiminto"

#: app/routes/recurring_invoices.py:65
msgid "Name, project, client, frequency, and next run date are required"
msgstr "Nimi, projekti, asiakas, taajuus ja seuraava suorituspäivä ovat pakollisia"

#: app/routes/recurring_invoices.py:71
msgid "Invalid next run date format"
msgstr "Virheellinen seuraavan suorituspäivän muoto"

#: app/routes/recurring_invoices.py:79
msgid "Invalid end date format"
msgstr "Virheellinen lopetuspäivän muoto"

#: app/routes/recurring_invoices.py:92
msgid "Selected project or client not found"
msgstr "Valittua projektia tai asiakasta ei löydy"

#: app/routes/recurring_invoices.py:129
msgid ""
"Could not create recurring invoice due to a database error. Please check "
"server logs."
msgstr ""
"Toistuvaa laskua ei voitu luoda tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/recurring_invoices.py:158
msgid "You do not have permission to view this recurring invoice"
msgstr "Sinulla ei ole lupaa tarkastella tätä toistuvaa laskua"

#: app/routes/recurring_invoices.py:175
msgid "You do not have permission to edit this recurring invoice"
msgstr "Sinulla ei ole lupaa muokata tätä toistuvaa laskua"

#: app/routes/recurring_invoices.py:200
msgid ""
"Could not update recurring invoice due to a database error. Please check "
"server logs."
msgstr ""
"Toistuvaa laskua ei voitu päivittää tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/recurring_invoices.py:203
msgid "Recurring invoice updated successfully"
msgstr "Toistuvan laskun päivitys onnistui"

#: app/routes/recurring_invoices.py:220
msgid "You do not have permission to delete this recurring invoice"
msgstr "Sinulla ei ole lupaa poistaa tätä toistuvaa laskua"

#: app/routes/recurring_invoices.py:226
msgid ""
"Could not delete recurring invoice due to a database error. Please check "
"server logs."
msgstr ""
"Toistuvaa laskua ei voitu poistaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/saved_filters.py:282
msgid "Could not delete filter due to a database error"
msgstr "Suodatinta ei voitu poistaa tietokantavirheen vuoksi"

#: app/routes/setup.py:36
msgid "Setup complete! Thank you for helping us improve TimeTracker."
msgstr "Asennus valmis! Kiitos, että autat meitä parantamaan TimeTrackeria."

#: app/routes/setup.py:38
msgid "Setup complete! Telemetry is disabled."
msgstr "Asennus valmis! Telemetria on poissa käytöstä."

#: app/routes/tasks.py:129
msgid "Project and task name are required"
msgstr "Projektin ja tehtävän nimi vaaditaan"

#: app/routes/tasks.py:135
msgid "Selected project does not exist"
msgstr "Valittua projektia ei ole olemassa"

#: app/routes/tasks.py:168
msgid "Could not create task due to a database error. Please check server logs."
msgstr "Tehtävää ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/tasks.py:213
msgid "You do not have access to this task"
msgstr "Sinulla ei ole pääsyä tähän tehtävään"

#: app/routes/tasks.py:235
msgid "You can only edit tasks you created"
msgstr "Voit muokata vain luomiasi tehtäviä"

#: app/routes/tasks.py:252
msgid "Task name is required"
msgstr "Tehtävän nimi on pakollinen"

#: app/routes/tasks.py:257 app/routes/timer.py:47
msgid "Project is required"
msgstr "Projekti vaaditaan"

#: app/routes/tasks.py:261
msgid "Selected project does not exist or is inactive"
msgstr "Valittua projektia ei ole olemassa tai se ei ole aktiivinen"

#: app/routes/tasks.py:316
msgid "Could not update status due to a database error. Please check server logs."
msgstr "Tilaa ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen lokit."

#: app/routes/tasks.py:350
msgid "Could not update task due to a database error. Please check server logs."
msgstr ""
"Tehtävää ei voitu päivittää tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/tasks.py:393
msgid "You do not have permission to update this task"
msgstr "Sinulla ei ole lupaa päivittää tätä tehtävää"

#: app/routes/tasks.py:478
msgid "You can only update tasks you created"
msgstr "Voit päivittää vain luomiasi tehtäviä"

#: app/routes/tasks.py:498
msgid "You can only assign tasks you created"
msgstr "Voit määrittää vain itse luomiasi tehtäviä"

#: app/routes/tasks.py:504
msgid "Selected user does not exist"
msgstr "Valittua käyttäjää ei ole olemassa"

#: app/routes/tasks.py:511
msgid "Task unassigned"
msgstr "Tehtävää ei ole määritetty"

#: app/routes/tasks.py:523
msgid "You can only delete tasks you created"
msgstr "Voit poistaa vain luomiasi tehtäviä"

#: app/routes/tasks.py:528
msgid "Cannot delete task with existing time entries"
msgstr "Tehtävää ei voi poistaa olemassa olevilla aikamerkinnöillä"

#: app/routes/tasks.py:549
msgid "Could not delete task due to a database error. Please check server logs."
msgstr ""
"Tehtävää ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/tasks.py:566
msgid "No tasks selected for deletion"
msgstr "Poistettavia tehtäviä ei ole valittu"

#: app/routes/tasks.py:612
msgid "Could not delete tasks due to a database error. Please check server logs."
msgstr ""
"Tehtäviä ei voitu poistaa tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/tasks.py:633 app/routes/tasks.py:693 app/routes/tasks.py:743
#: app/routes/tasks.py:799
msgid "No tasks selected"
msgstr "Tehtäviä ei ole valittu"

#: app/routes/tasks.py:674 app/routes/tasks.py:724
msgid "Could not update tasks due to a database error"
msgstr "Tehtäviä ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/tasks.py:697
msgid "Invalid priority value"
msgstr "Virheellinen prioriteettiarvo"

#: app/routes/tasks.py:747
msgid "No user selected for assignment"
msgstr "Käyttäjää ei ole valittu tehtävään"

#: app/routes/tasks.py:753
msgid "Invalid user selected"
msgstr "Virheellinen käyttäjä valittu"

#: app/routes/tasks.py:780
msgid "Could not assign tasks due to a database error"
msgstr "Tehtäviä ei voitu määrittää tietokantavirheen vuoksi"

#: app/routes/tasks.py:803
msgid "No project selected"
msgstr "Projektia ei ole valittu"

#: app/routes/tasks.py:809 app/routes/timer.py:54 app/routes/timer.py:233
#: app/routes/timer.py:415 app/routes/timer.py:586 app/routes/timer.py:704
msgid "Invalid project selected"
msgstr "Virheellinen projekti valittu"

#: app/routes/tasks.py:851
msgid "Could not move tasks due to a database error"
msgstr "Tehtäviä ei voitu siirtää tietokantavirheen vuoksi"

#: app/routes/tasks.py:1058
msgid "Only administrators can view all overdue tasks"
msgstr "Vain järjestelmänvalvojat voivat tarkastella kaikkia myöhässä olevia tehtäviä"

#: app/routes/time_entry_templates.py:90
msgid "Could not create template due to a database error"
msgstr "Mallia ei voitu luoda tietokantavirheen vuoksi"

#: app/routes/time_entry_templates.py:205
msgid "Could not update template due to a database error"
msgstr "Mallia ei voitu päivittää tietokantavirheen vuoksi"

#: app/routes/time_entry_templates.py:259
msgid "Could not delete template due to a database error"
msgstr "Mallia ei voitu poistaa tietokantavirheen vuoksi"

#: app/routes/timer.py:60 app/routes/timer.py:239 app/routes/timer.py:999
msgid ""
"Cannot start timer for an archived project. Please unarchive the project "
"first."
msgstr ""
"Arkistoidun projektin ajastinta ei voi käynnistää. Poista projektin arkisto "
"ensin."

#: app/routes/timer.py:64 app/routes/timer.py:243 app/routes/timer.py:1002
msgid "Cannot start timer for an inactive project"
msgstr "Ei voi käynnistää ajastinta ei-aktiiviselle projektille"

#: app/routes/timer.py:72
msgid "Selected task is invalid for the chosen project"
msgstr "Valittu tehtävä on virheellinen valitulle projektille"

#: app/routes/timer.py:81 app/routes/timer.py:172 app/routes/timer.py:250
msgid "You already have an active timer. Stop it before starting a new one."
msgstr "Sinulla on jo aktiivinen ajastin. Lopeta se ennen kuin aloitat uuden."

#: app/routes/timer.py:98 app/routes/timer.py:205 app/routes/timer.py:266
msgid "Could not start timer due to a database error. Please check server logs."
msgstr ""
"Ei voitu käynnistää ajastinta tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/timer.py:177
msgid "Template must have a project to start a timer"
msgstr "Mallissa on oltava projekti ajastimen käynnistämiseksi"

#: app/routes/timer.py:183
msgid "Cannot start timer for this project"
msgstr "Tämän projektin ajastinta ei voi käynnistää"

#: app/routes/timer.py:299
msgid "No active timer to stop"
msgstr "Ei aktiivista pysäytysajastinta"

#: app/routes/timer.py:397
msgid "You can only edit your own timers"
msgstr "Voit muokata vain omia ajastimia"

#: app/routes/timer.py:428
msgid "Invalid task selected for the chosen project"
msgstr "Virheellinen tehtävä valittu valitulle projektille"

#: app/routes/timer.py:451
msgid "Start time cannot be in the future"
msgstr "Aloitusaika ei voi olla tulevaisuudessa"

#: app/routes/timer.py:458
msgid "Invalid start date/time format"
msgstr "Virheellinen aloituspäivän/kellonajan muoto"

#: app/routes/timer.py:471
msgid "End time must be after start time"
msgstr "Päättymisajan on oltava alkamisajan jälkeen"

#: app/routes/timer.py:480
msgid "Invalid end date/time format"
msgstr "Virheellinen lopetuspäivän/ajan muoto"

#: app/routes/timer.py:491
msgid "Could not update timer due to a database error. Please check server logs."
msgstr ""
"Ajastimen päivittäminen epäonnistui tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/timer.py:494
msgid "Timer updated successfully"
msgstr "Ajastimen päivitys onnistui"

#: app/routes/timer.py:515
msgid "You can only delete your own timers"
msgstr "Voit poistaa vain omat ajastimesi"

#: app/routes/timer.py:520
msgid "Cannot delete an active timer"
msgstr "Aktiivista ajastinta ei voi poistaa"

#: app/routes/timer.py:526
msgid "Could not delete timer due to a database error. Please check server logs."
msgstr ""
"Ajastimen poistaminen epäonnistui tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/timer.py:579 app/routes/timer.py:697
msgid "All fields are required"
msgstr "Kaikki kentät ovat pakollisia"

#: app/routes/timer.py:592 app/routes/timer.py:710
msgid ""
"Cannot create time entries for an archived project. Please unarchive the "
"project first."
msgstr ""
"Arkistoidulle projektille ei voi luoda aikamerkintöjä. Poista projektin "
"arkisto ensin."

#: app/routes/timer.py:596 app/routes/timer.py:714
msgid "Cannot create time entries for an inactive project"
msgstr "Ei voi luoda aikamerkintöjä ei-aktiiviselle projektille"

#: app/routes/timer.py:604 app/routes/timer.py:722
msgid "Invalid task selected"
msgstr "Virheellinen tehtävä valittu"

#: app/routes/timer.py:613
msgid "Invalid date/time format"
msgstr "Virheellinen päivämäärän/ajan muoto"

#: app/routes/timer.py:638
msgid ""
"Could not create manual entry due to a database error. Please check server "
"logs."
msgstr ""
"Käsinsyöttöä ei voitu luoda tietokantavirheen vuoksi. Tarkista palvelimen "
"lokit."

#: app/routes/timer.py:733
msgid "End date must be after or equal to start date"
msgstr "Päättymispäivän on oltava aloituspäivämäärää myöhempi tai yhtä suuri kuin se"

#: app/routes/timer.py:739
msgid "Date range cannot exceed 31 days"
msgstr "Ajanjakso ei saa ylittää 31 päivää"

#: app/routes/timer.py:757
msgid "Invalid time format"
msgstr "Virheellinen ajan muoto"

#: app/routes/timer.py:775
msgid "No valid dates found in the selected range"
msgstr "Valitulta alueelta ei löytynyt kelvollisia päivämääriä"

#: app/routes/timer.py:827
msgid ""
"Could not create bulk entries due to a database error. Please check server "
"logs."
msgstr ""
"Joukkomerkintöjä ei voitu luoda tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/timer.py:842
msgid "An error occurred while creating bulk entries. Please try again."
msgstr "Joukkomerkintöjä luotaessa tapahtui virhe. Yritä uudelleen."

#: app/routes/timer.py:943
msgid "You can only duplicate your own timers"
msgstr "Voit kopioida vain omia ajastimesi"

#: app/routes/timer.py:982
msgid "You can only resume your own timers"
msgstr "Voit jatkaa vain omia ajastimiasi"

#: app/routes/timer.py:995
msgid "Project no longer exists"
msgstr "Projektia ei ole enää olemassa"

#: app/routes/timer.py:1031
msgid "Could not resume timer due to a database error. Please check server logs."
msgstr ""
"Ajastimen käynnistämistä ei voitu jatkaa tietokantavirheen vuoksi. Tarkista "
"palvelimen lokit."

#: app/routes/timer_refactored.py:177
msgid "Timer stopped successfully"
msgstr "Ajastin pysähtyi onnistuneesti"

#: app/routes/user.py:74
msgid "Invalid timezone selected"
msgstr "Virheellinen aikavyöhyke valittu"

#: app/routes/user.py:112
msgid "Standard hours per day must be between 0.5 and 24"
msgstr "Vuorokauden normaalituntien on oltava 0,5–24"

#: app/routes/user.py:127
msgid "Settings saved successfully"
msgstr "Asetukset tallennettu onnistuneesti"

#: app/routes/user.py:129
msgid "Error saving settings"
msgstr "Virhe asetusten tallentamisessa"

#: app/routes/user.py:132
#, python-format
msgid "Error saving settings: %(error)s"
msgstr "Virhe tallennettaessa asetuksia: %(error)s"

#: app/routes/user.py:194
msgid "Preferences updated"
msgstr "Asetukset päivitetty"

#: app/routes/user.py:250
msgid "Language updated successfully"
msgstr "Kielen päivitys onnistui"

#: app/routes/user.py:253 app/routes/user.py:282
msgid "Invalid language"
msgstr "Virheellinen kieli"

#: app/routes/user.py:276
#, python-format
msgid "Language updated to %(language)s"
msgstr "Kieleksi päivitetty %(language)s"

#: app/routes/webhooks.py:39
msgid "Webhook name is required"
msgstr "Webhook-nimi vaaditaan"

#: app/routes/webhooks.py:45
msgid "Webhook URL is required"
msgstr "Webhookin URL-osoite vaaditaan"

#: app/routes/webhooks.py:53
msgid "At least one event must be selected"
msgstr "Vähintään yksi tapahtuma on valittava"

#: app/routes/webhooks.py:79
msgid "Webhook created successfully"
msgstr "Webhook luotiin onnistuneesti"

#: app/routes/webhooks.py:83
msgid "Error creating webhook"
msgstr "Virhe luotaessa webhookia"

#: app/routes/webhooks.py:86
#, python-format
msgid "Error creating webhook: %(error)s"
msgstr "Virhe luotaessa webhookia: %(error)s"

#: app/routes/webhooks.py:103 app/routes/webhooks.py:125
#: app/routes/webhooks.py:170
msgid "Access denied"
msgstr "Käyttö estetty"

#: app/routes/webhooks.py:149
msgid "Webhook updated successfully"
msgstr "Webhookin päivitys onnistui"

#: app/routes/webhooks.py:153
#, python-format
msgid "Error updating webhook: %(error)s"
msgstr "Virhe päivitettäessä webhookia: %(error)s"

#: app/routes/webhooks.py:176
msgid "Webhook deleted successfully"
msgstr "Webhookin poistaminen onnistui"

#: app/routes/webhooks.py:179
#, python-format
msgid "Error deleting webhook: %(error)s"
msgstr "Virhe poistettaessa webhookia: %(error)s"

#: app/routes/weekly_goals.py:78 app/routes/weekly_goals.py:212
msgid "Please enter a valid target hours (greater than 0)"
msgstr "Anna kelvollinen tavoitetunnit (suurempi kuin 0)"

#: app/routes/weekly_goals.py:99
msgid "A goal already exists for this week. Please edit the existing goal instead."
msgstr "Tälle viikolle on jo tavoite. Muokkaa nykyistä tavoitetta sen sijaan."

#: app/routes/weekly_goals.py:113
msgid "Weekly time goal created successfully!"
msgstr "Viikoittainen aikatavoite luotu onnistuneesti!"

#: app/routes/weekly_goals.py:129
msgid "Failed to create goal. Please try again."
msgstr "Tavoitteen luominen epäonnistui. Yritä uudelleen."

#: app/routes/weekly_goals.py:143
msgid "You do not have permission to view this goal"
msgstr "Sinulla ei ole lupaa tarkastella tätä tavoitetta"

#: app/routes/weekly_goals.py:197
msgid "You do not have permission to edit this goal"
msgstr "Sinulla ei ole lupaa muokata tätä tavoitetta"

#: app/routes/weekly_goals.py:224
msgid "Weekly time goal updated successfully!"
msgstr "Viikoittainen aikatavoite päivitetty onnistuneesti!"

#: app/routes/weekly_goals.py:241
msgid "Failed to update goal. Please try again."
msgstr "Tavoitteen päivittäminen epäonnistui. Yritä uudelleen."

#: app/routes/weekly_goals.py:255
msgid "You do not have permission to delete this goal"
msgstr "Sinulla ei ole lupaa poistaa tätä tavoitetta"

#: app/routes/weekly_goals.py:263
msgid "Weekly time goal deleted successfully"
msgstr "Viikoittainen aikatavoitteen poistaminen onnistui"

#: app/routes/weekly_goals.py:277
msgid "Failed to delete goal. Please try again."
msgstr "Tavoitteen poistaminen epäonnistui. Yritä uudelleen."

#: app/templates/_components.html:212
msgid "remaining"
msgstr "jäljellä"

#: app/templates/admin/webhooks/list.html:68
#: app/templates/admin/webhooks/view.html:114 app/templates/base.html:154
#: app/templates/kanban/columns.html:226
msgid "Success"
msgstr "Menestys"

#: app/templates/admin/email_support.html:388
#: app/templates/admin/email_support.html:487 app/templates/base.html:155
msgid "Error"
msgstr "Virhe"

#: app/templates/base.html:156 app/templates/budget/dashboard.html:161
#: app/templates/budget/project_detail.html:67
#: app/templates/projects/view.html:187 app/utils/i18n_helpers.py:294
#: app/utils/i18n_helpers.py:304
msgid "Warning"
msgstr "Varoitus"

#: app/templates/base.html:157 app/templates/calendar/event_detail.html:170
#: app/templates/quotes/view.html:385
msgid "Information"
msgstr "Tiedot"

#: app/templates/analytics/dashboard.html:195
#: app/templates/analytics/dashboard_improved.html:200
#: app/templates/analytics/mobile_dashboard.html:148 app/templates/base.html:160
#: app/templates/components/activity_feed_widget.html:220
#: app/templates/import_export/index.html:91
#: app/templates/import_export/index.html:153
msgid "Loading..."
msgstr "Ladataan..."

#: app/templates/admin/email_support.html:329 app/templates/base.html:161
#: app/templates/client_notes/edit.html:115
#: app/templates/comments/_comments_section.html:156
#: app/templates/comments/edit.html:108
msgid "Saving..."
msgstr "Tallennetaan..."

#: app/templates/base.html:162
msgid "Deleting..."
msgstr "Poistetaan..."

#: app/templates/admin/api_tokens.html:429 app/templates/admin/api_tokens.html:462
#: app/templates/admin/email_templates/create.html:117
#: app/templates/admin/email_templates/edit.html:115
#: app/templates/admin/email_templates/list.html:80
#: app/templates/admin/quote_pdf_layout.html:2413
#: app/templates/admin/quote_pdf_layout.html:3324
#: app/templates/admin/roles/form.html:99 app/templates/admin/roles/list.html:213
#: app/templates/admin/settings.html:300 app/templates/admin/users.html:120
#: app/templates/admin/users/roles.html:57
#: app/templates/admin/webhooks/form.html:128 app/templates/base.html:163
#: app/templates/calendar/event_detail.html:194
#: app/templates/calendar/event_form.html:237
#: app/templates/client_notes/edit.html:86 app/templates/clients/create.html:79
#: app/templates/clients/edit.html:105 app/templates/clients/view.html:223
#: app/templates/clients/view.html:342 app/templates/comments/_comment.html:61
#: app/templates/comments/_comment.html:85
#: app/templates/comments/_comments_section.html:44
#: app/templates/comments/edit.html:79
#: app/templates/contacts/communication_form.html:82
#: app/templates/contacts/form.html:99 app/templates/deals/form.html:112
#: app/templates/expenses/view.html:399 app/templates/import_export/index.html:191
#: app/templates/import_export/index.html:229
#: app/templates/inventory/adjustments/form.html:56
#: app/templates/inventory/movements/form.html:67
#: app/templates/inventory/purchase_orders/form.html:101
#: app/templates/inventory/stock_items/form.html:134
#: app/templates/inventory/suppliers/form.html:85
#: app/templates/inventory/transfers/form.html:60
#: app/templates/inventory/warehouses/form.html:60
#: app/templates/invoices/edit.html:232 app/templates/invoices/edit.html:589
#: app/templates/invoices/generate_from_time.html:105
#: app/templates/invoices/list.html:324 app/templates/invoices/view.html:270
#: app/templates/kanban/columns.html:162
#: app/templates/kanban/create_column.html:86
#: app/templates/kanban/edit_column.html:88 app/templates/leads/form.html:103
#: app/templates/per_diem/rates_list.html:113
#: app/templates/projects/add_good.html:68 app/templates/projects/archive.html:82
#: app/templates/projects/create.html:92 app/templates/projects/create.html:419
#: app/templates/projects/edit.html:83 app/templates/projects/edit_good.html:68
#: app/templates/quotes/accept.html:54 app/templates/quotes/create.html:199
#: app/templates/quotes/edit.html:213 app/templates/quotes/view.html:285
#: app/templates/quotes/view.html:366 app/templates/quotes/view.html:458
#: app/templates/quotes/view.html:514 app/templates/quotes/view.html:532
#: app/templates/quotes/view.html:544
#: app/templates/settings/keyboard_shortcuts.html:465
#: app/templates/tasks/create.html:116 app/templates/tasks/edit.html:140
#: app/templates/tasks/list.html:308 app/templates/tasks/list.html:510
#: app/templates/user/settings.html:301 app/templates/weekly_goals/create.html:104
#: app/templates/weekly_goals/edit.html:90
msgid "Cancel"
msgstr "Peruuttaa"

#: app/templates/base.html:164
msgid "Confirm"
msgstr "Vahvistaa"

#: app/templates/base.html:165 app/templates/calendar/view.html:112
#: app/templates/invoices/list.html:308 app/templates/invoices/view.html:254
#: app/templates/kanban/columns.html:143 app/templates/main/dashboard.html:286
#: app/templates/projects/create.html:379 app/templates/quotes/view.html:428
#: app/templates/tasks/_kanban.html:1363
msgid "Close"
msgstr "Lähellä"

#: app/templates/admin/webhooks/form.html:125 app/templates/base.html:166
#: app/templates/comments/_comment.html:58
#: app/templates/inventory/stock_items/form.html:137
#: app/templates/inventory/suppliers/form.html:88
#: app/templates/inventory/warehouses/form.html:63
msgid "Save"
msgstr "Tallentaa"

#: app/templates/admin/api_tokens.html:461
#: app/templates/admin/email_templates/list.html:83
#: app/templates/admin/roles/list.html:147 app/templates/admin/roles/list.html:212
#: app/templates/admin/users.html:79 app/templates/admin/users.html:119
#: app/templates/base.html:167 app/templates/calendar/event_detail.html:26
#: app/templates/calendar/event_detail.html:193
#: app/templates/calendar/view.html:118 app/templates/clients/view.html:274
#: app/templates/clients/view.html:341 app/templates/comments/_comment.html:35
#: app/templates/expenses/view.html:398 app/templates/kanban/columns.html:103
#: app/templates/per_diem/rates_list.html:80
#: app/templates/per_diem/rates_list.html:112 app/templates/projects/goods.html:81
#: app/templates/quotes/list.html:109 app/templates/quotes/list.html:295
#: app/templates/quotes/view.html:312 app/templates/quotes/view.html:337
#: app/templates/quotes/view.html:547 app/templates/saved_filters/list.html:51
#: app/templates/tasks/list.html:509
#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
#: app/templates/weekly_goals/edit.html:93 app/templates/weekly_goals/edit.html:95
msgid "Delete"
msgstr "Poistaa"

#: app/templates/admin/roles/list.html:144 app/templates/admin/users.html:76
#: app/templates/admin/webhooks/view.html:18 app/templates/base.html:168
#: app/templates/calendar/event_detail.html:22
#: app/templates/calendar/view.html:115 app/templates/clients/view.html:266
#: app/templates/comments/_comment.html:30 app/templates/contacts/list.html:59
#: app/templates/kanban/columns.html:93 app/templates/per_diem/rates_list.html:70
#: app/templates/quotes/view.html:309 app/templates/quotes/view.html:334
#: app/templates/recurring_invoices/view.html:16
#: app/templates/tasks/overdue.html:96 app/templates/weekly_goals/index.html:196
#: app/templates/weekly_goals/view.html:21
msgid "Edit"
msgstr "Muokata"

#: app/templates/base.html:169
msgid "Add"
msgstr "Lisätä"

#: app/templates/admin/settings.html:299 app/templates/base.html:170
#: app/templates/inventory/purchase_orders/form.html:153
#: app/templates/inventory/stock_items/form.html:120
#: app/templates/inventory/stock_items/form.html:171
msgid "Remove"
msgstr "Poistaa"

#: app/templates/admin/email_support.html:176 app/templates/base.html:171
#: app/templates/inventory/stock_items/view.html:113
#: app/templates/kanban/columns.html:79
msgid "Yes"
msgstr "Kyllä"

#: app/templates/admin/email_support.html:178 app/templates/base.html:172
#: app/templates/inventory/stock_items/view.html:115
#: app/templates/kanban/columns.html:81
msgid "No"
msgstr "Ei"

#: app/templates/admin/users.html:104 app/templates/base.html:173
#: app/templates/inventory/stock_levels/warehouse.html:77
msgid "OK"
msgstr "OK"

#: app/templates/base.html:176
msgid "Are you sure you want to delete this?"
msgstr "Haluatko varmasti poistaa tämän?"

#: app/templates/base.html:177
msgid "You have unsaved changes. Are you sure you want to leave?"
msgstr "Sinulla on tallentamattomia muutoksia. Oletko varma, että haluat lähteä?"

#: app/templates/base.html:178
msgid "Operation failed"
msgstr "Toiminto epäonnistui"

#: app/templates/base.html:179
msgid "Operation completed successfully"
msgstr "Toiminto suoritettu onnistuneesti"

#: app/templates/base.html:180
msgid "No items selected"
msgstr "Ei valittuja kohteita"

#: app/templates/base.html:181
msgid "Invalid input"
msgstr "Virheellinen syöte"

#: app/templates/base.html:182
msgid "This field is required"
msgstr "Tämä kenttä on pakollinen"

#: app/templates/base.html:183 app/templates/user/profile.html:62
msgid "No active timer"
msgstr "Ei aktiivista ajastinta"

#: app/templates/base.html:184
msgid "Timer stopped"
msgstr "Ajastin pysähtyi"

#: app/templates/base.html:185
msgid "Failed to stop timer"
msgstr "Ajastimen pysäyttäminen epäonnistui"

#: app/templates/base.html:186
msgid "Error stopping timer"
msgstr "Virhe pysäytettäessä ajastinta"

#: app/templates/base.html:187
msgid "No form to save"
msgstr "Ei tallennettavaa lomaketta"

#: app/templates/base.html:188
msgid "No timer found"
msgstr "Ajasinta ei löytynyt"

#: app/templates/base.html:189
msgid "Timer stopped due to inactivity"
msgstr "Ajastin pysähtyi epäaktiivisuuden vuoksi"

#: app/templates/base.html:201
msgid "Skip to content"
msgstr "Siirry sisältöön"

#: app/templates/base.html:220
msgid "Navigation"
msgstr "Navigointi"

#: app/templates/base.html:221
msgid "Toggle sidebar"
msgstr "Vaihda sivupalkki"

#: app/templates/base.html:229 app/templates/base.html:773
#: app/templates/client_portal/base.html:38 app/templates/main/dashboard.html:8
#: app/templates/main/dashboard.html:12 app/templates/projects/view.html:19
msgid "Dashboard"
msgstr "Kojelauta"

#: app/templates/base.html:235 app/templates/calendar/view.html:12
#: app/templates/calendar/view.html:17
msgid "Calendar"
msgstr "Kalenteri"

#: app/templates/base.html:241 app/templates/main/about.html:25
#: app/templates/main/help.html:27 app/templates/main/help.html:101
#: app/templates/main/help.html:255 app/templates/timer/manual_entry.html:6
msgid "Time Tracking"
msgstr "Ajan seuranta"

#: app/templates/base.html:255 app/templates/timer/manual_entry.html:7
#: app/templates/timer/manual_entry.html:99
msgid "Log Time"
msgstr "Lokiaika"

#: app/templates/admin/oidc_user_detail.html:61
#: app/templates/analytics/mobile_dashboard.html:49 app/templates/base.html:260
#: app/templates/base.html:777 app/templates/client_portal/base.html:41
#: app/templates/client_portal/dashboard.html:65
#: app/templates/client_portal/projects.html:4
#: app/templates/client_portal/projects.html:9
#: app/templates/client_portal/projects.html:14
#: app/templates/components/activity_feed_widget.html:23
msgid "Projects"
msgstr "Projektit"

#: app/templates/base.html:265 app/templates/calendar/view.html:77
#: app/templates/components/activity_feed_widget.html:27
msgid "Tasks"
msgstr "Tehtävät"

#: app/templates/base.html:270 app/templates/kanban/board.html:8
#: app/templates/kanban/board.html:32 app/templates/main/help.html:31
#: app/templates/main/help.html:335 app/templates/tasks/_kanban.html:9
msgid "Kanban Board"
msgstr "Kanbanin hallitus"

#: app/templates/base.html:275 app/templates/weekly_goals/index.html:8
msgid "Weekly Goals"
msgstr "Viikoittaiset tavoitteet"

#: app/templates/base.html:283
msgid "CRM"
msgstr "CRM"

#: app/templates/base.html:291
#: app/templates/components/activity_feed_widget.html:43
msgid "Clients"
msgstr "Asiakkaat"

#: app/templates/base.html:296 app/templates/client_portal/quote_detail.html:9
#: app/templates/client_portal/quotes.html:4
#: app/templates/client_portal/quotes.html:9
#: app/templates/client_portal/quotes.html:14
msgid "Quotes"
msgstr "Lainausmerkit"

#: app/templates/base.html:304
msgid "Finance & Expenses"
msgstr "Rahoitus ja kulut"

#: app/templates/base.html:318 app/templates/base.html:428
#: app/templates/base.html:784 app/templates/budget/dashboard.html:17
msgid "Reports"
msgstr "Raportit"

#: app/templates/base.html:323 app/templates/client_portal/base.html:44
#: app/templates/client_portal/invoice_detail.html:9
#: app/templates/client_portal/invoices.html:4
#: app/templates/client_portal/invoices.html:9
#: app/templates/client_portal/invoices.html:14
#: app/templates/components/activity_feed_widget.html:39
msgid "Invoices"
msgstr "Laskut"

#: app/templates/base.html:328 app/templates/recurring_invoices/list.html:6
#: app/templates/recurring_invoices/list.html:11
msgid "Recurring Invoices"
msgstr "Toistuvat laskut"

#: app/templates/base.html:333
msgid "Payments"
msgstr "Maksut"

#: app/templates/base.html:338 app/templates/invoices/edit.html:120
#: app/templates/invoices/edit.html:284 app/templates/main/help.html:33
msgid "Expenses"
msgstr "Kulut"

#: app/templates/base.html:343
msgid "Mileage"
msgstr "Kilometrimäärä"

#: app/templates/base.html:348
msgid "Per Diem"
msgstr "Päivärahat"

#: app/templates/base.html:353 app/templates/budget/dashboard.html:7
msgid "Budget Alerts"
msgstr "Budjettihälytykset"

#: app/templates/base.html:361
msgid "Inventory"
msgstr "Varasto"

#: app/templates/base.html:377 app/templates/inventory/suppliers/view.html:174
msgid "Stock Items"
msgstr "Varastotuotteet"

#: app/templates/base.html:382
msgid "Warehouses"
msgstr "Varastot"

#: app/templates/base.html:387 app/templates/inventory/stock_items/form.html:98
#: app/templates/inventory/stock_items/view.html:60
msgid "Suppliers"
msgstr "Toimittajat"

#: app/templates/base.html:393
msgid "Purchase Orders"
msgstr "Ostotilaukset"

#: app/templates/base.html:398 app/templates/inventory/warehouses/view.html:79
msgid "Stock Levels"
msgstr "Varastotasot"

#: app/templates/base.html:403
msgid "Stock Movements"
msgstr "Osakeliikkeet"

#: app/templates/base.html:408
msgid "Transfers"
msgstr "Siirrot"

#: app/templates/base.html:413
msgid "Adjustments"
msgstr "Säädöt"

#: app/templates/base.html:418
msgid "Reservations"
msgstr "Varaukset"

#: app/templates/base.html:423
msgid "Low Stock Alerts"
msgstr "Alhaisen varaston varoitukset"

#: app/templates/analytics/dashboard.html:8
#: app/templates/analytics/mobile_dashboard.html:3
#: app/templates/analytics/mobile_dashboard.html:20 app/templates/base.html:436
#: app/templates/main/about.html:34
msgid "Analytics"
msgstr "Analytics"

#: app/templates/base.html:442
msgid "Tools & Data"
msgstr "Työkalut ja tiedot"

#: app/templates/base.html:450
msgid "Import / Export"
msgstr "Tuo / Vie"

#: app/templates/base.html:455
msgid "Saved Filters"
msgstr "Tallennetut suodattimet"

#: app/templates/admin/oidc_debug.html:8 app/templates/admin/oidc_debug.html:152
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/admin/permissions/list.html:6
#: app/templates/admin/roles/list.html:6 app/templates/admin/webhooks/form.html:6
#: app/templates/admin/webhooks/list.html:6
#: app/templates/admin/webhooks/view.html:6 app/templates/base.html:464
#: app/templates/comments/_comment.html:13 app/templates/user/profile.html:21
msgid "Admin"
msgstr "Admin"

#: app/templates/base.html:471
msgid "Admin Dashboard"
msgstr "Admin Dashboard"

#: app/templates/admin/roles/list.html:94 app/templates/base.html:479
#: app/templates/components/activity_feed_widget.html:47
msgid "Users"
msgstr "Käyttäjät"

#: app/templates/admin/permissions/list.html:7
#: app/templates/admin/roles/list.html:7 app/templates/admin/roles/list.html:12
#: app/templates/base.html:486
msgid "Roles & Permissions"
msgstr "Roolit ja käyttöoikeudet"

#: app/templates/audit_logs/list.html:4 app/templates/audit_logs/list.html:8
#: app/templates/audit_logs/list.html:13 app/templates/base.html:495
msgid "Audit Logs"
msgstr "Tarkastuslokit"

#: app/templates/base.html:502
msgid "API Tokens"
msgstr "API-tunnukset"

#: app/templates/base.html:511 app/templates/main/help.html:64
msgid "System Settings"
msgstr "Järjestelmäasetukset"

#: app/templates/admin/email_support.html:18 app/templates/base.html:516
msgid "Email Configuration"
msgstr "Sähköpostiasetukset"

#: app/templates/base.html:521
msgid "Email Templates"
msgstr "Sähköpostimallit"

#: app/templates/base.html:528
msgid "PDF Templates"
msgstr "PDF-malleja"

#: app/templates/base.html:534
msgid "Invoice PDF"
msgstr "Lasku PDF"

#: app/templates/base.html:539
msgid "Quote PDF"
msgstr "Lainaus PDF"

#: app/templates/base.html:550
msgid "Expense Categories"
msgstr "Kulujen luokat"

#: app/templates/base.html:555
msgid "Per Diem Rates"
msgstr "Päivärahat"

#: app/templates/base.html:562
msgid "Time Entry Templates"
msgstr "Ajansyöttömallit"

#: app/templates/base.html:571 app/templates/main/about.html:206
#: app/templates/main/help.html:751 app/templates/main/help.html:765
msgid "System Info"
msgstr "Järjestelmätiedot"

#: app/templates/base.html:578
msgid "Backups"
msgstr "Varmuuskopiot"

#: app/templates/admin/oidc_debug.html:9 app/templates/base.html:585
msgid "OIDC Settings"
msgstr "OIDC-asetukset"

#: app/templates/base.html:599 app/templates/main/about.html:3
#: app/templates/main/about.html:8 app/templates/main/about.html:12
msgid "About"
msgstr "Noin"

#: app/templates/base.html:605 app/templates/clients/create.html:88
#: app/templates/main/help.html:3 app/templates/main/help.html:8
#: app/templates/main/help.html:12
msgid "Help"
msgstr "Auttaa"

#: app/templates/base.html:611 app/templates/main/dashboard.html:261
msgid "Buy me a coffee"
msgstr "Osta minulle kahvia"

#: app/templates/base.html:639 app/templates/base.html:640
#: app/templates/inventory/stock_items/list.html:21
#: app/templates/inventory/suppliers/list.html:21 app/templates/leads/list.html:22
#: app/templates/main/search.html:3 app/templates/quotes/list.html:74
#: app/templates/tasks/my_tasks.html:115
msgid "Search"
msgstr "Haku"

#: app/templates/base.html:655
msgid "Support TimeTracker development"
msgstr "Tukee TimeTrackerin kehitystä"

#: app/templates/base.html:657 app/templates/base.html:752
msgid "Support"
msgstr "Tukea"

#: app/templates/base.html:660
msgid "Toggle dark mode"
msgstr "Tumma tila päälle/pois"

#: app/templates/base.html:667
msgid "Change language"
msgstr "Vaihda kieli"

#: app/templates/base.html:672 app/templates/user/settings.html:128
msgid "Language"
msgstr "Kieli"

#: app/templates/base.html:688
msgid "User menu"
msgstr "Käyttäjävalikko"

#: app/templates/base.html:705 app/templates/base.html:711
msgid "Guest"
msgstr "Vieras"

#: app/templates/base.html:714
msgid "My Profile"
msgstr "Oma profiili"

#: app/templates/base.html:715
msgid "My Settings"
msgstr "Omat asetukset"

#: app/templates/base.html:716 app/templates/client_portal/base.html:50
msgid "Logout"
msgstr "Kirjaudu ulos"

#: app/templates/base.html:740
msgid "Enjoying TimeTracker?"
msgstr "Pidätkö TimeTrackerista?"

#: app/templates/base.html:743
msgid "Support continued development with a coffee"
msgstr "Tue jatkuvaa kehitystä kahvilla"

#: app/templates/base.html:756
msgid "Dismiss"
msgstr "Hylkää"

#: app/templates/base.html:788 app/templates/user/profile.html:2
msgid "Profile"
msgstr "Profiili"

#: app/templates/base.html:998
msgid "Type a command or search..."
msgstr "Kirjoita komento tai hae..."

#: app/templates/admin/api_tokens.html:129
msgid "Create API Token"
msgstr "Luo API-tunnus"

#: app/templates/admin/api_tokens.html:324
msgid "Your API Token"
msgstr "API-tunnuksesi"

#: app/templates/admin/api_tokens.html:336
msgid "Usage Examples"
msgstr "Käyttöesimerkkejä"

#: app/templates/admin/api_tokens.html:425
msgid "Are you sure you want to"
msgstr "Oletko varma, että haluat"

#: app/templates/admin/api_tokens.html:425
msgid "deactivate"
msgstr "deaktivoida"

#: app/templates/admin/api_tokens.html:425
msgid "activate"
msgstr "aktivoida"

#: app/templates/admin/api_tokens.html:425
msgid "this token?"
msgstr "tämä merkki?"

#: app/templates/admin/api_tokens.html:427
msgid "Deactivate Token"
msgstr "Poista Token käytöstä"

#: app/templates/admin/api_tokens.html:427
msgid "Activate Token"
msgstr "Aktivoi Token"

#: app/templates/admin/api_tokens.html:428 app/templates/kanban/columns.html:98
msgid "Deactivate"
msgstr "Poista käytöstä"

#: app/templates/admin/api_tokens.html:428 app/templates/clients/view.html:20
#: app/templates/clients/view.html:22 app/templates/kanban/columns.html:98
#: app/templates/projects/view.html:37 app/templates/projects/view.html:39
msgid "Activate"
msgstr "Aktivoida"

#: app/templates/admin/api_tokens.html:458
msgid "Are you sure you want to delete this token? This action cannot be undone."
msgstr "Haluatko varmasti poistaa tämän tunnuksen? Tätä toimintoa ei voi kumota."

#: app/templates/admin/api_tokens.html:460
msgid "Delete Token"
msgstr "Poista Token"

#: app/templates/admin/backups.html:28 app/templates/import_export/index.html:136
#: app/templates/import_export/index.html:140
msgid "Create Backup"
msgstr "Luo varmuuskopio"

#: app/templates/admin/backups.html:47 app/templates/admin/restore.html:11
#: app/templates/import_export/index.html:77
msgid "Restore Backup"
msgstr "Palauta varmuuskopio"

#: app/templates/admin/backups.html:61
msgid "Existing Backups"
msgstr "Olemassa olevat varmuuskopiot"

#: app/templates/admin/backups.html:124
msgid "Important Information"
msgstr "Tärkeää tietoa"

#: app/templates/admin/backups.html:178
msgid "Confirm Deletion"
msgstr "Vahvista poisto"

#: app/templates/admin/clear_cache.html:6
msgid "Clear Cache"
msgstr "Tyhjennä välimuisti"

#: app/templates/admin/clear_cache.html:15
msgid "ServiceWorker Status"
msgstr "Palvelutyöntekijän tila"

#: app/templates/admin/clear_cache.html:23
msgid "Clear All Caches"
msgstr "Tyhjennä kaikki välimuistit"

#: app/templates/admin/clear_cache.html:35
msgid "ServiceWorker Actions"
msgstr "Palvelutyöntekijän toimet"

#: app/templates/admin/clear_cache.html:49
msgid "Manual Hard Refresh"
msgstr "Manuaalinen Hard Refresh"

#: app/templates/admin/dashboard.html:26
msgid "Admin Sections"
msgstr "Järjestelmänvalvojan osiot"

#: app/templates/admin/dashboard.html:68
#: app/templates/components/activity_feed_widget.html:6
#: app/templates/main/dashboard.html:214 app/templates/projects/dashboard.html:237
#: app/templates/user/profile.html:131
msgid "Recent Activity"
msgstr "Viimeaikainen toiminta"

#: app/templates/admin/email_support.html:6
msgid "Email Configuration & Testing"
msgstr "Sähköpostin määritys ja testaus"

#: app/templates/admin/email_support.html:7
msgid "Configure and test email delivery"
msgstr "Määritä ja testaa sähköpostin toimitusta"

#: app/templates/admin/email_support.html:11
msgid "Back to Admin"
msgstr "Takaisin järjestelmänvalvojaan"

#: app/templates/admin/email_support.html:23
msgid "Configure email settings here to save them in the database."
msgstr "Määritä sähköpostiasetukset tässä tallentaaksesi ne tietokantaan."

#: app/templates/admin/email_support.html:31
msgid "Enable Database Email Configuration"
msgstr "Ota tietokannan sähköpostin määritys käyttöön"

#: app/templates/admin/email_support.html:37
#: app/templates/admin/email_support.html:161
msgid "Mail Server"
msgstr "Postipalvelin"

#: app/templates/admin/email_support.html:43
msgid "Mail Port"
msgstr "Postin portti"

#: app/templates/admin/email_support.html:51
#: app/templates/admin/email_support.html:183
msgid "Use TLS"
msgstr "Käytä TLS:ää"

#: app/templates/admin/email_support.html:55
#: app/templates/admin/email_support.html:187
msgid "Use SSL"
msgstr "Käytä SSL:ää"

#: app/templates/admin/email_support.html:61
#: app/templates/admin/email_support.html:169
#: app/templates/admin/oidc_debug.html:134
#: app/templates/admin/oidc_user_detail.html:23 app/templates/auth/login.html:32
#: app/templates/client_portal/login.html:38
#: app/templates/client_portal/set_password.html:38
#: app/templates/user/settings.html:23
msgid "Username"
msgstr "Käyttäjätunnus"

#: app/templates/admin/email_support.html:68
#: app/templates/client_portal/login.html:44
#: app/templates/client_portal/set_password.html:46
msgid "Password"
msgstr "Salasana"

#: app/templates/admin/email_support.html:71
msgid "Leave empty to keep current"
msgstr "Jätä tyhjäksi pitääksesi ajan tasalla"

#: app/templates/admin/email_support.html:76
#: app/templates/admin/email_support.html:191
msgid "Default Sender"
msgstr "Oletuslähettäjä"

#: app/templates/admin/email_support.html:84
#: app/templates/admin/email_support.html:363
msgid "Save Configuration"
msgstr "Tallenna asetukset"

#: app/templates/admin/email_support.html:87
#: app/templates/admin/quote_pdf_layout.html:687
#: app/templates/admin/quote_pdf_layout.html:3323
#: app/templates/settings/keyboard_shortcuts.html:464
msgid "Reset"
msgstr "Nollaa"

#: app/templates/admin/email_support.html:99
msgid "Email Configuration Status"
msgstr "Sähköpostin määritystila"

#: app/templates/admin/email_support.html:101
#: app/templates/analytics/dashboard.html:20
#: app/templates/analytics/dashboard_improved.html:22
#: app/templates/budget/dashboard.html:18
msgid "Refresh"
msgstr "Päivitä"

#: app/templates/admin/email_support.html:111
msgid "Email is configured!"
msgstr "Sähköposti on määritetty!"

#: app/templates/admin/email_support.html:112
msgid "Your email settings are properly set up."
msgstr "Sähköpostiasetukset on määritetty oikein."

#: app/templates/admin/email_support.html:121
msgid "Email is not configured"
msgstr "Sähköpostia ei ole määritetty"

#: app/templates/admin/email_support.html:122
msgid "Please configure email settings using the form above."
msgstr "Määritä sähköpostiasetukset käyttämällä yllä olevaa lomaketta."

#: app/templates/admin/email_support.html:132
msgid "Configuration Errors"
msgstr "Asetusvirheet"

#: app/templates/admin/email_support.html:146
msgid "Configuration Warnings"
msgstr "Määritysvaroitukset"

#: app/templates/admin/email_support.html:158
msgid "Current Email Settings"
msgstr "Nykyiset sähköpostiasetukset"

#: app/templates/admin/email_support.html:165
msgid "Port"
msgstr "Portti"

#: app/templates/admin/email_support.html:173
msgid "Password Set"
msgstr "Salasana Aseta"

#: app/templates/admin/email_support.html:201
#: app/templates/admin/email_support.html:218
#: app/templates/admin/email_support.html:462
msgid "Send Test Email"
msgstr "Lähetä testisähköposti"

#: app/templates/admin/email_support.html:206
msgid "Recipient Email Address"
msgstr "Vastaanottajan sähköpostiosoite"

#: app/templates/admin/email_support.html:228
msgid "Configuration Guide"
msgstr "Asetusopas"

#: app/templates/admin/email_support.html:231
msgid "Common SMTP Providers"
msgstr "Yleiset SMTP-palveluntarjoajat"

#: app/templates/admin/email_support.html:233
msgid "Requires app password"
msgstr "Vaatii sovelluksen salasanan"

#: app/templates/admin/email_support.html:242
msgid "Important Notes"
msgstr "Tärkeitä huomautuksia"

#: app/templates/admin/email_support.html:245
msgid "Gmail requires an App Password if 2FA is enabled"
msgstr "Gmail vaatii sovelluksen salasanan, jos 2FA on käytössä"

#: app/templates/admin/email_support.html:246
msgid "Restart the application after changing email settings"
msgstr "Käynnistä sovellus uudelleen sähköpostiasetusten muuttamisen jälkeen"

#: app/templates/admin/email_support.html:247
msgid "Check firewall rules if emails are not sending"
msgstr "Tarkista palomuurisäännöt, jos sähköpostit eivät lähetä"

#: app/templates/admin/email_support.html:248
msgid "For production, use a dedicated email service like SendGrid or Amazon SES"
msgstr "Käytä tuotannossa erillistä sähköpostipalvelua, kuten SendGrid tai Amazon SES"

#: app/templates/admin/email_support.html:295
msgid "password is set"
msgstr "salasana on asetettu"

#: app/templates/admin/email_support.html:298
msgid "no password set"
msgstr "salasanaa ei ole asetettu"

#: app/templates/admin/email_support.html:359
msgid "Failed to save configuration. Please try again."
msgstr "Määrityksen tallentaminen epäonnistui. Yritä uudelleen."

#: app/templates/admin/email_support.html:377
#: app/templates/admin/email_support.html:476
msgid "Success!"
msgstr "Menestys!"

#: app/templates/admin/email_support.html:415
msgid "Failed to refresh status. Please try again."
msgstr "Tilan päivittäminen epäonnistui. Yritä uudelleen."

#: app/templates/admin/email_support.html:430
msgid "Please enter a valid email address"
msgstr "Anna kelvollinen sähköpostiosoite"

#: app/templates/admin/email_support.html:436
msgid "Sending..."
msgstr "Lähetetään..."

#: app/templates/admin/email_support.html:458
msgid "Failed to send test email. Please check your configuration."
msgstr "Testisähköpostin lähettäminen epäonnistui. Tarkista kokoonpanosi."

#: app/templates/admin/oidc_debug.html:4 app/templates/admin/oidc_debug.html:14
msgid "OIDC Debug Dashboard"
msgstr "OIDC Debug Dashboard"

#: app/templates/admin/oidc_debug.html:15
msgid "Inspect configuration, provider metadata and OIDC users"
msgstr "Tarkista kokoonpano, palveluntarjoajan metatiedot ja OIDC-käyttäjät"

#: app/templates/admin/oidc_debug.html:17
msgid "Test Configuration"
msgstr "Testaa kokoonpano"

#: app/templates/admin/oidc_debug.html:25
msgid "OIDC Configuration"
msgstr "OIDC-kokoonpano"

#: app/templates/admin/oidc_debug.html:29
#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/quote_pdf_layout.html:800
#: app/templates/admin/webhooks/list.html:27
#: app/templates/admin/webhooks/view.html:32
#: app/templates/admin/webhooks/view.html:102
#: app/templates/budget/dashboard.html:121
#: app/templates/budget/project_detail.html:70
#: app/templates/client_portal/invoice_detail.html:36
#: app/templates/client_portal/invoices.html:51
#: app/templates/client_portal/quote_detail.html:39
#: app/templates/client_portal/quotes.html:30
#: app/templates/contacts/communication_form.html:57
#: app/templates/deals/list.html:22
#: app/templates/inventory/purchase_orders/list.html:21
#: app/templates/inventory/purchase_orders/list.html:54
#: app/templates/inventory/purchase_orders/view.html:34
#: app/templates/inventory/reports/turnover.html:49
#: app/templates/inventory/reservations/list.html:20
#: app/templates/inventory/reservations/list.html:44
#: app/templates/inventory/stock_items/list.html:55
#: app/templates/inventory/stock_items/view.html:100
#: app/templates/inventory/stock_levels/warehouse.html:52
#: app/templates/inventory/suppliers/list.html:25
#: app/templates/inventory/suppliers/list.html:46
#: app/templates/inventory/suppliers/view.html:30
#: app/templates/inventory/warehouses/list.html:26
#: app/templates/inventory/warehouses/view.html:30
#: app/templates/invoices/edit.html:255 app/templates/invoices/pdf_default.html:42
#: app/templates/kanban/columns.html:52 app/templates/leads/form.html:60
#: app/templates/leads/list.html:26 app/templates/leads/list.html:53
#: app/templates/main/help.html:187
#: app/templates/projects/_kanban_tailwind.html:27
#: app/templates/projects/goods.html:44 app/templates/projects/view.html:175
#: app/templates/projects/view.html:232 app/templates/quotes/list.html:78
#: app/templates/quotes/list.html:131 app/templates/quotes/pdf_default.html:44
#: app/templates/quotes/view.html:58 app/templates/recurring_invoices/list.html:28
#: app/templates/tasks/_kanban.html:1227 app/templates/tasks/edit.html:92
#: app/templates/tasks/my_tasks.html:123 app/templates/weekly_goals/edit.html:61
#: app/templates/weekly_goals/view.html:50 app/utils/pdf_generator.py:620
msgid "Status"
msgstr "Status"

#: app/templates/admin/oidc_debug.html:32
msgid "Enabled"
msgstr "Käytössä"

#: app/templates/admin/oidc_debug.html:34
msgid "Disabled"
msgstr "Ei käytössä"

#: app/templates/admin/oidc_debug.html:39
msgid "Auth Method"
msgstr "Todennusmenetelmä"

#: app/templates/admin/oidc_debug.html:43
msgid "Issuer"
msgstr "Liikkeeseenlaskija"

#: app/templates/admin/oidc_debug.html:44 app/templates/admin/oidc_debug.html:48
#: app/templates/admin/oidc_debug.html:73 app/templates/admin/oidc_debug.html:74
msgid "Not configured"
msgstr "Ei määritetty"

#: app/templates/admin/oidc_debug.html:47
msgid "Client ID"
msgstr "Asiakastunnus"

#: app/templates/admin/oidc_debug.html:51
msgid "Client Secret"
msgstr "Asiakkaan salaisuus"

#: app/templates/admin/oidc_debug.html:52
msgid "Set"
msgstr "Sarja"

#: app/templates/admin/oidc_debug.html:52
#: app/templates/admin/oidc_user_detail.html:39
#: app/templates/admin/oidc_user_detail.html:40
msgid "Not set"
msgstr "Ei asetettu"

#: app/templates/admin/oidc_debug.html:55
msgid "Redirect URI"
msgstr "Uudelleenohjaus URI"

#: app/templates/admin/oidc_debug.html:56 app/templates/admin/oidc_debug.html:75
msgid "Auto-generated"
msgstr "Luotu automaattisesti"

#: app/templates/admin/oidc_debug.html:59 app/templates/admin/oidc_debug.html:109
msgid "Scopes"
msgstr "Soveltamisalat"

#: app/templates/admin/oidc_debug.html:67
msgid "Claim Mapping"
msgstr "Vaatimusten kartoitus"

#: app/templates/admin/oidc_debug.html:69
msgid "Username Claim"
msgstr "Käyttäjätunnusvaatimus"

#: app/templates/admin/oidc_debug.html:70
msgid "Email Claim"
msgstr "Sähköpostivaatimus"

#: app/templates/admin/oidc_debug.html:71
msgid "Full Name Claim"
msgstr "Koko nimen väite"

#: app/templates/admin/oidc_debug.html:72
msgid "Groups Claim"
msgstr "Ryhmät väittävät"

#: app/templates/admin/oidc_debug.html:73
msgid "Admin Group"
msgstr "Admin Group"

#: app/templates/admin/oidc_debug.html:74
msgid "Admin Emails"
msgstr "Admin sähköpostit"

#: app/templates/admin/oidc_debug.html:75
msgid "Post-Logout URI"
msgstr "Uloskirjautumisen jälkeinen URI"

#: app/templates/admin/oidc_debug.html:83
msgid "Provider Metadata"
msgstr "Palveluntarjoajan metatiedot"

#: app/templates/admin/oidc_debug.html:86
msgid "Error loading metadata:"
msgstr "Virhe ladattaessa metatietoja:"

#: app/templates/admin/oidc_debug.html:89 app/templates/admin/oidc_debug.html:118
msgid "Discovery endpoint:"
msgstr "Löytämisen päätepiste:"

#: app/templates/admin/oidc_debug.html:93
msgid "Successfully loaded provider metadata"
msgstr "Palveluntarjoajan metatietojen lataus onnistui"

#: app/templates/admin/oidc_debug.html:97
msgid "Endpoints"
msgstr "Päätepisteet"

#: app/templates/admin/oidc_debug.html:99
msgid "Authorization"
msgstr "Valtuutus"

#: app/templates/admin/oidc_debug.html:100
msgid "Token"
msgstr "Token"

#: app/templates/admin/oidc_debug.html:101
msgid "UserInfo"
msgstr "Käyttäjätiedot"

#: app/templates/admin/oidc_debug.html:102
msgid "End Session"
msgstr "Lopeta istunto"

#: app/templates/admin/oidc_debug.html:103
msgid "JWKS URI"
msgstr "JWKS URI"

#: app/templates/admin/oidc_debug.html:107
msgid "Supported Features"
msgstr "Tuetut ominaisuudet"

#: app/templates/admin/oidc_debug.html:110
msgid "Response Types"
msgstr "Vastaustyypit"

#: app/templates/admin/oidc_debug.html:111
msgid "Grant Types"
msgstr "Apurahatyypit"

#: app/templates/admin/oidc_debug.html:112
msgid "Auth Methods"
msgstr "Todennusmenetelmät"

#: app/templates/admin/oidc_debug.html:113
msgid "Claims"
msgstr "Väitteet"

#: app/templates/admin/oidc_debug.html:121
msgid "Provider metadata not loaded. Click \"Test Configuration\" to fetch."
msgstr ""
"Palveluntarjoajan metatietoja ei ladattu. Napsauta \"Testaa kokoonpano\" "
"hakeaksesi."

#: app/templates/admin/oidc_debug.html:128
msgid "OIDC Users"
msgstr "OIDC-käyttäjät"

#: app/templates/admin/oidc_debug.html:135
#: app/templates/admin/oidc_user_detail.html:24
#: app/templates/admin/quote_pdf_layout.html:768
#: app/templates/clients/create.html:49 app/templates/clients/edit.html:56
#: app/templates/contacts/communication_form.html:30
#: app/templates/contacts/form.html:37 app/templates/contacts/list.html:29
#: app/templates/contacts/view.html:33
#: app/templates/inventory/suppliers/form.html:40
#: app/templates/inventory/suppliers/list.html:44
#: app/templates/inventory/suppliers/view.html:53
#: app/templates/invoices/pdf_default.html:28 app/templates/leads/form.html:40
#: app/templates/leads/list.html:52 app/templates/projects/create.html:404
#: app/templates/quotes/pdf_default.html:28 app/utils/pdf_generator.py:608
msgid "Email"
msgstr "Sähköposti"

#: app/templates/admin/oidc_debug.html:136
#: app/templates/admin/oidc_user_detail.html:25
#: app/templates/user/settings.html:32
msgid "Full Name"
msgstr "Koko nimi"

#: app/templates/admin/oidc_debug.html:137
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/contacts/form.html:62 app/templates/contacts/list.html:31
#: app/templates/contacts/view.html:59
msgid "Role"
msgstr "Rooli"

#: app/templates/admin/oidc_debug.html:138
#: app/templates/admin/oidc_user_detail.html:31 app/templates/auth/profile.html:52
msgid "Last Login"
msgstr "Viimeisin kirjautuminen"

#: app/templates/admin/oidc_debug.html:139
msgid "OIDC Subject"
msgstr "OIDC Aihe"

#: app/templates/admin/oidc_debug.html:140
#: app/templates/admin/oidc_user_detail.html:87
#: app/templates/admin/roles/list.html:96
#: app/templates/admin/webhooks/list.html:29 app/templates/audit_logs/list.html:81
#: app/templates/budget/dashboard.html:122
#: app/templates/client_portal/invoices.html:52
#: app/templates/client_portal/quotes.html:31 app/templates/components/ui.html:451
#: app/templates/contacts/list.html:32 app/templates/deals/list.html:56
#: app/templates/inventory/low_stock/list.html:28
#: app/templates/inventory/purchase_orders/list.html:56
#: app/templates/inventory/reports/low_stock.html:36
#: app/templates/inventory/reservations/list.html:47
#: app/templates/inventory/stock_items/list.html:56
#: app/templates/inventory/suppliers/list.html:47
#: app/templates/inventory/warehouses/list.html:27
#: app/templates/kanban/columns.html:55 app/templates/leads/list.html:56
#: app/templates/main/dashboard.html:90 app/templates/main/search.html:39
#: app/templates/projects/goods.html:45 app/templates/projects/view.html:235
#: app/templates/quotes/list.html:133 app/templates/quotes/view.html:172
#: app/templates/recurring_invoices/list.html:29
msgid "Actions"
msgstr "Toiminnot"

#: app/templates/admin/oidc_debug.html:148
#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/webhooks/list.html:62
#: app/templates/admin/webhooks/view.html:37 app/templates/clients/view.html:160
#: app/templates/inventory/stock_items/list.html:91
#: app/templates/inventory/stock_items/view.html:105
#: app/templates/inventory/suppliers/list.html:78
#: app/templates/inventory/suppliers/view.html:35
#: app/templates/inventory/warehouses/list.html:51
#: app/templates/inventory/warehouses/view.html:35
#: app/templates/kanban/columns.html:74 app/templates/projects/view.html:88
#: app/utils/i18n_helpers.py:62 app/utils/i18n_helpers.py:72
#: app/utils/i18n_helpers.py:314 app/utils/i18n_helpers.py:323
msgid "Inactive"
msgstr "Ei-aktiivinen"

#: app/templates/admin/oidc_debug.html:152
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/audit_logs/list.html:35 app/templates/audit_logs/list.html:76
#: app/templates/client_portal/dashboard.html:132
#: app/templates/client_portal/time_entries.html:53
#: app/templates/inventory/adjustments/list.html:61
#: app/templates/inventory/movements/list.html:59
#: app/templates/inventory/reports/movement_history.html:74
#: app/templates/inventory/stock_items/history.html:65
#: app/templates/inventory/transfers/list.html:43
#: app/templates/user/profile.html:23
msgid "User"
msgstr "Käyttäjä"

#: app/templates/admin/oidc_debug.html:153
#: app/templates/admin/oidc_user_detail.html:31
msgid "Never"
msgstr "Ei koskaan"

#: app/templates/admin/oidc_debug.html:157
#: app/templates/admin/webhooks/view.html:25
#: app/templates/budget/dashboard.html:172 app/templates/projects/view.html:134
msgid "Details"
msgstr "Yksityiskohdat"

#: app/templates/admin/oidc_debug.html:166
msgid "No users have logged in via OIDC yet."
msgstr "Yksikään käyttäjä ei ole vielä kirjautunut OIDC:n kautta."

#: app/templates/admin/oidc_debug.html:172
msgid "Environment Variables Reference"
msgstr "Ympäristömuuttujien viite"

#: app/templates/admin/oidc_debug.html:173
msgid "Configure OIDC using these environment variables:"
msgstr "Määritä OIDC käyttämällä näitä ympäristömuuttujia:"

#: app/templates/admin/oidc_debug.html:178
msgid "Variable"
msgstr "Muuttuva"

#: app/templates/admin/oidc_debug.html:179 app/templates/admin/roles/form.html:40
#: app/templates/admin/roles/list.html:92
#: app/templates/admin/webhooks/form.html:29
#: app/templates/calendar/event_detail.html:66
#: app/templates/calendar/event_form.html:30
#: app/templates/client_portal/dashboard.html:134
#: app/templates/client_portal/invoice_detail.html:57
#: app/templates/client_portal/quote_detail.html:57
#: app/templates/client_portal/quote_detail.html:69
#: app/templates/client_portal/time_entries.html:57
#: app/templates/clients/create.html:34 app/templates/clients/create.html:107
#: app/templates/clients/edit.html:33 app/templates/deals/form.html:97
#: app/templates/inventory/purchase_orders/form.html:78
#: app/templates/inventory/purchase_orders/form.html:147
#: app/templates/inventory/purchase_orders/view.html:91
#: app/templates/inventory/stock_items/form.html:31
#: app/templates/inventory/stock_items/view.html:45
#: app/templates/inventory/suppliers/form.html:32
#: app/templates/inventory/suppliers/view.html:41
#: app/templates/invoices/edit.html:74 app/templates/invoices/edit.html:133
#: app/templates/invoices/edit.html:145 app/templates/invoices/edit.html:193
#: app/templates/invoices/edit.html:205 app/templates/invoices/edit.html:538
#: app/templates/invoices/pdf_default.html:71 app/templates/main/help.html:186
#: app/templates/projects/add_good.html:24 app/templates/projects/create.html:47
#: app/templates/projects/create.html:395 app/templates/projects/edit.html:43
#: app/templates/projects/edit_good.html:24 app/templates/quotes/create.html:45
#: app/templates/quotes/create.html:66 app/templates/quotes/edit.html:46
#: app/templates/quotes/edit.html:67 app/templates/quotes/pdf_default.html:78
#: app/templates/quotes/view.html:51 app/templates/quotes/view.html:92
#: app/templates/tasks/_kanban.html:1253 app/templates/tasks/create.html:34
#: app/templates/tasks/edit.html:55 app/utils/pdf_generator.py:645
#: app/utils/pdf_generator_fallback.py:219 app/utils/pdf_generator_fallback.py:482
msgid "Description"
msgstr "Kuvaus"

#: app/templates/admin/oidc_debug.html:180 app/templates/user/settings.html:193
msgid "Example"
msgstr "Esimerkki"

#: app/templates/admin/oidc_debug.html:184
msgid "Authentication method"
msgstr "Todennusmenetelmä"

#: app/templates/admin/oidc_debug.html:185
msgid "OIDC provider issuer URL"
msgstr "OIDC-palveluntarjoajan myöntäjän URL-osoite"

#: app/templates/admin/oidc_debug.html:186
msgid "Client ID from OIDC provider"
msgstr "Asiakastunnus OIDC-palveluntarjoajalta"

#: app/templates/admin/oidc_debug.html:187
msgid "Client secret from OIDC provider"
msgstr "Asiakkaan salaisuus OIDC-palveluntarjoajalta"

#: app/templates/admin/oidc_debug.html:188
msgid "Callback URL (optional, auto-generated)"
msgstr "Takaisinsoitto-URL-osoite (valinnainen, automaattisesti luotu)"

#: app/templates/admin/oidc_debug.html:189
msgid "Requested scopes"
msgstr "Pyydetyt laajuudet"

#: app/templates/admin/oidc_debug.html:190
msgid "Claim containing username"
msgstr "Vaatimus sisältää käyttäjänimen"

#: app/templates/admin/oidc_debug.html:191
msgid "Claim containing email"
msgstr "Vaatimus, joka sisältää sähköpostin"

#: app/templates/admin/oidc_debug.html:192
msgid "Claim containing full name"
msgstr "Väite, joka sisältää koko nimen"

#: app/templates/admin/oidc_debug.html:193
msgid "Claim containing groups"
msgstr "Ryhmiä sisältävä vaatimus"

#: app/templates/admin/oidc_debug.html:194
msgid "Group name for admin role (optional)"
msgstr "Järjestelmänvalvojan roolin ryhmän nimi (valinnainen)"

#: app/templates/admin/oidc_debug.html:195
msgid "Comma-separated admin emails (optional)"
msgstr "Pilkuilla erotetut järjestelmänvalvojan sähköpostit (valinnainen)"

#: app/templates/admin/oidc_user_detail.html:3
#: app/templates/admin/oidc_user_detail.html:8
msgid "OIDC User Details"
msgstr "OIDC:n käyttäjätiedot"

#: app/templates/admin/oidc_user_detail.html:9
msgid "Profile and OIDC identity for this user"
msgstr "Tämän käyttäjän profiili ja OIDC-identiteetti"

#: app/templates/admin/oidc_user_detail.html:13
msgid "Back to OIDC Debug"
msgstr "Takaisin OIDC Debugiin"

#: app/templates/admin/oidc_user_detail.html:21
msgid "User Profile"
msgstr "Käyttäjäprofiili"

#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/oidc_user_detail.html:71
#: app/templates/admin/webhooks/form.html:106
#: app/templates/admin/webhooks/list.html:60
#: app/templates/admin/webhooks/view.html:35 app/templates/clients/view.html:159
#: app/templates/inventory/stock_items/form.html:87
#: app/templates/inventory/stock_items/list.html:89
#: app/templates/inventory/stock_items/view.html:103
#: app/templates/inventory/suppliers/form.html:79
#: app/templates/inventory/suppliers/list.html:76
#: app/templates/inventory/suppliers/view.html:33
#: app/templates/inventory/warehouses/form.html:54
#: app/templates/inventory/warehouses/list.html:49
#: app/templates/inventory/warehouses/view.html:33
#: app/templates/kanban/columns.html:72 app/templates/kanban/edit_column.html:80
#: app/templates/projects/view.html:87 app/templates/tasks/_kanban.html:98
#: app/templates/weekly_goals/edit.html:66
#: app/templates/weekly_goals/index.html:176
#: app/templates/weekly_goals/view.html:64 app/utils/i18n_helpers.py:61
#: app/utils/i18n_helpers.py:71 app/utils/i18n_helpers.py:261
#: app/utils/i18n_helpers.py:272 app/utils/i18n_helpers.py:313
#: app/utils/i18n_helpers.py:322
msgid "Active"
msgstr "Aktiivinen"

#: app/templates/admin/oidc_user_detail.html:28
msgid "Preferred Language"
msgstr "Ensisijainen kieli"

#: app/templates/admin/oidc_user_detail.html:29
#: app/templates/user/settings.html:116
msgid "Theme"
msgstr "Teema"

#: app/templates/admin/oidc_user_detail.html:30
msgid "Created At"
msgstr "Luotu klo"

#: app/templates/admin/oidc_user_detail.html:30
msgid "Unknown"
msgstr "Tuntematon"

#: app/templates/admin/oidc_user_detail.html:37
msgid "OIDC Information"
msgstr "OIDC tiedot"

#: app/templates/admin/oidc_user_detail.html:39
msgid "OIDC Issuer"
msgstr "OIDC:n liikkeeseenlaskija"

#: app/templates/admin/oidc_user_detail.html:40
msgid "OIDC Subject (sub)"
msgstr "OIDC-aihe (ala)"

#: app/templates/admin/oidc_user_detail.html:41
msgid "Authentication Method"
msgstr "Todennusmenetelmä"

#: app/templates/admin/oidc_user_detail.html:41
msgid "Local"
msgstr "Paikallinen"

#: app/templates/admin/oidc_user_detail.html:45
msgid ""
"This user was created or linked via OIDC. The issuer and subject are used to"
" uniquely identify the user across login sessions."
msgstr ""
"Tämä käyttäjä luotiin tai linkitettiin OIDC:n kautta. Myöntäjää ja aihetta "
"käytetään käyttäjän yksilöimiseen kirjautumisistuntojen aikana."

#: app/templates/admin/oidc_user_detail.html:49
msgid ""
"This user has no OIDC information. They may have been created manually or "
"via self-registration without OIDC."
msgstr ""
"Tällä käyttäjällä ei ole OIDC-tietoja. Ne on voitu luoda manuaalisesti tai "
"rekisteröitymällä itse ilman OIDC:tä."

#: app/templates/admin/oidc_user_detail.html:57
msgid "Activity Statistics"
msgstr "Toimintatilastot"

#: app/templates/admin/oidc_user_detail.html:65
#: app/templates/calendar/view.html:81 app/templates/client_portal/base.html:47
#: app/templates/client_portal/projects.html:36
#: app/templates/client_portal/time_entries.html:4
#: app/templates/client_portal/time_entries.html:9
#: app/templates/client_portal/time_entries.html:14
#: app/templates/components/activity_feed_widget.html:31
msgid "Time Entries"
msgstr "Aikamerkinnät"

#: app/templates/admin/oidc_user_detail.html:73
#: app/templates/invoices/edit.html:86 app/templates/invoices/edit.html:92
#: app/templates/invoices/edit.html:451 app/templates/invoices/edit.html:462
#: app/templates/quotes/create.html:259 app/templates/quotes/create.html:270
#: app/templates/quotes/edit.html:82 app/templates/quotes/edit.html:88
#: app/templates/quotes/edit.html:272 app/templates/quotes/edit.html:283
msgid "None"
msgstr "Ei mitään"

#: app/templates/admin/oidc_user_detail.html:76 app/templates/user/profile.html:57
msgid "Active Timer"
msgstr "Aktiivinen ajastin"

#: app/templates/admin/oidc_user_detail.html:80
msgid "Tasks Created"
msgstr "Tehtävät luotu"

#: app/templates/admin/oidc_user_detail.html:89
msgid "Edit User"
msgstr "Muokkaa käyttäjää"

#: app/templates/admin/oidc_user_detail.html:90
msgid "View All Users"
msgstr "Näytä kaikki käyttäjät"

#: app/templates/admin/quote_pdf_layout.html:3
msgid "PDF Quote Designer"
msgstr "PDF-lainaussuunnittelija"

#: app/templates/admin/quote_pdf_layout.html:643
msgid "Visual Quote Designer"
msgstr "Visuaalinen lainaussuunnittelija"

#: app/templates/admin/quote_pdf_layout.html:646
msgid "Drag and drop elements to design your quote layout"
msgstr "Suunnittele tarjousasettelu vetämällä ja pudottamalla elementtejä"

#: app/templates/admin/quote_pdf_layout.html:655
msgid "How to use:"
msgstr "Käyttöohjeet:"

#: app/templates/admin/quote_pdf_layout.html:656
msgid ""
"Click elements from the left sidebar to add them to the canvas. Click "
"elements to select and customize them in the properties panel. Use the "
"alignment tools and keyboard shortcuts for faster editing."
msgstr ""
"Napsauta elementtejä vasemmasta sivupalkista lisätäksesi ne kankaalle. "
"Napsauta elementtejä valitaksesi ja mukauttaaksesi niitä "
"ominaisuuspaneelissa. Käytä kohdistustyökaluja ja pikanäppäimiä "
"nopeuttaaksesi muokkausta."

#: app/templates/admin/quote_pdf_layout.html:659
msgid "Keyboard Shortcuts:"
msgstr "Pikanäppäimet:"

#: app/templates/admin/quote_pdf_layout.html:669
#: app/templates/admin/quote_pdf_layout.html:2411
msgid "Clear Canvas"
msgstr "Kirkas kangas"

#: app/templates/admin/quote_pdf_layout.html:672
msgid "Generate Preview"
msgstr "Luo esikatselu"

#: app/templates/admin/quote_pdf_layout.html:675
msgid "Save Design"
msgstr "Tallenna malli"

#: app/templates/admin/quote_pdf_layout.html:678
msgid "View Code"
msgstr "Näytä koodi"

#: app/templates/admin/quote_pdf_layout.html:682
msgid "Snap to Grid (10px)"
msgstr "Kiinnitä ruudukkoon (10px)"

#: app/templates/admin/quote_pdf_layout.html:698
msgid "Toolbox"
msgstr "Työkalulaatikko"

#: app/templates/admin/quote_pdf_layout.html:703
msgid "Search elements & variables..."
msgstr "Hakuelementit ja muuttujat..."

#: app/templates/admin/quote_pdf_layout.html:709
msgid "Elements"
msgstr "Elementit"

#: app/templates/admin/quote_pdf_layout.html:712
msgid "Variables"
msgstr "Muuttujat"

#: app/templates/admin/quote_pdf_layout.html:721
msgid "Basic Elements"
msgstr "Peruselementit"

#: app/templates/admin/quote_pdf_layout.html:724
msgid "Custom Text"
msgstr "Mukautettu teksti"

#: app/templates/admin/quote_pdf_layout.html:728
msgid "Text"
msgstr "Teksti"

#: app/templates/admin/quote_pdf_layout.html:732
msgid "Heading"
msgstr "Otsikko"

#: app/templates/admin/quote_pdf_layout.html:736
msgid "Line"
msgstr "Linja"

#: app/templates/admin/quote_pdf_layout.html:740
msgid "Rectangle"
msgstr "Suorakulmio"

#: app/templates/admin/quote_pdf_layout.html:744
msgid "Circle"
msgstr "Ympyrä"

#: app/templates/admin/quote_pdf_layout.html:749
msgid "Company Info"
msgstr "Yrityksen tiedot"

#: app/templates/admin/quote_pdf_layout.html:752
#: app/templates/admin/settings.html:197 app/templates/admin/settings.html:218
#: app/templates/invoices/pdf_default.html:17
#: app/templates/invoices/pdf_default.html:20
#: app/templates/quotes/pdf_default.html:17
#: app/templates/quotes/pdf_default.html:20
msgid "Company Logo"
msgstr "Yrityksen logo"

#: app/templates/admin/email_templates/create.html:52
#: app/templates/admin/email_templates/edit.html:50
#: app/templates/admin/quote_pdf_layout.html:756
#: app/templates/admin/settings.html:84 app/templates/leads/form.html:35
msgid "Company Name"
msgstr "Yrityksen nimi"

#: app/templates/admin/quote_pdf_layout.html:760
msgid "Company Details"
msgstr "Yrityksen tiedot"

#: app/templates/admin/quote_pdf_layout.html:764
#: app/templates/clients/create.html:73 app/templates/clients/edit.html:67
#: app/templates/contacts/form.html:79 app/templates/contacts/view.html:64
#: app/templates/inventory/suppliers/form.html:48
#: app/templates/inventory/suppliers/view.html:69
#: app/templates/inventory/warehouses/form.html:32
#: app/templates/inventory/warehouses/view.html:41
#: app/templates/main/help.html:234 app/templates/projects/create.html:414
msgid "Address"
msgstr "Osoite"

#: app/templates/admin/quote_pdf_layout.html:772
#: app/templates/clients/create.html:69 app/templates/clients/edit.html:63
#: app/templates/contacts/form.html:42 app/templates/contacts/list.html:30
#: app/templates/contacts/view.html:37
#: app/templates/inventory/suppliers/form.html:44
#: app/templates/inventory/suppliers/list.html:45
#: app/templates/inventory/suppliers/view.html:61
#: app/templates/invoices/pdf_default.html:28 app/templates/leads/form.html:45
#: app/templates/projects/create.html:410 app/templates/quotes/pdf_default.html:28
#: app/utils/pdf_generator.py:608
msgid "Phone"
msgstr "Puhelin"

#: app/templates/admin/quote_pdf_layout.html:776
#: app/templates/inventory/suppliers/form.html:52
#: app/templates/inventory/suppliers/view.html:75
#: app/templates/invoices/pdf_default.html:29
#: app/templates/quotes/pdf_default.html:29 app/utils/pdf_generator.py:609
msgid "Website"
msgstr "Verkkosivusto"

#: app/templates/admin/quote_pdf_layout.html:780
#: app/templates/inventory/suppliers/form.html:56
#: app/templates/inventory/suppliers/view.html:83
#: app/templates/invoices/pdf_default.html:31
#: app/templates/quotes/pdf_default.html:31
msgid "Tax ID"
msgstr "Verotunnus"

#: app/templates/admin/quote_pdf_layout.html:785
msgid "Quote Data"
msgstr "Lainaustiedot"

#: app/templates/admin/quote_pdf_layout.html:788
#: app/templates/client_portal/quotes.html:25 app/templates/quotes/list.html:127
msgid "Quote Number"
msgstr "Lainausnumero"

#: app/templates/admin/quote_pdf_layout.html:792
msgid "Quote Date"
msgstr "Lainauspäivämäärä"

#: app/templates/admin/quote_pdf_layout.html:796
#: app/templates/client_portal/invoice_detail.html:35
#: app/templates/client_portal/invoices.html:49
#: app/templates/invoices/create.html:37 app/templates/invoices/edit.html:34
#: app/templates/invoices/pdf_default.html:41 app/templates/tasks/_kanban.html:132
#: app/templates/tasks/_kanban.html:1271 app/templates/tasks/create.html:91
#: app/templates/tasks/edit.html:115 app/utils/pdf_generator.py:619
msgid "Due Date"
msgstr "Eräpäivä"

#: app/templates/admin/quote_pdf_layout.html:804
msgid "Client Info"
msgstr "Asiakastiedot"

#: app/templates/admin/quote_pdf_layout.html:808
#: app/templates/clients/create.html:22 app/templates/clients/create.html:91
#: app/templates/clients/edit.html:22 app/templates/invoices/create.html:29
#: app/templates/invoices/edit.html:26 app/templates/projects/create.html:386
msgid "Client Name"
msgstr "Asiakkaan nimi"

#: app/templates/admin/quote_pdf_layout.html:812
#: app/templates/invoices/create.html:41 app/templates/invoices/edit.html:42
msgid "Client Address"
msgstr "Asiakkaan osoite"

#: app/templates/admin/quote_pdf_layout.html:816
msgid "Quote Items Table"
msgstr "Lainauskohteiden taulukko"

#: app/templates/admin/quote_pdf_layout.html:820
#: app/templates/client_portal/invoice_detail.html:82
#: app/templates/client_portal/quote_detail.html:94
#: app/templates/inventory/purchase_orders/form.html:93
#: app/templates/inventory/purchase_orders/view.html:122
#: app/templates/invoices/edit.html:292 app/templates/quotes/create.html:80
#: app/templates/quotes/edit.html:107 app/templates/quotes/view.html:110
msgid "Subtotal"
msgstr "Välisumma"

#: app/templates/admin/quote_pdf_layout.html:824
#: app/templates/client_portal/invoice_detail.html:87
#: app/templates/client_portal/quote_detail.html:99
#: app/templates/inventory/purchase_orders/view.html:133
#: app/templates/invoices/edit.html:297 app/templates/quotes/view.html:136
#: app/utils/pdf_generator_fallback.py:521
msgid "Tax"
msgstr "Verottaa"

#: app/templates/admin/quote_pdf_layout.html:828
#: app/templates/inventory/purchase_orders/list.html:55
#: app/templates/inventory/purchase_orders/view.html:189
#: app/templates/invoices/pdf_default.html:74 app/templates/payments/list.html:28
#: app/templates/projects/goods.html:21 app/templates/quotes/accept.html:27
#: app/templates/quotes/pdf_default.html:81 app/utils/pdf_generator.py:648
#: app/utils/pdf_generator_fallback.py:219
msgid "Total Amount"
msgstr "Kokonaismäärä"

#: app/templates/admin/quote_pdf_layout.html:832
#: app/templates/client_portal/invoice_detail.html:107
#: app/templates/contacts/form.html:84 app/templates/contacts/view.html:70
#: app/templates/deals/form.html:102
#: app/templates/inventory/adjustments/form.html:50
#: app/templates/inventory/movements/form.html:61
#: app/templates/inventory/purchase_orders/form.html:55
#: app/templates/inventory/purchase_orders/view.html:75
#: app/templates/inventory/stock_items/form.html:81
#: app/templates/inventory/suppliers/form.html:73
#: app/templates/inventory/suppliers/view.html:99
#: app/templates/inventory/transfers/form.html:54
#: app/templates/inventory/warehouses/form.html:48
#: app/templates/inventory/warehouses/view.html:69
#: app/templates/invoices/create.html:49 app/templates/invoices/edit.html:46
#: app/templates/leads/form.html:88 app/templates/main/dashboard.html:86
#: app/templates/main/search.html:37 app/templates/timer/manual_entry.html:81
#: app/templates/timer/timer_page.html:133
#: app/templates/weekly_goals/create.html:62
#: app/templates/weekly_goals/edit.html:76
#: app/templates/weekly_goals/view.html:151
msgid "Notes"
msgstr "Huomautuksia"

#: app/templates/admin/quote_pdf_layout.html:836
#: app/templates/client_portal/invoice_detail.html:114
#: app/templates/invoices/create.html:53 app/templates/invoices/edit.html:50
msgid "Terms"
msgstr "Ehdot"

#: app/templates/admin/quote_pdf_layout.html:841
msgid "Payment & Project"
msgstr "Maksu ja projekti"

#: app/templates/admin/quote_pdf_layout.html:844
msgid "Payment Date"
msgstr "Maksupäivä"

#: app/templates/admin/quote_pdf_layout.html:848
msgid "Payment Method"
msgstr "Maksutapa"

#: app/templates/admin/quote_pdf_layout.html:852
#: app/templates/analytics/dashboard_improved.html:136
msgid "Payment Status"
msgstr "Maksun tila"

#: app/templates/admin/quote_pdf_layout.html:856
#: app/templates/invoices/edit.html:310
msgid "Amount Paid"
msgstr "Maksettu summa"

#: app/templates/admin/quote_pdf_layout.html:860
#: app/templates/client_portal/dashboard.html:53
#: app/templates/client_portal/invoice_detail.html:97
#: app/templates/invoices/edit.html:314
msgid "Outstanding"
msgstr "Erinomaista"

#: app/templates/admin/quote_pdf_layout.html:864
#: app/templates/projects/create.html:22 app/templates/projects/edit.html:22
#: app/templates/quotes/accept.html:48
msgid "Project Name"
msgstr "Projektin nimi"

#: app/templates/admin/quote_pdf_layout.html:868
#: app/templates/invoices/create.html:33 app/templates/invoices/edit.html:30
msgid "Client Email"
msgstr "Asiakkaan sähköposti"

#: app/templates/admin/quote_pdf_layout.html:872
msgid "Client Phone"
msgstr "Asiakas puhelin"

#: app/templates/admin/quote_pdf_layout.html:877
msgid "Advanced"
msgstr "Edistynyt"

#: app/templates/admin/quote_pdf_layout.html:880
msgid "QR Code"
msgstr "QR-koodi"

#: app/templates/admin/quote_pdf_layout.html:884
#: app/templates/inventory/stock_items/form.html:49
#: app/templates/inventory/stock_items/view.html:40
msgid "Barcode"
msgstr "Viivakoodi"

#: app/templates/admin/quote_pdf_layout.html:888
msgid "Page Number"
msgstr "Sivunumero"

#: app/templates/admin/quote_pdf_layout.html:892
msgid "Current Date"
msgstr "Nykyinen päivämäärä"

#: app/templates/admin/quote_pdf_layout.html:896
msgid "Watermark"
msgstr "Vesileima"

#: app/templates/admin/quote_pdf_layout.html:900
msgid "Bank Info"
msgstr "Pankkitiedot"

#: app/templates/admin/quote_pdf_layout.html:904 app/templates/deals/form.html:66
#: app/templates/inventory/purchase_orders/form.html:46
#: app/templates/inventory/stock_items/form.html:53
#: app/templates/inventory/suppliers/form.html:64
#: app/templates/inventory/suppliers/view.html:94
#: app/templates/invoices/edit.html:271 app/templates/leads/form.html:79
#: app/templates/projects/add_good.html:55
#: app/templates/projects/edit_good.html:55 app/templates/quotes/create.html:97
#: app/templates/quotes/edit.html:124
msgid "Currency"
msgstr "Valuutta"

#: app/templates/admin/quote_pdf_layout.html:912
msgid "Quote Fields"
msgstr "Lainauskentät"

#: app/templates/admin/quote_pdf_layout.html:915
msgid "Quote number"
msgstr "Lainausnumero"

#: app/templates/admin/quote_pdf_layout.html:919
msgid "Quote status (draft/sent/paid/overdue)"
msgstr "Tarjouksen tila (luonnos / lähetetty / maksettu / myöhässä)"

#: app/templates/admin/quote_pdf_layout.html:923
msgid "Issue date"
msgstr "Julkaisupäivä"

#: app/templates/admin/quote_pdf_layout.html:927
msgid "Due date"
msgstr "Eräpäivä"

#: app/templates/admin/quote_pdf_layout.html:931
msgid "Subtotal amount"
msgstr "Välisumma"

#: app/templates/admin/quote_pdf_layout.html:935
msgid "Tax rate (%)"
msgstr "Veroprosentti (%)"

#: app/templates/admin/quote_pdf_layout.html:939
msgid "Tax amount"
msgstr "Veron määrä"

#: app/templates/admin/quote_pdf_layout.html:943
msgid "Total amount"
msgstr "Kokonaismäärä"

#: app/templates/admin/quote_pdf_layout.html:947
msgid "Currency code (EUR, USD, etc)"
msgstr "Valuuttakoodi (EUR, USD jne.)"

#: app/templates/admin/quote_pdf_layout.html:951
msgid "Quote notes"
msgstr "Lainaus muistiinpanoja"

#: app/templates/admin/quote_pdf_layout.html:955
msgid "Terms & conditions"
msgstr "Ehdot"

#: app/templates/admin/quote_pdf_layout.html:960
msgid "Client Fields"
msgstr "Asiakaskentät"

#: app/templates/admin/quote_pdf_layout.html:963
msgid "Client company name"
msgstr "Asiakkaan yrityksen nimi"

#: app/templates/admin/quote_pdf_layout.html:967
msgid "Client email address"
msgstr "Asiakkaan sähköpostiosoite"

#: app/templates/admin/quote_pdf_layout.html:971
msgid "Client full address"
msgstr "Asiakkaan täydellinen osoite"

#: app/templates/admin/quote_pdf_layout.html:975
msgid "Client contact person"
msgstr "Asiakkaan yhteyshenkilö"

#: app/templates/admin/quote_pdf_layout.html:979
msgid "Client phone number"
msgstr "Asiakkaan puhelinnumero"

#: app/templates/admin/quote_pdf_layout.html:984
msgid "Payment Fields"
msgstr "Maksukentät"

#: app/templates/admin/quote_pdf_layout.html:987
msgid "Quote status"
msgstr "Lainauksen tila"

#: app/templates/admin/quote_pdf_layout.html:991
msgid "Quote accepted date"
msgstr "Tarjouksen hyväksymispäivämäärä"

#: app/templates/admin/quote_pdf_layout.html:995
msgid "Payment method"
msgstr "Maksutapa"

#: app/templates/admin/quote_pdf_layout.html:999
msgid "Payment reference number"
msgstr "Maksun viitenumero"

#: app/templates/admin/quote_pdf_layout.html:1003
msgid "Amount paid"
msgstr "Maksettu summa"

#: app/templates/admin/quote_pdf_layout.html:1007
msgid "Outstanding amount"
msgstr "Erinomaista määrää"

#: app/templates/admin/quote_pdf_layout.html:1011
msgid "Payment notes"
msgstr "Maksutiedot"

#: app/templates/admin/quote_pdf_layout.html:1016
msgid "Project Fields"
msgstr "Projektikentät"

#: app/templates/admin/quote_pdf_layout.html:1019
#: app/templates/quotes/accept.html:49
msgid "Project name"
msgstr "Projektin nimi"

#: app/templates/admin/quote_pdf_layout.html:1023
msgid "Project code"
msgstr "Projektin koodi"

#: app/templates/admin/quote_pdf_layout.html:1027
msgid "Project description"
msgstr "Projektin kuvaus"

#: app/templates/admin/quote_pdf_layout.html:1031
msgid "Project billing reference"
msgstr "Projektin laskutusviite"

#: app/templates/admin/quote_pdf_layout.html:1036
msgid "Company/Settings Fields"
msgstr "Yritys/Asetuskentät"

#: app/templates/admin/quote_pdf_layout.html:1039
msgid "Your company name"
msgstr "Yrityksesi nimi"

#: app/templates/admin/quote_pdf_layout.html:1043
msgid "Your company address"
msgstr "Yrityksesi osoite"

#: app/templates/admin/quote_pdf_layout.html:1047
msgid "Your company email"
msgstr "Yrityksesi sähköpostiosoite"

#: app/templates/admin/quote_pdf_layout.html:1051
msgid "Your company phone"
msgstr "Yrityksesi puhelin"

#: app/templates/admin/quote_pdf_layout.html:1055
msgid "Your company website"
msgstr "Yrityksesi verkkosivusto"

#: app/templates/admin/quote_pdf_layout.html:1059
msgid "Your tax ID number"
msgstr "Verotunnuksesi"

#: app/templates/admin/quote_pdf_layout.html:1063
msgid "Your bank account info"
msgstr "Pankkitilisi tiedot"

#: app/templates/admin/quote_pdf_layout.html:1067
msgid "Default invoice terms"
msgstr "Laskun oletusehdot"

#: app/templates/admin/quote_pdf_layout.html:1071
msgid "Default invoice notes"
msgstr "Oletuslaskun huomautukset"

#: app/templates/admin/quote_pdf_layout.html:1076
msgid "Date/Time Fields"
msgstr "Päivämäärä/aika -kentät"

#: app/templates/admin/quote_pdf_layout.html:1079
msgid "Current date"
msgstr "Nykyinen päivämäärä"

#: app/templates/admin/quote_pdf_layout.html:1083
msgid "Quote creation date"
msgstr "Lainauksen luomispäivämäärä"

#: app/templates/admin/quote_pdf_layout.html:1087
msgid "Quote last update date"
msgstr "Lainaus viimeisin päivityspäivä"

#: app/templates/admin/quote_pdf_layout.html:1092
msgid "Quote Items Loop"
msgstr "Lainauskohteet Loop"

#: app/templates/admin/quote_pdf_layout.html:1095
msgid "Loop through invoice items"
msgstr "Selaa laskun kohteita"

#: app/templates/admin/quote_pdf_layout.html:1099
#: app/templates/quotes/create.html:278 app/templates/quotes/edit.html:93
#: app/templates/quotes/edit.html:291
msgid "Item description"
msgstr "Tuotteen kuvaus"

#: app/templates/admin/quote_pdf_layout.html:1103
msgid "Item quantity"
msgstr "Tavaran määrä"

#: app/templates/admin/quote_pdf_layout.html:1107
msgid "Item unit price"
msgstr "Tuotteen yksikköhinta"

#: app/templates/admin/quote_pdf_layout.html:1111
msgid "Item total amount"
msgstr "Tuotteen kokonaismäärä"

#: app/templates/admin/quote_pdf_layout.html:1115
msgid "End loop"
msgstr "Lopeta silmukka"

#: app/templates/admin/quote_pdf_layout.html:1127
msgid "Design Canvas"
msgstr "Design Canvas"

#: app/templates/admin/quote_pdf_layout.html:1131
msgid "Page Size:"
msgstr "Sivun koko:"

#: app/templates/admin/quote_pdf_layout.html:1150
msgid "Zoom In"
msgstr "Lähennä"

#: app/templates/admin/quote_pdf_layout.html:1153
msgid "Zoom Out"
msgstr "Loitonna"

#: app/templates/admin/quote_pdf_layout.html:1156
msgid "Delete Selected"
msgstr "Poista valitut"

#: app/templates/admin/quote_pdf_layout.html:1169
msgid "Properties"
msgstr "Ominaisuudet"

#: app/templates/admin/quote_pdf_layout.html:1172
msgid "Select an element to edit its properties"
msgstr "Valitse elementti muokataksesi sen ominaisuuksia"

#: app/templates/admin/quote_pdf_layout.html:1182
msgid "PDF Preview"
msgstr "PDF-esikatselu"

#: app/templates/admin/quote_pdf_layout.html:1191
msgid "Generating..."
msgstr "Luodaan..."

#: app/templates/admin/quote_pdf_layout.html:1212
msgid "Generated Code"
msgstr "Luotu koodi"

#: app/templates/admin/quote_pdf_layout.html:2409
msgid "Clear all elements?"
msgstr "Poistetaanko kaikki elementit?"

#: app/templates/admin/quote_pdf_layout.html:2412
#: app/templates/audit_logs/list.html:63 app/templates/tasks/my_tasks.html:176
#: app/templates/timer/manual_entry.html:98
msgid "Clear"
msgstr "Selkeä"

#: app/templates/admin/quote_pdf_layout.html:3013
msgid "Align Left"
msgstr "Tasaa vasemmalle"

#: app/templates/admin/quote_pdf_layout.html:3016
msgid "Center Horizontally"
msgstr "Keskitä vaakasuunnassa"

#: app/templates/admin/quote_pdf_layout.html:3019
msgid "Align Right"
msgstr "Kohdista oikealle"

#: app/templates/admin/quote_pdf_layout.html:3022
msgid "Align Top"
msgstr "Kohdista yläosa"

#: app/templates/admin/quote_pdf_layout.html:3025
msgid "Center Vertically"
msgstr "Keskitä pystysuunnassa"

#: app/templates/admin/quote_pdf_layout.html:3028
msgid "Align Bottom"
msgstr "Tasaa alas"

#: app/templates/admin/quote_pdf_layout.html:3320
msgid "Reset to defaults?"
msgstr "Palautetaanko oletusasetukset?"

#: app/templates/admin/quote_pdf_layout.html:3322
msgid "Reset PDF Layout"
msgstr "Palauta PDF-asettelu"

#: app/templates/admin/settings.html:67 app/templates/main/help.html:558
msgid "User Management"
msgstr "Käyttäjien hallinta"

#: app/templates/admin/settings.html:81
msgid "Company Branding"
msgstr "Yrityksen brändäys"

#: app/templates/admin/settings.html:116
msgid "Invoice Defaults"
msgstr "Laskun oletusasetukset"

#: app/templates/admin/settings.html:139
msgid "Backup Settings"
msgstr "Varmuuskopiointiasetukset"

#: app/templates/admin/settings.html:154
msgid "Export Settings"
msgstr "Vie asetukset"

#: app/templates/admin/settings.html:169 app/templates/admin/telemetry.html:47
msgid "Privacy & Analytics"
msgstr "Yksityisyys & Analytics"

#: app/templates/admin/settings.html:190 app/templates/user/settings.html:304
msgid "Save Settings"
msgstr "Tallenna asetukset"

#: app/templates/admin/settings.html:235
msgid "Upload New Logo"
msgstr "Lataa uusi logo"

#: app/templates/admin/settings.html:249
msgid "Logo Preview"
msgstr "Logon esikatselu"

#: app/templates/admin/settings.html:296
msgid "Are you sure you want to remove the company logo?"
msgstr "Haluatko varmasti poistaa yrityksen logon?"

#: app/templates/admin/settings.html:298
msgid "Remove Logo"
msgstr "Poista logo"

#: app/templates/admin/telemetry.html:8
msgid "Telemetry & Analytics Dashboard"
msgstr "Telemetrian ja analyysin hallintapaneeli"

#: app/templates/admin/telemetry.html:47
#: app/templates/setup/initial_setup.html:121
msgid "Admin → Settings"
msgstr "Järjestelmänvalvoja → Asetukset"

#: app/templates/admin/user_form.html:35 app/templates/admin/user_form.html:58
msgid "Advanced Permissions"
msgstr "Lisäkäyttöoikeudet"

#: app/templates/admin/users.html:34
msgid "Admin Access"
msgstr "Järjestelmänvalvojan käyttöoikeudet"

#: app/templates/admin/users.html:56
msgid "Migrate to new role system"
msgstr "Siirrä uuteen roolijärjestelmään"

#: app/templates/admin/users.html:57
msgid "Migrate"
msgstr "Siirrä"

#: app/templates/admin/users.html:77
msgid "Roles"
msgstr "Roolit"

#: app/templates/admin/users.html:89
msgid "No users found."
msgstr "Käyttäjiä ei löytynyt."

#: app/templates/admin/users.html:100
msgid ""
"Cannot delete user \"{name}\" because they have {count} time entries. Users "
"with existing time entries cannot be deleted."
msgstr ""
"Käyttäjää \"{name}\" ei voi poistaa, koska hänellä on {count} aikamerkintää."
" Käyttäjiä, joilla on olemassa olevia aikamerkintöjä, ei voida poistaa."

#: app/templates/admin/users.html:103
msgid "Cannot Delete User"
msgstr "Käyttäjää ei voi poistaa"

#: app/templates/admin/users.html:115
msgid ""
"Are you sure you want to delete user \"{name}\"? This action cannot be "
"undone."
msgstr "Haluatko varmasti poistaa käyttäjän \"{name}\"? Tätä toimintoa ei voi kumota."

#: app/templates/admin/users.html:118
msgid "Delete User"
msgstr "Poista käyttäjä"

#: app/templates/admin/email_templates/create.html:38
#: app/templates/admin/email_templates/edit.html:36
msgid "Set as default template"
msgstr "Aseta oletusmalliksi"

#: app/templates/admin/email_templates/create.html:46
#: app/templates/admin/email_templates/edit.html:44
#: app/templates/admin/email_templates/view.html:56
msgid "HTML Template"
msgstr "HTML-malli"

#: app/templates/admin/email_templates/create.html:49
#: app/templates/admin/email_templates/edit.html:47
#: app/templates/client_portal/invoices.html:47
#: app/templates/payments/view.html:155
#: app/templates/recurring_invoices/view.html:97
msgid "Invoice Number"
msgstr "Laskun numero"

#: app/templates/admin/email_templates/create.html:55
#: app/templates/admin/email_templates/edit.html:53
#: app/templates/invoices/edit.html:667 app/templates/invoices/view.html:361
msgid "Custom Message"
msgstr "Mukautettu viesti"

#: app/templates/admin/email_templates/create.html:58
#: app/templates/admin/email_templates/edit.html:56
msgid "More Variables"
msgstr "Lisää muuttujia"

#: app/templates/admin/email_templates/create.html:118
msgid "Create Template"
msgstr "Luo malli"

#: app/templates/admin/email_templates/create.html:127
#: app/templates/admin/email_templates/edit.html:125
msgid "Available Variables"
msgstr "Saatavilla olevat muuttujat"

#: app/templates/admin/email_templates/create.html:134
#: app/templates/admin/email_templates/edit.html:132
msgid "Invoice Variables"
msgstr "Laskun muuttujat"

#: app/templates/admin/email_templates/create.html:157
#: app/templates/admin/email_templates/edit.html:155
msgid "Other Variables"
msgstr "Muut muuttujat"

#: app/templates/admin/email_templates/edit.html:116
msgid "Update Template"
msgstr "Päivitä malli"

#: app/templates/admin/email_templates/list.html:63
msgid "No email templates found."
msgstr "Sähköpostimalleja ei löytynyt."

#: app/templates/admin/email_templates/list.html:64
msgid "Create your first email template to customize invoice emails."
msgstr "Luo ensimmäinen sähköpostimallisi mukauttaaksesi laskusähköpostiviestejä."

#: app/templates/admin/email_templates/list.html:66
msgid "Create Email Template"
msgstr "Luo sähköpostimalli"

#: app/templates/admin/email_templates/list.html:75
msgid "Delete Email Template"
msgstr "Poista sähköpostimalli"

#: app/templates/admin/email_templates/list.html:77
#: app/templates/quotes/list.html:295
msgid "Are you sure you want to delete"
msgstr "Haluatko varmasti poistaa"

#: app/templates/admin/email_templates/list.html:77
#: app/templates/invoices/list.html:314 app/templates/invoices/view.html:260
#: app/templates/kanban/columns.html:149
msgid "This action cannot be undone."
msgstr "Tätä toimintoa ei voi kumota."

#: app/templates/admin/email_templates/view.html:21
msgid "Template Information"
msgstr "Mallin tiedot"

#: app/templates/admin/permissions/list.html:8
#: app/templates/admin/permissions/list.html:13
msgid "System Permissions"
msgstr "Järjestelmän käyttöoikeudet"

#: app/templates/admin/permissions/list.html:14
msgid "All available permissions in the system"
msgstr "Kaikki järjestelmässä käytettävissä olevat käyttöoikeudet"

#: app/templates/admin/permissions/list.html:16
#: app/templates/admin/roles/form.html:10 app/templates/admin/roles/view.html:9
msgid "Back to Roles"
msgstr "Takaisin Rooleihin"

#: app/templates/admin/permissions/list.html:24
#: app/templates/admin/roles/list.html:113 app/templates/admin/users/roles.html:44
msgid "permissions"
msgstr "luvat"

#: app/templates/admin/permissions/list.html:38
msgid "No description available"
msgstr "Kuvausta ei ole saatavilla"

#: app/templates/admin/permissions/list.html:53
msgid "About Permissions"
msgstr "Tietoja käyttöoikeuksista"

#: app/templates/admin/permissions/list.html:55
msgid ""
"Permissions define what actions users can perform in the system. These "
"permissions are assigned to roles, and roles are assigned to users. This "
"provides a flexible and granular access control system."
msgstr ""
"Käyttöoikeudet määrittelevät, mitä toimintoja käyttäjät voivat suorittaa "
"järjestelmässä. Nämä käyttöoikeudet on määritetty rooleille ja roolit "
"käyttäjille. Tämä tarjoaa joustavan ja yksityiskohtaisen "
"kulunvalvontajärjestelmän."

#: app/templates/admin/roles/form.html:17 app/templates/admin/roles/view.html:20
msgid "Edit Role"
msgstr "Muokkaa roolia"

#: app/templates/admin/roles/form.html:19
msgid "Create New Role"
msgstr "Luo uusi rooli"

#: app/templates/admin/roles/form.html:26 app/templates/admin/roles/list.html:91
msgid "Role Name"
msgstr "Roolin nimi"

#: app/templates/admin/roles/form.html:36
msgid "A unique name for this role"
msgstr "Ainutlaatuinen nimi tälle roolille"

#: app/templates/admin/roles/form.html:48
msgid "Optional description of this role"
msgstr "Valinnainen kuvaus tästä roolista"

#: app/templates/admin/roles/form.html:52 app/templates/admin/roles/list.html:93
#: app/templates/admin/roles/view.html:76
msgid "Permissions"
msgstr "Käyttöoikeudet"

#: app/templates/admin/roles/form.html:53
msgid "Select the permissions this role should have:"
msgstr "Valitse käyttöoikeudet, jotka tällä roolilla pitäisi olla:"

#: app/templates/admin/roles/form.html:68
msgid "Toggle All"
msgstr "Vaihda kaikki päälle"

#: app/templates/admin/roles/form.html:93
msgid "Update Role"
msgstr "Päivitä rooli"

#: app/templates/admin/roles/form.html:95 app/templates/admin/roles/list.html:18
msgid "Create Role"
msgstr "Luo rooli"

#: app/templates/admin/roles/list.html:13
msgid "Manage roles and their permissions"
msgstr "Hallitse rooleja ja niiden käyttöoikeuksia"

#: app/templates/admin/roles/list.html:17
msgid "View Permissions"
msgstr "Näytä käyttöoikeudet"

#: app/templates/admin/roles/list.html:32
msgid "Total Roles"
msgstr "Roolit yhteensä"

#: app/templates/admin/roles/list.html:46
msgid "System Roles"
msgstr "Järjestelmän roolit"

#: app/templates/admin/roles/list.html:60
msgid "Custom Roles"
msgstr "Mukautetut roolit"

#: app/templates/admin/roles/list.html:74 app/templates/admin/roles/view.html:48
msgid "Assigned Users"
msgstr "Määritetyt käyttäjät"

#: app/templates/admin/roles/list.html:95 app/templates/admin/roles/view.html:30
#: app/templates/contacts/communication_form.html:28
#: app/templates/inventory/movements/list.html:55
#: app/templates/inventory/reports/movement_history.html:70
#: app/templates/inventory/reservations/list.html:42
#: app/templates/inventory/stock_items/history.html:61
#: app/templates/inventory/stock_items/view.html:168
#: app/templates/inventory/warehouses/view.html:131
msgid "Type"
msgstr "Tyyppi"

#: app/templates/admin/roles/list.html:105
msgid "Default role"
msgstr "Oletusrooli"

#: app/templates/admin/roles/list.html:123
msgid "user"
msgstr "käyttäjä"

#: app/templates/admin/roles/list.html:123
msgid "users"
msgstr "käyttäjiä"

#: app/templates/admin/roles/list.html:126
msgid "No users"
msgstr "Ei käyttäjiä"

#: app/templates/admin/roles/list.html:132 app/templates/admin/users/roles.html:36
#: app/templates/kanban/columns.html:54 app/templates/kanban/columns.html:86
msgid "System"
msgstr "Järjestelmä"

#: app/templates/admin/roles/list.html:136 app/templates/kanban/columns.html:88
msgid "Custom"
msgstr "Mukautettu"

#: app/templates/admin/roles/list.html:142 app/templates/admin/roles/view.html:65
#: app/templates/budget/dashboard.html:92
#: app/templates/client_portal/invoices.html:82
#: app/templates/client_portal/quotes.html:67 app/templates/contacts/list.html:58
#: app/templates/deals/list.html:81 app/templates/leads/list.html:85
#: app/templates/projects/_kanban_tailwind.html:76
#: app/templates/projects/view.html:274 app/templates/quotes/list.html:171
#: app/templates/tasks/overdue.html:92 app/templates/weekly_goals/index.html:191
msgid "View"
msgstr "Näytä"

#: app/templates/admin/roles/list.html:157
msgid "Permissions for"
msgstr "Käyttöoikeudet kohteelle"

#: app/templates/admin/roles/list.html:185
msgid "No permissions assigned."
msgstr "Käyttöoikeuksia ei ole määritetty."

#: app/templates/admin/roles/list.html:192
msgid "No roles found."
msgstr "Rooleja ei löytynyt."

#: app/templates/admin/roles/list.html:200
msgid "About Roles & Permissions"
msgstr "Tietoja rooleista ja käyttöoikeuksista"

#: app/templates/admin/roles/list.html:202
msgid ""
"Roles are collections of permissions that can be assigned to users. System "
"roles are predefined and cannot be deleted or renamed, but custom roles can "
"be created for your specific needs."
msgstr ""
"Roolit ovat käyttöoikeuskokoelmia, jotka voidaan määrittää käyttäjille. "
"Järjestelmän roolit ovat ennalta määritettyjä, eikä niitä voi poistaa tai "
"nimetä uudelleen, mutta mukautettuja rooleja voidaan luoda tarpeitasi "
"varten."

#: app/templates/admin/roles/list.html:209
msgid "Are you sure you want to delete the role"
msgstr "Haluatko varmasti poistaa roolin"

#: app/templates/admin/roles/list.html:211
msgid "Delete Role"
msgstr "Poista rooli"

#: app/templates/admin/roles/view.html:16
msgid "No description"
msgstr "Ei kuvausta"

#: app/templates/admin/roles/view.html:27
msgid "Role Information"
msgstr "Roolitiedot"

#: app/templates/admin/roles/view.html:34
msgid "System Role"
msgstr "Järjestelmän rooli"

#: app/templates/admin/roles/view.html:38
msgid "Custom Role"
msgstr "Mukautettu rooli"

#: app/templates/admin/roles/view.html:44
msgid "Total Permissions"
msgstr "Kaikki käyttöoikeudet"

#: app/templates/admin/roles/view.html:52 app/templates/audit_logs/list.html:47
#: app/templates/budget/dashboard.html:86
#: app/templates/budget/project_detail.html:279
#: app/templates/calendar/event_detail.html:172
#: app/templates/inventory/purchase_orders/view.html:195
#: app/templates/quotes/list.html:132 app/templates/quotes/view.html:389
#: app/templates/tasks/_kanban.html:1335 app/templates/tasks/edit.html:257
msgid "Created"
msgstr "Luotu"

#: app/templates/admin/roles/view.html:59
msgid "Users with this Role"
msgstr "Käyttäjät, joilla on tämä rooli"

#: app/templates/admin/roles/view.html:70
msgid "No users assigned to this role yet."
msgstr "Tälle roolille ei ole vielä määritetty käyttäjiä."

#: app/templates/admin/roles/view.html:110
msgid "This role has no permissions assigned."
msgstr "Tälle roolille ei ole määritetty käyttöoikeuksia."

#: app/templates/admin/users/roles.html:10
msgid "Back to User"
msgstr "Takaisin käyttäjälle"

#: app/templates/admin/users/roles.html:15
msgid "Manage Roles for"
msgstr "Hallinnoi rooleja"

#: app/templates/admin/users/roles.html:20
msgid "Assign Roles"
msgstr "Määritä roolit"

#: app/templates/admin/users/roles.html:22
msgid ""
"Select the roles this user should have. Users inherit all permissions from "
"their assigned roles."
msgstr ""
"Valitse roolit, jotka tällä käyttäjällä tulisi olla. Käyttäjät perivät "
"kaikki käyttöoikeudet heille määritetyiltä rooleilta."

#: app/templates/admin/users/roles.html:54
msgid "Update Roles"
msgstr "Päivitä roolit"

#: app/templates/admin/users/roles.html:65
msgid "Current Effective Permissions"
msgstr "Nykyiset voimassa olevat käyttöoikeudet"

#: app/templates/admin/users/roles.html:67
msgid "These are all the permissions the user currently has through their roles:"
msgstr ""
"Nämä ovat kaikki käyttöoikeudet, jotka käyttäjällä on tällä hetkellä "
"rooliensa kautta:"

#: app/templates/admin/users/roles.html:80
msgid "No permissions (assign roles to grant permissions)"
msgstr "Ei käyttöoikeuksia (määritä rooleja lupien myöntämiseen)"

#: app/templates/admin/webhooks/form.html:7
#: app/templates/admin/webhooks/list.html:7
#: app/templates/admin/webhooks/list.html:12
#: app/templates/admin/webhooks/view.html:7
msgid "Webhooks"
msgstr "Webhooks"

#: app/templates/admin/webhooks/form.html:8
#: app/templates/admin/webhooks/form.html:13
#: app/templates/admin/webhooks/list.html:15
msgid "Create Webhook"
msgstr "Luo Webhook"

#: app/templates/admin/webhooks/form.html:8
#: app/templates/admin/webhooks/form.html:13
msgid "Edit Webhook"
msgstr "Muokkaa Webhookia"

#: app/templates/admin/webhooks/form.html:14
msgid "Configure webhook for integrations"
msgstr "Määritä webhook integraatioita varten"

#: app/templates/admin/webhooks/form.html:23
#: app/templates/admin/webhooks/list.html:24 app/templates/contacts/list.html:27
#: app/templates/inventory/stock_items/form.html:27
#: app/templates/inventory/stock_items/list.html:50
#: app/templates/inventory/suppliers/form.html:28
#: app/templates/inventory/suppliers/list.html:42
#: app/templates/inventory/warehouses/form.html:28
#: app/templates/inventory/warehouses/list.html:23
#: app/templates/invoices/edit.html:192 app/templates/leads/list.html:50
#: app/templates/main/help.html:184 app/templates/projects/add_good.html:19
#: app/templates/projects/edit_good.html:19 app/templates/projects/goods.html:39
#: app/templates/projects/view.html:230
#: app/templates/recurring_invoices/list.html:23
msgid "Name"
msgstr "Nimi"

#: app/templates/admin/webhooks/form.html:36
msgid "Webhook URL"
msgstr "Webhookin URL-osoite"

#: app/templates/admin/webhooks/form.html:40
msgid "The URL where webhook events will be sent"
msgstr "URL-osoite, johon webhook-tapahtumat lähetetään"

#: app/templates/admin/webhooks/form.html:45
#: app/templates/admin/webhooks/list.html:26
#: app/templates/admin/webhooks/view.html:46 app/templates/calendar/view.html:73
msgid "Events"
msgstr "Tapahtumat"

#: app/templates/admin/webhooks/form.html:58
msgid "Select which events should trigger this webhook"
msgstr "Valitse, mitkä tapahtumat käynnistävät tämän webhookin"

#: app/templates/admin/webhooks/form.html:64
#: app/templates/admin/webhooks/view.html:42
msgid "HTTP Method"
msgstr "HTTP-menetelmä"

#: app/templates/admin/webhooks/form.html:74
msgid "Content Type"
msgstr "Sisältötyyppi"

#: app/templates/admin/webhooks/form.html:83
msgid "Max Retries"
msgstr "Max Uudelleenyritykset"

#: app/templates/admin/webhooks/form.html:89
msgid "Retry Delay (seconds)"
msgstr "Uudelleenyrityksen viive (sekuntia)"

#: app/templates/admin/webhooks/form.html:95
msgid "Timeout (seconds)"
msgstr "Aikakatkaisu (sekuntia)"

#: app/templates/admin/webhooks/form.html:116
msgid "Regenerate Secret"
msgstr "Luo salaisuus uudelleen"

#: app/templates/admin/webhooks/form.html:118
msgid "Warning: Regenerating the secret will invalidate the current secret"
msgstr "Varoitus: Salaisuuden uudelleen luominen mitätöi nykyisen salaisuuden"

#: app/templates/admin/webhooks/list.html:13
msgid "Manage webhook integrations"
msgstr "Hallinnoi webhook-integraatioita"

#: app/templates/admin/webhooks/list.html:25
#: app/templates/admin/webhooks/view.html:28
msgid "URL"
msgstr "URL-osoite"

#: app/templates/admin/webhooks/list.html:28
#: app/templates/admin/webhooks/view.html:69
msgid "Statistics"
msgstr "Tilastot"

#: app/templates/admin/webhooks/list.html:67
#: app/templates/client_portal/invoice_detail.html:60
#: app/templates/client_portal/invoice_detail.html:92
#: app/templates/client_portal/quote_detail.html:72
#: app/templates/client_portal/quote_detail.html:104
#: app/templates/inventory/purchase_orders/form.html:81
#: app/templates/inventory/purchase_orders/view.html:138
#: app/templates/inventory/stock_levels/item.html:63
#: app/templates/invoices/edit.html:302
#: app/templates/invoices/generate_from_time.html:92
#: app/templates/projects/goods.html:43 app/templates/quotes/create.html:70
#: app/templates/quotes/edit.html:71 app/templates/quotes/view.html:95
#: app/templates/quotes/view.html:141 app/utils/pdf_generator_fallback.py:482
msgid "Total"
msgstr "Kokonais"

#: app/templates/admin/webhooks/list.html:69
#: app/templates/admin/webhooks/view.html:80
#: app/templates/admin/webhooks/view.html:116
#: app/templates/weekly_goals/edit.html:68
#: app/templates/weekly_goals/index.html:51
#: app/templates/weekly_goals/index.html:180
#: app/templates/weekly_goals/view.html:66 app/utils/i18n_helpers.py:240
#: app/utils/i18n_helpers.py:252 app/utils/i18n_helpers.py:263
#: app/utils/i18n_helpers.py:274
msgid "Failed"
msgstr "Epäonnistui"

#: app/templates/admin/webhooks/list.html:90
msgid "No webhooks configured"
msgstr "Webhookeja ei ole määritetty"

#: app/templates/admin/webhooks/list.html:92
msgid "Create Your First Webhook"
msgstr "Luo ensimmäinen Webhook"

#: app/templates/admin/webhooks/view.html:14
msgid "Webhook details"
msgstr "Webhook-tiedot"

#: app/templates/admin/webhooks/view.html:17
msgid "Test"
msgstr "Testata"

#: app/templates/admin/webhooks/view.html:57
msgid "Secret"
msgstr "Salaisuus"

#: app/templates/admin/webhooks/view.html:60
msgid "(truncated)"
msgstr "(typistetty)"

#: app/templates/admin/webhooks/view.html:72
msgid "Total Deliveries"
msgstr "Toimitukset yhteensä"

#: app/templates/admin/webhooks/view.html:76
msgid "Successful"
msgstr "Onnistunut"

#: app/templates/admin/webhooks/view.html:85
msgid "Last Delivery"
msgstr "Viimeinen toimitus"

#: app/templates/admin/webhooks/view.html:95
msgid "Recent Deliveries"
msgstr "Viimeaikaiset toimitukset"

#: app/templates/admin/webhooks/view.html:101
#: app/templates/calendar/event_form.html:106
msgid "Event"
msgstr "Tapahtuma"

#: app/templates/admin/webhooks/view.html:103
msgid "Attempt"
msgstr "Yrittää"

#: app/templates/admin/webhooks/view.html:104
msgid "Response"
msgstr "Vastaus"

#: app/templates/admin/webhooks/view.html:105
msgid "Time"
msgstr "Aika"

#: app/templates/admin/webhooks/view.html:118
msgid "Retrying"
msgstr "Yritetään uudelleen"

#: app/templates/admin/webhooks/view.html:139
msgid "No deliveries yet"
msgstr "Ei toimituksia vielä"

#: app/templates/admin/webhooks/view.html:145
msgid "Send a test webhook event?"
msgstr "Lähetetäänkö webhook-testitapahtuma?"

#: app/templates/admin/webhooks/view.html:158
msgid "Test webhook sent successfully!"
msgstr "Test webhook lähetetty onnistuneesti!"

#: app/templates/admin/webhooks/view.html:161
msgid "Error:"
msgstr "Virhe:"

#: app/templates/admin/webhooks/view.html:161
msgid "Unknown error"
msgstr "Tuntematon virhe"

#: app/templates/admin/webhooks/view.html:165
msgid "Error sending test webhook:"
msgstr "Virhe lähetettäessä testi webhookia:"

#: app/templates/analytics/dashboard.html:4
#: app/templates/analytics/dashboard.html:27
#: app/templates/analytics/dashboard_improved.html:3
#: app/templates/analytics/dashboard_improved.html:8
msgid "Analytics Dashboard"
msgstr "Analyticsin hallintapaneeli"

#: app/templates/analytics/dashboard.html:14
#: app/templates/analytics/dashboard_improved.html:13
#: app/templates/audit_logs/list.html:55
msgid "Last 7 days"
msgstr "Viimeiset 7 päivää"

#: app/templates/analytics/dashboard.html:15
#: app/templates/analytics/dashboard_improved.html:14
#: app/templates/audit_logs/list.html:56
msgid "Last 30 days"
msgstr "Viimeiset 30 päivää"

#: app/templates/analytics/dashboard.html:16
#: app/templates/analytics/dashboard_improved.html:15
#: app/templates/audit_logs/list.html:57
msgid "Last 90 days"
msgstr "Viimeiset 90 päivää"

#: app/templates/analytics/dashboard.html:17
#: app/templates/analytics/dashboard_improved.html:16
#: app/templates/audit_logs/list.html:58
msgid "Last year"
msgstr "Viime vuonna"

#: app/templates/analytics/dashboard.html:28
msgid "Key metrics and insights about your time tracking"
msgstr "Tärkeimmät tiedot ja oivallukset ajan seurannasta"

#: app/templates/analytics/dashboard.html:42
#: app/templates/analytics/dashboard_improved.html:35
#: app/templates/analytics/mobile_dashboard.html:31
#: app/templates/budget/project_detail.html:189
#: app/templates/client_portal/dashboard.html:33
#: app/templates/client_portal/projects.html:32
#: app/templates/clients/edit.html:146 app/templates/projects/dashboard.html:48
#: app/templates/user/profile.html:45
msgid "Total Hours"
msgstr "Tunteja yhteensä"

#: app/templates/analytics/dashboard.html:51
#: app/templates/analytics/dashboard_improved.html:44
msgid "Billable Hours"
msgstr "Laskutettavat tunnit"

#: app/templates/analytics/dashboard.html:60
#: app/templates/client_portal/dashboard.html:23
#: app/templates/clients/edit.html:142
msgid "Active Projects"
msgstr "Aktiiviset projektit"

#: app/templates/analytics/dashboard.html:69
#: app/templates/analytics/dashboard_improved.html:62
msgid "Avg Daily Hours"
msgstr "Keskimääräiset päivittäiset tunnit"

#: app/templates/analytics/dashboard.html:81
#: app/templates/analytics/dashboard_improved.html:83
msgid "Daily Hours Trend"
msgstr "Päivittäinen tuntitrendi"

#: app/templates/analytics/dashboard.html:95
#: app/templates/analytics/mobile_dashboard.html:85
msgid "Billable vs Non-Billable"
msgstr "Laskutettava vs ei-laskutettava"

#: app/templates/analytics/dashboard.html:113
#: app/templates/analytics/dashboard_improved.html:168
#: app/templates/email/weekly_summary.html:104
msgid "Hours by Project"
msgstr "Tunnit projektin mukaan"

#: app/templates/analytics/dashboard.html:127
#: app/templates/analytics/dashboard_improved.html:172
msgid "Weekly Trends"
msgstr "Viikon trendit"

#: app/templates/analytics/dashboard.html:145
#: app/templates/analytics/dashboard_improved.html:180
#: app/templates/analytics/mobile_dashboard.html:115
msgid "Hours by Time of Day"
msgstr "Tuntia kellonajan mukaan"

#: app/templates/analytics/dashboard.html:159
msgid "Project Efficiency"
msgstr "Projektin tehokkuus"

#: app/templates/analytics/dashboard.html:178
#: app/templates/analytics/dashboard_improved.html:191
#: app/templates/analytics/mobile_dashboard.html:131
msgid "User Performance"
msgstr "Käyttäjän suorituskyky"

#: app/templates/analytics/dashboard.html:206
#: app/templates/analytics/dashboard_improved.html:213
#: app/templates/analytics/mobile_dashboard.html:159
msgid "Failed to load charts. Please try again."
msgstr "Kaavioiden lataaminen epäonnistui. Yritä uudelleen."

#: app/templates/analytics/dashboard.html:207
#: app/templates/analytics/dashboard_improved.html:214
#: app/templates/analytics/mobile_dashboard.html:160
msgid "Failed to refresh charts. Please try again."
msgstr "Kaavioiden päivittäminen epäonnistui. Yritä uudelleen."

#: app/templates/analytics/dashboard.html:208
#: app/templates/analytics/dashboard_improved.html:215
#: app/templates/analytics/mobile_dashboard.html:161
#: app/templates/budget/project_detail.html:206
#: app/templates/projects/dashboard.html:449
#: app/templates/projects/dashboard.html:483
msgid "Hours"
msgstr "Tuntia"

#: app/templates/analytics/dashboard.html:209
#: app/templates/analytics/dashboard_improved.html:216
#: app/templates/analytics/mobile_dashboard.html:162
#: app/templates/client_portal/dashboard.html:130
#: app/templates/client_portal/quote_detail.html:35
#: app/templates/client_portal/quotes.html:27
#: app/templates/client_portal/time_entries.html:51
#: app/templates/contacts/communication_form.html:52
#: app/templates/inventory/adjustments/list.html:56
#: app/templates/inventory/movements/list.html:52
#: app/templates/inventory/reports/movement_history.html:67
#: app/templates/inventory/stock_items/history.html:59
#: app/templates/inventory/stock_items/view.html:167
#: app/templates/inventory/transfers/list.html:38
#: app/templates/inventory/warehouses/view.html:129
#: app/templates/invoices/edit.html:136
#: app/templates/invoices/pdf_default.html:106
#: app/templates/main/dashboard.html:89 app/templates/quotes/pdf_default.html:40
#: app/utils/pdf_generator_fallback.py:469
msgid "Date"
msgstr "Päivämäärä"

#: app/templates/analytics/dashboard.html:210
#: app/templates/analytics/dashboard_improved.html:217
#: app/templates/analytics/mobile_dashboard.html:163
msgid "Hour of Day"
msgstr "Päivän tunti"

#: app/templates/analytics/dashboard.html:211
#: app/templates/analytics/dashboard_improved.html:218
#: app/templates/analytics/mobile_dashboard.html:164
msgid "Revenue"
msgstr "Tulot"

#: app/templates/analytics/dashboard_improved.html:9
msgid "Key metrics and actionable insights"
msgstr "Tärkeimmät mittarit ja käyttökelpoiset oivallukset"

#: app/templates/analytics/dashboard_improved.html:19
msgid "Export"
msgstr "Viedä"

#: app/templates/analytics/dashboard_improved.html:36
msgid "vs previous period"
msgstr "edelliseen kauteen verrattuna"

#: app/templates/analytics/dashboard_improved.html:45
msgid "of total"
msgstr "kokonaismäärästä"

#: app/templates/analytics/dashboard_improved.html:53
#: app/templates/analytics/dashboard_improved.html:154
msgid "Potential Revenue"
msgstr "Mahdolliset tulot"

#: app/templates/analytics/dashboard_improved.html:54
msgid "Avg rate:"
msgstr "Keskimääräinen hinta:"

#: app/templates/analytics/dashboard_improved.html:59
#: app/templates/budget/project_detail.html:165
msgid "Trend"
msgstr "Trendi"

#: app/templates/analytics/dashboard_improved.html:63
msgid "active projects"
msgstr "aktiivisia projekteja"

#: app/templates/analytics/dashboard_improved.html:70
msgid "Insights & Recommendations"
msgstr "Näkemyksiä ja suosituksia"

#: app/templates/analytics/dashboard_improved.html:86
msgid "Cumulative"
msgstr "Kumulatiivinen"

#: app/templates/analytics/dashboard_improved.html:94
msgid "Billable Distribution"
msgstr "Laskutettava jakelu"

#: app/templates/analytics/dashboard_improved.html:104
msgid "Task Status Overview"
msgstr "Tehtävän tilan yleiskatsaus"

#: app/templates/analytics/dashboard_improved.html:110
msgid "Tasks Completed"
msgstr "Tehtävät suoritettu"

#: app/templates/analytics/dashboard_improved.html:114
#: app/templates/analytics/dashboard_improved.html:222
#: app/templates/tasks/create.html:71 app/templates/tasks/create.html:84
#: app/templates/tasks/create.html:446 app/templates/tasks/edit.html:95
#: app/templates/tasks/edit.html:642 app/templates/tasks/my_tasks.html:57
#: app/templates/tasks/my_tasks.html:127 app/utils/i18n_helpers.py:16
#: app/utils/i18n_helpers.py:28
msgid "In Progress"
msgstr "Käynnissä"

#: app/templates/analytics/dashboard_improved.html:118
#: app/templates/analytics/dashboard_improved.html:223
#: app/templates/tasks/create.html:70 app/templates/tasks/create.html:84
#: app/templates/tasks/create.html:445 app/templates/tasks/edit.html:94
#: app/templates/tasks/edit.html:641 app/templates/tasks/my_tasks.html:40
#: app/templates/tasks/my_tasks.html:126 app/utils/i18n_helpers.py:15
#: app/utils/i18n_helpers.py:27
msgid "To Do"
msgstr "Tehtävää"

#: app/templates/analytics/dashboard_improved.html:124
msgid "Revenue by Project"
msgstr "Tulot projektin mukaan"

#: app/templates/analytics/dashboard_improved.html:132
msgid "Payments Over Time"
msgstr "Maksut ajan mittaan"

#: app/templates/analytics/dashboard_improved.html:144
msgid "Payment Methods"
msgstr "Maksutavat"

#: app/templates/analytics/dashboard_improved.html:148
msgid "Revenue vs Payments"
msgstr "Tulot vs maksut"

#: app/templates/analytics/dashboard_improved.html:158
msgid "Collection Rate"
msgstr "Keräysprosentti"

#: app/templates/analytics/dashboard_improved.html:184
msgid "Project Completion Rate"
msgstr "Projektin valmistumisaste"

#: app/templates/analytics/dashboard_improved.html:219
#: app/templates/analytics/mobile_dashboard.html:40
#: app/templates/main/dashboard.html:201 app/templates/main/help.html:193
#: app/templates/projects/add_good.html:62 app/templates/projects/edit.html:56
#: app/templates/projects/edit_good.html:62 app/templates/projects/goods.html:70
#: app/templates/tasks/edit.html:169 app/templates/timer/manual_entry.html:91
#: app/templates/user/profile.html:110
msgid "Billable"
msgstr "Laskutettava"

#: app/templates/analytics/dashboard_improved.html:220
msgid "Non-Billable"
msgstr "Ei laskutettavissa"

#: app/templates/analytics/dashboard_improved.html:221
#: app/templates/contacts/communication_form.html:59
#: app/templates/tasks/_kanban.html:1346 app/templates/tasks/edit.html:260
#: app/templates/tasks/my_tasks.html:91 app/templates/weekly_goals/edit.html:67
#: app/templates/weekly_goals/index.html:39
#: app/templates/weekly_goals/index.html:172
#: app/templates/weekly_goals/view.html:62 app/utils/i18n_helpers.py:239
#: app/utils/i18n_helpers.py:251 app/utils/i18n_helpers.py:262
#: app/utils/i18n_helpers.py:273
msgid "Completed"
msgstr "Valmis"

#: app/templates/analytics/dashboard_improved.html:224
#: app/templates/tasks/create.html:72 app/templates/tasks/create.html:84
#: app/templates/tasks/create.html:447 app/templates/tasks/edit.html:96
#: app/templates/tasks/edit.html:643 app/templates/tasks/my_tasks.html:74
#: app/templates/tasks/my_tasks.html:128 app/utils/i18n_helpers.py:17
#: app/utils/i18n_helpers.py:29
msgid "Review"
msgstr "Arvostelu"

#: app/templates/analytics/dashboard_improved.html:225
#: app/templates/contacts/communication_form.html:62
#: app/templates/inventory/purchase_orders/list.html:28
#: app/templates/inventory/purchase_orders/list.html:84
#: app/templates/inventory/purchase_orders/view.html:45
#: app/templates/inventory/reservations/list.html:25
#: app/templates/inventory/reservations/list.html:84
#: app/templates/projects/archive.html:68 app/templates/tasks/create.html:74
#: app/templates/tasks/create.html:84 app/templates/tasks/create.html:449
#: app/templates/tasks/edit.html:98 app/templates/tasks/edit.html:645
#: app/templates/tasks/my_tasks.html:130 app/templates/weekly_goals/edit.html:69
#: app/templates/weekly_goals/view.html:68 app/utils/i18n_helpers.py:19
#: app/utils/i18n_helpers.py:31 app/utils/i18n_helpers.py:85
#: app/utils/i18n_helpers.py:97 app/utils/i18n_helpers.py:264
#: app/utils/i18n_helpers.py:275
msgid "Cancelled"
msgstr "Peruutettu"

#: app/templates/analytics/dashboard_improved.html:226
msgid "Completion Rate (%)"
msgstr "Valmistumisaste (%)"

#: app/templates/analytics/mobile_dashboard.html:20
msgid "Mobile insights overview"
msgstr "Mobiilitilastojen yleiskatsaus"

#: app/templates/analytics/mobile_dashboard.html:58
msgid "Daily Avg"
msgstr "Päivittäinen keskim"

#: app/templates/analytics/mobile_dashboard.html:70
msgid "Daily Hours"
msgstr "Päivittäiset tunnit"

#: app/templates/analytics/mobile_dashboard.html:100
msgid "Top Projects"
msgstr "Huippuprojektit"

#: app/templates/audit_logs/list.html:14
msgid "Track who changed what and when"
msgstr "Seuraa kuka muutti mitä ja milloin"

#: app/templates/audit_logs/list.html:19
msgid "Filters"
msgstr "Suodattimet"

#: app/templates/audit_logs/list.html:22
msgid "Entity Type"
msgstr "Entiteettityyppi"

#: app/templates/audit_logs/list.html:24
#: app/templates/inventory/movements/list.html:23
#: app/templates/inventory/reports/movement_history.html:41
#: app/templates/inventory/stock_items/history.html:33
#: app/templates/tasks/my_tasks.html:157
msgid "All Types"
msgstr "Kaikki tyypit"

#: app/templates/audit_logs/list.html:31 app/templates/audit_logs/list.html:32
msgid "Entity ID"
msgstr "Entiteetin tunnus"

#: app/templates/audit_logs/list.html:37
msgid "All Users"
msgstr "Kaikki käyttäjät"

#: app/templates/audit_logs/list.html:44 app/templates/audit_logs/list.html:77
#: app/templates/inventory/purchase_orders/form.html:84
#: app/templates/invoices/edit.html:77 app/templates/invoices/edit.html:137
#: app/templates/invoices/edit.html:198 app/templates/quotes/create.html:71
#: app/templates/quotes/edit.html:72
msgid "Action"
msgstr "Toiminta"

#: app/templates/audit_logs/list.html:46
msgid "All Actions"
msgstr "Kaikki toiminnot"

#: app/templates/audit_logs/list.html:48 app/templates/tasks/edit.html:258
msgid "Updated"
msgstr "Päivitetty"

#: app/templates/audit_logs/list.html:49
msgid "Deleted"
msgstr "Poistettu"

#: app/templates/audit_logs/list.html:53
msgid "Time Range"
msgstr "Aikaväli"

#: app/templates/audit_logs/list.html:59
msgid "All time"
msgstr "Koko ajan"

#: app/templates/audit_logs/list.html:64
#: app/templates/client_portal/time_entries.html:40
#: app/templates/deals/list.html:39
#: app/templates/inventory/adjustments/list.html:43
#: app/templates/inventory/movements/list.html:43
#: app/templates/inventory/purchase_orders/list.html:41
#: app/templates/inventory/reports/movement_history.html:54
#: app/templates/inventory/reports/turnover.html:29
#: app/templates/inventory/reports/valuation.html:39
#: app/templates/inventory/reservations/list.html:30
#: app/templates/inventory/stock_items/history.html:46
#: app/templates/inventory/stock_items/list.html:40
#: app/templates/inventory/stock_levels/list.html:38
#: app/templates/inventory/stock_levels/warehouse.html:36
#: app/templates/inventory/suppliers/list.html:32
#: app/templates/inventory/transfers/list.html:29 app/templates/leads/list.html:39
#: app/templates/quotes/list.html:89
msgid "Filter"
msgstr "Suodattaa"

#: app/templates/audit_logs/list.html:75
msgid "Timestamp"
msgstr "Aikaleima"

#: app/templates/audit_logs/list.html:78
msgid "Entity"
msgstr "Entiteetti"

#: app/templates/audit_logs/list.html:79
msgid "Field"
msgstr "Ala"

#: app/templates/audit_logs/list.html:80
#: app/templates/budget/project_detail.html:171 app/templates/clients/view.html:15
#: app/templates/projects/view.html:32 app/templates/tasks/view.html:20
msgid "Change"
msgstr "Muuttaa"

#: app/templates/audit_logs/view.html:22
msgid "Change Information"
msgstr "Muuta tietoja"

#: app/templates/audit_logs/view.html:80
msgid "Change Details"
msgstr "Muuta tietoja"

#: app/templates/audit_logs/view.html:104
msgid "Request Information"
msgstr "Pyydä tietoja"

#: app/templates/auth/edit_profile.html:6 app/templates/auth/profile.html:9
msgid "Edit Profile"
msgstr "Muokkaa profiilia"

#: app/templates/auth/edit_profile.html:65
msgid "Leave blank to keep current password"
msgstr "Jätä tyhjäksi, jos haluat säilyttää nykyisen salasanan"

#: app/templates/auth/edit_profile.html:74 app/templates/client_notes/edit.html:83
#: app/templates/comments/edit.html:76 app/templates/invoices/edit.html:233
#: app/templates/kanban/edit_column.html:91 app/templates/projects/edit.html:84
#: app/templates/projects/edit_good.html:69
#: app/templates/weekly_goals/edit.html:100
msgid "Save Changes"
msgstr "Tallenna muutokset"

#: app/templates/auth/login.html:6 app/templates/errors/403.html:30
msgid "Login"
msgstr "Kirjaudu sisään"

#: app/templates/auth/login.html:25 app/templates/setup/initial_setup.html:26
msgid "Track time. Stay organized."
msgstr "Seuraa aikaa. Pysy järjestyksessä."

#: app/templates/auth/login.html:29
msgid "Sign in to your account"
msgstr "Kirjaudu tilillesi"

#: app/templates/auth/login.html:38 app/templates/client_portal/login.html:50
msgid "Sign in"
msgstr "Kirjaudu sisään"

#: app/templates/auth/login.html:41
msgid "Tip: Enter a new username to create your account."
msgstr "Vinkki: Luo tili antamalla uusi käyttäjätunnus."

#: app/templates/auth/login.html:50
msgid "Or continue with"
msgstr "Tai jatka eteenpäin"

#: app/templates/auth/login.html:55
msgid "Single Sign-On"
msgstr "Kertakirjautuminen"

#: app/templates/auth/profile.html:47 app/templates/user/profile.html:75
msgid "Member Since"
msgstr "Jäsen vuodesta"

#: app/templates/budget/dashboard.html:12
msgid "Budget Alerts & Forecasting"
msgstr "Budjettihälytykset ja ennusteet"

#: app/templates/budget/dashboard.html:13
msgid "Monitor project budgets and forecast completion"
msgstr "Tarkkaile projektin budjetteja ja ennakoi valmistumista"

#: app/templates/budget/dashboard.html:30
msgid "Unacknowledged Alerts"
msgstr "Hyväksymättömät hälytykset"

#: app/templates/budget/dashboard.html:39
msgid "Critical Alerts"
msgstr "Kriittiset hälytykset"

#: app/templates/budget/dashboard.html:48
msgid "Projects with Budgets"
msgstr "Projektit budjeteilla"

#: app/templates/budget/dashboard.html:57
msgid "Warning Alerts"
msgstr "Varoitusilmoitukset"

#: app/templates/budget/dashboard.html:66
#: app/templates/budget/project_detail.html:259
msgid "Active Alerts"
msgstr "Aktiiviset hälytykset"

#: app/templates/budget/dashboard.html:96
#: app/templates/budget/project_detail.html:284
msgid "Acknowledge"
msgstr "Tunnusta"

#: app/templates/budget/dashboard.html:110
msgid "Project Budget Status"
msgstr "Projektin budjetin tila"

#: app/templates/budget/dashboard.html:116
#: app/templates/calendar/event_detail.html:88
#: app/templates/calendar/event_form.html:116
#: app/templates/client_portal/dashboard.html:131
#: app/templates/client_portal/time_entries.html:23
#: app/templates/client_portal/time_entries.html:52
#: app/templates/inventory/movements/list.html:38
#: app/templates/invoices/create.html:19
#: app/templates/invoices/pdf_default.html:59 app/templates/kanban/board.html:14
#: app/templates/kanban/create_column.html:39 app/templates/main/dashboard.html:84
#: app/templates/main/dashboard.html:292 app/templates/main/search.html:33
#: app/templates/recurring_invoices/list.html:24
#: app/templates/tasks/_kanban.html:1245 app/templates/tasks/create.html:46
#: app/templates/tasks/edit.html:67 app/templates/tasks/edit.html:195
#: app/templates/tasks/my_tasks.html:144 app/templates/timer/manual_entry.html:40
#: app/utils/pdf_generator.py:634
msgid "Project"
msgstr "Projekti"

#: app/templates/budget/dashboard.html:117
#: app/templates/projects/dashboard.html:125
#: app/templates/projects/dashboard.html:368
msgid "Budget"
msgstr "Budjetti"

#: app/templates/budget/dashboard.html:118
#: app/templates/budget/project_detail.html:39
#: app/templates/projects/dashboard.html:368 app/templates/projects/view.html:164
msgid "Consumed"
msgstr "Kulutettu"

#: app/templates/budget/dashboard.html:119
#: app/templates/budget/project_detail.html:48
#: app/templates/main/dashboard.html:161 app/templates/projects/dashboard.html:129
#: app/templates/projects/dashboard.html:368 app/templates/projects/view.html:168
msgid "Remaining"
msgstr "Jäljellä"

#: app/templates/budget/dashboard.html:120 app/templates/projects/view.html:234
#: app/templates/tasks/_kanban.html:112 app/templates/tasks/_kanban.html:1281
#: app/templates/tasks/edit.html:153 app/templates/tasks/my_tasks.html:299
#: app/templates/weekly_goals/index.html:95
#: app/templates/weekly_goals/index.html:205
#: app/templates/weekly_goals/view.html:77
msgid "Progress"
msgstr "Edistyminen"

#: app/templates/budget/dashboard.html:137 app/templates/projects/view.html:171
msgid "over"
msgstr "yli"

#: app/templates/budget/dashboard.html:153
#: app/templates/budget/project_detail.html:48
#: app/templates/budget/project_detail.html:65 app/utils/i18n_helpers.py:285
msgid "Over Budget"
msgstr "Yli budjetin"

#: app/templates/budget/dashboard.html:157
#: app/templates/budget/project_detail.html:66
#: app/templates/projects/view.html:183 app/utils/i18n_helpers.py:295
#: app/utils/i18n_helpers.py:305
msgid "Critical"
msgstr "Kriittinen"

#: app/templates/budget/dashboard.html:165
#: app/templates/budget/project_detail.html:68
#: app/templates/projects/view.html:191
msgid "Healthy"
msgstr "Terve"

#: app/templates/budget/dashboard.html:180 app/templates/budget/dashboard.html:197
msgid "No projects with budgets found"
msgstr "Budjetteja sisältäviä projekteja ei löytynyt"

#: app/templates/budget/dashboard.html:237
#: app/templates/budget/project_detail.html:405
msgid "Alert acknowledged successfully"
msgstr "Hälytys kuitattu onnistuneesti"

#: app/templates/budget/dashboard.html:242
#: app/templates/budget/project_detail.html:410
msgid "Failed to acknowledge alert"
msgstr "Hälytyksen kuittaus epäonnistui"

#: app/templates/budget/project_detail.html:8
msgid "Budget Analysis & Forecasting"
msgstr "Budjetin analyysi ja ennustaminen"

#: app/templates/budget/project_detail.html:13
msgid "Back to Dashboard"
msgstr "Takaisin hallintapaneeliin"

#: app/templates/budget/project_detail.html:17
#: app/templates/projects/list.html:208 app/templates/quotes/view.html:163
msgid "View Project"
msgstr "Näytä projekti"

#: app/templates/budget/project_detail.html:30
#: app/templates/projects/view.html:160
msgid "Total Budget"
msgstr "Kokonaisbudjetti"

#: app/templates/budget/project_detail.html:80
msgid "Burn Rate Analysis"
msgstr "Palamisnopeuden analyysi"

#: app/templates/budget/project_detail.html:85
msgid "Daily Burn Rate"
msgstr "Päivittäinen palamisnopeus"

#: app/templates/budget/project_detail.html:89
msgid "Weekly Burn Rate"
msgstr "Viikoittainen palamisnopeus"

#: app/templates/budget/project_detail.html:93
msgid "Monthly Burn Rate"
msgstr "Kuukausittainen palamisprosentti"

#: app/templates/budget/project_detail.html:97
msgid "Period Total"
msgstr "Jakso yhteensä"

#: app/templates/budget/project_detail.html:103
msgid "Based on last"
msgstr "Viimeisen perusteella"

#: app/templates/budget/project_detail.html:103
#: app/templates/inventory/suppliers/view.html:141
msgid "days"
msgstr "päivää"

#: app/templates/budget/project_detail.html:108
msgid "No burn rate data available"
msgstr "Palamisnopeustietoja ei ole saatavilla"

#: app/templates/budget/project_detail.html:117
msgid "Completion Estimate"
msgstr "Valmistumisarvio"

#: app/templates/budget/project_detail.html:122
msgid "Estimated Completion Date"
msgstr "Arvioitu valmistumispäivä"

#: app/templates/budget/project_detail.html:128
msgid "days remaining"
msgstr "päivää jäljellä"

#: app/templates/budget/project_detail.html:133
msgid "Confidence Level"
msgstr "Luottamustaso"

#: app/templates/budget/project_detail.html:149
msgid "No completion estimate available"
msgstr "Valmistumisarviota ei ole saatavilla"

#: app/templates/budget/project_detail.html:160
msgid "Cost Trend Analysis"
msgstr "Kustannustrendianalyysi"

#: app/templates/budget/project_detail.html:168
msgid "Average"
msgstr "Keskimäärin"

#: app/templates/budget/project_detail.html:185
msgid "Resource Allocation"
msgstr "Resurssien allokointi"

#: app/templates/budget/project_detail.html:193
msgid "Total Cost"
msgstr "Kokonaiskustannukset"

#: app/templates/budget/project_detail.html:197
#: app/templates/client_portal/projects.html:41 app/templates/main/help.html:194
#: app/templates/projects/create.html:66 app/templates/projects/edit.html:60
#: app/templates/quotes/accept.html:33
msgid "Hourly Rate"
msgstr "Tuntihinta"

#: app/templates/budget/project_detail.html:205
msgid "Team Member"
msgstr "Joukkueen jäsen"

#: app/templates/budget/project_detail.html:207
#: app/templates/budget/project_detail.html:310
#: app/templates/budget/project_detail.html:340
#: app/templates/inventory/purchase_orders/form.html:149
msgid "Cost"
msgstr "Maksaa"

#: app/templates/budget/project_detail.html:208
msgid "Hours %"
msgstr "Tuntia %"

#: app/templates/budget/project_detail.html:209
msgid "Cost %"
msgstr "Hinta %"

#: app/templates/budget/project_detail.html:210
msgid "Entries"
msgstr "merkinnät"

#: app/templates/calendar/event_detail.html:41
msgid "Date & Time"
msgstr "Päivämäärä ja aika"

#: app/templates/calendar/event_detail.html:57
#: app/templates/client_portal/dashboard.html:133
#: app/templates/client_portal/time_entries.html:56
#: app/templates/main/dashboard.html:88 app/templates/main/search.html:36
msgid "Duration"
msgstr "Kesto"

#: app/templates/calendar/event_detail.html:77
#: app/templates/calendar/event_form.html:94
#: app/templates/inventory/stock_items/view.html:133
#: app/templates/inventory/stock_levels/item.html:27
#: app/templates/inventory/stock_levels/list.html:52
#: app/templates/inventory/warehouses/view.html:89
msgid "Location"
msgstr "Sijainti"

#: app/templates/calendar/event_detail.html:104
#: app/templates/calendar/event_form.html:129 app/templates/main/dashboard.html:85
#: app/templates/projects/_kanban_tailwind.html:27
#: app/templates/timer/timer_page.html:124
msgid "Task"
msgstr "Tehtävä"

#: app/templates/calendar/event_detail.html:120
#: app/templates/calendar/event_form.html:142
#: app/templates/client_portal/invoice_detail.html:23
#: app/templates/client_portal/quote_detail.html:23
#: app/templates/client_portal/set_password.html:37
#: app/templates/deals/form.html:30 app/templates/deals/list.html:51
#: app/templates/main/help.html:185 app/templates/projects/create.html:32
#: app/templates/projects/edit.html:30 app/templates/quotes/accept.html:22
#: app/templates/quotes/create.html:31 app/templates/quotes/edit.html:36
#: app/templates/quotes/list.html:129 app/templates/quotes/view.html:74
#: app/templates/recurring_invoices/list.html:25
msgid "Client"
msgstr "Asiakas"

#: app/templates/calendar/event_detail.html:136
#: app/templates/calendar/event_form.html:109
#: app/templates/calendar/event_form.html:155
msgid "Reminder"
msgstr "Muistutus"

#: app/templates/calendar/event_detail.html:139
msgid "minutes before"
msgstr "minuuttia ennen"

#: app/templates/calendar/event_detail.html:141
msgid "hours before"
msgstr "tuntia ennen"

#: app/templates/calendar/event_detail.html:143
msgid "days before"
msgstr "päivää ennen"

#: app/templates/calendar/event_detail.html:155
msgid "Recurring"
msgstr "Toistuva"

#: app/templates/calendar/event_detail.html:159
msgid "Until"
msgstr "Kunnes"

#: app/templates/calendar/event_detail.html:173
msgid "Last Updated"
msgstr "Viimeksi päivitetty"

#: app/templates/calendar/event_detail.html:182
msgid "Back to Calendar"
msgstr "Takaisin kalenteriin"

#: app/templates/calendar/event_detail.html:191
msgid "Delete Event"
msgstr "Poista tapahtuma"

#: app/templates/calendar/event_detail.html:192
msgid "Are you sure you want to delete this event? This action cannot be undone."
msgstr "Haluatko varmasti poistaa tämän tapahtuman? Tätä toimintoa ei voi kumota."

#: app/templates/calendar/event_form.html:2
#: app/templates/calendar/event_form.html:10
msgid "Edit Event"
msgstr "Muokkaa tapahtumaa"

#: app/templates/calendar/event_form.html:2
#: app/templates/calendar/event_form.html:10 app/templates/calendar/view.html:46
msgid "New Event"
msgstr "Uusi Tapahtuma"

#: app/templates/calendar/event_form.html:19
#: app/templates/client_portal/quote_detail.html:34
#: app/templates/client_portal/quotes.html:26 app/templates/contacts/form.html:52
#: app/templates/contacts/list.html:28 app/templates/contacts/view.html:48
#: app/templates/invoices/edit.html:132 app/templates/leads/form.html:50
#: app/templates/quotes/accept.html:18 app/templates/quotes/create.html:40
#: app/templates/quotes/edit.html:32 app/templates/quotes/list.html:128
#: app/utils/pdf_generator_fallback.py:468
msgid "Title"
msgstr "Otsikko"

#: app/templates/calendar/event_form.html:40
#: app/templates/import_export/index.html:177
#: app/templates/import_export/index.html:215
#: app/templates/timer/manual_entry.html:59
msgid "Start Date"
msgstr "Aloituspäivämäärä"

#: app/templates/calendar/event_form.html:50
#: app/templates/client_portal/time_entries.html:54
#: app/templates/timer/manual_entry.html:63
msgid "Start Time"
msgstr "Aloitusaika"

#: app/templates/calendar/event_form.html:61
#: app/templates/import_export/index.html:182
#: app/templates/import_export/index.html:220
#: app/templates/timer/manual_entry.html:70
msgid "End Date"
msgstr "Päättymispäivämäärä"

#: app/templates/calendar/event_form.html:71
#: app/templates/client_portal/time_entries.html:55
#: app/templates/timer/manual_entry.html:74
msgid "End Time"
msgstr "Päättymisaika"

#: app/templates/calendar/event_form.html:88
msgid "All Day Event"
msgstr "Koko päivän tapahtuma"

#: app/templates/calendar/event_form.html:104
msgid "Event Type"
msgstr "Tapahtuman tyyppi"

#: app/templates/calendar/event_form.html:107
#: app/templates/contacts/communication_form.html:32
msgid "Meeting"
msgstr "Kokous"

#: app/templates/calendar/event_form.html:108
msgid "Appointment"
msgstr "Nimittäminen"

#: app/templates/calendar/event_form.html:110
msgid "Deadline"
msgstr "Määräaika"

#: app/templates/calendar/event_form.html:118
#: app/templates/calendar/event_form.html:131
#: app/templates/calendar/event_form.html:144
msgid "-- None --"
msgstr "-- Ei yhtään --"

#: app/templates/calendar/event_form.html:157
msgid "No reminder"
msgstr "Ei muistutusta"

#: app/templates/calendar/event_form.html:158
msgid "5 minutes before"
msgstr "5 minuuttia ennen"

#: app/templates/calendar/event_form.html:159
msgid "15 minutes before"
msgstr "15 minuuttia ennen"

#: app/templates/calendar/event_form.html:160
msgid "30 minutes before"
msgstr "30 minuuttia ennen"

#: app/templates/calendar/event_form.html:161
msgid "1 hour before"
msgstr "1 tunti ennen"

#: app/templates/calendar/event_form.html:162
msgid "1 day before"
msgstr "1 päivää ennen"

#: app/templates/calendar/event_form.html:168 app/templates/kanban/columns.html:51
#: app/templates/kanban/create_column.html:60
#: app/templates/kanban/edit_column.html:52
msgid "Color"
msgstr "Väri"

#: app/templates/calendar/event_form.html:175
msgid "Choose a color for this event"
msgstr "Valitse väri tälle tapahtumalle"

#: app/templates/calendar/event_form.html:187
msgid "Private Event"
msgstr "Yksityinen Tapahtuma"

#: app/templates/calendar/event_form.html:189
msgid "Private events are only visible to you"
msgstr "Yksityistapahtumat näkyvät vain sinulle"

#: app/templates/calendar/event_form.html:194
msgid "Recurring Event"
msgstr "Toistuva tapahtuma"

#: app/templates/calendar/event_form.html:203
msgid "This is a recurring event"
msgstr "Tämä on toistuva tapahtuma"

#: app/templates/calendar/event_form.html:209
msgid "Recurrence Pattern"
msgstr "Toistuva kuvio"

#: app/templates/calendar/event_form.html:216
msgid "Use RRULE format (e.g., FREQ=WEEKLY;BYDAY=MO,WE,FR)"
msgstr "Käytä RRULE-muotoa (esim. FREQ=WEEKLY;BYDAY=MO,WE,FR)"

#: app/templates/calendar/event_form.html:220
msgid "Recurrence End Date"
msgstr "Toistumisen lopetuspäivämäärä"

#: app/templates/calendar/event_form.html:234
msgid "Update Event"
msgstr "Päivitä tapahtuma"

#: app/templates/calendar/event_form.html:234
msgid "Create Event"
msgstr "Luo tapahtuma"

#: app/templates/calendar/view.html:18
msgid "View and manage your events, tasks, and time entries"
msgstr "Tarkastele ja hallinnoi tapahtumia, tehtäviä ja aikamerkintöjä"

#: app/templates/calendar/view.html:30
msgid "Day"
msgstr "Päivä"

#: app/templates/calendar/view.html:34 app/templates/weekly_goals/index.html:79
msgid "Week"
msgstr "Viikko"

#: app/templates/calendar/view.html:38
msgid "Month"
msgstr "Kuukausi"

#: app/templates/calendar/view.html:59
msgid "Today"
msgstr "Tänään"

#: app/templates/calendar/view.html:92
msgid "Loading calendar..."
msgstr "Ladataan kalenteria..."

#: app/templates/calendar/view.html:102
msgid "Event Details"
msgstr "Tapahtuman tiedot"

#: app/templates/client_notes/edit.html:3 app/templates/client_notes/edit.html:9
msgid "Edit Client Note"
msgstr "Muokkaa asiakasmuistiota"

#: app/templates/client_notes/edit.html:12 app/templates/clients/edit.html:11
msgid "Back to Client"
msgstr "Takaisin asiakkaalle"

#: app/templates/client_notes/edit.html:24
msgid "Client:"
msgstr "Asiakas:"

#: app/templates/client_notes/edit.html:38
msgid "Created on"
msgstr "Luotu"

#: app/templates/client_notes/edit.html:41 app/templates/comments/edit.html:54
msgid "Last edited on"
msgstr "Viimeksi muokattu"

#: app/templates/client_notes/edit.html:54 app/templates/clients/view.html:197
msgid "Note Content"
msgstr "Huomautus Sisältö"

#: app/templates/client_notes/edit.html:64
msgid "Internal note visible only to your team."
msgstr "Sisäinen huomautus näkyy vain tiimillesi."

#: app/templates/client_notes/edit.html:77 app/templates/clients/view.html:215
msgid "Mark as important"
msgstr "Merkitse tärkeäksi"

#: app/templates/client_portal/base.html:6
#: app/templates/client_portal/base.html:28
#: app/templates/client_portal/dashboard.html:4
#: app/templates/client_portal/dashboard.html:8
#: app/templates/client_portal/dashboard.html:13
#: app/templates/client_portal/invoice_detail.html:4
#: app/templates/client_portal/invoice_detail.html:8
#: app/templates/client_portal/invoices.html:4
#: app/templates/client_portal/invoices.html:8
#: app/templates/client_portal/login.html:25
#: app/templates/client_portal/projects.html:4
#: app/templates/client_portal/projects.html:8
#: app/templates/client_portal/quote_detail.html:4
#: app/templates/client_portal/quote_detail.html:8
#: app/templates/client_portal/quotes.html:4
#: app/templates/client_portal/quotes.html:8
#: app/templates/client_portal/set_password.html:6
#: app/templates/client_portal/set_password.html:25
#: app/templates/client_portal/time_entries.html:4
#: app/templates/client_portal/time_entries.html:8
msgid "Client Portal"
msgstr "Asiakasportaali"

#: app/templates/client_portal/dashboard.html:14
#, python-format
msgid "Welcome, %(client_name)s"
msgstr "Tervetuloa, %(client_name)s"

#: app/templates/client_portal/dashboard.html:43
msgid "Total Invoices"
msgstr "Laskut yhteensä"

#: app/templates/client_portal/dashboard.html:66
#: app/templates/client_portal/dashboard.html:91
#: app/templates/client_portal/dashboard.html:123
msgid "View All"
msgstr "Näytä kaikki"

#: app/templates/client_portal/dashboard.html:83
#: app/templates/client_portal/projects.html:49
msgid "No projects found."
msgstr "Projekteja ei löytynyt."

#: app/templates/client_portal/dashboard.html:90
msgid "Recent Invoices"
msgstr "Viimeaikaiset laskut"

#: app/templates/client_portal/dashboard.html:114
#: app/templates/client_portal/invoices.html:91
msgid "No invoices found."
msgstr "Laskuja ei löytynyt."

#: app/templates/client_portal/dashboard.html:122
#: app/templates/user/profile.html:89
msgid "Recent Time Entries"
msgstr "Viimeaikaiset aikamerkinnät"

#: app/templates/client_portal/dashboard.html:141
#: app/templates/client_portal/dashboard.html:142
#: app/templates/client_portal/quotes.html:51
#: app/templates/client_portal/time_entries.html:64
#: app/templates/client_portal/time_entries.html:65
#: app/templates/timer/manual_entry.html:27 app/templates/user/profile.html:77
msgid "N/A"
msgstr "Ei käytössä"

#: app/templates/client_portal/dashboard.html:151
#: app/templates/client_portal/time_entries.html:83
msgid "No time entries found."
msgstr "Aikamerkintöjä ei löytynyt."

#: app/templates/client_portal/invoice_detail.html:16
#: app/templates/client_portal/invoice_detail.html:33
#: app/templates/payments/create.html:44
msgid "Invoice Details"
msgstr "Laskun tiedot"

#: app/templates/client_portal/invoice_detail.html:34
#: app/templates/client_portal/invoices.html:48
#: app/templates/invoices/edit.html:251 app/templates/invoices/pdf_default.html:40
#: app/utils/pdf_generator.py:618
msgid "Issue Date"
msgstr "Julkaisupäivämäärä"

#: app/templates/client_portal/invoice_detail.html:45
#, python-format
msgid "This invoice is %(days)d days overdue."
msgstr "Tämä lasku on %(days)d päivää myöhässä."

#: app/templates/client_portal/invoice_detail.html:52
#: app/templates/invoices/edit.html:60 app/utils/pdf_generator_fallback.py:216
msgid "Invoice Items"
msgstr "Laskun erät"

#: app/templates/client_portal/invoice_detail.html:58
#: app/templates/client_portal/quote_detail.html:70
#: app/templates/inventory/adjustments/list.html:59
#: app/templates/inventory/movements/form.html:52
#: app/templates/inventory/movements/list.html:56
#: app/templates/inventory/reports/movement_history.html:71
#: app/templates/inventory/reports/valuation.html:61
#: app/templates/inventory/reservations/list.html:41
#: app/templates/inventory/stock_items/history.html:62
#: app/templates/inventory/stock_items/view.html:170
#: app/templates/inventory/transfers/form.html:50
#: app/templates/inventory/transfers/list.html:42
#: app/templates/inventory/warehouses/view.html:132
#: app/templates/invoices/edit.html:75 app/templates/invoices/edit.html:98
#: app/templates/invoices/edit.html:479 app/templates/projects/add_good.html:45
#: app/templates/projects/edit_good.html:45 app/templates/projects/goods.html:41
#: app/templates/quotes/create.html:67 app/templates/quotes/edit.html:68
#: app/templates/quotes/pdf_default.html:79 app/templates/quotes/view.html:93
#: app/utils/pdf_generator_fallback.py:482
msgid "Quantity"
msgstr "Määrä"

#: app/templates/client_portal/invoice_detail.html:59
#: app/templates/client_portal/quote_detail.html:71
#: app/templates/invoices/edit.html:76 app/templates/invoices/edit.html:99
#: app/templates/invoices/edit.html:480 app/templates/invoices/pdf_default.html:73
#: app/templates/projects/add_good.html:50
#: app/templates/projects/edit_good.html:50 app/templates/projects/goods.html:42
#: app/templates/quotes/create.html:69 app/templates/quotes/edit.html:70
#: app/templates/quotes/pdf_default.html:80 app/templates/quotes/view.html:94
#: app/utils/pdf_generator.py:647 app/utils/pdf_generator_fallback.py:219
#: app/utils/pdf_generator_fallback.py:482
msgid "Unit Price"
msgstr "Yksikköhinta"

#: app/templates/client_portal/invoices.html:15
#, python-format
msgid "Invoices for %(client_name)s"
msgstr "Laskut kohteelle %(client_name)s"

#: app/templates/client_portal/invoices.html:24
#: app/templates/inventory/movements/list.html:35
#: app/templates/inventory/purchase_orders/list.html:23
#: app/templates/inventory/reservations/list.html:22
#: app/templates/inventory/suppliers/list.html:28
#: app/templates/kanban/board.html:16 app/templates/quotes/list.html:80
msgid "All"
msgstr "Kaikki"

#: app/templates/client_portal/invoices.html:28 app/utils/i18n_helpers.py:83
#: app/utils/i18n_helpers.py:95
msgid "Paid"
msgstr "Maksettu"

#: app/templates/client_portal/invoices.html:32
#: app/templates/invoices/list.html:159 app/utils/i18n_helpers.py:105
#: app/utils/i18n_helpers.py:116
msgid "Unpaid"
msgstr "Palkaton"

#: app/templates/client_portal/invoices.html:36
#: app/templates/tasks/_kanban.html:103 app/templates/tasks/overdue.html:34
#: app/utils/i18n_helpers.py:84 app/utils/i18n_helpers.py:96
msgid "Overdue"
msgstr "Myöhässä"

#: app/templates/client_portal/invoices.html:50
#: app/templates/client_portal/quotes.html:29 app/templates/invoices/edit.html:135
#: app/templates/invoices/edit.html:158 app/templates/projects/dashboard.html:370
#: app/templates/quotes/list.html:130
msgid "Amount"
msgstr "Määrä"

#: app/templates/client_portal/invoices.html:67
msgid "days overdue"
msgstr "päivää myöhässä"

#: app/templates/client_portal/login.html:6
msgid "Client Portal Login"
msgstr "Asiakasportaaliin kirjautuminen"

#: app/templates/client_portal/login.html:26
msgid "View your projects and invoices"
msgstr "Tarkastele projektejasi ja laskujasi"

#: app/templates/client_portal/login.html:30
msgid "Sign in to Client Portal"
msgstr "Kirjaudu sisään asiakasportaaliin"

#: app/templates/client_portal/login.html:31
msgid "Enter your portal credentials to access your projects and invoices"
msgstr "Anna portaalin tunnistetiedot päästäksesi käsiksi projekteihisi ja laskuihisi"

#: app/templates/client_portal/login.html:41 app/templates/clients/edit.html:86
msgid "portal_username"
msgstr "portaalin_käyttäjänimi"

#: app/templates/client_portal/login.html:47
#: app/templates/client_portal/set_password.html:49
msgid "Enter your password"
msgstr "Kirjoita salasanasi"

#: app/templates/client_portal/projects.html:15
#, python-format
msgid "Projects for %(client_name)s"
msgstr "Projektit käyttäjälle %(client_name)s"

#: app/templates/client_portal/quote_detail.html:16
#: app/templates/client_portal/quote_detail.html:33
#: app/templates/quotes/accept.html:15 app/templates/quotes/pdf_default.html:61
#: app/templates/quotes/view.html:47
msgid "Quote Details"
msgstr "Lainauksen tiedot"

#: app/templates/client_portal/quote_detail.html:37
#: app/templates/client_portal/quotes.html:28 app/templates/quotes/create.html:105
#: app/templates/quotes/edit.html:132 app/templates/quotes/pdf_default.html:42
#: app/templates/quotes/view.html:394 app/utils/pdf_generator_fallback.py:471
msgid "Valid Until"
msgstr "Voimassa asti"

#: app/templates/client_portal/quote_detail.html:50
msgid "This quote has expired."
msgstr "Tämä lainaus on vanhentunut."

#: app/templates/client_portal/quote_detail.html:64
#: app/templates/quotes/create.html:54 app/templates/quotes/edit.html:55
#: app/templates/quotes/view.html:87
msgid "Quote Items"
msgstr "Lainauskohteet"

#: app/templates/client_portal/quote_detail.html:113
msgid "Terms & Conditions"
msgstr "Ehdot"

#: app/templates/client_portal/quotes.html:15
#, python-format
msgid "Quotes for %(client_name)s"
msgstr "Lainaukset asiakkaalle %(client_name)s"

#: app/templates/client_portal/quotes.html:48
#: app/templates/inventory/reservations/list.html:26
#: app/templates/inventory/reservations/list.html:86
#: app/templates/inventory/reservations/list.html:94
#: app/templates/quotes/list.html:85 app/templates/quotes/list.html:164
#: app/templates/quotes/view.html:69 app/templates/quotes/view.html:398
msgid "Expired"
msgstr "Vanhentunut"

#: app/templates/client_portal/quotes.html:76
msgid "No quotes found."
msgstr "Lainauksia ei löytynyt."

#: app/templates/client_portal/set_password.html:6
#: app/templates/client_portal/set_password.html:59
msgid "Set Password"
msgstr "Aseta salasana"

#: app/templates/client_portal/set_password.html:26
msgid "Set your password to get started"
msgstr "Aloita määrittämällä salasanasi"

#: app/templates/client_portal/set_password.html:30
#: app/templates/email/client_portal_password_setup.html:97
msgid "Set Your Password"
msgstr "Aseta salasanasi"

#: app/templates/client_portal/set_password.html:32
msgid "Set a password for your client portal account"
msgstr "Aseta salasana asiakasportaalitilillesi"

#: app/templates/client_portal/set_password.html:51
msgid "Password must be at least 8 characters long"
msgstr "Salasanan tulee olla vähintään 8 merkkiä pitkä"

#: app/templates/client_portal/set_password.html:53
msgid "Confirm Password"
msgstr "Vahvista salasana"

#: app/templates/client_portal/set_password.html:56
msgid "Confirm your password"
msgstr "Vahvista salasanasi"

#: app/templates/client_portal/time_entries.html:15
#, python-format
msgid "Time entries for %(client_name)s projects"
msgstr "%(client_name)s-projektien aikamerkinnät"

#: app/templates/client_portal/time_entries.html:25
#: app/templates/tasks/my_tasks.html:146
msgid "All Projects"
msgstr "Kaikki projektit"

#: app/templates/client_portal/time_entries.html:32
msgid "From Date"
msgstr "Päivämäärästä alkaen"

#: app/templates/client_portal/time_entries.html:36
msgid "To Date"
msgstr "Päivämäärään"

#: app/templates/client_portal/time_entries.html:78
msgid "Total entries"
msgstr "Tuloksia yhteensä"

#: app/templates/client_portal/time_entries.html:79
msgid "Total hours"
msgstr "Tunteja yhteensä"

#: app/templates/clients/create.html:3 app/templates/clients/create.html:8
#: app/templates/clients/create.html:80 app/templates/projects/create.html:378
#: app/templates/projects/create.html:420
msgid "Create Client"
msgstr "Luo asiakas"

#: app/templates/clients/create.html:9
msgid "Add a new client to manage related projects and billing."
msgstr "Lisää uusi asiakas hallinnoimaan liittyviä projekteja ja laskutusta."

#: app/templates/clients/create.html:11
msgid "Back to Clients"
msgstr "Takaisin asiakkaisiin"

#: app/templates/clients/create.html:23 app/templates/clients/edit.html:23
#: app/templates/projects/create.html:387
msgid "Enter client name"
msgstr "Anna asiakkaan nimi"

#: app/templates/clients/create.html:26 app/templates/clients/create.html:95
#: app/templates/clients/edit.html:26 app/templates/projects/create.html:390
msgid "Default Hourly Rate"
msgstr "Oletustuntihinta"

#: app/templates/clients/create.html:27 app/templates/clients/edit.html:27
#: app/templates/projects/create.html:67 app/templates/projects/create.html:391
msgid "e.g. 75.00"
msgstr "esim. 75.00"

#: app/templates/clients/create.html:28 app/templates/clients/edit.html:28
msgid "This rate will be automatically filled when creating projects for this client"
msgstr "Tämä hinta täytetään automaattisesti luotaessa projekteja tälle asiakkaalle"

#: app/templates/clients/create.html:35 app/templates/projects/create.html:48
#: app/templates/projects/edit.html:44 app/templates/tasks/create.html:35
msgid "Supports Markdown"
msgstr "Tukee Markdownia"

#: app/templates/clients/create.html:38 app/templates/clients/edit.html:34
#: app/templates/projects/create.html:396
msgid "Brief description of the client or project scope"
msgstr "Lyhyt kuvaus tilaajan tai projektin laajuudesta"

#: app/templates/clients/create.html:45 app/templates/clients/edit.html:52
#: app/templates/inventory/suppliers/form.html:36
#: app/templates/inventory/suppliers/list.html:43
#: app/templates/inventory/suppliers/view.html:47
#: app/templates/inventory/warehouses/form.html:36
#: app/templates/inventory/warehouses/list.html:24
#: app/templates/inventory/warehouses/view.html:47
#: app/templates/main/help.html:232 app/templates/projects/create.html:400
msgid "Contact Person"
msgstr "Yhteyshenkilö"

#: app/templates/clients/create.html:46 app/templates/clients/edit.html:53
#: app/templates/projects/create.html:401
msgid "Primary contact name"
msgstr "Ensisijaisen yhteyshenkilön nimi"

#: app/templates/clients/create.html:50 app/templates/clients/edit.html:57
#: app/templates/projects/create.html:405
msgid "contact@client.com"
msgstr "contact@client.com"

#: app/templates/clients/create.html:56 app/templates/clients/edit.html:39
msgid "Monthly Prepaid Hours"
msgstr "Kuukausittaiset prepaid-tunnit"

#: app/templates/clients/create.html:57 app/templates/clients/edit.html:40
msgid "e.g. 50"
msgstr "esim. 50"

#: app/templates/clients/create.html:58 app/templates/clients/edit.html:41
msgid "Leave empty if this client has no prepaid allocation."
msgstr "Jätä tyhjäksi, jos asiakkaalla ei ole ennakkoon maksettua varausta."

#: app/templates/clients/create.html:61 app/templates/clients/edit.html:44
msgid "Prepaid Reset Day"
msgstr "Prepaid Reset Day"

#: app/templates/clients/create.html:63 app/templates/clients/edit.html:46
msgid "Day of the month when prepaid hours reset (1-28)."
msgstr "Kuukauden päivä, jolloin prepaid-tunnit nollataan (1-28)."

#: app/templates/clients/create.html:70 app/templates/clients/edit.html:64
msgid "+1 (555) 123-4567"
msgstr "+1 (555) 123-4567"

#: app/templates/clients/create.html:74 app/templates/clients/edit.html:68
msgid "Client address"
msgstr "Asiakkaan osoite"

#: app/templates/clients/create.html:92
msgid "Choose a clear, descriptive name for the client organization."
msgstr "Valitse selkeä, kuvaava nimi asiakasorganisaatiolle."

#: app/templates/clients/create.html:96
msgid ""
"Set the standard hourly rate for this client. This will automatically "
"populate when creating new projects."
msgstr ""
"Aseta tälle asiakkaalle vakiotuntihinta. Tämä täyttää automaattisesti uusia "
"projekteja luotaessa."

#: app/templates/clients/create.html:99 app/templates/contacts/view.html:25
msgid "Contact Information"
msgstr "Yhteystiedot"

#: app/templates/clients/create.html:100
msgid "Add contact details for easy communication and record keeping."
msgstr "Lisää yhteystiedot helpottaaksesi viestintää ja kirjaamista."

#: app/templates/clients/create.html:103 app/templates/clients/view.html:111
msgid "Prepaid Hours"
msgstr "Prepaid-tunnit"

#: app/templates/clients/create.html:104
msgid ""
"Configure monthly included hours and the reset day if this client has a "
"retainer or prepaid bundle."
msgstr ""
"Määritä kuukausittaiset tunnit ja nollauspäivä, jos tällä asiakkaalla on "
"säilytin tai ennakkoon maksettu paketti."

#: app/templates/clients/create.html:108
msgid "Provide context about the client relationship or typical project types."
msgstr "Anna konteksti asiakassuhteesta tai tyypillisistä projektityypeistä."

#: app/templates/clients/edit.html:3 app/templates/clients/edit.html:8
#: app/templates/clients/view.html:13
msgid "Edit Client"
msgstr "Muokkaa asiakasta"

#: app/templates/clients/edit.html:73
#: app/templates/email/client_portal_password_setup.html:72
msgid "Client Portal Access"
msgstr "Asiakasportaalin käyttö"

#: app/templates/clients/edit.html:75
msgid ""
"Enable portal access for this client. Clients can log in with their own "
"credentials to view projects, invoices, and time entries."
msgstr ""
"Salli portaalin käyttö tälle asiakkaalle. Asiakkaat voivat kirjautua sisään "
"omilla tunnuksillaan nähdäkseen projekteja, laskuja ja aikamerkintöjä."

#: app/templates/clients/edit.html:80
msgid "Enable Client Portal"
msgstr "Ota asiakasportaali käyttöön"

#: app/templates/clients/edit.html:85
msgid "Portal Username"
msgstr "Portaalin käyttäjätunnus"

#: app/templates/clients/edit.html:87
msgid "Unique username for portal login"
msgstr "Ainutlaatuinen käyttäjätunnus portaaliin kirjautumiseen"

#: app/templates/clients/edit.html:90
msgid "Portal Password"
msgstr "Portaalin salasana"

#: app/templates/clients/edit.html:91
msgid "Leave empty to keep current password"
msgstr "Jätä tyhjäksi säilyttääksesi nykyisen salasanan"

#: app/templates/clients/edit.html:92
msgid "Set a new password or leave empty to keep current"
msgstr "Aseta uusi salasana tai jätä tyhjäksi pysyäksesi ajan tasalla"

#: app/templates/clients/edit.html:97
msgid "Current portal username"
msgstr "Nykyinen portaalin käyttäjätunnus"

#: app/templates/clients/edit.html:106
msgid "Update Client"
msgstr "Päivitä asiakas"

#: app/templates/clients/edit.html:115
msgid "Send Password Setup Email"
msgstr "Lähetä salasanan asetussähköposti"

#: app/templates/clients/edit.html:119
#, python-format
msgid "Send an email to %(email)s with a link to set their portal password."
msgstr ""
"Lähetä sähköposti osoitteeseen %(email)s, jossa on linkki portaalin "
"salasanan asettamiseen."

#: app/templates/clients/edit.html:125
msgid ""
"Email address is required to send password setup email. Please set the "
"client email address above."
msgstr ""
"Sähköpostiosoite vaaditaan salasanan asetussähköpostin lähettämiseen. Aseta "
"asiakkaan sähköpostiosoite yllä."

#: app/templates/clients/edit.html:134
msgid "Client Statistics"
msgstr "Asiakastilastot"

#: app/templates/clients/edit.html:138
msgid "Total Projects"
msgstr "Projekteja yhteensä"

#: app/templates/clients/edit.html:150
msgid "Est. Total Cost"
msgstr "Arvioitu Kokonaiskustannukset"

#: app/templates/clients/list.html:19
msgid "Filter Clients"
msgstr "Suodata asiakkaat"

#: app/templates/clients/list.html:20 app/templates/expenses/list.html:66
#: app/templates/invoices/list.html:33 app/templates/mileage/list.html:60
#: app/templates/payments/list.html:46 app/templates/per_diem/list.html:48
#: app/templates/projects/list.html:20 app/templates/quotes/list.html:67
#: app/templates/tasks/list.html:33 app/templates/tasks/my_tasks.html:107
msgid "Toggle Filters"
msgstr "Vaihda suodattimet"

#: app/templates/clients/list.html:51 app/templates/expenses/list.html:160
#: app/templates/expenses/list.html:239 app/templates/projects/list.html:79
#: app/templates/tasks/list.html:99
msgid "Export to CSV"
msgstr "Vie CSV-muotoon"

#: app/templates/clients/list.html:183 app/templates/clients/list.html:212
#: app/templates/expenses/list.html:434 app/templates/expenses/list.html:463
#: app/templates/invoices/list.html:458 app/templates/invoices/list.html:487
#: app/templates/mileage/list.html:255 app/templates/mileage/list.html:284
#: app/templates/payments/list.html:281 app/templates/payments/list.html:310
#: app/templates/per_diem/list.html:284 app/templates/per_diem/list.html:313
#: app/templates/projects/list.html:438 app/templates/projects/list.html:467
#: app/templates/quotes/list.html:216 app/templates/quotes/list.html:243
#: app/templates/tasks/list.html:543 app/templates/tasks/list.html:572
#: app/templates/tasks/my_tasks.html:595 app/templates/tasks/my_tasks.html:625
msgid "Hide Filters"
msgstr "Piilota suodattimet"

#: app/templates/clients/list.html:190 app/templates/clients/list.html:206
#: app/templates/expenses/list.html:441 app/templates/expenses/list.html:457
#: app/templates/invoices/list.html:465 app/templates/invoices/list.html:481
#: app/templates/mileage/list.html:262 app/templates/mileage/list.html:278
#: app/templates/payments/list.html:288 app/templates/payments/list.html:304
#: app/templates/per_diem/list.html:291 app/templates/per_diem/list.html:307
#: app/templates/projects/list.html:445 app/templates/projects/list.html:461
#: app/templates/quotes/list.html:222 app/templates/quotes/list.html:238
#: app/templates/tasks/list.html:550 app/templates/tasks/list.html:566
#: app/templates/tasks/my_tasks.html:602 app/templates/tasks/my_tasks.html:619
msgid "Show Filters"
msgstr "Näytä suodattimet"

#: app/templates/clients/view.html:15
msgid "Mark client as Inactive?"
msgstr "Merkitäänkö asiakas ei-aktiiviseksi?"

#: app/templates/clients/view.html:15
msgid "Change Client Status"
msgstr "Muuta asiakkaan tilaa"

#: app/templates/clients/view.html:17 app/templates/projects/view.html:34
msgid "Mark Inactive"
msgstr "Merkitse ei-aktiiviseksi"

#: app/templates/clients/view.html:20
msgid "Activate client?"
msgstr "Aktivoi asiakas?"

#: app/templates/clients/view.html:20
msgid "Activate Client"
msgstr "Aktivoi asiakas"

#: app/templates/clients/view.html:29
msgid "Delete Client"
msgstr "Poista asiakas"

#: app/templates/clients/view.html:46
msgid "Manage"
msgstr "Hallitse"

#: app/templates/clients/view.html:60 app/templates/contacts/form.html:65
#: app/templates/contacts/list.html:42
msgid "Primary"
msgstr "Ensisijainen"

#: app/templates/clients/view.html:71
msgid "more contact(s)"
msgstr "lisää yhteystietoja"

#: app/templates/clients/view.html:76
msgid "No contacts yet"
msgstr "Ei vielä yhteystietoja"

#: app/templates/clients/view.html:78
msgid "Add Contact"
msgstr "Lisää yhteystieto"

#: app/templates/clients/view.html:83
msgid "Legacy Contact Info"
msgstr "Vanhat yhteystiedot"

#: app/templates/clients/view.html:113
#, python-format
msgid "Plan includes %(hours)s hours per cycle. Resets on day %(day)s."
msgstr ""
"Suunnitelmaan sisältyy %(hours)s tuntia sykliä kohden. Nollautuu päivänä "
"%(day)s."

#: app/templates/clients/view.html:117
msgid "Current cycle start"
msgstr "Nykyisen syklin aloitus"

#: app/templates/clients/view.html:121
msgid "Remaining hours"
msgstr "Jäljellä olevat tunnit"

#: app/templates/clients/view.html:122 app/templates/clients/view.html:126
#: app/templates/invoices/generate_from_time.html:26
#: app/templates/tasks/edit.html:164 app/templates/tasks/edit.html:166
#: app/templates/tasks/edit.html:169
msgid "h"
msgstr "h"

#: app/templates/clients/view.html:125
msgid "Consumed this cycle"
msgstr "Kulutettu tämä sykli"

#: app/templates/clients/view.html:161 app/templates/projects/view.html:89
#: app/utils/i18n_helpers.py:63 app/utils/i18n_helpers.py:73
msgid "Archived"
msgstr "Arkistoitu"

#: app/templates/clients/view.html:186
#: app/templates/inventory/purchase_orders/form.html:59
#: app/templates/quotes/create.html:185 app/templates/quotes/edit.html:199
msgid "Internal Notes"
msgstr "Sisäiset huomautukset"

#: app/templates/clients/view.html:188
msgid "Add Note"
msgstr "Lisää huomautus"

#: app/templates/clients/view.html:204
msgid "Add an internal note about this client..."
msgstr "Lisää sisäinen huomautus tästä asiakkaasta..."

#: app/templates/clients/view.html:220
msgid "Save Note"
msgstr "Tallenna muistiinpano"

#: app/templates/clients/view.html:244 app/templates/comments/_comment.html:23
msgid "edited"
msgstr "muokattu"

#: app/templates/clients/view.html:253
msgid "Important"
msgstr "Tärkeää"

#: app/templates/clients/view.html:262
msgid "Unmark"
msgstr "Poista merkintä"

#: app/templates/clients/view.html:262
msgid "Mark Important"
msgstr "Merkitse tärkeäksi"

#: app/templates/clients/view.html:289
msgid ""
"No notes yet. Add a note to keep track of important information about this "
"client."
msgstr ""
"Ei muistiinpanoja vielä. Lisää muistiinpano, jotta voit seurata tätä "
"asiakasta koskevia tärkeitä tietoja."

#: app/templates/clients/view.html:338
msgid "Are you sure you want to delete this note?"
msgstr "Haluatko varmasti poistaa tämän muistiinpanon?"

#: app/templates/clients/view.html:340
msgid "Delete Note"
msgstr "Poista huomautus"

#: app/templates/comments/_comment.html:22
msgid "Edited on"
msgstr "Muokattu"

#: app/templates/comments/_comment.html:39 app/templates/comments/_comment.html:82
#: app/templates/quotes/view.html:351 app/templates/quotes/view.html:365
msgid "Reply"
msgstr "Vastata"

#: app/templates/comments/_comment.html:78
msgid "Write your reply..."
msgstr "Kirjoita vastauksesi..."

#: app/templates/comments/_comments_section.html:6
#: app/templates/quotes/view.html:255
msgid "Comments"
msgstr "Kommentit"

#: app/templates/comments/_comments_section.html:12
#: app/templates/quotes/view.html:261
msgid "Add Comment"
msgstr "Lisää kommentti"

#: app/templates/comments/_comments_section.html:28
#: app/templates/quotes/view.html:271
msgid "Your Comment"
msgstr "Sinun kommenttisi"

#: app/templates/comments/_comments_section.html:30
#: app/templates/quotes/view.html:272
msgid "Share your thoughts, updates, or questions..."
msgstr "Jaa ajatuksesi, päivityksesi tai kysymyksesi..."

#: app/templates/comments/_comments_section.html:32
#: app/templates/comments/edit.html:70
msgid "You can use line breaks to format your comment."
msgstr "Voit muotoilla kommenttisi rivinvaihtojen avulla."

#: app/templates/comments/_comments_section.html:34
msgid "Add Image"
msgstr "Lisää kuva"

#: app/templates/comments/_comments_section.html:41
#: app/templates/quotes/view.html:282
msgid "Post Comment"
msgstr "Lähetä kommentti"

#: app/templates/comments/_comments_section.html:71
msgid "No comments yet"
msgstr "Ei vielä kommentteja"

#: app/templates/comments/_comments_section.html:72
msgid "Start the conversation by adding the first comment."
msgstr "Aloita keskustelu lisäämällä ensimmäinen kommentti."

#: app/templates/comments/_comments_section.html:74
msgid "Add First Comment"
msgstr "Lisää ensimmäinen kommentti"

#: app/templates/comments/edit.html:3 app/templates/comments/edit.html:12
msgid "Edit Comment"
msgstr "Muokkaa kommenttia"

#: app/templates/comments/edit.html:15 app/templates/invoices/edit.html:11
#: app/templates/weekly_goals/view.html:25
msgid "Back"
msgstr "Takaisin"

#: app/templates/comments/edit.html:26
msgid "Editing comment on:"
msgstr "Muokataan kommenttia:"

#: app/templates/comments/edit.html:50
msgid "Originally posted on"
msgstr "Alunperin lähetetty"

#: app/templates/comments/edit.html:66
msgid "Comment Content"
msgstr "Kommentoi sisältöä"

#: app/templates/components/activity_feed_widget.html:18
msgid "All Activities"
msgstr "Kaikki aktiviteetit"

#: app/templates/components/activity_feed_widget.html:35
msgid "Time Templates"
msgstr "Aikamallit"

#: app/templates/components/activity_feed_widget.html:103
#: app/templates/components/activity_feed_widget.html:289
#: app/templates/projects/dashboard.html:262 app/templates/user/profile.html:153
msgid "No recent activity"
msgstr "Ei viimeaikaista toimintaa"

#: app/templates/components/activity_feed_widget.html:104
#: app/templates/components/activity_feed_widget.html:290
msgid "Activity will appear here as you work"
msgstr "Toiminta näkyy tässä työskennellessäsi"

#: app/templates/components/activity_feed_widget.html:111
#: app/templates/components/activity_feed_widget.html:279
#: app/templates/components/activity_feed_widget.html:317
msgid "Load More"
msgstr "Lataa lisää"

#: app/templates/components/activity_feed_widget.html:310
msgid "Failed to load activities"
msgstr "Toimintojen lataaminen epäonnistui"

#: app/templates/components/ui.html:52
msgid "Home"
msgstr "Kotiin"

#: app/templates/contacts/communication_form.html:31
msgid "Call"
msgstr "Soittaa"

#: app/templates/contacts/communication_form.html:33
msgid "Note"
msgstr "Huom"

#: app/templates/contacts/communication_form.html:34
msgid "Message"
msgstr "Viesti"

#: app/templates/contacts/communication_form.html:39
msgid "Direction"
msgstr "Suunta"

#: app/templates/contacts/communication_form.html:41
msgid "Outbound"
msgstr "Lähtevä"

#: app/templates/contacts/communication_form.html:42
msgid "Inbound"
msgstr "Saapuva"

#: app/templates/contacts/communication_form.html:47
#: app/templates/quotes/view.html:440
msgid "Subject"
msgstr "Aihe"

#: app/templates/contacts/communication_form.html:60 app/utils/i18n_helpers.py:159
#: app/utils/i18n_helpers.py:170 app/utils/i18n_helpers.py:237
#: app/utils/i18n_helpers.py:249
msgid "Pending"
msgstr "Odottaa"

#: app/templates/contacts/communication_form.html:61
msgid "Scheduled"
msgstr "Aikataulutettu"

#: app/templates/contacts/communication_form.html:67
msgid "Follow-up Date"
msgstr "Seurantapäivämäärä"

#: app/templates/contacts/communication_form.html:72
msgid "Content/Notes"
msgstr "Sisältö/huomautukset"

#: app/templates/contacts/communication_form.html:79
msgid "Save Communication"
msgstr "Tallenna viestintä"

#: app/templates/contacts/form.html:27 app/templates/leads/form.html:25
msgid "First Name"
msgstr "Etunimi"

#: app/templates/contacts/form.html:32 app/templates/leads/form.html:30
msgid "Last Name"
msgstr "Sukunimi"

#: app/templates/contacts/form.html:47 app/templates/contacts/view.html:42
#: app/templates/main/about.html:146
msgid "Mobile"
msgstr "mobiili"

#: app/templates/contacts/form.html:57 app/templates/contacts/view.html:54
msgid "Department"
msgstr "osasto"

#: app/templates/contacts/form.html:64 app/templates/deals/form.html:40
msgid "Contact"
msgstr "Ota yhteyttä"

#: app/templates/contacts/form.html:66
msgid "Billing"
msgstr "Laskutus"

#: app/templates/contacts/form.html:67
msgid "Technical"
msgstr "Tekninen"

#: app/templates/contacts/form.html:74
msgid "Set as primary contact"
msgstr "Aseta ensisijaiseksi yhteyshenkilöksi"

#: app/templates/contacts/form.html:89 app/templates/leads/form.html:93
#: app/templates/main/dashboard.html:87 app/templates/main/search.html:38
#: app/templates/tasks/_kanban.html:1299 app/templates/timer/manual_entry.html:86
msgid "Tags"
msgstr "Tunnisteet"

#: app/templates/contacts/form.html:96
msgid "Save Contact"
msgstr "Tallenna yhteystieto"

#: app/templates/contacts/list.html:63
msgid "Set Primary"
msgstr "Aseta ensisijainen"

#: app/templates/contacts/list.html:76
msgid "No contacts found"
msgstr "Yhteystietoja ei löytynyt"

#: app/templates/contacts/list.html:78
msgid "Add First Contact"
msgstr "Lisää ensimmäinen yhteystieto"

#: app/templates/contacts/view.html:29
msgid "Primary Contact"
msgstr "Ensisijainen yhteyshenkilö"

#: app/templates/contacts/view.html:81
msgid "Communication History"
msgstr "Viestintähistoria"

#: app/templates/contacts/view.html:83
msgid "Add Communication"
msgstr "Lisää viestintä"

#: app/templates/contacts/view.html:104
msgid "No communications recorded"
msgstr "Viestintää ei tallennettu"

#: app/templates/deals/form.html:25 app/templates/deals/list.html:50
msgid "Deal Name"
msgstr "Sopimuksen nimi"

#: app/templates/deals/form.html:32
msgid "Select Client"
msgstr "Valitse Asiakas"

#: app/templates/deals/form.html:42
msgid "Select Contact"
msgstr "Valitse Yhteystiedot"

#: app/templates/deals/form.html:52 app/templates/deals/list.html:30
#: app/templates/deals/list.html:52
msgid "Stage"
msgstr "Vaihe"

#: app/templates/deals/form.html:61
msgid "Deal Value"
msgstr "Sopimuksen arvo"

#: app/templates/deals/form.html:75
msgid "Win Probability"
msgstr "Voiton todennäköisyys"

#: app/templates/deals/form.html:80
msgid "Expected Close Date"
msgstr "Odotettu sulkemispäivä"

#: app/templates/deals/form.html:86
msgid "Related Quote"
msgstr "Aiheeseen liittyvä lainaus"

#: app/templates/deals/form.html:88
msgid "Select Quote"
msgstr "Valitse Lainaus"

#: app/templates/deals/form.html:109
msgid "Save Deal"
msgstr "Tallenna tarjous"

#: app/templates/deals/list.html:24
msgid "Open"
msgstr "Avata"

#: app/templates/deals/list.html:25
msgid "Won"
msgstr "Voitti"

#: app/templates/deals/list.html:26
msgid "Lost"
msgstr "Kadonnut"

#: app/templates/deals/list.html:32
msgid "All Stages"
msgstr "Kaikki vaiheet"

#: app/templates/deals/list.html:53
msgid "Value"
msgstr "Arvo"

#: app/templates/deals/list.html:54
msgid "Probability"
msgstr "Todennäköisyys"

#: app/templates/deals/list.html:55
msgid "Expected Close"
msgstr "Odotettu sulkeutuva"

#: app/templates/deals/list.html:91
msgid "No deals found"
msgstr "Tarjouksia ei löytynyt"

#: app/templates/deals/list.html:93
msgid "Create First Deal"
msgstr "Luo ensimmäinen tarjous"

#: app/templates/email/comment_mention.html:70
msgid "You Were Mentioned"
msgstr "Sinut Mainittiin"

#: app/templates/email/comment_mention.html:90
msgid "View Task & Reply"
msgstr "Näytä tehtävä ja vastaus"

#: app/templates/email/invoice.html:63
#: app/templates/inventory/movements/list.html:36
#: app/templates/invoices/pdf_default.html:5 app/utils/pdf_generator.py:523
#: app/utils/pdf_generator.py:533
msgid "Invoice"
msgstr "Laskuttaa"

#: app/templates/email/overdue_invoice.html:65
msgid "Invoice Overdue"
msgstr "Lasku erääntynyt"

#: app/templates/email/overdue_invoice.html:106
msgid "View Invoice"
msgstr "Näytä lasku"

#: app/templates/email/quote.html:63
#: app/templates/inventory/movements/list.html:37
#: app/templates/quotes/pdf_default.html:5
msgid "Quote"
msgstr "Lainata"

#: app/templates/email/quote_accepted.html:67
msgid "Quote Accepted"
msgstr "Lainaus hyväksytty"

#: app/templates/email/quote_accepted.html:84
#: app/templates/email/quote_approval_rejected.html:98
#: app/templates/email/quote_approved.html:84
#: app/templates/email/quote_expired.html:83
#: app/templates/email/quote_expiring.html:93
#: app/templates/email/quote_rejected.html:81
#: app/templates/email/quote_sent.html:81
msgid "View Quote"
msgstr "Näytä lainaus"

#: app/templates/email/quote_approval_rejected.html:74
msgid "Quote Approval Rejected"
msgstr "Tarjouksen hyväksyntä hylätty"

#: app/templates/email/quote_approval_request.html:67
msgid "Approval Requested"
msgstr "Hyväksyntää pyydetty"

#: app/templates/email/quote_approval_request.html:83
msgid "Review Quote"
msgstr "Tarkista lainaus"

#: app/templates/email/quote_approved.html:67
msgid "Quote Approved"
msgstr "Lainaus hyväksytty"

#: app/templates/email/quote_expired.html:67
msgid "Quote Expired"
msgstr "Lainaus vanhentunut"

#: app/templates/email/quote_expiring.html:74
msgid "Quote Expiring Soon"
msgstr "Lainaus vanhenee pian"

#: app/templates/email/quote_rejected.html:67
msgid "Quote Rejected"
msgstr "Lainaus hylätty"

#: app/templates/email/quote_sent.html:67
msgid "Quote Sent"
msgstr "Lainaus lähetetty"

#: app/templates/email/task_assigned.html:71
msgid "Task Assignment"
msgstr "Tehtävän määritys"

#: app/templates/email/task_assigned.html:117 app/templates/tasks/edit.html:274
msgid "View Task"
msgstr "Näytä tehtävä"

#: app/templates/email/test_email.html:115
msgid "Test Details"
msgstr "Testin tiedot"

#: app/templates/email/weekly_summary.html:89
msgid "Your Weekly Summary"
msgstr "Viikkoyhteenveto"

#: app/templates/errors/400.html:3 app/templates/errors/400.html:12
msgid "400 Bad Request"
msgstr "400 Huono pyyntö"

#: app/templates/errors/400.html:16
msgid "Invalid Request"
msgstr "Virheellinen pyyntö"

#: app/templates/errors/400.html:18
msgid "The request you made is invalid or contains errors. This could be due to:"
msgstr ""
"Tekemäsi pyyntö on virheellinen tai sisältää virheitä. Tämä voi johtua "
"seuraavista:"

#: app/templates/errors/400.html:21
msgid "Missing or invalid form data"
msgstr "Lomaketiedot puuttuvat tai ovat virheellisiä"

#: app/templates/errors/400.html:22
msgid "Malformed request parameters"
msgstr "Väärin muotoillut pyyntöparametrit"

#: app/templates/errors/400.html:26 app/templates/errors/403.html:27
#: app/templates/errors/404.html:18 app/templates/errors/500.html:21
#: app/templates/errors/generic.html:25 app/templates/errors/generic.html:43
#: app/templates/main/help.html:527
msgid "Go to Dashboard"
msgstr "Siirry Dashboardiin"

#: app/templates/errors/400.html:29 app/templates/errors/404.html:21
#: app/templates/errors/generic.html:29 app/templates/errors/generic.html:46
msgid "Go Back"
msgstr "Mene takaisin"

#: app/templates/errors/403.html:3 app/templates/errors/403.html:12
msgid "403 Forbidden"
msgstr "403 Kielletty"

#: app/templates/errors/403.html:16
msgid "Access Denied"
msgstr "Käyttö estetty"

#: app/templates/errors/403.html:18
msgid "You don't have permission to access this resource. This could be due to:"
msgstr "Sinulla ei ole lupaa käyttää tätä resurssia. Tämä voi johtua seuraavista:"

#: app/templates/errors/403.html:21
msgid "Insufficient privileges"
msgstr "Riittämättömät oikeudet"

#: app/templates/errors/403.html:22
msgid "Not logged in"
msgstr "Ei kirjautunut sisään"

#: app/templates/errors/403.html:23
msgid "Resource access restrictions"
msgstr "Resurssien käyttörajoitukset"

#: app/templates/errors/404.html:3 app/templates/errors/404.html:12
msgid "Page Not Found"
msgstr "Sivua ei löydy"

#: app/templates/errors/404.html:14
msgid "The page you're looking for doesn't exist or has been moved."
msgstr "Etsimääsi sivua ei ole olemassa tai se on siirretty."

#: app/templates/errors/500.html:3 app/templates/errors/500.html:12
msgid "Server Error"
msgstr "Palvelinvirhe"

#: app/templates/errors/500.html:14
msgid "Something went wrong on our end. Please try again later."
msgstr "Jotain meni vikaan meidän päässämme. Yritä myöhemmin uudelleen."

#: app/templates/errors/500.html:18
msgid "Try Again"
msgstr "Yritä uudelleen"

#: app/templates/errors/generic.html:18
msgid "An error occurred while processing your request."
msgstr "Pyyntöäsi käsiteltäessä tapahtui virhe."

#: app/templates/errors/generic.html:33
msgid "Refresh Page"
msgstr "Päivitä sivu"

#: app/templates/errors/generic.html:37
msgid "Go to Login"
msgstr "Siirry kohtaan Kirjautuminen"

#: app/templates/expense_categories/form.html:34
msgid "e.g., Travel, Meals, Office Supplies"
msgstr "esim. matkat, ruokailut, toimistotarvikkeet"

#: app/templates/expense_categories/form.html:44
msgid "e.g., TRAVEL, MEALS"
msgstr "esim. MATKAT, Ateriat"

#: app/templates/expense_categories/form.html:54
msgid "Brief description of this category..."
msgstr "Lyhyt kuvaus tästä kategoriasta..."

#: app/templates/expense_categories/form.html:73
msgid "e.g., fa-plane, fa-utensils"
msgstr "esim. fa-taso, fa-astiat"

#: app/templates/expense_categories/form.html:142
msgid "e.g., 19.00"
msgstr "esim. 19.00"

#: app/templates/expenses/form.html:34
msgid "e.g., Flight to Berlin"
msgstr "esim. lento Berliiniin"

#: app/templates/expenses/form.html:43
msgid "Additional details about the expense..."
msgstr "Lisätietoa kuluista..."

#: app/templates/expenses/form.html:201
msgid "e.g., Lufthansa"
msgstr "esim. Lufthansa"

#: app/templates/expenses/form.html:231
msgid "Receipt/Invoice Number"
msgstr "Kuitin/laskun numero"

#: app/templates/expenses/form.html:235
msgid "e.g., INV-2024-001"
msgstr "esim. INV-2024-001"

#: app/templates/expenses/form.html:246
msgid "e.g., conference, client-meeting, urgent"
msgstr "esim. kokous, asiakastapaaminen, kiireellinen"

#: app/templates/expenses/form.html:255 app/templates/mileage/form.html:245
#: app/templates/per_diem/form.html:197
msgid "Additional notes..."
msgstr "Lisähuomautuksia..."

#: app/templates/expenses/list.html:65
msgid "Filter Expenses"
msgstr "Suodatuskulut"

#: app/templates/expenses/list.html:192
msgid "Delete Selected Expenses"
msgstr "Poista valitut kulut"

#: app/templates/expenses/list.html:212
msgid "Change Status for Selected Expenses"
msgstr "Muuta valittujen kulujen tilaa"

#: app/templates/expenses/list.html:223 app/templates/invoices/list.html:293
#: app/templates/payments/list.html:253 app/templates/per_diem/list.html:153
#: app/templates/tasks/list.html:269
msgid "Update Status"
msgstr "Päivitä tila"

#: app/templates/expenses/view.html:250
msgid "Associated With"
msgstr "Liittyy"

#: app/templates/expenses/view.html:346
msgid "Reject Expense"
msgstr "Hylkää kulut"

#: app/templates/expenses/view.html:355
msgid "Explain why this expense is being rejected..."
msgstr "Selitä, miksi tämä kulu hylätään..."

#: app/templates/expenses/view.html:395
msgid "Are you sure you want to delete this expense?"
msgstr "Haluatko varmasti poistaa tämän kulun?"

#: app/templates/expenses/view.html:397
msgid "Delete Expense"
msgstr "Poista kulut"

#: app/templates/import_export/index.html:4
#: app/templates/import_export/index.html:13
msgid "Import/Export Data"
msgstr "Tuo/Vie tiedot"

#: app/templates/import_export/index.html:8
msgid "Import/Export"
msgstr "Tuo/Vie"

#: app/templates/import_export/index.html:14
msgid ""
"Import data from other time trackers or export your data for GDPR compliance"
" and backups"
msgstr ""
"Tuo tietoja muista aikaseurantalaitteista tai vie tietosi GDPR-"
"yhteensopivuutta ja varmuuskopioita varten"

#: app/templates/import_export/index.html:24
msgid "Import Data"
msgstr "Tuo tiedot"

#: app/templates/import_export/index.html:29
msgid "CSV Import"
msgstr "CSV-tuonti"

#: app/templates/import_export/index.html:30
msgid "Import time entries from a CSV file"
msgstr "Tuo aikamerkinnät CSV-tiedostosta"

#: app/templates/import_export/index.html:34
msgid "Choose CSV File"
msgstr "Valitse CSV-tiedosto"

#: app/templates/import_export/index.html:38
msgid "Download Template"
msgstr "Lataa malli"

#: app/templates/import_export/index.html:48
#: app/templates/import_export/index.html:163
msgid "Import from Toggl Track"
msgstr "Tuo Toggl Trackista"

#: app/templates/import_export/index.html:49
msgid "Import time entries from Toggl Track"
msgstr "Tuo aikamerkinnät Toggl Trackista"

#: app/templates/import_export/index.html:52
msgid "Import from Toggl"
msgstr "Tuo Togglista"

#: app/templates/import_export/index.html:60
#: app/templates/import_export/index.html:64
#: app/templates/import_export/index.html:201
msgid "Import from Harvest"
msgstr "Tuonti Harvestista"

#: app/templates/import_export/index.html:61
msgid "Import time entries from Harvest"
msgstr "Tuo aikamerkinnät Harvestista"

#: app/templates/import_export/index.html:73
msgid "Restore from Backup"
msgstr "Palauta varmuuskopiosta"

#: app/templates/import_export/index.html:74
msgid "Restore data from a backup file"
msgstr "Palauta tiedot varmuuskopiotiedostosta"

#: app/templates/import_export/index.html:88
msgid "Import History"
msgstr "Tuo historia"

#: app/templates/import_export/index.html:100
msgid "Export Data"
msgstr "Vie tiedot"

#: app/templates/import_export/index.html:105
msgid "Full Data Export (GDPR)"
msgstr "Full Data Export (GDPR)"

#: app/templates/import_export/index.html:106
msgid "Export all your personal data"
msgstr "Vie kaikki henkilötietosi"

#: app/templates/import_export/index.html:110
msgid "Export as JSON"
msgstr "Vie JSON-muodossa"

#: app/templates/import_export/index.html:113
msgid "Export as ZIP"
msgstr "Vie ZIP-muodossa"

#: app/templates/import_export/index.html:123
msgid "Filtered Export"
msgstr "Suodatettu vienti"

#: app/templates/import_export/index.html:124
msgid "Export specific data with filters"
msgstr "Vie tiettyjä tietoja suodattimilla"

#: app/templates/import_export/index.html:127
msgid "Export with Filters"
msgstr "Vie suodattimilla"

#: app/templates/import_export/index.html:137
msgid "Create a full database backup"
msgstr "Luo koko tietokannan varmuuskopio"

#: app/templates/import_export/index.html:150
msgid "Export History"
msgstr "Vie historiaa"

#: app/templates/import_export/index.html:167
#: app/templates/import_export/index.html:210
msgid "API Token"
msgstr "API-tunnus"

#: app/templates/import_export/index.html:172
msgid "Workspace ID"
msgstr "Työtilan tunnus"

#: app/templates/import_export/index.html:188
#: app/templates/import_export/index.html:226
msgid "Import"
msgstr "Tuoda"

#: app/templates/import_export/index.html:205
msgid "Account ID"
msgstr "Tilin tunnus"

#: app/templates/inventory/adjustments/form.html:23
#: app/templates/inventory/adjustments/list.html:30
#: app/templates/inventory/movements/form.html:34
#: app/templates/inventory/purchase_orders/form.html:77
#: app/templates/inventory/reports/movement_history.html:30
#: app/templates/inventory/transfers/form.html:23
#: app/templates/invoices/edit.html:72 app/templates/quotes/create.html:64
#: app/templates/quotes/edit.html:65
msgid "Stock Item"
msgstr "Varastotuote"

#: app/templates/inventory/adjustments/form.html:25
#: app/templates/inventory/movements/form.html:36
#: app/templates/inventory/purchase_orders/form.html:122
#: app/templates/inventory/transfers/form.html:25
msgid "Select Item"
msgstr "Valitse kohde"

#: app/templates/inventory/adjustments/form.html:32
#: app/templates/inventory/adjustments/list.html:21
#: app/templates/inventory/adjustments/list.html:58
#: app/templates/inventory/low_stock/list.html:22
#: app/templates/inventory/movements/form.html:43
#: app/templates/inventory/movements/list.html:54
#: app/templates/inventory/purchase_orders/form.html:82
#: app/templates/inventory/reports/low_stock.html:31
#: app/templates/inventory/reports/movement_history.html:21
#: app/templates/inventory/reports/movement_history.html:69
#: app/templates/inventory/reports/valuation.html:21
#: app/templates/inventory/reports/valuation.html:57
#: app/templates/inventory/reservations/list.html:40
#: app/templates/inventory/stock_items/history.html:22
#: app/templates/inventory/stock_items/history.html:60
#: app/templates/inventory/stock_items/view.html:129
#: app/templates/inventory/stock_items/view.html:169
#: app/templates/inventory/stock_levels/item.html:23
#: app/templates/inventory/stock_levels/list.html:20
#: app/templates/inventory/stock_levels/list.html:47
#: app/templates/invoices/edit.html:73 app/templates/quotes/create.html:65
#: app/templates/quotes/edit.html:66
msgid "Warehouse"
msgstr "Varasto"

#: app/templates/inventory/adjustments/form.html:34
#: app/templates/inventory/movements/form.html:45
#: app/templates/inventory/purchase_orders/form.html:131
#: app/templates/invoices/edit.html:91 app/templates/quotes/edit.html:87
msgid "Select Warehouse"
msgstr "Valitse Varasto"

#: app/templates/inventory/adjustments/form.html:41
msgid "Adjustment Quantity"
msgstr "Säätömäärä"

#: app/templates/inventory/adjustments/form.html:43
msgid "Use positive values to increase stock, negative values to decrease"
msgstr ""
"Käytä positiivisia arvoja lisätäksesi varastoa ja negatiivisia arvoja "
"pienentääksesi"

#: app/templates/inventory/adjustments/form.html:46
#: app/templates/inventory/adjustments/list.html:60
#: app/templates/inventory/movements/form.html:57
#: app/templates/inventory/movements/list.html:58
#: app/templates/inventory/reports/movement_history.html:73
#: app/templates/inventory/stock_items/history.html:64
#: app/templates/inventory/stock_items/view.html:171
#: app/templates/inventory/warehouses/view.html:133
msgid "Reason"
msgstr "Syy"

#: app/templates/inventory/adjustments/form.html:47
msgid "e.g., Physical count correction, Damage, Found items"
msgstr "esim. fyysisen laskennan korjaus, vauriot, löydetyt kohteet"

#: app/templates/inventory/adjustments/form.html:51
msgid "Additional details about this adjustment"
msgstr "Lisätietoja tästä säädöstä"

#: app/templates/inventory/adjustments/form.html:59
msgid "Record Adjustment"
msgstr "Record Adjustment"

#: app/templates/inventory/adjustments/list.html:23
#: app/templates/inventory/reports/movement_history.html:23
#: app/templates/inventory/reports/valuation.html:23
#: app/templates/inventory/stock_items/history.html:24
#: app/templates/inventory/stock_levels/list.html:22
msgid "All Warehouses"
msgstr "Kaikki varastot"

#: app/templates/inventory/adjustments/list.html:32
#: app/templates/inventory/reports/movement_history.html:32
msgid "All Items"
msgstr "Kaikki kohteet"

#: app/templates/inventory/adjustments/list.html:39
#: app/templates/inventory/reports/movement_history.html:50
#: app/templates/inventory/reports/turnover.html:21
#: app/templates/inventory/stock_items/history.html:42
#: app/templates/inventory/transfers/list.html:21
msgid "Date From"
msgstr "Päivämäärä alkaen"

#: app/templates/inventory/adjustments/list.html:46
#: app/templates/inventory/reports/movement_history.html:57
#: app/templates/inventory/reports/turnover.html:25
#: app/templates/inventory/stock_items/history.html:49
#: app/templates/inventory/transfers/list.html:25
msgid "Date To"
msgstr "Päivämäärä -"

#: app/templates/inventory/adjustments/list.html:57
#: app/templates/inventory/low_stock/list.html:23
#: app/templates/inventory/movements/list.html:53
#: app/templates/inventory/purchase_orders/view.html:90
#: app/templates/inventory/reports/low_stock.html:29
#: app/templates/inventory/reports/movement_history.html:68
#: app/templates/inventory/reports/turnover.html:44
#: app/templates/inventory/reports/valuation.html:58
#: app/templates/inventory/reservations/list.html:39
#: app/templates/inventory/stock_levels/list.html:48
#: app/templates/inventory/stock_levels/warehouse.html:45
#: app/templates/inventory/suppliers/view.html:114
#: app/templates/inventory/transfers/list.html:39
#: app/templates/inventory/warehouses/view.html:84
#: app/templates/inventory/warehouses/view.html:130
msgid "Item"
msgstr "Tuote"

#: app/templates/inventory/adjustments/list.html:87
msgid "No adjustments found."
msgstr "Säätöjä ei löytynyt."

#: app/templates/inventory/low_stock/list.html:24
#: app/templates/inventory/stock_items/view.html:130
#: app/templates/inventory/stock_levels/list.html:49
#: app/templates/inventory/warehouses/view.html:86
msgid "On Hand"
msgstr "Kädessä"

#: app/templates/inventory/low_stock/list.html:25
#: app/templates/inventory/reports/low_stock.html:33
#: app/templates/inventory/stock_items/form.html:69
#: app/templates/inventory/stock_items/view.html:91
#: app/templates/inventory/stock_levels/warehouse.html:51
msgid "Reorder Point"
msgstr "Järjestä piste uudelleen"

#: app/templates/inventory/low_stock/list.html:26
#: app/templates/inventory/reports/low_stock.html:34
msgid "Shortfall"
msgstr "Vaje"

#: app/templates/inventory/low_stock/list.html:27
msgid "Reorder Qty"
msgstr "Uudelleentilausmäärä"

#: app/templates/inventory/low_stock/list.html:55
msgid "No low stock alerts. All items are above reorder point."
msgstr ""
"Ei varoituksia alhaisista varastoista. Kaikki tuotteet ovat "
"uudelleenjärjestelypisteen yläpuolella."

#: app/templates/inventory/movements/form.html:23
#: app/templates/inventory/movements/list.html:21
#: app/templates/inventory/reports/movement_history.html:39
#: app/templates/inventory/stock_items/history.html:31
msgid "Movement Type"
msgstr "Liikkeen tyyppi"

#: app/templates/inventory/movements/form.html:25
#: app/templates/inventory/movements/list.html:24
#: app/templates/inventory/reports/movement_history.html:42
#: app/templates/inventory/stock_items/history.html:34
msgid "Adjustment"
msgstr "Säätö"

#: app/templates/inventory/movements/form.html:26
#: app/templates/inventory/movements/list.html:25
#: app/templates/inventory/reports/movement_history.html:43
#: app/templates/inventory/stock_items/history.html:35
msgid "Transfer"
msgstr "Siirtää"

#: app/templates/inventory/movements/form.html:27
#: app/templates/inventory/movements/list.html:26
#: app/templates/inventory/reports/movement_history.html:44
#: app/templates/inventory/stock_items/history.html:36
msgid "Sale"
msgstr "Myynti"

#: app/templates/inventory/movements/form.html:28
#: app/templates/inventory/movements/list.html:27
#: app/templates/inventory/reports/movement_history.html:45
#: app/templates/inventory/stock_items/history.html:37
msgid "Purchase"
msgstr "Ostaa"

#: app/templates/inventory/movements/form.html:29
#: app/templates/inventory/movements/list.html:28
#: app/templates/inventory/reports/movement_history.html:46
#: app/templates/inventory/stock_items/history.html:38
msgid "Return"
msgstr "Palata"

#: app/templates/inventory/movements/form.html:30
#: app/templates/inventory/movements/list.html:29
msgid "Waste"
msgstr "Jätettä"

#: app/templates/inventory/movements/form.html:54
msgid "Use positive values for additions, negative for removals"
msgstr "Käytä positiivisia arvoja lisäyksiin, negatiivisia poistoihin"

#: app/templates/inventory/movements/form.html:58
msgid "e.g., Physical count correction"
msgstr "esim. fyysisen laskennan korjaus"

#: app/templates/inventory/movements/form.html:70
msgid "Record Movement"
msgstr "Record Movement"

#: app/templates/inventory/movements/list.html:33
msgid "Reference Type"
msgstr "Viitetyyppi"

#: app/templates/inventory/movements/list.html:39
msgid "Manual"
msgstr "Manuaalinen"

#: app/templates/inventory/movements/list.html:57
#: app/templates/inventory/reports/movement_history.html:72
#: app/templates/inventory/reservations/list.html:43
#: app/templates/inventory/stock_items/history.html:63
msgid "Reference"
msgstr "Viite"

#: app/templates/inventory/movements/list.html:107
msgid "No stock movements found."
msgstr "Osakeliikettä ei löytynyt."

#: app/templates/inventory/purchase_orders/form.html:25
#: app/templates/quotes/create.html:27 app/templates/quotes/edit.html:28
msgid "Basic Information"
msgstr "Perustiedot"

#: app/templates/inventory/purchase_orders/form.html:29
#: app/templates/inventory/purchase_orders/list.html:32
#: app/templates/inventory/purchase_orders/list.html:51
#: app/templates/inventory/purchase_orders/view.html:50
msgid "Supplier"
msgstr "Toimittaja"

#: app/templates/inventory/purchase_orders/form.html:31
#: app/templates/inventory/stock_items/form.html:107
#: app/templates/inventory/stock_items/form.html:155
msgid "Select Supplier"
msgstr "Valitse Toimittaja"

#: app/templates/inventory/purchase_orders/form.html:38
#: app/templates/inventory/purchase_orders/list.html:52
#: app/templates/inventory/purchase_orders/view.html:58
msgid "Order Date"
msgstr "Tilauspäivämäärä"

#: app/templates/inventory/purchase_orders/form.html:42
msgid "Expected Delivery Date"
msgstr "Arvioitu toimituspäivä"

#: app/templates/inventory/purchase_orders/form.html:56
msgid "Notes visible to supplier"
msgstr "Huomautukset näkyvät toimittajalle"

#: app/templates/inventory/purchase_orders/form.html:60
msgid "Internal notes (not visible to supplier)"
msgstr "Sisäiset huomautukset (ei näy toimittajalle)"

#: app/templates/inventory/purchase_orders/form.html:69
#: app/templates/inventory/purchase_orders/view.html:85
#: app/templates/invoices/edit.html:280
msgid "Items"
msgstr "Tuotteet"

#: app/templates/inventory/purchase_orders/form.html:72
#: app/templates/invoices/edit.html:66 app/templates/quotes/create.html:58
#: app/templates/quotes/edit.html:59
msgid "Add Item"
msgstr "Lisää kohde"

#: app/templates/inventory/purchase_orders/form.html:79
#: app/templates/inventory/purchase_orders/form.html:148
#: app/templates/invoices/edit.html:195 app/templates/invoices/edit.html:213
#: app/templates/invoices/edit.html:546 app/templates/quotes/create.html:279
#: app/templates/quotes/edit.html:94 app/templates/quotes/edit.html:292
msgid "Qty"
msgstr "Määrä"

#: app/templates/inventory/purchase_orders/form.html:80
#: app/templates/inventory/purchase_orders/view.html:94
#: app/templates/inventory/reports/valuation.html:62
#: app/templates/inventory/stock_items/form.html:113
#: app/templates/inventory/stock_items/form.html:164
#: app/templates/inventory/suppliers/view.html:116
msgid "Unit Cost"
msgstr "Yksikköhinta"

#: app/templates/inventory/purchase_orders/form.html:83
#: app/templates/inventory/purchase_orders/form.html:152
#: app/templates/inventory/stock_items/form.html:112
#: app/templates/inventory/stock_items/form.html:163
#: app/templates/inventory/suppliers/view.html:115
msgid "Supplier SKU"
msgstr "Toimittaja SKU"

#: app/templates/inventory/purchase_orders/form.html:104
msgid "Create Purchase Order"
msgstr "Luo ostotilaus"

#: app/templates/inventory/purchase_orders/list.html:24
#: app/templates/inventory/purchase_orders/list.html:76
#: app/templates/inventory/purchase_orders/view.html:37
#: app/templates/quotes/list.html:81 app/templates/quotes/list.html:156
#: app/templates/quotes/view.html:61 app/utils/i18n_helpers.py:81
#: app/utils/i18n_helpers.py:93
msgid "Draft"
msgstr "Luonnos"

#: app/templates/inventory/purchase_orders/list.html:25
#: app/templates/inventory/purchase_orders/list.html:78
#: app/templates/inventory/purchase_orders/view.html:39
#: app/templates/quotes/list.html:82 app/templates/quotes/list.html:158
#: app/templates/quotes/view.html:63 app/utils/i18n_helpers.py:82
#: app/utils/i18n_helpers.py:94
msgid "Sent"
msgstr "Lähetetty"

#: app/templates/inventory/purchase_orders/list.html:26
#: app/templates/inventory/purchase_orders/list.html:80
#: app/templates/inventory/purchase_orders/view.html:41
msgid "Confirmed"
msgstr "Vahvistettu"

#: app/templates/inventory/purchase_orders/list.html:27
#: app/templates/inventory/purchase_orders/list.html:82
#: app/templates/inventory/purchase_orders/view.html:43
#: app/templates/inventory/purchase_orders/view.html:162
msgid "Received"
msgstr "Vastaanotettu"

#: app/templates/inventory/purchase_orders/list.html:34
msgid "All Suppliers"
msgstr "Kaikki toimittajat"

#: app/templates/inventory/purchase_orders/list.html:50
#: app/templates/inventory/purchase_orders/view.html:30
msgid "PO Number"
msgstr "PO-numero"

#: app/templates/inventory/purchase_orders/list.html:53
#: app/templates/inventory/purchase_orders/view.html:63
msgid "Expected Delivery"
msgstr "Odotettu toimitus"

#: app/templates/inventory/purchase_orders/list.html:99
msgid "No purchase orders found."
msgstr "Ostotilauksia ei löytynyt."

#: app/templates/inventory/purchase_orders/view.html:19
msgid "Are you sure you want to cancel this purchase order?"
msgstr "Haluatko varmasti peruuttaa tämän ostotilauksen?"

#: app/templates/inventory/purchase_orders/view.html:20
msgid "Are you sure you want to delete this purchase order?"
msgstr "Haluatko varmasti poistaa tämän ostotilauksen?"

#: app/templates/inventory/purchase_orders/view.html:27
msgid "Purchase Order Details"
msgstr "Ostotilauksen tiedot"

#: app/templates/inventory/purchase_orders/view.html:69
#: app/templates/inventory/purchase_orders/view.html:153
msgid "Received Date"
msgstr "Vastaanottopäivämäärä"

#: app/templates/inventory/purchase_orders/view.html:92
msgid "Quantity Ordered"
msgstr "Tilattu määrä"

#: app/templates/inventory/purchase_orders/view.html:93
msgid "Quantity Received"
msgstr "Vastaanotettu määrä"

#: app/templates/inventory/purchase_orders/view.html:95
msgid "Line Total"
msgstr "Rivi yhteensä"

#: app/templates/inventory/purchase_orders/view.html:127
msgid "Shipping"
msgstr "Toimitus"

#: app/templates/inventory/purchase_orders/view.html:149
msgid "Receive Purchase Order"
msgstr "Vastaanota ostotilaus"

#: app/templates/inventory/purchase_orders/view.html:167
msgid "Mark as Received"
msgstr "Merkitse vastaanotetuksi"

#: app/templates/inventory/purchase_orders/view.html:174
msgid "No items in this purchase order."
msgstr "Tässä ostotilauksessa ei ole tuotteita."

#: app/templates/inventory/purchase_orders/view.html:182
#: app/templates/inventory/stock_items/view.html:199
#: app/templates/inventory/suppliers/view.html:171
#: app/templates/inventory/warehouses/view.html:165
msgid "Summary"
msgstr "Yhteenveto"

#: app/templates/inventory/purchase_orders/view.html:185
#: app/templates/inventory/reports/dashboard.html:21
#: app/templates/inventory/warehouses/view.html:168
msgid "Total Items"
msgstr "Tuotteita yhteensä"

#: app/templates/inventory/reports/dashboard.html:33
msgid "Total Warehouses"
msgstr "Varastot yhteensä"

#: app/templates/inventory/reports/dashboard.html:45
msgid "Total Inventory Value"
msgstr "Varaston kokonaisarvo"

#: app/templates/inventory/reports/dashboard.html:57
msgid "Low Stock Items"
msgstr "Alhaiset tuotteet"

#: app/templates/inventory/reports/dashboard.html:68
msgid "Available Reports"
msgstr "Saatavilla olevat raportit"

#: app/templates/inventory/reports/dashboard.html:72
msgid "Stock Valuation"
msgstr "Osakkeen arvostus"

#: app/templates/inventory/reports/dashboard.html:73
msgid "View inventory value by warehouse"
msgstr "Tarkastele varaston arvoa varastoittain"

#: app/templates/inventory/reports/dashboard.html:78
msgid "Movement History"
msgstr "Liikehistoria"

#: app/templates/inventory/reports/dashboard.html:79
msgid "Detailed movement log"
msgstr "Yksityiskohtainen liikeloki"

#: app/templates/inventory/reports/dashboard.html:84
msgid "Turnover Analysis"
msgstr "Liikevaihdon analyysi"

#: app/templates/inventory/reports/dashboard.html:85
msgid "Inventory turnover rates"
msgstr "Varaston kiertonopeus"

#: app/templates/inventory/reports/dashboard.html:90
msgid "Low Stock Report"
msgstr "Alhainen varastoraportti"

#: app/templates/inventory/reports/dashboard.html:91
msgid "Items below reorder point"
msgstr "Kohteet uudelleenjärjestyskohdan alapuolella"

#: app/templates/inventory/reports/low_stock.html:22
#, python-format
msgid "Found %(count)s items below their reorder point."
msgstr "Löytyi %(count)s kohdetta niiden uudelleenjärjestelypisteen alapuolelta."

#: app/templates/inventory/reports/low_stock.html:30
#: app/templates/inventory/reports/turnover.html:45
#: app/templates/inventory/reports/valuation.html:59
#: app/templates/inventory/stock_items/form.html:23
#: app/templates/inventory/stock_items/list.html:49
#: app/templates/inventory/stock_items/view.html:28
#: app/templates/inventory/stock_levels/warehouse.html:46
#: app/templates/inventory/warehouses/view.html:85
#: app/templates/invoices/edit.html:197 app/templates/invoices/edit.html:215
#: app/templates/invoices/edit.html:548
#: app/templates/invoices/pdf_default.html:122 app/utils/pdf_generator.py:762
msgid "SKU"
msgstr "SKU"

#: app/templates/inventory/reports/low_stock.html:32
#: app/templates/inventory/stock_levels/item.html:24
#: app/templates/inventory/stock_levels/warehouse.html:48
msgid "Quantity On Hand"
msgstr "Määrä käsillä"

#: app/templates/inventory/reports/low_stock.html:35
#: app/templates/inventory/stock_items/form.html:73
#: app/templates/inventory/stock_items/view.html:95
msgid "Reorder Quantity"
msgstr "Tilaa määrä uudelleen"

#: app/templates/inventory/reports/low_stock.html:59
msgid "Create PO"
msgstr "Luo ostotilaus"

#: app/templates/inventory/reports/low_stock.html:69
msgid "All Stock Levels are Good"
msgstr "Kaikki varastotasot ovat hyviä"

#: app/templates/inventory/reports/low_stock.html:70
msgid "No items are currently below their reorder point."
msgstr "Yksikään kohde ei ole tällä hetkellä tilauspisteensä alapuolella."

#: app/templates/inventory/reports/movement_history.html:126
msgid "No movements found."
msgstr "Liikkeitä ei löytynyt."

#: app/templates/inventory/reports/turnover.html:37
msgid ""
"Turnover rate indicates how many times inventory is sold and replaced in a "
"year. Higher rates indicate faster-moving items."
msgstr ""
"Kiertonopeus kertoo kuinka monta kertaa varasto myydään ja vaihdetaan vuoden"
" aikana. Korkeammat hinnat tarkoittavat nopeammin liikkuvia kohteita."

#: app/templates/inventory/reports/turnover.html:46
msgid "Total Sold"
msgstr "Yhteensä myyty"

#: app/templates/inventory/reports/turnover.html:47
msgid "Avg Stock Level"
msgstr "Keskimääräinen varastotaso"

#: app/templates/inventory/reports/turnover.html:48
msgid "Turnover Rate"
msgstr "Liikevaihto"

#: app/templates/inventory/reports/turnover.html:66
msgid "Fast Moving"
msgstr "Nopeasti liikkuva"

#: app/templates/inventory/reports/turnover.html:68
msgid "Normal"
msgstr "Normaali"

#: app/templates/inventory/reports/turnover.html:70
msgid "Slow Moving"
msgstr "Hidas Liikkuminen"

#: app/templates/inventory/reports/turnover.html:72
msgid "Very Slow"
msgstr "Erittäin hidas"

#: app/templates/inventory/reports/turnover.html:79
msgid "No sales data found for the selected period."
msgstr "Valitulle ajanjaksolle ei löytynyt myyntitietoja."

#: app/templates/inventory/reports/valuation.html:30
#: app/templates/inventory/reports/valuation.html:60
#: app/templates/inventory/stock_items/form.html:35
#: app/templates/inventory/stock_items/list.html:25
#: app/templates/inventory/stock_items/list.html:51
#: app/templates/inventory/stock_items/view.html:32
#: app/templates/inventory/stock_levels/list.html:29
#: app/templates/inventory/stock_levels/warehouse.html:21
#: app/templates/inventory/stock_levels/warehouse.html:47
#: app/templates/invoices/edit.html:134 app/templates/invoices/edit.html:194
#: app/templates/invoices/pdf_default.html:125
#: app/templates/projects/add_good.html:29
#: app/templates/projects/edit_good.html:29 app/templates/projects/goods.html:40
#: app/utils/pdf_generator.py:764
msgid "Category"
msgstr "Luokka"

#: app/templates/inventory/reports/valuation.html:32
#: app/templates/inventory/stock_items/list.html:27
#: app/templates/inventory/stock_levels/list.html:31
#: app/templates/inventory/stock_levels/warehouse.html:23
msgid "All Categories"
msgstr "Kaikki luokat"

#: app/templates/inventory/reports/valuation.html:46
msgid "Inventory Valuation"
msgstr "Varaston arvostus"

#: app/templates/inventory/reports/valuation.html:48
#: app/templates/inventory/reports/valuation.html:63
#: app/templates/inventory/reports/valuation.html:95
#: app/templates/quotes/list.html:25
msgid "Total Value"
msgstr "Kokonaisarvo"

#: app/templates/inventory/reports/valuation.html:88
msgid "No items found with cost information."
msgstr "Kustannustiedoilla varustettuja tuotteita ei löytynyt."

#: app/templates/inventory/reservations/list.html:23
#: app/templates/inventory/reservations/list.html:80
#: app/templates/inventory/stock_items/view.html:131
#: app/templates/inventory/stock_levels/list.html:50
#: app/templates/inventory/warehouses/view.html:87
msgid "Reserved"
msgstr "Varattu"

#: app/templates/inventory/reservations/list.html:24
#: app/templates/inventory/reservations/list.html:82
msgid "Fulfilled"
msgstr "Täytetty"

#: app/templates/inventory/reservations/list.html:45
msgid "Reserved At"
msgstr "Varattu klo"

#: app/templates/inventory/reservations/list.html:46
msgid "Expires At"
msgstr "Päättyy klo"

#: app/templates/inventory/reservations/list.html:104
msgid "Fulfill this reservation?"
msgstr "Täytä tämä varaus?"

#: app/templates/inventory/reservations/list.html:110
msgid "Cancel this reservation?"
msgstr "Perutaanko tämä varaus?"

#: app/templates/inventory/reservations/list.html:120
msgid "No reservations found."
msgstr "Varauksia ei löytynyt."

#: app/templates/inventory/stock_items/form.html:45
#: app/templates/inventory/stock_items/list.html:52
#: app/templates/inventory/stock_items/view.html:36
#: app/templates/quotes/create.html:68 app/templates/quotes/create.html:280
#: app/templates/quotes/edit.html:69 app/templates/quotes/edit.html:95
#: app/templates/quotes/edit.html:293
msgid "Unit"
msgstr "Yksikkö"

#: app/templates/inventory/stock_items/form.html:61
#: app/templates/inventory/stock_items/view.html:50
msgid "Default Cost"
msgstr "Oletushinta"

#: app/templates/inventory/stock_items/form.html:65
#: app/templates/inventory/stock_items/view.html:54
msgid "Default Price"
msgstr "Oletushinta"

#: app/templates/inventory/stock_items/form.html:77
msgid "Image URL"
msgstr "Kuvan URL-osoite"

#: app/templates/inventory/stock_items/form.html:91
msgid "Track Inventory"
msgstr "Seuraa varastoa"

#: app/templates/inventory/stock_items/form.html:99
msgid "Manage multiple suppliers for this item with different pricing."
msgstr "Hallitse useita tämän tuotteen toimittajia eri hinnoilla."

#: app/templates/inventory/stock_items/form.html:114
#: app/templates/inventory/stock_items/form.html:165
#: app/templates/inventory/suppliers/view.html:117
msgid "MOQ"
msgstr "MOQ"

#: app/templates/inventory/stock_items/form.html:115
#: app/templates/inventory/stock_items/form.html:166
msgid "Lead Time (days)"
msgstr "Toimitusaika (päiviä)"

#: app/templates/inventory/stock_items/form.html:118
#: app/templates/inventory/stock_items/form.html:169
#: app/templates/inventory/stock_items/view.html:71
#: app/templates/inventory/suppliers/view.html:119
#: app/templates/inventory/suppliers/view.html:149
msgid "Preferred"
msgstr "Suositeltava"

#: app/templates/inventory/stock_items/form.html:129
msgid "Add Supplier"
msgstr "Lisää toimittaja"

#: app/templates/inventory/stock_items/history.html:112
msgid "No movement history found for this item."
msgstr "Tälle tuotteelle ei löytynyt liikehistoriaa."

#: app/templates/inventory/stock_items/list.html:22
msgid "SKU, Name, Barcode..."
msgstr "SKU, nimi, viivakoodi..."

#: app/templates/inventory/stock_items/list.html:36
#: app/templates/inventory/suppliers/list.html:27
msgid "Active Only"
msgstr "Vain aktiivinen"

#: app/templates/inventory/stock_items/list.html:53
msgid "Total Qty"
msgstr "Kokonaismäärä"

#: app/templates/inventory/stock_items/list.html:54
#: app/templates/inventory/stock_items/view.html:132
#: app/templates/inventory/stock_levels/item.html:26
#: app/templates/inventory/stock_levels/list.html:51
#: app/templates/inventory/stock_levels/warehouse.html:50
#: app/templates/inventory/warehouses/view.html:88
msgid "Available"
msgstr "Saatavilla"

#: app/templates/inventory/stock_items/list.html:81
#: app/templates/inventory/stock_items/view.html:149
#: app/templates/inventory/stock_levels/list.html:69
#: app/templates/inventory/stock_levels/warehouse.html:73
#: app/templates/inventory/warehouses/view.html:106
msgid "Low Stock"
msgstr "Alhainen varasto"

#: app/templates/inventory/stock_items/list.html:108
msgid "No stock items found."
msgstr "Varastotuotteita ei löytynyt."

#: app/templates/inventory/stock_items/view.html:25
msgid "Item Details"
msgstr "Tuotteen tiedot"

#: app/templates/inventory/stock_items/view.html:110
msgid "Trackable"
msgstr "Jäljitettävä"

#: app/templates/inventory/stock_items/view.html:125
msgid "Stock Levels by Warehouse"
msgstr "Varastotason varastotasot"

#: app/templates/inventory/stock_items/view.html:163
#: app/templates/inventory/warehouses/view.html:125
msgid "Recent Stock Movements"
msgstr "Viimeaikaiset osakeliikkeet"

#: app/templates/inventory/stock_items/view.html:203
msgid "Total On Hand"
msgstr "Total On Hand"

#: app/templates/inventory/stock_items/view.html:207
msgid "Total Reserved"
msgstr "Yhteensä varattu"

#: app/templates/inventory/stock_items/view.html:211
msgid "Total Available"
msgstr "Yhteensä saatavilla"

#: app/templates/inventory/stock_items/view.html:217
msgid "Low Stock Alert"
msgstr "Alhaisen varaston hälytys"

#: app/templates/inventory/stock_items/view.html:223
msgid "This item is not trackable."
msgstr "Tämä kohde ei ole jäljitettävissä."

#: app/templates/inventory/stock_items/view.html:230
msgid "Active Reservations"
msgstr "Aktiiviset varaukset"

#: app/templates/inventory/stock_levels/item.html:25
#: app/templates/inventory/stock_levels/warehouse.html:49
msgid "Quantity Reserved"
msgstr "Määrä varattu"

#: app/templates/inventory/stock_levels/item.html:28
msgid "Last Counted"
msgstr "Viimeksi laskettu"

#: app/templates/inventory/stock_levels/item.html:56
msgid "No stock found for this item in any warehouse."
msgstr "Tälle tuotteelle ei löytynyt varastoa mistään varastosta."

#: app/templates/inventory/stock_levels/list.html:77
msgid "No stock levels found."
msgstr "Varastotasoja ei löytynyt."

#: app/templates/inventory/stock_levels/warehouse.html:32
msgid "Low Stock Only"
msgstr "Vain vähissä varastossa"

#: app/templates/inventory/stock_levels/warehouse.html:75
msgid "Oversold"
msgstr "Ylimyyty"

#: app/templates/inventory/stock_levels/warehouse.html:84
msgid "No stock items found in this warehouse."
msgstr "Varastotuotteita ei löytynyt tästä varastosta."

#: app/templates/inventory/suppliers/form.html:23
msgid "Supplier Code"
msgstr "Toimittajakoodi"

#: app/templates/inventory/suppliers/form.html:25
msgid "Unique code for this supplier (e.g., SUP-001)"
msgstr "Tämän toimittajan yksilöllinen koodi (esim. SUP-001)"

#: app/templates/inventory/suppliers/form.html:60
#: app/templates/inventory/suppliers/view.html:89
#: app/templates/quotes/create.html:114 app/templates/quotes/create.html:117
#: app/templates/quotes/edit.html:141 app/templates/quotes/edit.html:144
#: app/templates/quotes/pdf_default.html:68 app/templates/quotes/view.html:79
msgid "Payment Terms"
msgstr "Maksuehdot"

#: app/templates/inventory/suppliers/form.html:61
msgid "e.g., Net 30, Net 60"
msgstr "esim. Net 30, Net 60"

#: app/templates/inventory/suppliers/list.html:22
msgid "Code, name, email"
msgstr "Koodi, nimi, sähköposti"

#: app/templates/inventory/suppliers/list.html:41
#: app/templates/inventory/suppliers/view.html:26
#: app/templates/inventory/warehouses/list.html:22
#: app/templates/inventory/warehouses/view.html:26
msgid "Code"
msgstr "Koodi"

#: app/templates/inventory/suppliers/list.html:95
msgid "No suppliers found."
msgstr "Toimittajia ei löytynyt."

#: app/templates/inventory/suppliers/view.html:23
msgid "Supplier Details"
msgstr "Toimittajan tiedot"

#: app/templates/inventory/suppliers/view.html:109
msgid "Stock Items from this Supplier"
msgstr "Varastotuotteet tältä toimittajalta"

#: app/templates/inventory/suppliers/view.html:118
msgid "Lead Time"
msgstr "Toimitusaika"

#: app/templates/inventory/suppliers/view.html:163
msgid "No stock items associated with this supplier."
msgstr "Tähän toimittajaan ei ole liitetty varastotuotteita."

#: app/templates/inventory/suppliers/view.html:178
msgid "Preferred Items"
msgstr "Ensisijaiset kohteet"

#: app/templates/inventory/transfers/form.html:32
#: app/templates/inventory/transfers/list.html:40
msgid "From Warehouse"
msgstr "Varastosta"

#: app/templates/inventory/transfers/form.html:34
msgid "Select Source Warehouse"
msgstr "Valitse Lähdevarasto"

#: app/templates/inventory/transfers/form.html:41
#: app/templates/inventory/transfers/list.html:41
msgid "To Warehouse"
msgstr "Varastoon"

#: app/templates/inventory/transfers/form.html:43
msgid "Select Destination Warehouse"
msgstr "Valitse kohdevarasto"

#: app/templates/inventory/transfers/form.html:55
msgid "Optional notes about this transfer"
msgstr "Valinnaisia ​​huomautuksia tästä siirrosta"

#: app/templates/inventory/transfers/form.html:63
msgid "Create Transfer"
msgstr "Luo siirto"

#: app/templates/inventory/transfers/list.html:77
msgid "No transfers found."
msgstr "Siirtoja ei löytynyt."

#: app/templates/inventory/warehouses/form.html:23
msgid "Warehouse Code"
msgstr "Varaston koodi"

#: app/templates/inventory/warehouses/form.html:25
msgid "Unique code for this warehouse (e.g., WH-001)"
msgstr "Tämän varaston yksilöllinen koodi (esim. WH-001)"

#: app/templates/inventory/warehouses/form.html:40
#: app/templates/inventory/warehouses/list.html:25
#: app/templates/inventory/warehouses/view.html:53
msgid "Contact Email"
msgstr "Yhteydenotto Sähköposti"

#: app/templates/inventory/warehouses/form.html:44
#: app/templates/inventory/warehouses/view.html:61
msgid "Contact Phone"
msgstr "Yhteydenotto Puhelin"

#: app/templates/inventory/warehouses/list.html:68
msgid "No warehouses found."
msgstr "Varastoja ei löytynyt."

#: app/templates/inventory/warehouses/view.html:23
msgid "Warehouse Details"
msgstr "Varaston tiedot"

#: app/templates/inventory/warehouses/view.html:118
msgid "No stock items in this warehouse."
msgstr "Tässä varastossa ei ole varastossa olevia tuotteita."

#: app/templates/inventory/warehouses/view.html:172
msgid "Total Quantity"
msgstr "Kokonaismäärä"

#: app/templates/invoices/create.html:6 app/templates/invoices/create.html:58
#: app/templates/main/help.html:437
msgid "Create Invoice"
msgstr "Luo lasku"

#: app/templates/invoices/create.html:7
msgid "Generate a new invoice for a project and client"
msgstr "Luo uusi lasku projektille ja asiakkaalle"

#: app/templates/invoices/create.html:9
msgid "Back to Invoices"
msgstr "Takaisin laskuihin"

#: app/templates/invoices/create.html:21 app/templates/main/dashboard.html:294
#: app/templates/tasks/create.html:48 app/templates/tasks/edit.html:70
#: app/templates/timer/manual_entry.html:42
msgid "Select a project"
msgstr "Valitse projekti"

#: app/templates/invoices/create.html:26
msgid "Selecting a project will auto-fill client details"
msgstr "Projektin valitseminen täyttää asiakkaan tiedot automaattisesti"

#: app/templates/invoices/create.html:45 app/templates/invoices/edit.html:38
#: app/templates/quotes/create.html:93 app/templates/quotes/edit.html:120
msgid "Tax Rate (%)"
msgstr "Veroprosentti (%)"

#: app/templates/invoices/create.html:65
#: app/templates/invoices/generate_from_time.html:142
msgid "Tips"
msgstr "Vinkkejä"

#: app/templates/invoices/create.html:67
msgid "Choose the correct project to auto-fill client details."
msgstr "Valitse oikea projekti asiakkaan tietojen automaattista täyttämistä varten."

#: app/templates/invoices/create.html:68
msgid "You can customize notes and terms before sending the invoice."
msgstr "Voit muokata huomautuksia ja ehtoja ennen laskun lähettämistä."

#: app/templates/invoices/edit.html:6
msgid "Edit Invoice"
msgstr "Muokkaa laskua"

#: app/templates/invoices/edit.html:7
msgid "Update invoice details, items, and terms"
msgstr "Päivitä laskun tiedot, tuotteet ja ehdot"

#: app/templates/invoices/edit.html:14 app/templates/invoices/view.html:366
#: app/templates/quotes/view.html:31 app/templates/quotes/view.html:461
msgid "Send Email"
msgstr "Lähetä Sähköposti"

#: app/templates/invoices/edit.html:63
msgid "Time-based services and hourly work"
msgstr "Aikaperusteiset palvelut ja tuntityö"

#: app/templates/invoices/edit.html:85 app/templates/quotes/edit.html:81
msgid "Select Stock Item"
msgstr "Valitse varastotuote"

#: app/templates/invoices/edit.html:97 app/templates/invoices/edit.html:478
msgid "e.g., Web Development Services"
msgstr "esim. Web-kehityspalvelut"

#: app/templates/invoices/edit.html:100 app/templates/invoices/edit.html:481
#: app/templates/quotes/create.html:282 app/templates/quotes/edit.html:98
#: app/templates/quotes/edit.html:295
msgid "Remove item"
msgstr "Poista kohde"

#: app/templates/invoices/edit.html:109
msgid "Items Subtotal"
msgstr "Kohteet Välisumma"

#: app/templates/invoices/edit.html:123
msgid "Billable expenses such as travel, meals, and materials"
msgstr "Laskutettavat kulut, kuten matkat, ateriat ja materiaalit"

#: app/templates/invoices/edit.html:126
msgid "Add Expense"
msgstr "Lisää kuluja"

#: app/templates/invoices/edit.html:144
msgid "e.g., Travel to Client Meeting"
msgstr "esim. matkustaa asiakaskokoukseen"

#: app/templates/invoices/edit.html:144
msgid "Linked expense - title cannot be edited"
msgstr "Linkitetty kulu - otsikkoa ei voi muokata"

#: app/templates/invoices/edit.html:145
msgid "Linked expense - description cannot be edited"
msgstr "Linkitetty kulu - kuvausta ei voi muokata"

#: app/templates/invoices/edit.html:146
msgid "Linked expense - category cannot be edited"
msgstr "Linkitetty kulu – luokkaa ei voi muokata"

#: app/templates/invoices/edit.html:147 app/utils/i18n_helpers.py:181
#: app/utils/i18n_helpers.py:198
msgid "Travel"
msgstr "Matkustaa"

#: app/templates/invoices/edit.html:148 app/utils/i18n_helpers.py:182
#: app/utils/i18n_helpers.py:199
msgid "Meals"
msgstr "Ateriat"

#: app/templates/invoices/edit.html:149 app/utils/i18n_helpers.py:183
#: app/utils/i18n_helpers.py:200
msgid "Accommodation"
msgstr "Majoitus"

#: app/templates/invoices/edit.html:150 app/utils/i18n_helpers.py:184
#: app/utils/i18n_helpers.py:201
msgid "Supplies"
msgstr "Tarvikkeet"

#: app/templates/invoices/edit.html:151 app/utils/i18n_helpers.py:185
#: app/utils/i18n_helpers.py:202
msgid "Software"
msgstr "Ohjelmisto"

#: app/templates/invoices/edit.html:152 app/utils/i18n_helpers.py:186
#: app/utils/i18n_helpers.py:203
msgid "Equipment"
msgstr "Laitteet"

#: app/templates/invoices/edit.html:153 app/utils/i18n_helpers.py:187
#: app/utils/i18n_helpers.py:204
msgid "Services"
msgstr "Palvelut"

#: app/templates/invoices/edit.html:154 app/utils/i18n_helpers.py:188
#: app/utils/i18n_helpers.py:205
msgid "Marketing"
msgstr "Markkinointi"

#: app/templates/invoices/edit.html:155 app/utils/i18n_helpers.py:189
#: app/utils/i18n_helpers.py:206
msgid "Training"
msgstr "Koulutus"

#: app/templates/invoices/edit.html:156 app/templates/invoices/edit.html:211
#: app/templates/invoices/edit.html:544 app/templates/projects/add_good.html:35
#: app/templates/projects/edit_good.html:35 app/utils/i18n_helpers.py:135
#: app/utils/i18n_helpers.py:151 app/utils/i18n_helpers.py:190
#: app/utils/i18n_helpers.py:207
msgid "Other"
msgstr "Muut"

#: app/templates/invoices/edit.html:158
msgid "Linked expense - amount cannot be edited"
msgstr "Linkitetty kulu – summaa ei voi muokata"

#: app/templates/invoices/edit.html:159
msgid "Linked expense - date cannot be edited"
msgstr "Linkitetty kulu - päivämäärää ei voi muokata"

#: app/templates/invoices/edit.html:160
msgid "Unlink expense from invoice"
msgstr "Poista kulujen linkitys laskusta"

#: app/templates/invoices/edit.html:169
msgid "Expenses Subtotal"
msgstr "Kulut Välisumma"

#: app/templates/invoices/edit.html:180 app/templates/invoices/view.html:119
#: app/templates/projects/goods.html:6
msgid "Extra Goods"
msgstr "Lisätavarat"

#: app/templates/invoices/edit.html:183
msgid "Products, materials, licenses, and other goods"
msgstr "Tuotteet, materiaalit, lisenssit ja muut tavarat"

#: app/templates/invoices/edit.html:186 app/templates/projects/add_good.html:69
#: app/templates/projects/goods.html:11
msgid "Add Good"
msgstr "Lisää Hyvä"

#: app/templates/invoices/edit.html:196 app/templates/invoices/edit.html:214
#: app/templates/invoices/edit.html:547 app/templates/quotes/create.html:281
#: app/templates/quotes/edit.html:96 app/templates/quotes/edit.html:294
msgid "Price"
msgstr "Hinta"

#: app/templates/invoices/edit.html:204 app/templates/invoices/edit.html:537
msgid "e.g., Software License"
msgstr "esim. ohjelmistolisenssi"

#: app/templates/invoices/edit.html:207 app/templates/invoices/edit.html:540
#: app/templates/projects/add_good.html:31
#: app/templates/projects/edit_good.html:31
msgid "Product"
msgstr "Tuote"

#: app/templates/invoices/edit.html:208 app/templates/invoices/edit.html:541
#: app/templates/projects/add_good.html:32
#: app/templates/projects/edit_good.html:32
msgid "Service"
msgstr "Palvelu"

#: app/templates/invoices/edit.html:209 app/templates/invoices/edit.html:542
#: app/templates/projects/add_good.html:33
#: app/templates/projects/edit_good.html:33
msgid "Material"
msgstr "Materiaali"

#: app/templates/invoices/edit.html:210 app/templates/invoices/edit.html:543
#: app/templates/projects/add_good.html:34
#: app/templates/projects/edit_good.html:34
msgid "License"
msgstr "Lisenssi"

#: app/templates/invoices/edit.html:216 app/templates/invoices/edit.html:549
msgid "Remove good"
msgstr "Poista hyvä"

#: app/templates/invoices/edit.html:225
msgid "Goods Subtotal"
msgstr "Tavaran välisumma"

#: app/templates/invoices/edit.html:243
msgid "Live Preview"
msgstr "Live-esikatselu"

#: app/templates/invoices/edit.html:263
msgid "Payment"
msgstr "Maksu"

#: app/templates/invoices/edit.html:288
msgid "Goods"
msgstr "Tavarat"

#: app/templates/invoices/edit.html:322 app/templates/main/help.html:525
#: app/templates/reports/index.html:150 app/templates/tasks/edit.html:269
msgid "Quick Actions"
msgstr "Nopeat toiminnot"

#: app/templates/invoices/edit.html:324
msgid "Generate from Time/Costs"
msgstr "Luo ajan/kustannusten perusteella"

#: app/templates/invoices/edit.html:325 app/templates/invoices/view.html:22
msgid "Record Payment"
msgstr "Kirjaa maksu"

#: app/templates/invoices/edit.html:326 app/templates/invoices/view.html:17
#: app/templates/quotes/view.html:28
msgid "Export PDF"
msgstr "Vie PDF"

#: app/templates/invoices/edit.html:327
msgid "Export CSV"
msgstr "Vie CSV"

#: app/templates/invoices/edit.html:328
msgid "Duplicate Invoice"
msgstr "Kaksoislasku"

#: app/templates/invoices/edit.html:585
msgid "Are you sure you want to unlink this expense from the invoice?"
msgstr "Haluatko varmasti poistaa tämän kulun linkityksen laskusta?"

#: app/templates/invoices/edit.html:587
msgid "Unlink Expense"
msgstr "Poista kulujen linkitys"

#: app/templates/invoices/edit.html:588
msgid "Unlink"
msgstr "Poista linkitys"

#: app/templates/invoices/edit.html:639
msgid "Please add at least one item, expense, or extra good to the invoice"
msgstr "Lisää laskuun vähintään yksi tuote, kulu tai lisähyödyke"

#: app/templates/invoices/edit.html:667 app/templates/invoices/view.html:361
#: app/templates/projects/archive.html:41 app/templates/timer/timer_page.html:124
#: app/templates/timer/timer_page.html:133
msgid "Optional"
msgstr "Valinnainen"

#: app/templates/invoices/generate_from_time.html:6
msgid "Generate from Time, Costs & Goods"
msgstr "Luo aikaa, kustannuksia ja tavaroita"

#: app/templates/invoices/generate_from_time.html:7
msgid ""
"Select unbilled time entries, project costs, and extra goods to add to this "
"invoice"
msgstr ""
"Valitse laskuttamattomat aikakirjaukset, projektikustannukset ja "
"lisätavarat, jotka lisätään tähän laskuun"

#: app/templates/invoices/generate_from_time.html:9
msgid "Back to Edit"
msgstr "Takaisin Muokkaa"

#: app/templates/invoices/generate_from_time.html:19
msgid "Unbilled Time Entries"
msgstr "Laskuttamattomat aikamerkinnät"

#: app/templates/invoices/generate_from_time.html:26
msgid "Time Entry"
msgstr "Ajan sisääntulo"

#: app/templates/invoices/generate_from_time.html:36
msgid "No unbilled time entries found for this project."
msgstr "Tälle projektille ei löytynyt laskuttamattomia aikamerkintöjä."

#: app/templates/invoices/generate_from_time.html:41
msgid "Uninvoiced Project Costs"
msgstr "Laskuttamattomat projektikustannukset"

#: app/templates/invoices/generate_from_time.html:55
msgid "No uninvoiced costs found for this project."
msgstr "Tästä projektista ei löytynyt laskuttamattomia kuluja."

#: app/templates/invoices/generate_from_time.html:60
msgid "Uninvoiced Billable Expenses"
msgstr "Laskuttamattomat laskutettavat kulut"

#: app/templates/invoices/generate_from_time.html:70
#: app/templates/invoices/pdf_default.html:103
msgid "Vendor"
msgstr "Myyjä"

#: app/templates/invoices/generate_from_time.html:78
msgid "No uninvoiced billable expenses found for this project."
msgstr "Tästä projektista ei löytynyt laskuttamattomia laskutettavia kuluja."

#: app/templates/invoices/generate_from_time.html:83
msgid "Project Extra Goods"
msgstr "Projektin lisätavarat"

#: app/templates/invoices/generate_from_time.html:100
msgid "No extra goods found for this project."
msgstr "Tähän projektiin ei löytynyt ylimääräisiä tuotteita."

#: app/templates/invoices/generate_from_time.html:106
msgid "Add Selected to Invoice"
msgstr "Lisää valitut laskuun"

#: app/templates/invoices/generate_from_time.html:114
msgid "Selection Summary"
msgstr "Valinnan yhteenveto"

#: app/templates/invoices/generate_from_time.html:115
msgid "Total available hours"
msgstr "Käytettävissä olevat tunnit yhteensä"

#: app/templates/invoices/generate_from_time.html:116
msgid "Total available costs"
msgstr "Käytettävissä olevat kokonaiskustannukset"

#: app/templates/invoices/generate_from_time.html:117
msgid "Total available expenses"
msgstr "Käytettävissä olevat kulut yhteensä"

#: app/templates/invoices/generate_from_time.html:118
msgid "Total available goods"
msgstr "Saatavilla olevat tavarat yhteensä"

#: app/templates/invoices/generate_from_time.html:121
msgid "Prepaid Hours Overview"
msgstr "Ennakkomaksutuntien yleiskatsaus"

#: app/templates/invoices/generate_from_time.html:123
#, python-format
msgid "Plan includes %(hours)s hours per cycle (resets on day %(day)s)."
msgstr ""
"Suunnitelmaan sisältyy %(hours)s tuntia sykliä kohden (nollautuu päivänä "
"%(day)s)."

#: app/templates/invoices/generate_from_time.html:130
#, python-format
msgid "Consumed: %(consumed)s h • Remaining: %(remaining)s h"
msgstr "Kulutus: %(kulutus)s h • Jäljellä: %(jäljellä)s h"

#: app/templates/invoices/generate_from_time.html:135
msgid "No prepaid usage recorded for selected period yet."
msgstr "Valitulle ajanjaksolle ei ole vielä tallennettu prepaid-käyttöä."

#: app/templates/invoices/generate_from_time.html:144
msgid "You can select multiple time entries, costs, expenses, and extra goods."
msgstr "Voit valita useita aikamerkintöjä, kustannuksia, kuluja ja lisätuotteita."

#: app/templates/invoices/generate_from_time.html:145
msgid "Time entries are grouped by task or project at item creation."
msgstr "Aikamerkinnät ryhmitellään tehtävän tai projektin mukaan kohteita luotaessa."

#: app/templates/invoices/generate_from_time.html:146
msgid "Costs and extra goods are added as individual invoice items."
msgstr "Kustannukset ja lisätavarat lisätään yksittäisinä laskuerinä."

#: app/templates/invoices/generate_from_time.html:147
msgid "Expenses are linked to the invoice and appear in a separate section."
msgstr "Kulut on linkitetty laskuun ja näkyvät erillisessä osiossa."

#: app/templates/invoices/generate_from_time.html:163
msgid "Please select at least one time entry, cost, expense, or extra good"
msgstr "Valitse vähintään yksi kertaluonteinen merkintä, hinta, kulu tai lisähyödyke"

#: app/templates/invoices/list.html:32
msgid "Filter Invoices"
msgstr "Suodata laskut"

#: app/templates/invoices/list.html:72
msgid "Invoice number or client"
msgstr "Laskun numero tai asiakas"

#: app/templates/invoices/list.html:89 app/templates/payments/list.html:96
msgid "Export to Excel"
msgstr "Vie Exceliin"

#: app/templates/invoices/list.html:163 app/utils/i18n_helpers.py:106
#: app/utils/i18n_helpers.py:117
msgid "Partially Paid"
msgstr "Osittain maksettu"

#: app/templates/invoices/list.html:167 app/utils/i18n_helpers.py:107
#: app/utils/i18n_helpers.py:118
msgid "Fully Paid"
msgstr "Täysin maksettu"

#: app/templates/invoices/list.html:262
msgid "Delete Selected Invoices"
msgstr "Poista valitut laskut"

#: app/templates/invoices/list.html:282
msgid "Change Status for Selected Invoices"
msgstr "Muuta valittujen laskujen tilaa"

#: app/templates/invoices/list.html:306 app/templates/invoices/list.html:329
#: app/templates/invoices/view.html:252 app/templates/invoices/view.html:275
msgid "Delete Invoice"
msgstr "Poista lasku"

#: app/templates/invoices/list.html:314 app/templates/invoices/view.html:260
#: app/templates/kanban/columns.html:149
msgid "Warning:"
msgstr "Varoitus:"

#: app/templates/invoices/list.html:317 app/templates/invoices/view.html:263
msgid "Are you sure you want to delete invoice"
msgstr "Haluatko varmasti poistaa laskun?"

#: app/templates/invoices/list.html:319 app/templates/invoices/view.html:265
msgid ""
"All invoice items, extra goods, and payment records associated with this "
"invoice will be permanently deleted."
msgstr ""
"Kaikki tähän laskuun liittyvät laskutuotteet, lisätuotteet ja maksutietueet "
"poistetaan pysyvästi."

#: app/templates/invoices/pdf_default.html:37 app/utils/pdf_generator.py:615
#: app/utils/pdf_generator_fallback.py:162
msgid "INVOICE"
msgstr "LASKUTTAA"

#: app/templates/invoices/pdf_default.html:39 app/utils/pdf_generator.py:617
msgid "Invoice #"
msgstr "Lasku nro"

#: app/templates/invoices/pdf_default.html:49 app/utils/pdf_generator.py:628
msgid "Bill To"
msgstr "Bill To"

#: app/templates/invoices/pdf_default.html:72 app/utils/pdf_generator.py:646
#: app/utils/pdf_generator_fallback.py:219
msgid "Quantity (Hours)"
msgstr "Määrä (tuntia)"

#: app/templates/invoices/pdf_default.html:84
#, python-format
msgid "Generated from %(num)d time entries"
msgstr "Luotu %(num)d aikamerkinnästä"

#: app/templates/invoices/pdf_default.html:100
msgid "Expense"
msgstr "Kustannukset"

#: app/templates/invoices/pdf_default.html:136
#: app/templates/quotes/pdf_default.html:96
#: app/utils/pdf_generator_fallback.py:256 app/utils/pdf_generator_fallback.py:517
msgid "Subtotal:"
msgstr "Välisumma:"

#: app/templates/invoices/pdf_default.html:141
#: app/templates/quotes/pdf_default.html:119
#: app/utils/pdf_generator_fallback.py:259
#, python-format
msgid "Tax (%(rate).2f%%):"
msgstr "Vero (%(rate).2f%%):"

#: app/templates/invoices/pdf_default.html:146
#: app/templates/quotes/pdf_default.html:124
#: app/utils/pdf_generator_fallback.py:261
msgid "Total Amount:"
msgstr "Kokonaismäärä:"

#: app/templates/invoices/pdf_default.html:157 app/utils/pdf_generator.py:827
#: app/utils/pdf_generator_fallback.py:307
msgid "Notes:"
msgstr "Huomautuksia:"

#: app/templates/invoices/pdf_default.html:163 app/utils/pdf_generator.py:835
#: app/utils/pdf_generator_fallback.py:312
msgid "Terms:"
msgstr "Ehdot:"

#: app/templates/invoices/pdf_default.html:172
#: app/templates/quotes/pdf_default.html:150 app/utils/pdf_generator.py:855
#: app/utils/pdf_generator_fallback.py:324
msgid "Payment Information:"
msgstr "Maksutiedot:"

#: app/templates/invoices/pdf_default.html:175
#: app/templates/quotes/pdf_default.html:141
#: app/templates/quotes/pdf_default.html:154 app/utils/pdf_generator.py:666
#: app/utils/pdf_generator_fallback.py:329 app/utils/pdf_generator_fallback.py:549
msgid "Terms & Conditions:"
msgstr "Ehdot:"

#: app/templates/invoices/view.html:176 app/templates/invoices/view.html:236
msgid "Payment History"
msgstr "Maksuhistoria"

#: app/templates/invoices/view.html:344
msgid "Send Invoice via Email"
msgstr "Lähetä lasku sähköpostitse"

#: app/templates/kanban/board.html:4
msgid "Kanban"
msgstr "Kanban"

#: app/templates/kanban/board.html:24 app/templates/tasks/_kanban.html:14
msgid "Manage Columns"
msgstr "Hallitse sarakkeita"

#: app/templates/kanban/board.html:33
msgid "Drag tasks between columns to update their status"
msgstr "Päivitä niiden tila vetämällä tehtäviä sarakkeiden välillä"

#: app/templates/kanban/board.html:38
msgid "Kanban board"
msgstr "Kanban-levy"

#: app/templates/kanban/board.html:89
msgid "moved to"
msgstr "siirretty"

#: app/templates/kanban/board.html:123
#: app/templates/projects/_kanban_tailwind.html:83
msgid "No tasks in this column."
msgstr "Ei tehtäviä tässä sarakkeessa."

#: app/templates/kanban/columns.html:2 app/templates/kanban/columns.html:18
msgid "Manage Kanban Columns"
msgstr "Hallitse Kanban-sarakkeita"

#: app/templates/kanban/columns.html:20
msgid "Customize your kanban board columns and task states"
msgstr "Mukauta kanban-taulusi sarakkeita ja tehtävätiloja"

#: app/templates/kanban/columns.html:25
msgid "Project:"
msgstr "Projekti:"

#: app/templates/kanban/columns.html:27
msgid "Global Columns"
msgstr "Globaalit sarakkeet"

#: app/templates/kanban/columns.html:35
msgid "Add Column"
msgstr "Lisää sarake"

#: app/templates/kanban/columns.html:44
msgid "Kanban columns list"
msgstr "Kanban-sarakkeiden luettelo"

#: app/templates/kanban/columns.html:48
msgid "Key"
msgstr "Avain"

#: app/templates/kanban/columns.html:49
msgid "Label"
msgstr "Label"

#: app/templates/kanban/columns.html:50
msgid "Icon"
msgstr "Kuvake"

#: app/templates/kanban/columns.html:53
msgid "Complete?"
msgstr "Täydellinen?"

#: app/templates/kanban/columns.html:62
msgid "Drag to reorder"
msgstr "Järjestä uudelleen vetämällä"

#: app/templates/kanban/columns.html:93
msgid "Edit column"
msgstr "Muokkaa saraketta"

#: app/templates/kanban/columns.html:96
msgid "Toggle active state"
msgstr "Vaihda aktiivinen tila"

#: app/templates/kanban/columns.html:118
msgid "No kanban columns found. Create your first column to get started."
msgstr "Kanban-sarakkeita ei löytynyt. Aloita luomalla ensimmäinen sarake."

#: app/templates/kanban/columns.html:124
msgid "Tips:"
msgstr "Vinkkejä:"

#: app/templates/kanban/columns.html:126
msgid "Drag and drop rows to reorder columns"
msgstr "Järjestä sarakkeita uudelleen vetämällä ja pudottamalla rivejä"

#: app/templates/kanban/columns.html:127
msgid ""
"System columns (todo, in_progress, done) cannot be deleted but can be "
"customized"
msgstr ""
"Järjestelmäsarakkeita (todo, in_progress, done) ei voi poistaa, mutta niitä "
"voidaan mukauttaa"

#: app/templates/kanban/columns.html:128
msgid ""
"Columns marked as \"Complete\" will mark tasks as completed when dragged to "
"that column"
msgstr ""
"\"Valmis\"-merkityt sarakkeet merkitsevät tehtävät suoritetuiksi, kun ne "
"vedetään kyseiseen sarakkeeseen"

#: app/templates/kanban/columns.html:129
msgid ""
"Inactive columns are hidden from the kanban board but tasks with that status"
" remain accessible"
msgstr ""
"Ei-aktiiviset sarakkeet piilotetaan kanban-levyltä, mutta tehtävät, joilla "
"on tämä tila, ovat edelleen käytettävissä"

#: app/templates/kanban/columns.html:141
msgid "Delete Kanban Column"
msgstr "Poista Kanban-sarake"

#: app/templates/kanban/columns.html:152
msgid "Are you sure you want to delete the column?"
msgstr "Haluatko varmasti poistaa sarakkeen?"

#: app/templates/kanban/columns.html:154
msgid "Key:"
msgstr "Avain:"

#: app/templates/kanban/columns.html:157
msgid ""
"Note: Tasks with this status will remain accessible but the column will no "
"longer appear on the kanban board."
msgstr ""
"Huomautus: Tässä tilassa olevat tehtävät ovat edelleen käytettävissä, mutta "
"sarake ei enää näy kanban-taululla."

#: app/templates/kanban/columns.html:167
msgid "Delete Column"
msgstr "Poista sarake"

#: app/templates/kanban/columns.html:226 app/templates/kanban/columns.html:228
msgid "Columns reordered successfully"
msgstr "Sarakkeiden uudelleenjärjestäminen onnistui"

#: app/templates/kanban/columns.html:247
msgid "Failed to reorder columns. Please try again."
msgstr "Sarakkeiden uudelleenjärjestäminen epäonnistui. Yritä uudelleen."

#: app/templates/kanban/create_column.html:2
#: app/templates/kanban/create_column.html:10
msgid "Create Kanban Column"
msgstr "Luo Kanban-sarake"

#: app/templates/kanban/create_column.html:12
msgid "Add a new column to your kanban board"
msgstr "Lisää uusi sarake kanban-taulullesi"

#: app/templates/kanban/create_column.html:23
msgid "Create Kanban Column form"
msgstr "Luo Kanban-sarakelomake"

#: app/templates/kanban/create_column.html:26
#: app/templates/kanban/edit_column.html:34
msgid "Column Label"
msgstr "Sarakkeen etiketti"

#: app/templates/kanban/create_column.html:27
msgid "e.g., In Review, Blocked, Testing"
msgstr "esim. Tarkistuksessa, Estetty, Testataan"

#: app/templates/kanban/create_column.html:28
#: app/templates/kanban/edit_column.html:36
msgid "The display name shown on the kanban board"
msgstr "Kanban-taululla näkyvä näyttönimi"

#: app/templates/kanban/create_column.html:32
#: app/templates/kanban/edit_column.html:23
msgid "Column Key"
msgstr "Sarakeavain"

#: app/templates/kanban/create_column.html:33
msgid "e.g., in_review, blocked, testing"
msgstr "esim. in_review, estetty, testaus"

#: app/templates/kanban/create_column.html:34
msgid ""
"Unique identifier (lowercase, no spaces, use underscores). Auto-generated "
"from label if empty."
msgstr ""
"Yksilöllinen tunniste (pienet kirjaimet, ei välilyöntejä, käytä alaviivoja)."
" Luodaan automaattisesti etiketistä, jos se on tyhjä."

#: app/templates/kanban/create_column.html:41
msgid "Global (for all projects)"
msgstr "Maailmanlaajuinen (kaikille projekteille)"

#: app/templates/kanban/create_column.html:46
msgid ""
"Select a project to create project-specific columns, or leave as Global for "
"all projects"
msgstr ""
"Valitse projekti, jos haluat luoda projektikohtaisia ​​sarakkeita, tai jätä "
"kaikille projekteille Global"

#: app/templates/kanban/create_column.html:52
#: app/templates/kanban/edit_column.html:41
msgid "Icon Class"
msgstr "Ikoniluokka"

#: app/templates/kanban/create_column.html:55
#: app/templates/kanban/edit_column.html:44
msgid "Font Awesome icon class"
msgstr "Font Awesome icon class"

#: app/templates/kanban/create_column.html:56
#: app/templates/kanban/edit_column.html:45
msgid "Browse icons"
msgstr "Selaa kuvakkeita"

#: app/templates/kanban/create_column.html:62
#: app/templates/kanban/edit_column.html:54
msgid "Primary (Blue)"
msgstr "Ensisijainen (sininen)"

#: app/templates/kanban/create_column.html:63
#: app/templates/kanban/edit_column.html:55
msgid "Secondary (Gray)"
msgstr "Toissijainen (harmaa)"

#: app/templates/kanban/create_column.html:64
#: app/templates/kanban/edit_column.html:56
msgid "Success (Green)"
msgstr "Menestys (vihreä)"

#: app/templates/kanban/create_column.html:65
#: app/templates/kanban/edit_column.html:57
msgid "Danger (Red)"
msgstr "Vaara (punainen)"

#: app/templates/kanban/create_column.html:66
#: app/templates/kanban/edit_column.html:58
msgid "Warning (Yellow)"
msgstr "Varoitus (keltainen)"

#: app/templates/kanban/create_column.html:67
#: app/templates/kanban/edit_column.html:59
msgid "Info (Cyan)"
msgstr "Tiedot (syaani)"

#: app/templates/kanban/create_column.html:68
#: app/templates/kanban/edit_column.html:60 app/templates/user/settings.html:122
msgid "Dark"
msgstr "Tumma"

#: app/templates/kanban/create_column.html:70
#: app/templates/kanban/edit_column.html:62
msgid "Bootstrap color class for styling"
msgstr "Bootstrap-väriluokka muotoiluun"

#: app/templates/kanban/create_column.html:78
#: app/templates/kanban/edit_column.html:70
msgid "Mark as Complete State"
msgstr "Merkitse valmiiksi tilaksi"

#: app/templates/kanban/create_column.html:79
#: app/templates/kanban/edit_column.html:71
msgid "Tasks moved to this column will be marked as completed"
msgstr "Tähän sarakkeeseen siirretyt tehtävät merkitään suoritetuiksi"

#: app/templates/kanban/create_column.html:89
msgid "Create Column"
msgstr "Luo sarake"

#: app/templates/kanban/create_column.html:97
msgid "Note:"
msgstr "Huomautus:"

#: app/templates/kanban/create_column.html:97
msgid ""
"The column will be added at the end of the board. You can reorder columns "
"later from the management page."
msgstr ""
"Sarake lisätään taulun loppuun. Voit järjestää sarakkeita uudelleen "
"myöhemmin hallintasivulta."

#: app/templates/kanban/edit_column.html:2
#: app/templates/kanban/edit_column.html:10
msgid "Edit Kanban Column"
msgstr "Muokkaa Kanban-saraketta"

#: app/templates/kanban/edit_column.html:12
msgid "Modify column settings"
msgstr "Muokkaa sarakeasetuksia"

#: app/templates/kanban/edit_column.html:20
msgid "Edit Kanban Column form"
msgstr "Muokkaa Kanban-sarakelomaketta"

#: app/templates/kanban/edit_column.html:25
msgid "The key cannot be changed after creation"
msgstr "Avainta ei voi muuttaa luomisen jälkeen"

#: app/templates/kanban/edit_column.html:27
msgid "This is a project-specific column"
msgstr "Tämä on projektikohtainen kolumni"

#: app/templates/kanban/edit_column.html:29
msgid "This is a global column (for all projects)"
msgstr "Tämä on maailmanlaajuinen sarake (kaikille projekteille)"

#: app/templates/kanban/edit_column.html:48 app/templates/tasks/create.html:79
#: app/templates/tasks/edit.html:103
msgid "Preview"
msgstr "Esikatselu"

#: app/templates/kanban/edit_column.html:81
msgid "Inactive columns are hidden from the kanban board"
msgstr "Ei-aktiiviset sarakkeet on piilotettu kanban-taululta"

#: app/templates/kanban/edit_column.html:100
msgid "System Column:"
msgstr "Järjestelmäsarake:"

#: app/templates/kanban/edit_column.html:100
msgid ""
"This is a system column. You can customize its appearance but cannot delete "
"it."
msgstr ""
"Tämä on järjestelmäsarake. Voit muokata sen ulkoasua, mutta et voi poistaa "
"sitä."

#: app/templates/leads/form.html:55 app/templates/leads/list.html:35
#: app/templates/leads/list.html:55
msgid "Source"
msgstr "Lähde"

#: app/templates/leads/form.html:56
msgid "Website, referral, ad..."
msgstr "Verkkosivusto, viittaus, mainos..."

#: app/templates/leads/form.html:69
msgid "Lead Score"
msgstr "Lead Score"

#: app/templates/leads/form.html:74
msgid "Estimated Value"
msgstr "Arvioitu arvo"

#: app/templates/leads/form.html:100
msgid "Save Lead"
msgstr "Tallenna lyijy"

#: app/templates/leads/list.html:23
msgid "Name, company, email..."
msgstr "Nimi, yritys, sähköposti..."

#: app/templates/leads/list.html:28 app/templates/tasks/my_tasks.html:125
msgid "All Statuses"
msgstr "Kaikki tilat"

#: app/templates/leads/list.html:36
msgid "Website, referral..."
msgstr "Verkkosivusto, suositus..."

#: app/templates/leads/list.html:51
msgid "Company"
msgstr "Yritys"

#: app/templates/leads/list.html:54
msgid "Score"
msgstr "Pisteet"

#: app/templates/leads/list.html:95
msgid "No leads found"
msgstr "Johtoja ei löytynyt"

#: app/templates/leads/list.html:97
msgid "Create First Lead"
msgstr "Luo ensimmäinen liidi"

#: app/templates/main/about.html:9
msgid "Professional time tracking and project management"
msgstr "Ammattimainen ajanseuranta ja projektinhallinta"

#: app/templates/main/about.html:20
msgid ""
"A comprehensive web-based time tracking application built with Flask, "
"featuring project management, client organization, task management, "
"invoicing, and advanced analytics."
msgstr ""
"Flaskilla rakennettu kattava web-pohjainen ajanseurantasovellus, joka "
"sisältää projektinhallinnan, asiakasorganisaation, tehtävienhallinnan, "
"laskutuksen ja edistyneen analytiikan."

#: app/templates/main/about.html:28 app/templates/main/help.html:28
#: app/templates/main/help.html:179
msgid "Project Management"
msgstr "Projektinhallinta"

#: app/templates/main/about.html:31 app/templates/main/help.html:32
msgid "Invoicing"
msgstr "Laskutus"

#: app/templates/main/about.html:44 app/templates/main/help.html:104
msgid "Smart Timers"
msgstr "Älykkäät ajastimet"

#: app/templates/main/about.html:46
msgid "Real-time tracking with idle detection and live updates"
msgstr ""
"Reaaliaikainen seuranta käyttämättömän toiminnan havaitsemisen ja "
"reaaliaikaisten päivitysten avulla"

#: app/templates/main/about.html:51 app/templates/main/help.html:29
#: app/templates/main/help.html:225
msgid "Client Management"
msgstr "Asiakashallinta"

#: app/templates/main/about.html:53
msgid "Organize clients with contacts, rates, and project relations"
msgstr "Järjestä asiakkaita kontaktien, hintojen ja projektisuhteiden avulla"

#: app/templates/main/about.html:58
msgid "Task System"
msgstr "Tehtäväjärjestelmä"

#: app/templates/main/about.html:60
msgid "Break down projects into tasks with progress tracking"
msgstr "Jaa projektit tehtäviin edistymisen seurannan avulla"

#: app/templates/main/about.html:65
msgid "PDF Invoices"
msgstr "PDF-laskut"

#: app/templates/main/about.html:67
msgid "Generate professional invoices from tracked time"
msgstr "Luo ammattimaisia ​​laskuja seuratusta ajasta"

#: app/templates/main/about.html:74 app/templates/main/help.html:416
msgid "Core Features"
msgstr "Ydinominaisuudet"

#: app/templates/main/about.html:76
msgid "Start/stop timers with project and task association"
msgstr "Käynnistys/pysäytysajastimet projekti- ja tehtäväyhteydellä"

#: app/templates/main/about.html:77
msgid "Manual time entry with notes and tags"
msgstr "Manuaalinen ajansyöttö muistiinpanoilla ja tunnisteilla"

#: app/templates/main/about.html:78
msgid "Client and project organization"
msgstr "Asiakas- ja projektiorganisaatio"

#: app/templates/main/about.html:79
msgid "Role-based access and user profiles"
msgstr "Roolipohjaiset käyttöoikeudet ja käyttäjäprofiilit"

#: app/templates/main/about.html:83
msgid "Advanced Features"
msgstr "Lisäominaisuudet"

#: app/templates/main/about.html:85
msgid "Branded PDF invoicing with tax and payment tracking"
msgstr "Brändätty PDF-laskutus vero- ja maksuseurannalla"

#: app/templates/main/about.html:86
msgid "Visual analytics and detailed reporting"
msgstr "Visuaalinen analytiikka ja yksityiskohtainen raportointi"

#: app/templates/main/about.html:87
msgid "REST API for integrations"
msgstr "REST API integraatioita varten"

#: app/templates/main/about.html:88
msgid "PWA capabilities and mobile-friendly UI"
msgstr "PWA-ominaisuudet ja mobiiliystävällinen käyttöliittymä"

#: app/templates/main/about.html:95
msgid "Platform Support"
msgstr "Alustan tuki"

#: app/templates/main/about.html:98
msgid "Web Application"
msgstr "Web-sovellus"

#: app/templates/main/about.html:100
msgid "Desktop browsers (Chrome, Firefox, Safari, Edge)"
msgstr "Työpöytäselaimet (Chrome, Firefox, Safari, Edge)"

#: app/templates/main/about.html:101
msgid "Mobile responsive design"
msgstr "Mobiiliresponsiivinen muotoilu"

#: app/templates/main/about.html:102
msgid "Progressive Web App (PWA)"
msgstr "Progressiivinen verkkosovellus (PWA)"

#: app/templates/main/about.html:103
msgid "Touch-friendly tablet interface"
msgstr "Kosketusystävällinen tabletin käyttöliittymä"

#: app/templates/main/about.html:107
msgid "Operating Systems"
msgstr "Käyttöjärjestelmät"

#: app/templates/main/about.html:109
msgid "Windows, macOS, Linux"
msgstr "Windows, macOS, Linux"

#: app/templates/main/about.html:110
msgid "Android and iOS (browser)"
msgstr "Android ja iOS (selain)"

#: app/templates/main/about.html:111
msgid "Raspberry Pi support"
msgstr "Raspberry Pi -tuki"

#: app/templates/main/about.html:112
msgid "Dockerized deployment"
msgstr "Telakoitu käyttöönotto"

#: app/templates/main/about.html:116
msgid "Database Support"
msgstr "Tietokannan tuki"

#: app/templates/main/about.html:118
msgid "PostgreSQL (recommended)"
msgstr "PostgreSQL (suositus)"

#: app/templates/main/about.html:119
msgid "SQLite (dev/test)"
msgstr "SQLite (kehittäjä/testi)"

#: app/templates/main/about.html:120
msgid "Automatic migrations with Flask-Migrate"
msgstr "Automaattiset siirrot Flask-Migraten avulla"

#: app/templates/main/about.html:121
msgid "Backup and restoration tools"
msgstr "Varmuuskopiointi- ja palautustyökalut"

#: app/templates/main/about.html:129
msgid "Technical Specifications"
msgstr "Tekniset tiedot"

#: app/templates/main/about.html:132
msgid "Technology Stack"
msgstr "Teknologiapino"

#: app/templates/main/about.html:134
msgid "Backend"
msgstr "Backend"

#: app/templates/main/about.html:135
msgid "Frontend"
msgstr "Käyttöliittymä"

#: app/templates/main/about.html:136
msgid "Database"
msgstr "Tietokanta"

#: app/templates/main/about.html:137
msgid "Deployment"
msgstr "Käyttöönotto"

#: app/templates/main/about.html:141
msgid "Key Capabilities"
msgstr "Tärkeimmät ominaisuudet"

#: app/templates/main/about.html:143
msgid "Real-time"
msgstr "Reaaliaikainen"

#: app/templates/main/about.html:144
msgid "i18n"
msgstr "i18n"

#: app/templates/main/about.html:145
msgid "Security"
msgstr "Turvallisuus"

#: app/templates/main/about.html:154
msgid "Open Source & Community"
msgstr "Avoin lähdekoodi ja yhteisö"

#: app/templates/main/about.html:157
msgid "Open Source Benefits"
msgstr "Avoimen lähdekoodin edut"

#: app/templates/main/about.html:159
msgid "Full source code available on GitHub"
msgstr "Täysi lähdekoodi saatavilla GitHubista"

#: app/templates/main/about.html:160
msgid "Licensed under GPL v3.0"
msgstr "Lisensoitu GPL v3.0:lla"

#: app/templates/main/about.html:161
msgid "Community-driven development"
msgstr "Yhteisölähtöinen kehitys"

#: app/templates/main/about.html:162
msgid "Transparent issue tracking and bug reports"
msgstr "Läpinäkyvä ongelmien seuranta ja virheraportit"

#: app/templates/main/about.html:166
msgid "Deployment Options"
msgstr "Käyttöönottovaihtoehdot"

#: app/templates/main/about.html:168
msgid "Docker images (GHCR)"
msgstr "Docker-kuvat (GHCR)"

#: app/templates/main/about.html:169
msgid "Self-hosted deployment with full control"
msgstr "Itseisännöity käyttöönotto täydellä ohjauksella"

#: app/templates/main/about.html:170
msgid "Cloud-ready with Compose configs"
msgstr "Pilvikäyttöön valmis Compose-kokoonpanoilla"

#: app/templates/main/about.html:176
msgid "View on GitHub"
msgstr "Katso GitHubissa"

#: app/templates/main/about.html:179 app/templates/main/help.html:775
msgid "Support Development"
msgstr "Tukea kehitystä"

#: app/templates/main/about.html:186
msgid "Getting Help & Resources"
msgstr "Apua ja resursseja"

#: app/templates/main/about.html:192 app/templates/main/help.html:741
msgid "Documentation"
msgstr "Dokumentaatio"

#: app/templates/main/about.html:193
msgid "Step-by-step guides for all features."
msgstr "Vaiheittaiset oppaat kaikille ominaisuuksille."

#: app/templates/main/about.html:195
msgid "View Help"
msgstr "Näytä Ohje"

#: app/templates/main/about.html:202
msgid "System Information"
msgstr "Järjestelmätiedot"

#: app/templates/main/about.html:203
msgid "Status, versions, and configuration details."
msgstr "Tila, versiot ja kokoonpanotiedot."

#: app/templates/main/about.html:209
msgid "Admin access required"
msgstr "Järjestelmänvalvojan käyttöoikeudet vaaditaan"

#: app/templates/main/about.html:216 app/templates/main/help.html:745
msgid "Community Support"
msgstr "Yhteisön tuki"

#: app/templates/main/about.html:217
msgid "Report issues, request features, contribute."
msgstr "Ilmoita ongelmista, pyydä ominaisuuksia, osallistu."

#: app/templates/main/about.html:219
msgid "GitHub Issues"
msgstr "GitHub-ongelmat"

#: app/templates/main/dashboard.html:9
msgid "Here's a quick overview of your work."
msgstr "Tässä on nopea yleiskatsaus työstäsi."

#: app/templates/main/dashboard.html:56 app/templates/tasks/overdue.html:101
#: app/templates/timer/timer_page.html:6 app/templates/timer/timer_page.html:11
msgid "Timer"
msgstr "Ajastin"

#: app/templates/main/dashboard.html:58 app/templates/main/dashboard.html:285
#: app/templates/tasks/_kanban.html:60 app/templates/tasks/edit.html:279
#: app/templates/tasks/my_tasks.html:328
msgid "Start Timer"
msgstr "Käynnistä ajastin"

#: app/templates/main/dashboard.html:65
msgid "Started at"
msgstr "Alkoi klo"

#: app/templates/main/dashboard.html:69 app/templates/tasks/_kanban.html:51
#: app/templates/tasks/my_tasks.html:323 app/templates/timer/timer_page.html:68
msgid "Stop Timer"
msgstr "Pysäytä ajastin"

#: app/templates/main/dashboard.html:73
msgid "No active timer."
msgstr "Ei aktiivista ajastinta."

#: app/templates/main/dashboard.html:104 app/templates/main/search.html:60
#: app/templates/tasks/view.html:80
msgid "Resume - Start a new timer with same properties"
msgstr "Jatka - Käynnistä uusi ajastin samoilla ominaisuuksilla"

#: app/templates/main/dashboard.html:107 app/templates/main/search.html:64
#: app/templates/tasks/view.html:83
msgid "Edit entry"
msgstr "Muokkaa merkintää"

#: app/templates/main/dashboard.html:110
msgid "Duplicate entry"
msgstr "Päällekkäinen merkintä"

#: app/templates/main/dashboard.html:117 app/templates/main/search.html:71
#: app/templates/tasks/view.html:90
msgid "Delete entry"
msgstr "Poista merkintä"

#: app/templates/main/dashboard.html:126
msgid "No recent entries found."
msgstr "Viimeaikaisia ​​merkintöjä ei löytynyt."

#: app/templates/main/dashboard.html:143
msgid "Weekly Goal"
msgstr "Viikkotavoite"

#: app/templates/main/dashboard.html:165
msgid "Days Left"
msgstr "Päiviä jäljellä"

#: app/templates/main/dashboard.html:172
msgid "Need"
msgstr "Tarve"

#: app/templates/main/dashboard.html:172
msgid "to reach goal"
msgstr "tavoitteen saavuttamiseksi"

#: app/templates/main/dashboard.html:181
msgid "No Weekly Goal"
msgstr "Ei viikkotavoitetta"

#: app/templates/main/dashboard.html:184
msgid "Set a weekly time goal to track your progress"
msgstr "Aseta viikoittainen aikatavoite seurataksesi edistymistäsi"

#: app/templates/main/dashboard.html:188
#: app/templates/weekly_goals/create.html:108
#: app/templates/weekly_goals/index.html:146
msgid "Create Goal"
msgstr "Luo tavoite"

#: app/templates/main/dashboard.html:195
msgid "Top Projects (30 days)"
msgstr "Parhaat projektit (30 päivää)"

#: app/templates/main/dashboard.html:206
msgid "No activity in the last 30 days."
msgstr "Ei toimintaa viimeisen 30 päivän aikana."

#: app/templates/main/dashboard.html:249
msgid "Support TimeTracker"
msgstr "Tuki TimeTracker"

#: app/templates/main/dashboard.html:252
msgid ""
"Enjoying TimeTracker? Consider buying me a coffee to support continued "
"development!"
msgstr ""
"Pidätkö TimeTrackerista? Harkitse kahvin ostamista tukeaksesi jatkuvaa "
"kehitystä!"

#: app/templates/main/dashboard.html:301 app/templates/timer/manual_entry.html:49
msgid "Task (optional)"
msgstr "Tehtävä (valinnainen)"

#: app/templates/main/dashboard.html:307
msgid "Notes (optional)"
msgstr "Huomautuksia (valinnainen)"

#: app/templates/main/dashboard.html:308
msgid "What are you working on?"
msgstr "Mitä sinä työskentelet?"

#: app/templates/main/dashboard.html:312 app/templates/timer/timer_page.html:141
msgid "Or use a template"
msgstr "Tai käytä mallia"

#: app/templates/main/dashboard.html:334
msgid "View all templates"
msgstr "Näytä kaikki mallit"

#: app/templates/main/dashboard.html:341 app/templates/main/search.html:34
#: app/templates/projects/_kanban_tailwind.html:75
#: app/templates/tasks/view.html:14 app/templates/tasks/view.html:17
msgid "Start"
msgstr "Aloita"

#: app/templates/main/help.html:9
msgid "Complete documentation and user guide"
msgstr "Täydellinen dokumentaatio ja käyttöopas"

#: app/templates/main/help.html:20
msgid "Quick Navigation"
msgstr "Pikanavigointi"

#: app/templates/main/help.html:23
msgid "Filter sections..."
msgstr "Suodata osiot..."

#: app/templates/main/help.html:26
msgid "Quick Start"
msgstr "Pika-aloitus"

#: app/templates/main/help.html:30 app/templates/main/help.html:268
msgid "Task Management"
msgstr "Tehtävien hallinta"

#: app/templates/main/help.html:34 app/templates/main/help.html:460
msgid "Reports & Analytics"
msgstr "Raportit ja analyysit"

#: app/templates/main/help.html:35 app/templates/main/help.html:510
msgid "Productivity Features"
msgstr "Tuottavuusominaisuudet"

#: app/templates/main/help.html:37
msgid "Admin Features"
msgstr "Järjestelmänvalvojan ominaisuudet"

#: app/templates/main/help.html:39 app/templates/main/help.html:642
msgid "Mobile Usage"
msgstr "Mobiilikäyttö"

#: app/templates/main/help.html:40
msgid "Troubleshooting"
msgstr "Vianetsintä"

#: app/templates/main/help.html:49
msgid "TimeTracker Help Center"
msgstr "TimeTrackerin ohjekeskus"

#: app/templates/main/help.html:50
msgid "Everything you need to know to get the most out of TimeTracker"
msgstr "Kaikki mitä sinun tulee tietää saadaksesi kaiken irti TimeTrackerista"

#: app/templates/main/help.html:54
msgid "Start Tracking Time"
msgstr "Aloita ajan seuranta"

#: app/templates/main/help.html:57
msgid "View Projects"
msgstr "Näytä projektit"

#: app/templates/main/help.html:60
msgid "Generate Reports"
msgstr "Luo raportteja"

#: app/templates/main/help.html:72
msgid "Quick Start Guide"
msgstr "Pika-aloitusopas"

#: app/templates/main/help.html:75
msgid "For New Users"
msgstr "Uusille käyttäjille"

#: app/templates/main/help.html:77
msgid "Log in with your username (no password required)"
msgstr "Kirjaudu sisään käyttäjätunnuksellasi (salasanaa ei vaadita)"

#: app/templates/main/help.html:78
msgid "Explore the dashboard to see your overview"
msgstr "Tutustu hallintapaneeliin nähdäksesi yleiskatsauksen"

#: app/templates/main/help.html:79
msgid "Start your first timer on an existing project"
msgstr "Aloita ensimmäinen ajastin olemassa olevasta projektista"

#: app/templates/main/help.html:80
msgid "View your time entries in reports"
msgstr "Tarkastele aikamerkintöjäsi raporteissa"

#: app/templates/main/help.html:84
msgid "For Administrators"
msgstr "Järjestelmänvalvojille"

#: app/templates/main/help.html:86
msgid "Set up clients in the Client Management section"
msgstr "Määritä asiakkaat Asiakashallinta-osiossa"

#: app/templates/main/help.html:87
msgid "Create projects and assign them to clients"
msgstr "Luo projekteja ja anna ne asiakkaille"

#: app/templates/main/help.html:88
msgid "Configure system settings (timezone, currency, etc.)"
msgstr "Määritä järjestelmäasetukset (aikavyöhyke, valuutta jne.)"

#: app/templates/main/help.html:89
msgid "Manage users and permissions"
msgstr "Hallinnoi käyttäjiä ja käyttöoikeuksia"

#: app/templates/main/help.html:95 app/templates/main/help.html:359
#: app/templates/main/help.html:504
msgid "Pro Tip:"
msgstr "Provinkki:"

#: app/templates/main/help.html:95
msgid ""
"Use the mobile-friendly interface to track time on the go. The timer "
"continues running even if you close your browser!"
msgstr ""
"Käytä mobiiliystävällistä käyttöliittymää seurataksesi aikaa liikkeellä "
"ollessasi. Ajastin jatkaa toimintaansa, vaikka suljet selaimen!"

#: app/templates/main/help.html:105
msgid "Real-time tracking with automatic idle detection and WebSocket updates"
msgstr ""
"Reaaliaikainen seuranta automaattisella joutokäynnin tunnistuksella ja "
"WebSocket-päivityksillä"

#: app/templates/main/help.html:108
msgid "Manual Entry"
msgstr "Manuaalinen syöttö"

#: app/templates/main/help.html:109
msgid "Log time manually with custom start and end times"
msgstr "Kirjaa aika manuaalisesti mukautetuilla aloitus- ja lopetusajoilla"

#: app/templates/main/help.html:114
msgid "Starting a Timer"
msgstr "Ajastimen käynnistäminen"

#: app/templates/main/help.html:116
msgid "Navigate to the Timer page or dashboard"
msgstr "Siirry Ajastin-sivulle tai kojelautaan"

#: app/templates/main/help.html:117
msgid "Select a project from the dropdown"
msgstr "Valitse projekti avattavasta valikosta"

#: app/templates/main/help.html:118
msgid "Optionally select a task for more detailed tracking"
msgstr "Valinnaisesti voit valita tehtävän tarkempaa seurantaa varten"

#: app/templates/main/help.html:119
msgid "Add notes about what you're working on (optional)"
msgstr "Lisää muistiinpanoja tekemästäsi työstä (valinnainen)"

#: app/templates/main/help.html:120
msgid "Add tags separated by commas (optional)"
msgstr "Lisää tunnisteet pilkuilla erotettuina (valinnainen)"

#: app/templates/main/help.html:121
msgid "Click \"Start Timer\""
msgstr "Napsauta \"Aloita ajastin\""

#: app/templates/main/help.html:125
msgid "Timer Features"
msgstr "Ajastimen ominaisuudet"

#: app/templates/main/help.html:127
msgid "Real-time duration display"
msgstr "Reaaliaikainen keston näyttö"

#: app/templates/main/help.html:128
msgid "Continues running if browser closes"
msgstr "Jatkuu, jos selain sulkeutuu"

#: app/templates/main/help.html:129
msgid "Automatic idle detection (configurable)"
msgstr "Automaattinen tyhjäkäynnin tunnistus (konfiguroitavissa)"

#: app/templates/main/help.html:130
msgid "One active timer per user (configurable)"
msgstr "Yksi aktiivinen ajastin käyttäjää kohti (konfiguroitavissa)"

#: app/templates/main/help.html:131
msgid "WebSocket live updates"
msgstr "WebSocketin live-päivitykset"

#: app/templates/main/help.html:136
msgid "Manual Time Entry"
msgstr "Manuaalinen ajansyöttö"

#: app/templates/main/help.html:137
msgid ""
"Create time entries manually when you need to record time spent away from "
"the computer or adjust existing entries."
msgstr ""
"Luo aikamerkintöjä manuaalisesti, kun haluat tallentaa tietokoneen "
"ulkopuolella vietettyä aikaa tai muuttaa olemassa olevia merkintöjä."

#: app/templates/main/help.html:140
msgid "Required Information"
msgstr "Vaaditut tiedot"

#: app/templates/main/help.html:142
msgid "Project selection"
msgstr "Projektin valinta"

#: app/templates/main/help.html:143
msgid "Start date and time"
msgstr "Aloituspäivämäärä ja -aika"

#: app/templates/main/help.html:144
msgid "End date and time"
msgstr "Päättymispäivämäärä ja -aika"

#: app/templates/main/help.html:148
msgid "Optional Information"
msgstr "Valinnaiset tiedot"

#: app/templates/main/help.html:150
msgid "Task assignment"
msgstr "Tehtävätehtävä"

#: app/templates/main/help.html:151
msgid "Description/notes"
msgstr "Kuvaus/huomautukset"

#: app/templates/main/help.html:152
msgid "Tags for categorization"
msgstr "Tunnisteet luokittelua varten"

#: app/templates/main/help.html:153
msgid "Billable status override"
msgstr "Laskutettavan tilan ohitus"

#: app/templates/main/help.html:159
msgid "Advanced Time Entry Features"
msgstr "Kehittyneet ajansyöttöominaisuudet"

#: app/templates/main/help.html:162
msgid "Bulk Entry"
msgstr "Joukkopääsy"

#: app/templates/main/help.html:163
msgid ""
"Create multiple time entries for consecutive days with the same project and "
"duration. Perfect for regular work patterns."
msgstr ""
"Luo useita aikamerkintöjä peräkkäisille päiville samalla projektilla ja "
"kestolla. Täydellinen tavallisiin työmalleihin."

#: app/templates/main/help.html:166
msgid "Templates"
msgstr "Mallit"

#: app/templates/main/help.html:167
msgid ""
"Save frequently used time entries as templates for quick reuse. Saves "
"project, task, and notes."
msgstr ""
"Tallenna usein käytetyt aikamerkinnät malleiksi nopeaa uudelleenkäyttöä "
"varten. Tallentaa projektin, tehtävän ja muistiinpanot."

#: app/templates/main/help.html:170
msgid "Calendar View"
msgstr "Kalenterinäkymä"

#: app/templates/main/help.html:171
msgid ""
"Visualize your time entries on a calendar. Drag-and-drop to reschedule or "
"click dates to add entries."
msgstr ""
"Visualisoi aikamerkinnäsi kalenteriin. Vedä ja pudota ajastaaksesi uudelleen"
" tai napsauta päivämääriä lisätäksesi merkintöjä."

#: app/templates/main/help.html:182
msgid "Project Information"
msgstr "Hankkeen tiedot"

#: app/templates/main/help.html:184
msgid "Descriptive project name"
msgstr "Kuvaava projektin nimi"

#: app/templates/main/help.html:185
msgid "Associated client organization"
msgstr "Liittynyt asiakasorganisaatio"

#: app/templates/main/help.html:186
msgid "Project details and scope"
msgstr "Hankkeen tiedot ja laajuus"

#: app/templates/main/help.html:187
msgid "Active, completed, or archived"
msgstr "Aktiivinen, valmis tai arkistoitu"

#: app/templates/main/help.html:191
msgid "Billing Information"
msgstr "Laskutustiedot"

#: app/templates/main/help.html:193
msgid "Whether time should be tracked for billing"
msgstr "Pitääkö laskutusta varten seurata aikaa"

#: app/templates/main/help.html:194
msgid "Rate for billable time calculations"
msgstr "Laskutettavan ajan laskelmien hinta"

#: app/templates/main/help.html:195 app/templates/projects/create.html:73
#: app/templates/projects/edit.html:67
msgid "Billing Reference"
msgstr "Laskutusviite"

#: app/templates/main/help.html:195
msgid "PO number or billing code"
msgstr "PO-numero tai laskutuskoodi"

#: app/templates/main/help.html:202
msgid "Project Operations"
msgstr "Projektitoiminnot"

#: app/templates/main/help.html:204
msgid "Create new projects with client relationships"
msgstr "Luo uusia projekteja asiakassuhteiden kanssa"

#: app/templates/main/help.html:205
msgid "Edit existing projects to update details"
msgstr "Muokkaa olemassa olevia projekteja päivittääksesi tiedot"

#: app/templates/main/help.html:206
msgid "Archive projects to hide from timers (preserves data)"
msgstr "Arkistoi projektit piilottaaksesi ajastimia (säilyttää tiedot)"

#: app/templates/main/help.html:207
msgid "Delete projects (removes all associated time entries)"
msgstr "Poista projektit (poistaa kaikki liittyvät aikamerkinnät)"

#: app/templates/main/help.html:211
msgid "Best Practices"
msgstr "Parhaat käytännöt"

#: app/templates/main/help.html:213
msgid "Use descriptive project names"
msgstr "Käytä kuvaavia projektinimiä"

#: app/templates/main/help.html:214
msgid "Set accurate hourly rates for billing"
msgstr "Aseta tarkat tuntihinnat laskutukseen"

#: app/templates/main/help.html:215
msgid "Archive instead of delete when possible"
msgstr "Arkistoi poistamisen sijaan, jos mahdollista"

#: app/templates/main/help.html:216
msgid "Use billing references for external tracking"
msgstr "Käytä laskutusviitteitä ulkoiseen seurantaan"

#: app/templates/main/help.html:226
msgid ""
"The client management system helps organize your work by client "
"organizations, preventing errors and streamlining project creation."
msgstr ""
"Asiakashallintajärjestelmä auttaa organisoimaan työsi "
"asiakasorganisaatioittain, ehkäisemään virheitä ja virtaviivaistamaan "
"projektien luomista."

#: app/templates/main/help.html:229
msgid "Client Information"
msgstr "Asiakastiedot"

#: app/templates/main/help.html:231
msgid "Organization Name"
msgstr "Organisaation nimi"

#: app/templates/main/help.html:231
msgid "Company or client name"
msgstr "Yrityksen tai asiakkaan nimi"

#: app/templates/main/help.html:232
msgid "Primary contact details"
msgstr "Ensisijaiset yhteystiedot"

#: app/templates/main/help.html:233
msgid "Email & Phone"
msgstr "Sähköposti & Puhelin"

#: app/templates/main/help.html:233
msgid "Contact information"
msgstr "Yhteystiedot"

#: app/templates/main/help.html:234
msgid "Business address"
msgstr "Yrityksen osoite"

#: app/templates/main/help.html:238
msgid "Benefits"
msgstr "Edut"

#: app/templates/main/help.html:240
msgid "Dropdown selection prevents typos"
msgstr "Pudotusvalikon valinta estää kirjoitusvirheet"

#: app/templates/main/help.html:241
msgid "Default rates auto-populate projects"
msgstr "Oletushinnat täyttävät projektit automaattisesti"

#: app/templates/main/help.html:242
msgid "Consistent client naming"
msgstr "Asiakkaan johdonmukainen nimeäminen"

#: app/templates/main/help.html:243
msgid "Easier project organization"
msgstr "Helpompi projektin organisointi"

#: app/templates/main/help.html:250
msgid "Project Count"
msgstr "Projektien määrä"

#: app/templates/main/help.html:251
msgid "Total and active projects"
msgstr "Aktiiviset projektit kokonaisuudessaan"

#: app/templates/main/help.html:256
msgid "Total hours worked"
msgstr "Työtunteja yhteensä"

#: app/templates/main/help.html:260
msgid "Cost Estimation"
msgstr "Kustannusarvio"

#: app/templates/main/help.html:261
msgid "Estimated billing amounts"
msgstr "Arvioidut laskutussummat"

#: app/templates/main/help.html:269
msgid ""
"Break down projects into manageable tasks with detailed tracking and "
"progress monitoring."
msgstr ""
"Jaa projektit hallittaviin tehtäviin yksityiskohtaisen seurannan ja "
"edistymisen seurannan avulla."

#: app/templates/main/help.html:272
msgid "Task Properties"
msgstr "Tehtävän ominaisuudet"

#: app/templates/main/help.html:274
msgid "Name & Description"
msgstr "Nimi & Kuvaus"

#: app/templates/main/help.html:274
msgid "Clear task identification"
msgstr "Selkeä tehtäväntunnistus"

#: app/templates/main/help.html:275
msgid "Priority Levels"
msgstr "Prioriteettitasot"

#: app/templates/main/help.html:275
msgid "Low, Medium, High, Urgent"
msgstr "Matala, keskitaso, korkea, kiireellinen"

#: app/templates/main/help.html:276
msgid "Due Dates"
msgstr "Eräpäivät"

#: app/templates/main/help.html:276
msgid "Deadline tracking"
msgstr "Määräajan seuranta"

#: app/templates/main/help.html:277
msgid "Assignment"
msgstr "Tehtävä"

#: app/templates/main/help.html:277
msgid "Task ownership"
msgstr "Tehtävän omistajuus"

#: app/templates/main/help.html:281
msgid "Status Tracking"
msgstr "Tilan seuranta"

#: app/templates/main/help.html:283
msgid "To Do - Not started"
msgstr "Tehtävä - Ei aloitettu"

#: app/templates/main/help.html:284
msgid "In Progress - Currently working"
msgstr "Käynnissä - Tällä hetkellä töissä"

#: app/templates/main/help.html:285
msgid "Review - Ready for review"
msgstr "Arvostelu – valmis tarkastettavaksi"

#: app/templates/main/help.html:286
msgid "Done - Completed"
msgstr "Valmis - Valmis"

#: app/templates/main/help.html:287
msgid "Cancelled - Not needed"
msgstr "Peruutettu – ei tarvita"

#: app/templates/main/help.html:293
msgid "Time Tracking Features"
msgstr "Aikaseurantaominaisuudet"

#: app/templates/main/help.html:295
msgid "Start timers directly from tasks"
msgstr "Käynnistä ajastimet suoraan tehtävistä"

#: app/templates/main/help.html:296
msgid "Link time entries to specific tasks"
msgstr "Linkitä aikamerkinnät tiettyihin tehtäviin"

#: app/templates/main/help.html:297
msgid "Track estimated vs actual hours"
msgstr "Seuraa arvioituja ja todellisia tunteja"

#: app/templates/main/help.html:298
msgid "Monitor task progress automatically"
msgstr "Seuraa tehtävän edistymistä automaattisesti"

#: app/templates/main/help.html:302
msgid "Task Views"
msgstr "Tehtävänäkymät"

#: app/templates/main/help.html:304
msgid "My Tasks - Your assigned tasks"
msgstr "Omat tehtävät – sinulle määrätyt tehtävät"

#: app/templates/main/help.html:305
msgid "All Tasks - Complete task list"
msgstr "Kaikki tehtävät - Täydellinen tehtäväluettelo"

#: app/templates/main/help.html:306
msgid "Overdue Tasks - Past due items"
msgstr "Erääntyneet tehtävät - Erääntyneet erät"

#: app/templates/main/help.html:307
msgid "Project Tasks - Tasks within projects"
msgstr "Projektitehtävät - Tehtävät projekteissa"

#: app/templates/main/help.html:313
msgid "Collaboration Features"
msgstr "Yhteistyöominaisuudet"

#: app/templates/main/help.html:315
msgid "Task Comments - Threaded discussions on tasks"
msgstr "Tehtävien kommentit – tehtävistä keskusteluja"

#: app/templates/main/help.html:316
msgid "Markdown Support - Rich formatting in descriptions"
msgstr "Markdown-tuki – Rikas muotoilu kuvauksissa"

#: app/templates/main/help.html:317
msgid "User Mentions - Tag team members (if enabled)"
msgstr "Käyttäjämaininnat – Tag-tiimin jäsenet (jos käytössä)"

#: app/templates/main/help.html:318
msgid "File Attachments - Attach files to tasks (if enabled)"
msgstr "Tiedostoliitteet – Liitä tiedostoja tehtäviin (jos käytössä)"

#: app/templates/main/help.html:322
msgid "Markdown Formatting"
msgstr "Markdown-muotoilu"

#: app/templates/main/help.html:323
msgid "Task and project descriptions support Markdown:"
msgstr "Tehtävä- ja projektikuvaukset tukevat Markdownia:"

#: app/templates/main/help.html:325
msgid "**Bold**, *Italic*, ~~Strikethrough~~"
msgstr "**Lihavoitu**, *Kursivoitu*, ~~Yliviivattu~~"

#: app/templates/main/help.html:326
msgid "# Headings, - Lists, [Links](url)"
msgstr "# otsikot, - luettelot, [linkit](url)"

#: app/templates/main/help.html:327
msgid "```code blocks```, tables, images"
msgstr "```koodilohkot```, taulukot, kuvat"

#: app/templates/main/help.html:336
msgid ""
"Visualize your workflow with a drag-and-drop Kanban board for intuitive task"
" management."
msgstr ""
"Visualisoi työnkulkusi vetämällä ja pudottamalla Kanban-levyllä "
"intuitiivista tehtävienhallintaa varten."

#: app/templates/main/help.html:339
msgid "Board Features"
msgstr "Lautan ominaisuudet"

#: app/templates/main/help.html:341
msgid "Customizable columns matching task statuses"
msgstr "Muokattavat sarakkeet, jotka vastaavat tehtävien tiloja"

#: app/templates/main/help.html:342
msgid "Drag-and-drop tasks between columns"
msgstr "Vedä ja pudota tehtäviä sarakkeiden välillä"

#: app/templates/main/help.html:343
msgid "Filter by project, user, or priority"
msgstr "Suodata projektin, käyttäjän tai prioriteetin mukaan"

#: app/templates/main/help.html:344
msgid "Quick search across all tasks"
msgstr "Nopea haku kaikista tehtävistä"

#: app/templates/main/help.html:348
msgid "Using the Kanban Board"
msgstr "Kanban-taulun käyttö"

#: app/templates/main/help.html:350
msgid "Access from the Tasks menu or project page"
msgstr "Pääsy Tehtävät-valikosta tai projektisivulta"

#: app/templates/main/help.html:351
msgid "Drag tasks to different columns to change status"
msgstr "Muuta tilaa vetämällä tehtäviä eri sarakkeisiin"

#: app/templates/main/help.html:352
msgid "Click on a task card to view/edit details"
msgstr "Napsauta tehtäväkorttia nähdäksesi/muokkaaksesi tietoja"

#: app/templates/main/help.html:353
msgid "Use filters to focus on specific work"
msgstr "Käytä suodattimia keskittyäksesi tiettyyn työhön"

#: app/templates/main/help.html:359
msgid ""
"The Kanban board is perfect for sprint planning and daily standups. Each "
"column represents a stage in your workflow!"
msgstr ""
"Kanban-lauta sopii erinomaisesti sprintin suunnitteluun ja päivittäiseen "
"standupiin. Jokainen sarake edustaa työnkulkusi vaihetta!"

#: app/templates/main/help.html:365
msgid "Expense Tracking"
msgstr "Kulujen seuranta"

#: app/templates/main/help.html:366
msgid ""
"Track business expenses, manage receipts, and handle reimbursements "
"efficiently."
msgstr ""
"Seuraa liiketoiminnan kuluja, hallitse kuitteja ja käsittele korvauksia "
"tehokkaasti."

#: app/templates/main/help.html:369
msgid "Expense Features"
msgstr "Kustannusominaisuudet"

#: app/templates/main/help.html:371
msgid "Categorize expenses (travel, meals, supplies, etc.)"
msgstr "Luokittele kulut (matkat, ateriat, tarvikkeet jne.)"

#: app/templates/main/help.html:372
msgid "Attach receipt images and documents"
msgstr "Liitä kuitin kuvia ja asiakirjoja"

#: app/templates/main/help.html:373
msgid "Track amounts, tax, and payment methods"
msgstr "Seuraa summia, veroja ja maksutapoja"

#: app/templates/main/help.html:374
msgid "Approval workflow for expense requests"
msgstr "Hyväksyntätyönkulku kulupyyntöjä varten"

#: app/templates/main/help.html:378
msgid "Billing & Reimbursement"
msgstr "Laskutus ja hyvitys"

#: app/templates/main/help.html:380
msgid "Mark expenses as billable to clients"
msgstr "Merkitse kulut asiakkaille laskutettaviksi"

#: app/templates/main/help.html:381
msgid "Include expenses in client invoices"
msgstr "Sisällytä kulut asiakkaan laskuihin"

#: app/templates/main/help.html:382
msgid "Track reimbursement status"
msgstr "Seuraa korvauksen tilaa"

#: app/templates/main/help.html:383
msgid "Link expenses to specific projects"
msgstr "Yhdistä kulut tiettyihin projekteihin"

#: app/templates/main/help.html:390
msgid "Record Expense"
msgstr "Kirjaa kulut"

#: app/templates/main/help.html:391
msgid "Enter details and upload receipt"
msgstr "Anna tiedot ja lähetä kuitti"

#: app/templates/main/help.html:395
msgid "Submit for Approval"
msgstr "Lähetä hyväksyttäväksi"

#: app/templates/main/help.html:396
msgid "Admin reviews and approves"
msgstr "Järjestelmänvalvoja arvioi ja hyväksyy"

#: app/templates/main/help.html:400
msgid "Invoice/Reimburse"
msgstr "Lasku/palautus"

#: app/templates/main/help.html:401
msgid "Add to invoice or reimburse"
msgstr "Lisää laskuun tai hyvitä"

#: app/templates/main/help.html:405 app/templates/main/help.html:452
msgid "Track Payment"
msgstr "Seuraa maksua"

#: app/templates/main/help.html:406
msgid "Monitor reimbursement status"
msgstr "Seuraa korvauksen tilaa"

#: app/templates/main/help.html:413
msgid "Professional Invoicing"
msgstr "Ammattimainen laskutus"

#: app/templates/main/help.html:418
msgid "Professional PDF generation"
msgstr "Ammattimainen PDF-sukupolvi"

#: app/templates/main/help.html:419
msgid "Company branding and logos"
msgstr "Yrityksen brändäys ja logot"

#: app/templates/main/help.html:420
msgid "Automatic invoice numbering"
msgstr "Automaattinen laskujen numerointi"

#: app/templates/main/help.html:421
msgid "Tax calculations"
msgstr "Verolaskelmat"

#: app/templates/main/help.html:425
msgid "Time Integration"
msgstr "Aika integraatio"

#: app/templates/main/help.html:427
msgid "Generate from time entries"
msgstr "Luo aikamerkinnöistä"

#: app/templates/main/help.html:428
msgid "Smart grouping by task/project"
msgstr "Älykäs ryhmittely tehtävän/projektin mukaan"

#: app/templates/main/help.html:429
msgid "Prevent double-billing"
msgstr "Vältä kaksoislaskutus"

#: app/templates/main/help.html:430
msgid "Use project hourly rates"
msgstr "Käytä projektin tuntihintoja"

#: app/templates/main/help.html:438
msgid "Set up client and project details"
msgstr "Määritä asiakas- ja projektitiedot"

#: app/templates/main/help.html:442
msgid "Add Items"
msgstr "Lisää kohteita"

#: app/templates/main/help.html:443
msgid "Generate from time or add manually"
msgstr "Luo ajoissa tai lisää manuaalisesti"

#: app/templates/main/help.html:447
msgid "Review & Send"
msgstr "Tarkista & Lähetä"

#: app/templates/main/help.html:448
msgid "Export PDF and update status"
msgstr "Vie PDF ja päivitä tila"

#: app/templates/main/help.html:453
msgid "Monitor status and payments"
msgstr "Seuraa tilaa ja maksuja"

#: app/templates/main/help.html:463
msgid "Standard Reports"
msgstr "Vakioraportit"

#: app/templates/main/help.html:465
msgid "Project Report - Time breakdown by project"
msgstr "Projektiraportti - Aikajakauma projekteittain"

#: app/templates/main/help.html:466
msgid "User Report - Individual performance metrics"
msgstr "Käyttäjäraportti – Yksittäiset tehokkuusmittarit"

#: app/templates/main/help.html:467
msgid "Summary Report - Key metrics and trends"
msgstr "Yhteenvetoraportti – Tärkeimmät tiedot ja trendit"

#: app/templates/main/help.html:468
msgid "Time Entry Report - Detailed time logs"
msgstr "Aikakirjausraportti - Yksityiskohtaiset aikalokit"

#: app/templates/main/help.html:472
msgid "Export Options"
msgstr "Vientiasetukset"

#: app/templates/main/help.html:474
msgid "CSV Export - For external analysis"
msgstr "CSV-vienti - Ulkoiseen analyysiin"

#: app/templates/main/help.html:475
msgid "Configurable delimiters"
msgstr "Muokattavat erottimet"

#: app/templates/main/help.html:476
msgid "Custom date ranges"
msgstr "Muokatut ajanjaksot"

#: app/templates/main/help.html:477
msgid "Filtered data export"
msgstr "Suodatetun tiedon vienti"

#: app/templates/main/help.html:483
msgid "Filter Options"
msgstr "Suodatinvalinnat"

#: app/templates/main/help.html:485
msgid "Date Range - Custom start and end dates"
msgstr "Ajanjakso - Mukautetut aloitus- ja lopetuspäivät"

#: app/templates/main/help.html:486
msgid "Project - Filter by specific projects"
msgstr "Projekti - Suodata tiettyjen projektien mukaan"

#: app/templates/main/help.html:487
msgid "User - Filter by team members"
msgstr "Käyttäjä - Suodata tiimin jäsenten mukaan"

#: app/templates/main/help.html:488
msgid "Client - Filter by client organization"
msgstr "Asiakas - Suodata asiakasorganisaation mukaan"

#: app/templates/main/help.html:489
msgid "Saved Filters - Save frequently used filters"
msgstr "Tallennetut suodattimet - Tallenna usein käytetyt suodattimet"

#: app/templates/main/help.html:493
msgid "Visual Analytics"
msgstr "Visuaalinen analytiikka"

#: app/templates/main/help.html:495
msgid "Interactive bar charts"
msgstr "Interaktiiviset pylväskaaviot"

#: app/templates/main/help.html:496
msgid "Time distribution pie charts"
msgstr "Aikajakauman ympyräkaaviot"

#: app/templates/main/help.html:497
msgid "Trend analysis over time"
msgstr "Trendianalyysi ajan mittaan"

#: app/templates/main/help.html:498
msgid "Mobile-optimized charts"
msgstr "Mobiilioptimoidut kaaviot"

#: app/templates/main/help.html:504
msgid ""
"Use Saved Filters to quickly access your most common report views. Save "
"filters for weekly reviews, monthly billing, or specific project tracking!"
msgstr ""
"Käytä tallennettuja suodattimia päästäksesi nopeasti yleisimpiin "
"raporttinäkymiin. Tallenna suodattimet viikoittaisia ​​arvioita, "
"kuukausilaskutusta tai tiettyä projektiseurantaa varten!"

#: app/templates/main/help.html:511
msgid ""
"Boost your efficiency with keyboard shortcuts, command palette, and "
"automation features."
msgstr ""
"Paranna tehokkuuttasi pikanäppäimillä, komentopaletilla ja "
"automaatioominaisuuksilla."

#: app/templates/main/help.html:514
msgid "Command Palette"
msgstr "Komentopaletti"

#: app/templates/main/help.html:515
msgid "Access any feature instantly without leaving the keyboard"
msgstr "Käytä mitä tahansa ominaisuutta välittömästi poistumatta näppäimistöstä"

#: app/templates/main/help.html:518
msgid "Opening the Command Palette"
msgstr "Komentopaletin avaaminen"

#: app/templates/main/help.html:520
msgid "Press the question mark key"
msgstr "Paina kysymysmerkkinäppäintä"

#: app/templates/main/help.html:521
msgid "Quick search"
msgstr "Pikahaku"

#: app/templates/main/help.html:528
msgid "Go to Projects"
msgstr "Siirry kohtaan Projektit"

#: app/templates/main/help.html:529
msgid "Go to Tasks"
msgstr "Siirry kohtaan Tehtävät"

#: app/templates/main/help.html:530
msgid "New Time Entry"
msgstr "Uusi aikamerkintä"

#: app/templates/main/help.html:538
msgid "Keyboard Shortcuts"
msgstr "Pikanäppäimet"

#: app/templates/main/help.html:539
msgid ""
"Navigate faster with keyboard-driven commands. Press Shift+? to see all "
"shortcuts."
msgstr ""
"Navigoi nopeammin näppäimistöohjattujen komentojen avulla. Paina Shift+? "
"nähdäksesi kaikki pikakuvakkeet."

#: app/templates/main/help.html:542
msgid "Global Search"
msgstr "Maailmanlaajuinen haku"

#: app/templates/main/help.html:543
msgid ""
"Quickly find projects, tasks, clients, and time entries from anywhere in the"
" app."
msgstr ""
"Löydä nopeasti projekteja, tehtäviä, asiakkaita ja aikamerkintöjä mistä "
"tahansa sovelluksesta."

#: app/templates/main/help.html:546
msgid "Email Notifications"
msgstr "Sähköposti-ilmoitukset"

#: app/templates/main/help.html:547
msgid ""
"Get notified about task assignments, overdue invoices, and weekly summaries "
"via email."
msgstr ""
"Saat sähköpostiisi ilmoituksen tehtävätehtävistä, erääntyneistä laskuista ja"
" viikoittaisista yhteenvedoista."

#: app/templates/main/help.html:555
msgid "Administrator Features"
msgstr "Järjestelmänvalvojan ominaisuudet"

#: app/templates/main/help.html:560
msgid "Create new users with flexible authentication"
msgstr "Luo uusia käyttäjiä joustavalla todennuksella"

#: app/templates/main/help.html:561
msgid "Assign custom roles with specific permissions"
msgstr "Määritä mukautettuja rooleja tietyillä käyttöoikeuksilla"

#: app/templates/main/help.html:562
msgid "Activate/deactivate user accounts"
msgstr "Aktivoi/deaktivoi käyttäjätilit"

#: app/templates/main/help.html:563
msgid "View user statistics and activity"
msgstr "Tarkastele käyttäjätilastoja ja toimintaa"

#: app/templates/main/help.html:564
msgid "Generate API tokens for users"
msgstr "Luo API-tunnuksia käyttäjille"

#: app/templates/main/help.html:568
msgid "Access Control"
msgstr "Kulunvalvonta"

#: app/templates/main/help.html:570
msgid "Granular role-based permissions system"
msgstr "Yksityiskohtainen roolipohjainen käyttöoikeusjärjestelmä"

#: app/templates/main/help.html:571
msgid "Custom roles with fine-grained access"
msgstr "Mukautetut roolit, joissa on tarkat käyttöoikeudet"

#: app/templates/main/help.html:572
msgid "User data access controls"
msgstr "Käyttäjätietojen käyttöoikeudet"

#: app/templates/main/help.html:573
msgid "OIDC/SSO integration (Azure AD, Authelia, etc.)"
msgstr "OIDC/SSO-integraatio (Azure AD, Authelia jne.)"

#: app/templates/main/help.html:574
msgid "API token management for integrations"
msgstr "API-tunnusten hallinta integraatioita varten"

#: app/templates/main/help.html:580
msgid "Authentication Methods"
msgstr "Todennusmenetelmät"

#: app/templates/main/help.html:582
msgid "Username-only (simple internal use)"
msgstr "Vain käyttäjätunnus (yksinkertainen sisäinen käyttö)"

#: app/templates/main/help.html:583
msgid "OIDC/SSO (enterprise authentication)"
msgstr "OIDC/SSO (yrityksen todennus)"

#: app/templates/main/help.html:584
msgid "Both methods simultaneously"
msgstr "Molemmat menetelmät samanaikaisesti"

#: app/templates/main/help.html:585
msgid "Automatic role assignment via groups"
msgstr "Automaattinen roolin jako ryhmien kautta"

#: app/templates/main/help.html:589
msgid "Role & Permission Management"
msgstr "Rooli- ja lupahallinta"

#: app/templates/main/help.html:591
msgid "Create custom roles beyond Admin/User"
msgstr "Luo mukautettuja rooleja järjestelmänvalvojan/käyttäjän lisäksi"

#: app/templates/main/help.html:592
msgid "Set granular permissions per feature"
msgstr "Määritä yksityiskohtaiset käyttöoikeudet ominaisuudelle"

#: app/templates/main/help.html:593
msgid "Assign users to multiple roles"
msgstr "Määritä käyttäjille useita rooleja"

#: app/templates/main/help.html:594
msgid "View and manage all permissions"
msgstr "Tarkastele ja hallinnoi kaikkia käyttöoikeuksia"

#: app/templates/main/help.html:600
msgid "General Settings"
msgstr "Yleiset asetukset"

#: app/templates/main/help.html:602
msgid "Timezone and locale settings"
msgstr "Aikavyöhyke- ja alueasetukset"

#: app/templates/main/help.html:603
msgid "Currency configuration"
msgstr "Valuutan määritys"

#: app/templates/main/help.html:604
msgid "Time rounding rules"
msgstr "Ajan pyöristyssäännöt"

#: app/templates/main/help.html:605
msgid "Self-registration settings"
msgstr "Itserekisteröinnin asetukset"

#: app/templates/main/help.html:609
msgid "Timer Settings"
msgstr "Ajastinasetukset"

#: app/templates/main/help.html:611
msgid "Idle timeout configuration"
msgstr "Idle timeout -määritys"

#: app/templates/main/help.html:612
msgid "Single active timer mode"
msgstr "Yksi aktiivinen ajastintila"

#: app/templates/main/help.html:613
msgid "Timer display preferences"
msgstr "Ajastimen näyttöasetukset"

#: app/templates/main/help.html:614
msgid "Notification settings"
msgstr "Ilmoitusasetukset"

#: app/templates/main/help.html:620
msgid "Database Management"
msgstr "Tietokannan hallinta"

#: app/templates/main/help.html:622
msgid "Create manual database backups"
msgstr "Luo manuaaliset tietokannan varmuuskopiot"

#: app/templates/main/help.html:623
msgid "View database migration status"
msgstr "Näytä tietokannan siirron tila"

#: app/templates/main/help.html:624
msgid "Monitor database performance"
msgstr "Tarkkaile tietokannan suorituskykyä"

#: app/templates/main/help.html:625
msgid "Clean up old data and logs"
msgstr "Siivoa vanhat tiedot ja lokit"

#: app/templates/main/help.html:629
msgid "System Monitoring"
msgstr "Järjestelmän valvonta"

#: app/templates/main/help.html:631
msgid "View system information and health"
msgstr "Tarkastele järjestelmän tietoja ja kuntoa"

#: app/templates/main/help.html:632
msgid "Monitor application performance"
msgstr "Tarkkaile sovelluksen suorituskykyä"

#: app/templates/main/help.html:633
msgid "Review system logs and errors"
msgstr "Tarkista järjestelmän lokit ja virheet"

#: app/templates/main/help.html:645
msgid "Mobile-Friendly Features"
msgstr "Mobiiliystävälliset ominaisuudet"

#: app/templates/main/help.html:647
msgid "Optimized for phones and tablets"
msgstr "Optimoitu puhelimille ja tableteille"

#: app/templates/main/help.html:648
msgid "Touch-friendly interface"
msgstr "Kosketusystävällinen käyttöliittymä"

#: app/templates/main/help.html:649
msgid "Adaptive layouts for all screen sizes"
msgstr "Mukautuvat asettelut kaikille näyttökokoille"

#: app/templates/main/help.html:650
msgid "High contrast for outdoor visibility"
msgstr "Korkea kontrasti ulkonäkyvyyden takaamiseksi"

#: app/templates/main/help.html:654
msgid "Mobile Navigation"
msgstr "Mobiilinavigointi"

#: app/templates/main/help.html:656
msgid "Bottom tab bar for easy access"
msgstr "Alempi välilehtipalkki helpottaa pääsyä"

#: app/templates/main/help.html:657
msgid "Quick access to dashboard"
msgstr "Nopea pääsy kojelautaan"

#: app/templates/main/help.html:658
msgid "One-tap time logging"
msgstr "Ajan kirjaaminen yhdellä napautuksella"

#: app/templates/main/help.html:659
msgid "Mobile-optimized reports"
msgstr "Mobiilioptimoidut raportit"

#: app/templates/main/help.html:665
msgid "Installation"
msgstr "Asennus"

#: app/templates/main/help.html:667
msgid "Open TimeTracker in your mobile browser"
msgstr "Avaa TimeTracker mobiiliselaimessa"

#: app/templates/main/help.html:668
msgid "Look for \"Add to Home Screen\" option"
msgstr "Etsi \"Lisää aloitusnäyttöön\" -vaihtoehto"

#: app/templates/main/help.html:669
msgid "Follow browser-specific installation prompts"
msgstr "Noudata selainkohtaisia ​​asennusohjeita"

#: app/templates/main/help.html:670
msgid "Launch from your home screen like a native app"
msgstr "Käynnistä aloitusnäytöltäsi kuin natiivisovellus"

#: app/templates/main/help.html:674
msgid "PWA Benefits"
msgstr "PWA:n edut"

#: app/templates/main/help.html:676
msgid "Offline capability for basic functions"
msgstr "Offline-ominaisuus perustoimintoihin"

#: app/templates/main/help.html:677
msgid "Faster loading times"
msgstr "Nopeammat latausajat"

#: app/templates/main/help.html:678
msgid "Native app-like experience"
msgstr "Natiivisovelluksen kaltainen kokemus"

#: app/templates/main/help.html:679
msgid "Push notifications (where supported)"
msgstr "Push-ilmoitukset (jos tuettu)"

#: app/templates/main/help.html:687
msgid "Troubleshooting & FAQ"
msgstr "Vianetsintä ja UKK"

#: app/templates/main/help.html:690
msgid "What happens if I forget to stop my timer?"
msgstr "Mitä tapahtuu, jos unohdan pysäyttää ajastimen?"

#: app/templates/main/help.html:691
msgid ""
"The timer will continue running until you stop it manually. You can see your"
" active timer on the dashboard and timer page. The timer persists even if "
"you close your browser or restart your device. If idle detection is enabled,"
" the timer may pause automatically after the configured timeout period."
msgstr ""
"Ajastin jatkaa toimintaansa, kunnes pysäytät sen manuaalisesti. Näet "
"aktiivisen ajastimesi kojelaudassa ja ajastinsivulla. Ajastin säilyy, vaikka"
" suljet selaimen tai käynnistät laitteen uudelleen. Jos tyhjäkäynnin "
"tunnistus on käytössä, ajastin voi pysähtyä automaattisesti määritetyn "
"aikakatkaisujakson jälkeen."

#: app/templates/main/help.html:694
msgid "Can I edit time entries after they're created?"
msgstr "Voinko muokata aikamerkintöjä niiden luomisen jälkeen?"

#: app/templates/main/help.html:695
msgid ""
"Yes, you can edit any time entry by clicking the edit button in the time "
"entry list. You can modify the project, start/end times, notes, tags, "
"billable status, and task assignment. Admins can edit all time entries, "
"while regular users can only edit their own entries."
msgstr ""
"Kyllä, voit muokata mitä tahansa aikamerkintää napsauttamalla "
"muokkauspainiketta aikamerkintäluettelossa. Voit muokata projektia, aloitus-"
" ja lopetusaikoja, muistiinpanoja, tunnisteita, laskutettavaa tilaa ja "
"tehtävän määritystä. Järjestelmänvalvojat voivat muokata kaikkia "
"aikamerkintöjä, kun taas tavalliset käyttäjät voivat muokata vain omia "
"merkintöjään."

#: app/templates/main/help.html:698
msgid "How do I track time for multiple projects?"
msgstr "Kuinka seuraan useiden projektien aikaa?"

#: app/templates/main/help.html:699
msgid ""
"By default, you can only have one active timer at a time. To switch "
"projects, stop your current timer and start a new one for the different "
"project. Alternatively, you can create manual time entries for past work or "
"configure the system to allow multiple active timers (admin setting)."
msgstr ""
"Oletuksena sinulla voi olla vain yksi aktiivinen ajastin kerrallaan. Vaihda "
"projektia pysäyttämällä nykyinen ajastin ja käynnistämällä uusi eri "
"projektille. Vaihtoehtoisesti voit luoda manuaalisia aikamerkintöjä "
"menneille töille tai määrittää järjestelmän sallimaan useita aktiivisia "
"ajastimia (järjestelmänvalvojan asetus)."

#: app/templates/main/help.html:702
msgid "How do I export my time data?"
msgstr "Kuinka voin viedä aikatietoni?"

#: app/templates/main/help.html:703
msgid ""
"Go to the Reports page and use the \"Export CSV\" feature. You can apply "
"filters to export specific data, or export all time entries. The CSV file "
"includes all time entry details and can be opened in Excel or other "
"spreadsheet applications. You can also configure the delimiter for different"
" regional standards."
msgstr ""
"Siirry Raportit-sivulle ja käytä Vie CSV -ominaisuutta. Voit käyttää "
"suodattimia viedäksesi tiettyjä tietoja tai viedäksesi kaikki aikamerkinnät."
" CSV-tiedosto sisältää kaikki aikatiedot, ja se voidaan avata Excelissä tai "
"muissa taulukkolaskentaohjelmissa. Voit myös määrittää erottimen eri "
"aluestandardeille."

#: app/templates/main/help.html:706
msgid "What's the difference between billable and non-billable time?"
msgstr "Mitä eroa on laskutettavalla ja ei-laskutettavalla ajalla?"

#: app/templates/main/help.html:707
msgid ""
"Billable time is tracked for client billing purposes and can have an hourly "
"rate associated with it. Non-billable time is for internal work that doesn't"
" get charged to clients. You can mark individual time entries as billable or"
" non-billable, and projects can have default billable settings. This "
"distinction is crucial for accurate invoicing and profitability analysis."
msgstr ""
"Laskutettavaa aikaa seurataan asiakkaan laskutusta varten ja siihen voi "
"liittyä tuntihinta. Ei-laskutettava aika on tarkoitettu sisäisiin töihin, "
"joita ei veloiteta asiakkailta. Voit merkitä yksittäisiä aikamerkintöjä "
"laskutettaviksi tai ei-laskutettaviksi, ja projekteissa voi olla "
"laskutettavat oletusasetukset. Tämä erottelu on ratkaisevan tärkeää tarkan "
"laskutuksen ja kannattavuusanalyysin kannalta."

#: app/templates/main/help.html:710
msgid "How do I create an invoice from my time entries?"
msgstr "Kuinka luon laskun aikamerkinnöistäni?"

#: app/templates/main/help.html:711
msgid ""
"Navigate to Invoices → Create Invoice, set up the client and project "
"details, then use \"Generate from Time Entries\" to automatically create "
"invoice items from your tracked time. You can filter by date range and "
"project, and the system will group time entries intelligently. Review the "
"generated items and export as a professional PDF."
msgstr ""
"Siirry kohtaan Laskut → Luo lasku, määritä asiakas- ja projektitiedot ja "
"käytä sitten \"Luo aikamerkinnöistä\" luodaksesi automaattisesti "
"laskukohteita seuranneesta ajasta. Voit suodattaa ajanjakson ja projektin "
"mukaan, ja järjestelmä ryhmittelee aikamerkinnät älykkäästi. Tarkista luodut"
" kohteet ja vie ne ammattimaisena PDF-tiedostona."

#: app/templates/main/help.html:714
msgid "Can I use TimeTracker on my mobile device?"
msgstr "Voinko käyttää TimeTrackeria mobiililaitteellani?"

#: app/templates/main/help.html:715
msgid ""
"Yes! TimeTracker is fully responsive and works great on mobile devices. You "
"can install it as a Progressive Web App (PWA) for a native-like experience. "
"The mobile interface includes a bottom tab bar for easy navigation and "
"touch-optimized controls for time tracking on the go."
msgstr ""
"Kyllä! TimeTracker on täysin reagoiva ja toimii erinomaisesti "
"mobiililaitteissa. Voit asentaa sen Progressive Web App -sovelluksena (PWA) "
"saadaksesi alkuperäisen kaltaisen kokemuksen. Mobiilikäyttöliittymä sisältää"
" välilehtipalkin, joka helpottaa navigointia, ja kosketusoptimoidut säätimet"
" ajan seurantaan liikkeellä ollessasi."

#: app/templates/main/help.html:718
msgid "How do I use the command palette and keyboard shortcuts?"
msgstr "Kuinka käytän komentopalettia ja pikanäppäimiä?"

#: app/templates/main/help.html:719
msgid ""
"Press the question mark key (?) to open the command palette. From there, you"
" can type to search for any action or navigation target. Use keyboard "
"sequences like \"g d\" for Dashboard, \"g p\" for Projects, or \"n e\" for "
"New Entry. Press Shift+? to see all available shortcuts. Press Ctrl+K (or "
"Cmd+K on Mac) for quick search."
msgstr ""
"Avaa komentopaletti painamalla kysymysmerkkinäppäintä (?). Sieltä voit etsiä"
" mitä tahansa toimintoa tai navigointikohdetta kirjoittamalla. Käytä "
"näppäimistösarjoja, kuten \"g d\" Dashboardille, \"g p\" projekteille tai "
"\"n e\" New Entrylle. Paina Shift+? nähdäksesi kaikki käytettävissä olevat "
"pikakuvakkeet. Pikahakua varten paina Ctrl+K (tai Cmd+K Macissa)."

#: app/templates/main/help.html:722
msgid "How do I create bulk time entries for multiple days?"
msgstr "Kuinka luon joukkoaikamerkintöjä useille päiville?"

#: app/templates/main/help.html:723
msgid ""
"Navigate to Work → Bulk Time Entry. Select your project, choose a date "
"range, set your daily start and end times, and optionally skip weekends. The"
" system will create identical time entries for each day in the range. This "
"is perfect for logging regular work patterns or filling in past time when "
"you worked consistent hours."
msgstr ""
"Siirry kohtaan Työ → Joukkoaikasyöttö. Valitse projektisi, valitse "
"ajanjakso, aseta päivittäiset alkamis- ja päättymisajat ja halutessasi ohita"
" viikonloput. Järjestelmä luo identtiset aikamerkinnät jokaiselle alueen "
"päivälle. Tämä sopii mainiosti säännöllisten työtapojen kirjaamiseen tai "
"menneiden työaikojen täyttämiseen, kun olet työskennellyt tasaisin "
"väliajoin."

#: app/templates/main/help.html:726
msgid "What are time entry templates and how do I use them?"
msgstr "Mitä ovat ajansyöttömallit ja miten niitä käytetään?"

#: app/templates/main/help.html:727
msgid ""
"Time entry templates let you save frequently used time entry configurations."
" When creating a manual time entry, check \"Save as Template\" to save the "
"project, task, and notes. Later, when creating new entries, you can select a"
" template to quickly fill in these details. Templates are personal and only "
"visible to you."
msgstr ""
"Ajansyöttömallien avulla voit tallentaa usein käytetyt "
"ajansyöttökokoonpanot. Kun luot manuaalista aikamerkintää, valitse "
"\"Tallenna mallina\" tallentaaksesi projektin, tehtävän ja muistiinpanot. "
"Myöhemmin, kun luot uusia merkintöjä, voit valita mallin täyttääksesi nämä "
"tiedot nopeasti. Mallit ovat henkilökohtaisia ​​ja näkyvät vain sinulle."

#: app/templates/main/help.html:730
msgid "How do I track expenses and add them to invoices?"
msgstr "Kuinka seuraan kuluja ja lisään ne laskuihin?"

#: app/templates/main/help.html:731
msgid ""
"Go to Expenses → New Expense to record business expenses. Upload receipt "
"images, categorize the expense, and mark it as billable if needed. When "
"creating invoices, you can include these expenses as line items. Expenses "
"support approval workflows, reimbursement tracking, and can be linked to "
"specific projects."
msgstr ""
"Siirry kohtaan Kulut → Uusi kulu kirjataksesi liiketoiminnan kulut. Lataa "
"kuittikuvat, luokittele kulu ja merkitse se tarvittaessa laskutettavaksi. "
"Kun luot laskuja, voit sisällyttää nämä kulut rivikohtiin. Kulut tukevat "
"hyväksynnän työnkulkuja, korvausten seurantaa, ja ne voidaan linkittää "
"tiettyihin projekteihin."

#: app/templates/main/help.html:734
msgid "Can I use Markdown in descriptions?"
msgstr "Voinko käyttää Markdownia kuvauksissa?"

#: app/templates/main/help.html:735
msgid ""
"Yes! Project and task descriptions support full Markdown formatting. You can"
" use bold, italic, headings, lists, links, code blocks, tables, and images. "
"This allows you to create rich, well-formatted documentation directly in "
"your projects and tasks. The Markdown editor includes a preview mode and "
"supports dark theme."
msgstr ""
"Kyllä! Projektien ja tehtävien kuvaukset tukevat täyttä Markdown-muotoilua. "
"Voit käyttää lihavointia, kursiivia, otsikoita, luetteloita, linkkejä, "
"koodilohkoja, taulukoita ja kuvia. Näin voit luoda monipuolista, hyvin "
"muotoiltua dokumentaatiota suoraan projekteihin ja tehtäviin. Markdown-"
"editori sisältää esikatselutilan ja tukee tummaa teemaa."

#: app/templates/main/help.html:738
msgid "Where can I get additional help?"
msgstr "Mistä saan lisäapua?"

#: app/templates/main/help.html:742
msgid "This help page covers most common questions and features."
msgstr "Tämä ohjesivu kattaa yleisimmät kysymykset ja ominaisuudet."

#: app/templates/main/help.html:746
msgid "Report issues and request features on"
msgstr "Ilmoita ongelmista ja pyydä ominaisuuksia käyttöön"

#: app/templates/main/help.html:751
msgid ""
"As an admin, you can access additional system information and diagnostics in"
" the"
msgstr "Järjestelmänvalvojana voit käyttää järjestelmän lisätietoja ja diagnostiikkaa"

#: app/templates/main/help.html:751
msgid "section."
msgstr "osio."

#: app/templates/main/help.html:760
msgid "Still Need Help?"
msgstr "Tarvitsetko edelleen apua?"

#: app/templates/main/help.html:761
msgid "Can't find what you're looking for? Here are additional resources:"
msgstr "Etkö löydä etsimääsi? Tässä on lisäresursseja:"

#: app/templates/main/help.html:769
msgid "GitHub Repository"
msgstr "GitHub-arkisto"

#: app/templates/main/help.html:772
msgid "Report Issue"
msgstr "Ilmoita ongelmasta"

#: app/templates/main/search.html:11
msgid "Search Results"
msgstr "Hakutulokset"

#: app/templates/main/search.html:14
msgid "Search notes or tags"
msgstr "Hae muistiinpanoja tai tunnisteita"

#: app/templates/main/search.html:25
msgid "Results"
msgstr "Tulokset"

#: app/templates/main/search.html:35
msgid "End"
msgstr "Loppu"

#: app/templates/main/search.html:69
msgid ""
"Are you sure you want to delete this time entry? This action cannot be "
"undone."
msgstr "Haluatko varmasti poistaa tämän aikamerkinnän? Tätä toimintoa ei voi kumota."

#: app/templates/main/search.html:89 app/templates/tasks/my_tasks.html:345
msgid "Previous"
msgstr "Edellinen"

#: app/templates/main/search.html:95 app/utils/pdf_generator_fallback.py:562
msgid "Page"
msgstr "Sivu"

#: app/templates/main/search.html:95 app/templates/projects/dashboard.html:52
msgid "of"
msgstr "/"

#: app/templates/main/search.html:99 app/templates/tasks/my_tasks.html:371
msgid "Next"
msgstr "Seuraavaksi"

#: app/templates/main/search.html:109
msgid "No results found"
msgstr "Tuloksia ei löytynyt"

#: app/templates/main/search.html:110
msgid "Try a different query or check your spelling."
msgstr "Kokeile toista kyselyä tai tarkista oikeinkirjoitus."

#: app/templates/mileage/form.html:55
msgid "e.g., Client meeting, Site visit"
msgstr "esim. asiakastapaaminen, sivustokäynti"

#: app/templates/mileage/form.html:64
msgid "Additional details..."
msgstr "Lisätietoja..."

#: app/templates/mileage/form.html:83
msgid "e.g., Office, Home"
msgstr "esim. toimisto, koti"

#: app/templates/mileage/form.html:93
msgid "e.g., Client site, Airport"
msgstr "esim. asiakassivusto, lentokenttä"

#: app/templates/mileage/form.html:124
msgid "e.g., 12345"
msgstr "esim. 12345"

#: app/templates/mileage/form.html:134
msgid "e.g., 12400"
msgstr "esim. 12400"

#: app/templates/mileage/form.html:184
msgid "e.g., VW Golf"
msgstr "esim VW Golf"

#: app/templates/mileage/form.html:194
msgid "e.g., ABC-123"
msgstr "esim. ABC-123"

#: app/templates/mileage/list.html:59
msgid "Filter Mileage"
msgstr "Suodattimen kilometrimäärä"

#: app/templates/mileage/list.html:69
msgid "Purpose, location..."
msgstr "Tarkoitus, sijainti..."

#: app/templates/mileage/view.html:247
msgid "Optional approval notes..."
msgstr "Valinnaiset hyväksymistiedot..."

#: app/templates/mileage/view.html:256 app/templates/per_diem/view.html:103
msgid "Rejection reason (required)"
msgstr "Hylkäämisen syy (pakollinen)"

#: app/templates/payments/create.html:7
msgid "Record New Payment"
msgstr "Tallenna uusi maksu"

#: app/templates/payments/list.html:24
msgid "Total Payments"
msgstr "Maksut yhteensä"

#: app/templates/payments/list.html:37
msgid "Gateway Fees"
msgstr "Yhdyskäytävämaksut"

#: app/templates/payments/list.html:45
msgid "Filter Payments"
msgstr "Suodata maksut"

#: app/templates/payments/list.html:222
msgid "Delete Selected Payments"
msgstr "Poista valitut maksut"

#: app/templates/payments/list.html:242
msgid "Change Status for Selected Payments"
msgstr "Muuta valittujen maksujen tilaa"

#: app/templates/payments/view.html:21
msgid "Payment Details"
msgstr "Maksutiedot"

#: app/templates/payments/view.html:151
msgid "Related Invoice"
msgstr "Asiaan liittyvä lasku"

#: app/templates/per_diem/form.html:34
msgid "e.g., Business trip to Berlin"
msgstr "esim. työmatka Berliiniin"

#: app/templates/per_diem/form.html:62 app/templates/per_diem/rate_form.html:41
msgid "e.g., DE, US, GB"
msgstr "esim. DE, US, GB"

#: app/templates/per_diem/form.html:73 app/templates/per_diem/rate_form.html:52
msgid "e.g., Berlin"
msgstr "esim Berliini"

#: app/templates/per_diem/list.html:47
msgid "Filter Claims"
msgstr "Suodata väitteet"

#: app/templates/per_diem/list.html:122
msgid "Delete Selected Claims"
msgstr "Poista valitut vaatimukset"

#: app/templates/per_diem/list.html:142
msgid "Change Status for Selected Claims"
msgstr "Muuta valittujen vaatimusten tilaa"

#: app/templates/per_diem/rate_form.html:162
msgid "Additional notes about this rate..."
msgstr "Lisähuomautuksia tästä hinnasta..."

#: app/templates/per_diem/rates_list.html:110
#: app/templates/per_diem/rates_list.html:121
msgid "Are you sure you want to delete this per diem rate?"
msgstr "Haluatko varmasti poistaa tämän päivärahan?"

#: app/templates/per_diem/rates_list.html:111
msgid "Delete Per Diem Rate"
msgstr "Poista päivärahoitus"

#: app/templates/projects/_kanban_tailwind.html:4
msgid "Kanban board columns"
msgstr "Kanban-taulupylväät"

#: app/templates/projects/_kanban_tailwind.html:17
msgid "Edit swimlane"
msgstr "Muokkaa uimarataa"

#: app/templates/projects/_kanban_tailwind.html:23
msgid "Column"
msgstr "Sarake"

#: app/templates/projects/add_good.html:6
msgid "Add Extra Good"
msgstr "Lisää Extra Good"

#: app/templates/projects/add_good.html:7
msgid "Add a product or service to"
msgstr "Lisää tuote tai palvelu"

#: app/templates/projects/add_good.html:9 app/templates/projects/dashboard.html:9
#: app/templates/projects/edit.html:11 app/templates/projects/edit_good.html:9
#: app/templates/projects/goods.html:10
msgid "Back to Project"
msgstr "Takaisin projektiin"

#: app/templates/projects/add_good.html:40
#: app/templates/projects/edit_good.html:40
msgid "SKU/Product Code"
msgstr "SKU/tuotekoodi"

#: app/templates/projects/archive.html:24
msgid "What happens when you archive a project?"
msgstr "Mitä tapahtuu, kun arkistoit projektin?"

#: app/templates/projects/archive.html:26
msgid "The project will be hidden from active project lists"
msgstr "Projekti piilotetaan aktiivisten projektien luetteloista"

#: app/templates/projects/archive.html:27
msgid "No new time entries can be added to this project"
msgstr "Tähän projektiin ei voi lisätä uusia aikamerkintöjä"

#: app/templates/projects/archive.html:28
msgid "Existing data and time entries are preserved"
msgstr "Olemassa olevat tiedot ja aikamerkinnät säilyvät"

#: app/templates/projects/archive.html:29
msgid "You can unarchive the project later if needed"
msgstr "Voit tarvittaessa purkaa projektin arkistoinnin myöhemmin"

#: app/templates/projects/archive.html:41
msgid "Reason for Archiving"
msgstr "Syy arkistointiin"

#: app/templates/projects/archive.html:48
msgid "e.g., Project completed, Client contract ended, Project cancelled, etc."
msgstr "esim. projekti valmis, asiakassopimus päättynyt, projekti peruttu jne."

#: app/templates/projects/archive.html:51
msgid "Adding a reason helps with project organization and future reference."
msgstr "Syyn lisääminen helpottaa projektin organisointia ja tulevaa viittausta."

#: app/templates/projects/archive.html:58
msgid "Quick Select"
msgstr "Pikavalinta"

#: app/templates/projects/archive.html:61
msgid "Project completed successfully"
msgstr "Projekti suoritettu onnistuneesti"

#: app/templates/projects/archive.html:62
msgid "Project Completed"
msgstr "Projekti valmis"

#: app/templates/projects/archive.html:64
msgid "Client contract ended"
msgstr "Asiakassopimus päättyi"

#: app/templates/projects/archive.html:65 app/templates/projects/list.html:549
msgid "Contract Ended"
msgstr "Sopimus päättynyt"

#: app/templates/projects/archive.html:67
msgid "Project cancelled by client"
msgstr "Asiakas peruutti projektin"

#: app/templates/projects/archive.html:70
msgid "Project on hold indefinitely"
msgstr "Projekti keskeytetty toistaiseksi"

#: app/templates/projects/archive.html:71
msgid "On Hold"
msgstr "Pidossa"

#: app/templates/projects/archive.html:73
msgid "Maintenance period ended"
msgstr "Huoltojakso päättyi"

#: app/templates/projects/archive.html:74
msgid "Maintenance Ended"
msgstr "Huolto päättynyt"

#: app/templates/projects/archive.html:85
msgid "Archive Project"
msgstr "Arkistoprojekti"

#: app/templates/projects/create.html:3 app/templates/projects/create.html:8
#: app/templates/projects/create.html:93 app/templates/quotes/accept.html:41
msgid "Create Project"
msgstr "Luo projekti"

#: app/templates/projects/create.html:9
msgid "Set up a new project to organize your work and track time effectively"
msgstr "Järjestä työsi ja seuraa aikaa tehokkaasti luomalla uusi projekti"

#: app/templates/projects/create.html:11
msgid "Back to Projects"
msgstr "Takaisin Projekteihin"

#: app/templates/projects/create.html:23
msgid "Enter a descriptive project name"
msgstr "Anna kuvaava projektin nimi"

#: app/templates/projects/create.html:24
msgid "Choose a clear, descriptive name that explains the project scope"
msgstr "Valitse selkeä, kuvaava nimi, joka selittää projektin laajuuden"

#: app/templates/projects/create.html:27 app/templates/projects/edit.html:26
#: app/templates/projects/view.html:10 app/templates/projects/view.html:71
msgid "Project Code"
msgstr "Projektikoodi"

#: app/templates/projects/create.html:28 app/templates/projects/edit.html:27
msgid "Short code, e.g., ABC"
msgstr "Lyhyt koodi, esim. ABC"

#: app/templates/projects/create.html:29
msgid "Optional: Short tag shown on Kanban cards"
msgstr "Valinnainen: Lyhyt tunniste näkyy Kanban-korteissa"

#: app/templates/projects/create.html:34 app/templates/projects/edit.html:32
msgid "Select a client..."
msgstr "Valitse asiakas..."

#: app/templates/projects/create.html:40 app/templates/projects/edit.html:37
msgid "Create new client"
msgstr "Luo uusi asiakas"

#: app/templates/projects/create.html:51
msgid ""
"Provide detailed information about the project, objectives, and "
"deliverables..."
msgstr "Anna yksityiskohtaista tietoa projektista, tavoitteista ja suorituksista..."

#: app/templates/projects/create.html:54
msgid "Optional: Add context, objectives, or specific requirements for the project"
msgstr ""
"Valinnainen: Lisää kontekstia, tavoitteita tai erityisiä vaatimuksia "
"projektille"

#: app/templates/projects/create.html:61
msgid "Billable Project"
msgstr "Laskutettava projekti"

#: app/templates/projects/create.html:63
msgid "Enable billing for this project"
msgstr "Ota tämän projektin laskutus käyttöön"

#: app/templates/projects/create.html:68 app/templates/projects/edit.html:62
msgid "Leave empty for non-billable projects"
msgstr "Jätä tyhjäksi ei-laskutettaville projekteille"

#: app/templates/projects/create.html:74
msgid "PO number, contract reference, etc."
msgstr "PO-numero, sopimusviite jne."

#: app/templates/projects/create.html:75
msgid "Optional: Add a reference number or identifier for billing purposes"
msgstr "Valinnainen: Lisää viitenumero tai tunniste laskutusta varten"

#: app/templates/projects/create.html:80 app/templates/projects/edit.html:73
msgid "Budget Amount"
msgstr "Budjetin summa"

#: app/templates/projects/create.html:81 app/templates/projects/edit.html:74
msgid "e.g. 10000.00"
msgstr "esim. 10 000,00"

#: app/templates/projects/create.html:82
msgid "Optional: Set a total project budget to monitor spend"
msgstr "Valinnainen: Aseta projektin kokonaisbudjetti kulutuksen seurantaa varten"

#: app/templates/projects/create.html:85 app/templates/projects/edit.html:77
msgid "Alert Threshold (%)"
msgstr "Varoituskynnys (%)"

#: app/templates/projects/create.html:87
msgid "Notify when consumed budget exceeds this threshold"
msgstr "Ilmoita, kun kulutettu budjetti ylittää tämän kynnyksen"

#: app/templates/projects/create.html:101
msgid "Project Creation Tips"
msgstr "Vinkkejä projektin luomiseen"

#: app/templates/projects/create.html:103 app/templates/tasks/create.html:133
msgid "Clear Naming"
msgstr "Tyhjennä nimeäminen"

#: app/templates/projects/create.html:103
msgid "Use descriptive names that clearly indicate the project's purpose"
msgstr "Käytä kuvaavia nimiä, jotka osoittavat selvästi projektin tarkoituksen"

#: app/templates/projects/create.html:104
msgid "Billing Setup"
msgstr "Laskutusasetukset"

#: app/templates/projects/create.html:104
msgid "Set appropriate hourly rates based on project complexity and client budget"
msgstr ""
"Aseta sopivat tuntihinnat projektin monimutkaisuuden ja asiakkaan budjetin "
"mukaan"

#: app/templates/projects/create.html:105
msgid "Detailed Description"
msgstr "Yksityiskohtainen kuvaus"

#: app/templates/projects/create.html:105
msgid "Include project objectives, deliverables, and key requirements"
msgstr "Sisällytä projektin tavoitteet, suoritteet ja keskeiset vaatimukset"

#: app/templates/projects/create.html:106
msgid "Client Selection"
msgstr "Asiakkaan valinta"

#: app/templates/projects/create.html:106
msgid "Choose the right client to ensure proper project organization"
msgstr "Valitse oikea asiakas varmistaaksesi oikean projektin organisoinnin"

#: app/templates/projects/create.html:334 app/templates/projects/create.html:455
msgid "Creating..."
msgstr "Luodaan..."

#: app/templates/projects/create.html:474
msgid "Could not create client. Please try again."
msgstr "Asiakasta ei voitu luoda. Yritä uudelleen."

#: app/templates/projects/create.html:500
msgid "Client created"
msgstr "Asiakas luotu"

#: app/templates/projects/create.html:504
msgid "Network error while creating client"
msgstr "Verkkovirhe asiakasta luotaessa"

#: app/templates/projects/dashboard.html:19
msgid "Project Dashboard & Analytics"
msgstr "Project Dashboard & Analytics"

#: app/templates/projects/dashboard.html:28 app/templates/projects/view.html:24
msgid "Budget Analysis"
msgstr "Budjettianalyysi"

#: app/templates/projects/dashboard.html:32
msgid "All Time"
msgstr "Kaikki aika"

#: app/templates/projects/dashboard.html:33
msgid "Last 7 Days"
msgstr "Viimeiset 7 päivää"

#: app/templates/projects/dashboard.html:34
msgid "Last 30 Days"
msgstr "Viimeiset 30 päivää"

#: app/templates/projects/dashboard.html:35
msgid "Last 3 Months"
msgstr "Viimeiset 3 kuukautta"

#: app/templates/projects/dashboard.html:36
msgid "Last Year"
msgstr "Viime vuonna"

#: app/templates/projects/dashboard.html:52
msgid "estimated"
msgstr "arvioitu"

#: app/templates/projects/dashboard.html:66 app/templates/projects/view.html:147
msgid "Budget Used"
msgstr "Käytetty budjetti"

#: app/templates/projects/dashboard.html:70
msgid "of budget"
msgstr "budjetista"

#: app/templates/projects/dashboard.html:84
msgid "Tasks Complete"
msgstr "Tehtävät suoritettu"

#: app/templates/projects/dashboard.html:87
msgid "completion"
msgstr "valmistuminen"

#: app/templates/projects/dashboard.html:100
msgid "Team Members"
msgstr "Joukkueen jäsenet"

#: app/templates/projects/dashboard.html:102
msgid "contributing"
msgstr "myötävaikuttaa"

#: app/templates/projects/dashboard.html:117
msgid "Budget vs. Actual"
msgstr "Budjetti vs. todellinen"

#: app/templates/projects/dashboard.html:139
msgid "No budget set for this project"
msgstr "Tälle projektille ei ole asetettu budjettia"

#: app/templates/projects/dashboard.html:149
msgid "Task Status Distribution"
msgstr "Tehtävän tilan jakelu"

#: app/templates/projects/dashboard.html:167
msgid "No tasks created yet"
msgstr "Tehtäviä ei ole vielä luotu"

#: app/templates/projects/dashboard.html:180
msgid "Team Member Contributions"
msgstr "Ryhmän jäsenten panokset"

#: app/templates/projects/dashboard.html:204
msgid "No time entries recorded yet"
msgstr "Aikamerkintöjä ei ole vielä tallennettu"

#: app/templates/projects/dashboard.html:214
msgid "Time Tracking Timeline"
msgstr "Aikaseurannan aikajana"

#: app/templates/projects/dashboard.html:224
msgid "Select a time period to view timeline"
msgstr "Valitse ajanjakso nähdäksesi aikajanan"

#: app/templates/projects/dashboard.html:272
msgid "Team Member Details"
msgstr "Joukkueen jäsentiedot"

#: app/templates/projects/dashboard.html:285
msgid "entries"
msgstr "merkinnät"

#: app/templates/projects/dashboard.html:289
msgid "tasks"
msgstr "tehtäviä"

#: app/templates/projects/dashboard.html:307
msgid "No team members have logged time yet"
msgstr "Yksikään tiimin jäsen ei ole vielä kirjannut aikaa"

#: app/templates/projects/dashboard.html:320
msgid "Attention Required"
msgstr "Huomiota vaaditaan"

#: app/templates/projects/dashboard.html:322
msgid "task(s) are overdue"
msgstr "tehtävä(t) on myöhässä"

#: app/templates/projects/edit.html:3 app/templates/projects/edit.html:8
#: app/templates/projects/list.html:214 app/templates/projects/view.html:28
msgid "Edit Project"
msgstr "Muokkaa projektia"

#: app/templates/projects/edit_good.html:6
msgid "Edit Extra Good"
msgstr "Edit Extra Good"

#: app/templates/projects/goods.html:7
msgid "Manage products and services for this project"
msgstr "Hallinnoi tämän projektin tuotteita ja palveluita"

#: app/templates/projects/goods.html:17
msgid "Total Goods"
msgstr "Tavarat yhteensä"

#: app/templates/projects/goods.html:25
msgid "Billable Amount"
msgstr "Laskutettava summa"

#: app/templates/projects/goods.html:29
msgid "Categories"
msgstr "Luokat"

#: app/templates/projects/goods.html:68
msgid "Invoiced"
msgstr "Laskutettu"

#: app/templates/projects/goods.html:72
msgid "Non-billable"
msgstr "Ei laskutettavissa"

#: app/templates/projects/goods.html:81
msgid "Are you sure you want to delete this extra good?"
msgstr "Haluatko varmasti poistaa tämän ylimääräisen tuotteen?"

#: app/templates/projects/goods.html:81
msgid "Delete Extra Good"
msgstr "Poista Extra Good"

#: app/templates/projects/goods.html:98
msgid "No extra goods found for this project"
msgstr "Tähän projektiin ei löytynyt ylimääräisiä tuotteita"

#: app/templates/projects/goods.html:99
msgid "Add Your First Good"
msgstr "Lisää ensimmäinen tavarasi"

#: app/templates/projects/goods.html:105
msgid "Breakdown by Category"
msgstr "Jaottelu kategorioiden mukaan"

#: app/templates/projects/goods.html:111
msgid "item(s)"
msgstr "tuote(t)"

#: app/templates/projects/list.html:19
msgid "Filter Projects"
msgstr "Suodata projektit"

#: app/templates/projects/list.html:70
msgid "List View"
msgstr "Luettelonäkymä"

#: app/templates/projects/list.html:73
msgid "Grid View"
msgstr "Ruudukkonäkymä"

#: app/templates/projects/view.html:32
msgid "Mark project as Inactive?"
msgstr "Merkitäänkö projekti ei-aktiiviseksi?"

#: app/templates/projects/view.html:32
msgid "Change Project Status"
msgstr "Muuta projektin tilaa"

#: app/templates/projects/view.html:37
msgid "Activate project?"
msgstr "Aktivoi projekti?"

#: app/templates/projects/view.html:37
msgid "Activate Project"
msgstr "Aktivoi projekti"

#: app/templates/projects/view.html:45
msgid "Archive"
msgstr "Arkisto"

#: app/templates/projects/view.html:47
msgid "Unarchive project?"
msgstr "Poistetaanko projekti arkistosta?"

#: app/templates/projects/view.html:47
msgid "Unarchive Project"
msgstr "Poista projekti arkistosta"

#: app/templates/projects/view.html:47 app/templates/projects/view.html:49
msgid "Unarchive"
msgstr "Poista arkistosta"

#: app/templates/projects/view.html:55
msgid "Delete Project"
msgstr "Poista projekti"

#: app/templates/projects/view.html:100
msgid "Archive Information"
msgstr "Arkiston tiedot"

#: app/templates/projects/view.html:103
msgid "Archived on:"
msgstr "Arkistoitu:"

#: app/templates/projects/view.html:108
msgid "Archived by:"
msgstr "Arkistointi:"

#: app/templates/projects/view.html:114
msgid "Reason:"
msgstr "Syy:"

#: app/templates/projects/view.html:130
msgid "Budget Overview"
msgstr "Budjetin yleiskatsaus"

#: app/templates/projects/view.html:179
msgid "Over"
msgstr "Yli"

#: app/templates/projects/view.html:202
msgid "View Full Budget Analysis"
msgstr "Näytä koko budjettianalyysi"

#: app/templates/projects/view.html:226
msgid "Tasks for this project"
msgstr "Tehtävät tälle projektille"

#: app/templates/projects/view.html:231 app/templates/tasks/_kanban.html:1235
#: app/templates/tasks/create.html:59 app/templates/tasks/edit.html:83
#: app/templates/tasks/my_tasks.html:134
msgid "Priority"
msgstr "Prioriteetti"

#: app/templates/projects/view.html:233
msgid "Due"
msgstr "Erääntynyt"

#: app/templates/projects/view.html:279
msgid "No tasks for this project."
msgstr "Ei tehtäviä tälle projektille."

#: app/templates/quotes/accept.html:3 app/templates/quotes/accept.html:8
#: app/templates/quotes/view.html:229
msgid "Accept Quote"
msgstr "Hyväksy tarjous"

#: app/templates/quotes/accept.html:11
msgid "Back to Quote"
msgstr "Takaisin lainaukseen"

#: app/templates/quotes/accept.html:42
msgid ""
"Accepting this quote will create a new project with the budget from the "
"quote."
msgstr "Tämän tarjouksen hyväksyminen luo uuden projektin tarjouksen budjetilla."

#: app/templates/quotes/accept.html:50
msgid "The project will be created with the budget from the quote"
msgstr "Projekti luodaan tarjouksen budjetilla"

#: app/templates/quotes/accept.html:55
msgid "Accept Quote & Create Project"
msgstr "Hyväksy tarjous ja luo projekti"

#: app/templates/quotes/create.html:4 app/templates/quotes/create.html:202
msgid "Create Quote"
msgstr "Luo tarjous"

#: app/templates/quotes/create.html:33
msgid "Select a client"
msgstr "Valitse asiakas"

#: app/templates/quotes/create.html:41 app/templates/quotes/edit.html:33
msgid "Quote title"
msgstr "Lainaus otsikko"

#: app/templates/quotes/create.html:46 app/templates/quotes/edit.html:47
msgid "Quote description"
msgstr "Lainauskuvaus"

#: app/templates/quotes/create.html:89 app/templates/quotes/edit.html:116
msgid "Financial Details"
msgstr "Taloudelliset tiedot"

#: app/templates/quotes/create.html:119 app/templates/quotes/edit.html:146
msgid "Select payment terms"
msgstr "Valitse maksuehdot"

#: app/templates/quotes/create.html:120 app/templates/quotes/edit.html:147
msgid "Due on Receipt"
msgstr "Erääntyy kuitti"

#: app/templates/quotes/create.html:128 app/templates/quotes/edit.html:155
msgid "Or enter custom payment terms"
msgstr "Tai syötä mukautetut maksuehdot"

#: app/templates/quotes/create.html:130 app/templates/quotes/edit.html:157
msgid "Use custom terms"
msgstr "Käytä mukautettuja termejä"

#: app/templates/quotes/create.html:138 app/templates/quotes/edit.html:165
#: app/templates/quotes/pdf_default.html:102 app/templates/quotes/view.html:116
msgid "Discount"
msgstr "Alennus"

#: app/templates/quotes/create.html:142 app/templates/quotes/edit.html:169
msgid "Discount Type"
msgstr "Alennustyyppi"

#: app/templates/quotes/create.html:144 app/templates/quotes/edit.html:171
msgid "No Discount"
msgstr "Ei alennusta"

#: app/templates/quotes/create.html:145 app/templates/quotes/edit.html:172
msgid "Percentage (%)"
msgstr "prosenttiosuus (%)"

#: app/templates/quotes/create.html:146 app/templates/quotes/edit.html:173
msgid "Fixed Amount"
msgstr "Kiinteä määrä"

#: app/templates/quotes/create.html:150 app/templates/quotes/edit.html:177
msgid "Discount Amount"
msgstr "Alennussumma"

#: app/templates/quotes/create.html:151 app/templates/quotes/edit.html:178
msgid "0.00"
msgstr "0,00"

#: app/templates/quotes/create.html:156 app/templates/quotes/edit.html:183
msgid "Coupon Code"
msgstr "Kuponkikoodi"

#: app/templates/quotes/create.html:157 app/templates/quotes/edit.html:184
msgid "Optional coupon code"
msgstr "Valinnainen kuponkikoodi"

#: app/templates/quotes/create.html:160 app/templates/quotes/edit.html:187
msgid "Discount Reason"
msgstr "Alennuksen syy"

#: app/templates/quotes/create.html:161 app/templates/quotes/edit.html:188
msgid "Reason for discount"
msgstr "Syy alennukseen"

#: app/templates/quotes/create.html:169
msgid "Approval Workflow"
msgstr "Hyväksynnän työnkulku"

#: app/templates/quotes/create.html:174
msgid "Requires approval before sending"
msgstr "Vaatii hyväksynnän ennen lähettämistä"

#: app/templates/quotes/create.html:182 app/templates/quotes/edit.html:196
msgid "Additional Information"
msgstr "Lisätietoja"

#: app/templates/quotes/create.html:186 app/templates/quotes/edit.html:200
msgid "Internal notes (not visible to client)"
msgstr "Sisäiset huomautukset (ei näy asiakkaalle)"

#: app/templates/quotes/create.html:187 app/templates/quotes/edit.html:201
msgid "These notes are only visible to your team"
msgstr "Nämä muistiinpanot näkyvät vain tiimillesi"

#: app/templates/quotes/create.html:190 app/templates/quotes/edit.html:204
#: app/templates/quotes/view.html:152
msgid "Terms and Conditions"
msgstr "Ehdot"

#: app/templates/quotes/create.html:191 app/templates/quotes/edit.html:205
msgid "Terms and conditions"
msgstr "Ehdot"

#: app/templates/quotes/create.html:192 app/templates/quotes/edit.html:206
msgid "These terms will be visible to the client"
msgstr "Nämä ehdot näkyvät asiakkaalle"

#: app/templates/quotes/edit.html:4 app/templates/quotes/view.html:19
msgid "Edit Quote"
msgstr "Muokkaa lainausta"

#: app/templates/quotes/edit.html:41
msgid "Client cannot be changed"
msgstr "Asiakasta ei voi vaihtaa"

#: app/templates/quotes/edit.html:216
msgid "Update Quote"
msgstr "Päivitä lainaus"

#: app/templates/quotes/list.html:21
msgid "Total Quotes"
msgstr "Lainauksia yhteensä"

#: app/templates/quotes/list.html:29
msgid "Acceptance Rate"
msgstr "Hyväksymisprosentti"

#: app/templates/quotes/list.html:33
msgid "Avg Quote Value"
msgstr "Keskimääräinen tarjouksen arvo"

#: app/templates/quotes/list.html:40
msgid "Quotes by Status"
msgstr "Lainaukset Statusin mukaan"

#: app/templates/quotes/list.html:51
msgid "Top Clients by Quotes"
msgstr "Parhaat asiakkaat lainausten mukaan"

#: app/templates/quotes/list.html:66
msgid "Filter Quotes"
msgstr "Suodata lainaukset"

#: app/templates/quotes/list.html:75
msgid "Search quotes..."
msgstr "Hae lainauksia..."

#: app/templates/quotes/list.html:83 app/templates/quotes/list.html:160
#: app/templates/quotes/view.html:65
msgid "Accepted"
msgstr "Hyväksytty"

#: app/templates/quotes/list.html:84 app/templates/quotes/list.html:162
#: app/templates/quotes/view.html:67 app/utils/i18n_helpers.py:161
#: app/utils/i18n_helpers.py:172
msgid "Rejected"
msgstr "Hylätty"

#: app/templates/quotes/list.html:106 app/templates/quotes/list.html:293
#: app/templates/quotes/view.html:24
msgid "Duplicate"
msgstr "Kopioi"

#: app/templates/quotes/list.html:107 app/templates/quotes/list.html:294
msgid "Mark as Sent"
msgstr "Merkitse lähetetyksi"

#: app/templates/quotes/list.html:181
msgid "Create Your First Quote"
msgstr "Luo ensimmäinen lainaus"

#: app/templates/quotes/list.html:185
msgid "Learn More"
msgstr "Lisätietoja"

#: app/templates/quotes/list.html:293
msgid "Are you sure you want to duplicate"
msgstr "Haluatko varmasti kopioida"

#: app/templates/quotes/list.html:293 app/templates/quotes/list.html:295
msgid "quote(s)?"
msgstr "lainausmerkit)?"

#: app/templates/quotes/list.html:294
msgid "Are you sure you want to mark"
msgstr "Haluatko varmasti merkitä"

#: app/templates/quotes/list.html:294
msgid "quote(s) as sent?"
msgstr "lainaukset lähetettyinä?"

#: app/templates/quotes/pdf_default.html:37
#: app/utils/pdf_generator_fallback.py:447
msgid "QUOTE"
msgstr "LAINATA"

#: app/templates/quotes/pdf_default.html:39
msgid "Quote #"
msgstr "Lainaus #"

#: app/templates/quotes/pdf_default.html:51
msgid "Quote For"
msgstr "Lainaus For"

#: app/templates/quotes/pdf_default.html:113
msgid "Subtotal After Discount:"
msgstr "Välisumma alennuksen jälkeen:"

#: app/templates/quotes/pdf_default.html:135
#: app/utils/pdf_generator_fallback.py:544
msgid "Description:"
msgstr "Kuvaus:"

#: app/templates/quotes/view.html:15
msgid "Back to Quotes"
msgstr "Takaisin lainauksiin"

#: app/templates/quotes/view.html:130
msgid "Subtotal After Discount"
msgstr "Välisumma alennuksen jälkeen"

#: app/templates/quotes/view.html:160
msgid "Related Project"
msgstr "Aiheeseen liittyvä projekti"

#: app/templates/quotes/view.html:177
msgid "Approval Status"
msgstr "Hyväksyntätila"

#: app/templates/quotes/view.html:179
msgid "Approval not yet requested"
msgstr "Hyväksyntää ei ole vielä pyydetty"

#: app/templates/quotes/view.html:183
msgid "Request Approval"
msgstr "Pyydä hyväksyntää"

#: app/templates/quotes/view.html:187
msgid "Pending approval"
msgstr "Odottaa hyväksyntää"

#: app/templates/quotes/view.html:190 app/templates/quotes/view.html:513
msgid "Approve"
msgstr "Hyväksyä"

#: app/templates/quotes/view.html:191 app/templates/quotes/view.html:233
#: app/templates/quotes/view.html:531
msgid "Reject"
msgstr "Hylätä"

#: app/templates/quotes/view.html:196
msgid "Approved by"
msgstr "Hyväksynyt"

#: app/templates/quotes/view.html:198 app/templates/quotes/view.html:205
msgid "on"
msgstr "päällä"

#: app/templates/quotes/view.html:203
msgid "Rejected by"
msgstr "Hylkäsi"

#: app/templates/quotes/view.html:214
msgid "Request Approval Again"
msgstr "Pyydä hyväksyntää uudelleen"

#: app/templates/quotes/view.html:224
msgid "Send Quote"
msgstr "Lähetä tarjous"

#: app/templates/quotes/view.html:233
msgid "Are you sure you want to reject this quote?"
msgstr "Haluatko varmasti hylätä tämän lainauksen?"

#: app/templates/quotes/view.html:233 app/templates/quotes/view.html:235
msgid "Reject Quote"
msgstr "Hylkää lainaus"

#: app/templates/quotes/view.html:242 app/templates/quotes/view.html:541
msgid "Delete Quote"
msgstr "Poista lainaus"

#: app/templates/quotes/view.html:277
msgid "Internal comment (not visible to client)"
msgstr "Sisäinen kommentti (ei näy asiakkaalle)"

#: app/templates/quotes/view.html:301 app/templates/quotes/view.html:328
#: app/templates/quotes/view.html:361
msgid "Internal"
msgstr "Sisäinen"

#: app/templates/quotes/view.html:303
msgid "Client Visible"
msgstr "Asiakas näkyvissä"

#: app/templates/quotes/view.html:310 app/templates/quotes/view.html:335
msgid "Are you sure you want to delete this comment?"
msgstr "Haluatko varmasti poistaa tämän kommentin?"

#: app/templates/quotes/view.html:357
msgid "Write a reply..."
msgstr "Kirjoita vastaus..."

#: app/templates/quotes/view.html:376
msgid "No comments yet. Start the conversation by adding the first comment."
msgstr "Ei vielä kommentteja. Aloita keskustelu lisäämällä ensimmäinen kommentti."

#: app/templates/quotes/view.html:405
msgid "Sent At"
msgstr "Lähetetty klo"

#: app/templates/quotes/view.html:411
msgid "Accepted At"
msgstr "Hyväksytty klo"

#: app/templates/quotes/view.html:426
msgid "Send Quote via Email"
msgstr "Lähetä tarjous sähköpostitse"

#: app/templates/quotes/view.html:434
msgid "Recipient Email"
msgstr "Vastaanottajan sähköposti"

#: app/templates/quotes/view.html:442
#, python-format
msgid "Quote %(quote_number)s"
msgstr "Lainaus %(quote_number)s"

#: app/templates/quotes/view.html:446
msgid "Custom Message (Optional)"
msgstr "Muokattu viesti (valinnainen)"

#: app/templates/quotes/view.html:449
msgid "Add a custom message to the email..."
msgstr "Lisää mukautettu viesti sähköpostiin..."

#: app/templates/quotes/view.html:453
msgid "Attach PDF"
msgstr "Liitä PDF"

#: app/templates/quotes/view.html:505
msgid "Approve Quote"
msgstr "Hyväksy tarjous"

#: app/templates/quotes/view.html:509
msgid "Notes (Optional)"
msgstr "Huomautukset (valinnainen)"

#: app/templates/quotes/view.html:510
msgid "Add approval notes..."
msgstr "Lisää hyväksyntähuomautuksia..."

#: app/templates/quotes/view.html:523
msgid "Reject Quote Approval"
msgstr "Hylkää tarjouksen hyväksyminen"

#: app/templates/quotes/view.html:527
msgid "Rejection Reason"
msgstr "Hylkäämisen syy"

#: app/templates/quotes/view.html:528
msgid "Please provide a reason for rejection..."
msgstr "Kerro hylkäämisen syy..."

#: app/templates/quotes/view.html:542
msgid "Are you sure you want to delete this quote? This action cannot be undone."
msgstr "Haluatko varmasti poistaa tämän lainauksen? Tätä toimintoa ei voi kumota."

#: app/templates/recurring_invoices/create.html:124
#: app/templates/recurring_invoices/list.html:15
msgid "Create Recurring Invoice"
msgstr "Luo toistuva lasku"

#: app/templates/recurring_invoices/edit.html:111
msgid "Update Recurring Invoice"
msgstr "Päivitä toistuva lasku"

#: app/templates/recurring_invoices/list.html:12
msgid "Automate invoice generation for subscription-based billing"
msgstr "Automatisoi laskujen luonti tilausperusteista laskutusta varten"

#: app/templates/recurring_invoices/list.html:26
msgid "Frequency"
msgstr "Taajuus"

#: app/templates/recurring_invoices/list.html:27
msgid "Next Run"
msgstr "Seuraava juoksu"

#: app/templates/recurring_invoices/view.html:17
msgid "Generate Now"
msgstr "Luo nyt"

#: app/templates/recurring_invoices/view.html:22
#: app/templates/time_entry_templates/view.html:24
msgid "Template Details"
msgstr "Mallin tiedot"

#: app/templates/recurring_invoices/view.html:53
msgid "Invoice Settings"
msgstr "Laskuasetukset"

#: app/templates/recurring_invoices/view.html:92
msgid "Recently Generated Invoices"
msgstr "Äskettäin luodut laskut"

#: app/templates/reports/export_form.html:171
msgid "e.g., development, meeting, urgent"
msgstr "esim. kehitys, tapaaminen, kiireellinen"

#: app/templates/reports/index.html:62
msgid "Date Range & Comparison"
msgstr "Ajanjakso ja vertailu"

#: app/templates/reports/index.html:66
msgid "Quick Date Ranges"
msgstr "Nopeat päivämääräalueet"

#: app/templates/reports/index.html:95
msgid "Comparison View"
msgstr ""

#: app/templates/reports/index.html:121
msgid "Comparison Results"
msgstr "Vertailutulokset"

#: app/templates/reports/index.html:130
msgid "Export Reports"
msgstr "Vie raportit"

#: app/templates/reports/index.html:133
msgid "Export Format"
msgstr "Vie muoto"

#: app/templates/reports/index.html:143
msgid "Scheduled Reports"
msgstr "Aikataulutetut raportit"

#: app/templates/reports/index.html:164
msgid "Report Types"
msgstr ""

#: app/templates/reports/index.html:167
#: app/templates/reports/project_report.html:5
msgid "Project Report"
msgstr ""

#: app/templates/reports/index.html:170 app/templates/reports/user_report.html:5
msgid "User Report"
msgstr "Käyttäjäraportti"

#: app/templates/reports/index.html:173 app/templates/reports/summary.html:6
msgid "Summary Report"
msgstr "Yhteenvetoraportti"

#: app/templates/reports/index.html:176 app/templates/reports/task_report.html:5
msgid "Task Report"
msgstr "Tehtäväraportti"

#: app/templates/reports/index.html:182
msgid "Recent Entries"
msgstr "Viimeaikaiset merkinnät"

#: app/templates/reports/user_report.html:108
msgid "About Overtime Tracking"
msgstr ""

#: app/templates/saved_filters/list.html:46
msgid "Apply filter"
msgstr "Käytä suodatinta"

#: app/templates/saved_filters/list.html:51
msgid "Are you sure you want to delete this filter?"
msgstr ""

#: app/templates/saved_filters/list.html:51
msgid "Delete Filter"
msgstr "Poista suodatin"

#: app/templates/settings/keyboard_shortcuts.html:227
msgid "Customize Shortcuts"
msgstr "Mukauta pikakuvakkeita"

#: app/templates/settings/keyboard_shortcuts.html:235
msgid "Search shortcuts..."
msgstr "Haun pikanäppäimet..."

#: app/templates/settings/keyboard_shortcuts.html:461
msgid "This will reset all keyboard shortcuts to their default values. Continue?"
msgstr "Tämä palauttaa kaikki pikanäppäimet oletusarvoihinsa. Jatkaa?"

#: app/templates/settings/keyboard_shortcuts.html:463
msgid "Reset to Defaults"
msgstr "Palauta oletusarvoihin"

#: app/templates/setup/initial_setup.html:6
msgid "Welcome"
msgstr "Tervetuloa"

#: app/templates/setup/initial_setup.html:30
msgid "Privacy First"
msgstr "Yksityisyys ensin"

#: app/templates/setup/initial_setup.html:35
msgid "Self-hosted on your server"
msgstr "Isännöi itse palvelimellasi"

#: app/templates/setup/initial_setup.html:41
msgid "Anonymous telemetry (opt-in)"
msgstr "Anonyymi telemetria (opt-in)"

#: app/templates/setup/initial_setup.html:47
msgid "No PII collected ever"
msgstr ""

#: app/templates/setup/initial_setup.html:53
msgid "Open source & transparent"
msgstr "Avoin lähdekoodi ja läpinäkyvä"

#: app/templates/setup/initial_setup.html:61
msgid "Welcome to TimeTracker"
msgstr "Tervetuloa TimeTrackeriin"

#: app/templates/setup/initial_setup.html:62
msgid "Let's get you set up in just a moment"
msgstr "Laitetaan asetukset hetkessä"

#: app/templates/setup/initial_setup.html:69
msgid "Thank you for choosing TimeTracker!"
msgstr "Kiitos, että valitsit TimeTrackerin!"

#: app/templates/setup/initial_setup.html:71
msgid "Your data stays on your server, and you have complete control."
msgstr "Tietosi pysyvät palvelimellasi, ja sinulla on täydellinen hallinta."

#: app/templates/setup/initial_setup.html:77
msgid "Help Us Improve (Optional)"
msgstr "Auta meitä parantamaan (valinnainen)"

#: app/templates/setup/initial_setup.html:83
msgid "Enable anonymous telemetry"
msgstr "Ota anonyymi telemetria käyttöön"

#: app/templates/setup/initial_setup.html:85
msgid "Help us understand usage patterns to improve TimeTracker"
msgstr "Auta meitä ymmärtämään käyttötapoja TimeTrackerin parantamiseksi"

#: app/templates/setup/initial_setup.html:94
msgid "What data is collected?"
msgstr "Mitä tietoja kerätään?"

#: app/templates/setup/initial_setup.html:98
msgid "What we collect:"
msgstr "Mitä keräämme:"

#: app/templates/setup/initial_setup.html:100
msgid "Anonymous installation fingerprint (hashed)"
msgstr ""

#: app/templates/setup/initial_setup.html:101
msgid "Application version & platform info"
msgstr ""

#: app/templates/setup/initial_setup.html:102
msgid "Feature usage statistics"
msgstr "Ominaisuuden käyttötilastot"

#: app/templates/setup/initial_setup.html:103
msgid "Internal numeric IDs only"
msgstr ""

#: app/templates/setup/initial_setup.html:108
msgid "What we DON'T collect:"
msgstr ""

#: app/templates/setup/initial_setup.html:110
msgid "No usernames or emails"
msgstr "Ei käyttäjätunnuksia tai sähköpostiosoitteita"

#: app/templates/setup/initial_setup.html:111
msgid "No project names or descriptions"
msgstr ""

#: app/templates/setup/initial_setup.html:112
msgid "No time entry data or notes"
msgstr "Ei ajansyöttötietoja tai muistiinpanoja"

#: app/templates/setup/initial_setup.html:113
msgid "No client or business data"
msgstr "Ei asiakas- tai yritystietoja"

#: app/templates/setup/initial_setup.html:114
msgid "No IP addresses or PII"
msgstr "Ei IP-osoitteita tai henkilökohtaisia ​​tunnistetietoja"

#: app/templates/setup/initial_setup.html:120
msgid "Why?"
msgstr "Miksi?"

#: app/templates/setup/initial_setup.html:120
msgid "Anonymous usage data helps us prioritize features and fix issues."
msgstr ""
"Anonyymit käyttötiedot auttavat meitä priorisoimaan ominaisuuksia ja "
"korjaamaan ongelmia."

#: app/templates/setup/initial_setup.html:121
msgid "You can change this anytime in"
msgstr "Voit muuttaa tämän milloin tahansa"

#: app/templates/setup/initial_setup.html:121
msgid "Privacy & Analytics section"
msgstr "Tietosuoja & Analytics -osiossa"

#: app/templates/setup/initial_setup.html:131
msgid "Complete Setup & Continue"
msgstr "Viimeistele asennus ja jatka"

#: app/templates/setup/initial_setup.html:135
msgid "By continuing, you agree to use TimeTracker under the"
msgstr "Jatkamalla hyväksyt TimeTrackerin käytön"

#: app/templates/setup/initial_setup.html:135
msgid "GPL-3.0 License"
msgstr "GPL-3.0 -lisenssi"

#: app/templates/tasks/_kanban.html:65 app/templates/tasks/_kanban.html:1360
#: app/templates/tasks/edit.html:3 app/templates/tasks/edit.html:13
#: app/templates/tasks/edit.html:26 app/templates/tasks/view.html:12
msgid "Edit Task"
msgstr "Muokkaa tehtävää"

#: app/templates/tasks/_kanban.html:913
msgid "Failed to update status"
msgstr "Tilan päivittäminen epäonnistui"

#: app/templates/tasks/_kanban.html:924 app/templates/tasks/_kanban.html:1000
msgid "Failed to update task status"
msgstr "Tehtävän tilan päivittäminen epäonnistui"

#: app/templates/tasks/_kanban.html:937
msgid "Kanban column created"
msgstr "Kanban-sarake luotu"

#: app/templates/tasks/_kanban.html:938
msgid "Kanban column deleted"
msgstr "Kanban-sarake poistettu"

#: app/templates/tasks/_kanban.html:939
msgid "Kanban columns reordered"
msgstr "Kanban-sarakkeet järjestetty uudelleen"

#: app/templates/tasks/_kanban.html:940
msgid "Kanban column visibility changed"
msgstr "Kanban-sarakkeen näkyvyys muuttui"

#: app/templates/tasks/_kanban.html:941 app/templates/tasks/_kanban.html:944
#: app/templates/tasks/_kanban.html:1017
msgid "Kanban columns updated"
msgstr "Kanban-sarakkeet päivitetty"

#: app/templates/tasks/_kanban.html:942 app/templates/tasks/_kanban.html:1017
msgid "Update"
msgstr "Päivittää"

#: app/templates/tasks/_kanban.html:955
msgid "Failed to refresh kanban columns"
msgstr "Kanban-sarakkeiden päivittäminen epäonnistui"

#: app/templates/tasks/_kanban.html:1218
msgid "Loading task details..."
msgstr "Ladataan tehtävän tietoja..."

#: app/templates/tasks/_kanban.html:1263
msgid "Assigned To"
msgstr ""

#: app/templates/tasks/_kanban.html:1313
msgid "Tracked"
msgstr "Seurattu"

#: app/templates/tasks/_kanban.html:1324 app/templates/tasks/edit.html:166
msgid "Estimated"
msgstr "Arvioitu"

#: app/templates/tasks/_kanban.html:1357
msgid "View Full Details"
msgstr "Näytä täydelliset tiedot"

#: app/templates/tasks/create.html:3 app/templates/tasks/create.html:13
#: app/templates/tasks/create.html:117
msgid "Create Task"
msgstr "Luo tehtävä"

#: app/templates/tasks/create.html:14
msgid "Add a new task to your project to break down work into manageable components"
msgstr "Lisää uusi tehtävä projektiisi jakaaksesi työn hallittaviin osiin"

#: app/templates/tasks/create.html:16 app/templates/tasks/edit.html:284
#: app/templates/tasks/overdue.html:10
msgid "Back to Tasks"
msgstr "Takaisin tehtäviin"

#: app/templates/tasks/create.html:26 app/templates/tasks/edit.html:45
msgid "Task Name"
msgstr ""

#: app/templates/tasks/create.html:27 app/templates/tasks/edit.html:48
msgid "Enter a descriptive task name"
msgstr "Anna kuvaava tehtävän nimi"

#: app/templates/tasks/create.html:28 app/templates/tasks/edit.html:49
msgid "Choose a clear, descriptive name that explains what needs to be done"
msgstr "Valitse selkeä, kuvaava nimi, joka selittää, mitä sinun on tehtävä"

#: app/templates/tasks/create.html:38 app/templates/tasks/edit.html:58
#: app/templates/tasks/edit.html:509
msgid ""
"Provide detailed information about the task, requirements, and any specific "
"instructions..."
msgstr ""
"Anna yksityiskohtaiset tiedot tehtävästä, vaatimuksista ja mahdollisista "
"erityisistä ohjeista..."

#: app/templates/tasks/create.html:41 app/templates/tasks/edit.html:61
msgid "Optional: Add context, requirements, or specific instructions for the task"
msgstr "Valinnainen: Lisää kontekstia, vaatimuksia tai erityisiä ohjeita tehtävälle"

#: app/templates/tasks/create.html:53 app/templates/tasks/edit.html:77
msgid "Select the project this task belongs to"
msgstr "Valitse projekti, johon tämä tehtävä kuuluu"

#: app/templates/tasks/create.html:61 app/templates/tasks/create.html:81
#: app/templates/tasks/create.html:440 app/templates/tasks/edit.html:85
#: app/templates/tasks/edit.html:636 app/templates/tasks/my_tasks.html:137
#: app/utils/i18n_helpers.py:39 app/utils/i18n_helpers.py:50
msgid "Low"
msgstr "Matala"

#: app/templates/tasks/create.html:62 app/templates/tasks/create.html:81
#: app/templates/tasks/create.html:441 app/templates/tasks/edit.html:86
#: app/templates/tasks/edit.html:637 app/templates/tasks/my_tasks.html:138
#: app/utils/i18n_helpers.py:40 app/utils/i18n_helpers.py:51
msgid "Medium"
msgstr "Keskikokoinen"

#: app/templates/tasks/create.html:63 app/templates/tasks/create.html:81
#: app/templates/tasks/create.html:442 app/templates/tasks/edit.html:87
#: app/templates/tasks/edit.html:638 app/templates/tasks/my_tasks.html:139
#: app/utils/i18n_helpers.py:41 app/utils/i18n_helpers.py:52
msgid "High"
msgstr "Korkea"

#: app/templates/tasks/create.html:64 app/templates/tasks/create.html:81
#: app/templates/tasks/create.html:443 app/templates/tasks/edit.html:88
#: app/templates/tasks/edit.html:639 app/templates/tasks/my_tasks.html:140
#: app/utils/i18n_helpers.py:42 app/utils/i18n_helpers.py:53
msgid "Urgent"
msgstr "Kiireellinen"

#: app/templates/tasks/create.html:68
msgid "Initial Status"
msgstr "Alkutila"

#: app/templates/tasks/create.html:73 app/templates/tasks/create.html:84
#: app/templates/tasks/create.html:448 app/templates/tasks/edit.html:97
#: app/templates/tasks/edit.html:644 app/templates/tasks/my_tasks.html:129
#: app/utils/i18n_helpers.py:18 app/utils/i18n_helpers.py:30
msgid "Done"
msgstr "Tehty"

#: app/templates/tasks/create.html:93 app/templates/tasks/edit.html:117
msgid "Optional: Set a deadline for this task"
msgstr "Valinnainen: Aseta tälle tehtävälle määräaika"

#: app/templates/tasks/create.html:96 app/templates/tasks/edit.html:120
msgid "Estimated Hours"
msgstr "Arvioidut tunnit"

#: app/templates/tasks/create.html:98 app/templates/tasks/edit.html:122
msgid "Optional: Estimate how long this task will take"
msgstr "Valinnainen: Arvioi, kuinka kauan tämä tehtävä kestää"

#: app/templates/tasks/create.html:104 app/templates/tasks/edit.html:128
msgid "Assign To"
msgstr "Määritä"

#: app/templates/tasks/create.html:106 app/templates/tasks/edit.html:130
#: app/templates/tasks/overdue.html:59
msgid "Unassigned"
msgstr "Ei määritetty"

#: app/templates/tasks/create.html:111 app/templates/tasks/edit.html:135
msgid "Optional: Assign this task to a team member"
msgstr "Valinnainen: Määritä tämä tehtävä tiimin jäsenelle"

#: app/templates/tasks/create.html:126
msgid "Task Creation Tips"
msgstr "Vinkkejä tehtävien luomiseen"

#: app/templates/tasks/create.html:134
msgid "Use action verbs and be specific about what needs to be done"
msgstr "Käytä toimintaverbejä ja kerro tarkasti, mitä sinun on tehtävä"

#: app/templates/tasks/create.html:142
msgid "Realistic Estimates"
msgstr "Realistiset arviot"

#: app/templates/tasks/create.html:143
msgid "Consider complexity and dependencies when estimating time"
msgstr "Ota huomioon monimutkaisuus ja riippuvuudet arvioidessasi aikaa"

#: app/templates/tasks/create.html:151
msgid "Set Deadlines"
msgstr "Aseta määräajat"

#: app/templates/tasks/create.html:152
msgid "Due dates help prioritize work and track progress"
msgstr "Eräpäivät auttavat priorisoimaan työn ja seuraamaan edistymistä"

#: app/templates/tasks/create.html:160
msgid "Priority Matters"
msgstr "Prioriteettiasiat"

#: app/templates/tasks/create.html:161
msgid "Use priority levels to help team members focus on what's most important"
msgstr "Käytä prioriteettitasoja auttaaksesi tiimin jäseniä keskittymään tärkeimpään"

#: app/templates/tasks/edit.html:14 app/templates/tasks/edit.html:27
#, python-format
msgid "Update task details and settings for \"%(task)s\""
msgstr "Päivitä tehtävän tiedot ja asetukset kohteelle \"%(task)s\""

#: app/templates/tasks/edit.html:16
msgid "Back to Task"
msgstr "Takaisin tehtävään"

#: app/templates/tasks/edit.html:37
msgid "Task Information"
msgstr "Tehtävän tiedot"

#: app/templates/tasks/edit.html:141
msgid "Update Task"
msgstr "Päivitä tehtävä"

#: app/templates/tasks/edit.html:157
msgid "Estimate used"
msgstr "Käytetty arvio"

#: app/templates/tasks/edit.html:164 app/templates/weekly_goals/index.html:185
msgid "Actual"
msgstr "Todellinen"

#: app/templates/tasks/edit.html:177
msgid "Current Task Info"
msgstr "Nykyisen tehtävän tiedot"

#: app/templates/tasks/edit.html:181
msgid "Current Status"
msgstr ""

#: app/templates/tasks/edit.html:188
msgid "Current Priority"
msgstr "Nykyinen prioriteetti"

#: app/templates/tasks/edit.html:206
msgid "Currently Assigned To"
msgstr "Tällä hetkellä määrätty"

#: app/templates/tasks/edit.html:218
msgid "Current Due Date"
msgstr "Nykyinen eräpäivä"

#: app/templates/tasks/edit.html:232
msgid "Current Estimate"
msgstr "Nykyinen arvio"

#: app/templates/tasks/edit.html:237 app/templates/tasks/edit.html:249
#: app/templates/user/settings.html:222
msgid "hours"
msgstr "tuntia"

#: app/templates/tasks/edit.html:244 app/templates/weekly_goals/index.html:87
#: app/templates/weekly_goals/view.html:42
msgid "Actual Hours"
msgstr "Todelliset tunnit"

#: app/templates/tasks/edit.html:259
msgid "Started"
msgstr "Aloitettu"

#: app/templates/tasks/edit.html:293
msgid "Edit Tips"
msgstr "Muokkaa vinkkejä"

#: app/templates/tasks/edit.html:302
msgid "Status Changes"
msgstr "Tilan muutokset"

#: app/templates/tasks/edit.html:303
msgid "Changing status may affect time tracking and progress calculations"
msgstr "Tilan muuttaminen voi vaikuttaa ajan seurantaan ja edistymislaskelmiin"

#: app/templates/tasks/edit.html:314
msgid "Due Date Updates"
msgstr "Eräpäivän päivitykset"

#: app/templates/tasks/edit.html:315
msgid "Consider team workload when adjusting deadlines"
msgstr "Harkitse ryhmän työmäärää määräaikoja säätäessäsi"

#: app/templates/tasks/edit.html:326
msgid "Assignment Changes"
msgstr "Tehtävän muutokset"

#: app/templates/tasks/edit.html:327
msgid "Notify team members when reassigning tasks"
msgstr ""

#: app/templates/tasks/edit.html:585
msgid "Updating..."
msgstr "Päivitetään..."

#: app/templates/tasks/list.html:32
msgid "Filter Tasks"
msgstr "Suodata tehtävät"

#: app/templates/tasks/list.html:231
msgid "Delete Selected Tasks"
msgstr "Poista valitut tehtävät"

#: app/templates/tasks/list.html:251
msgid "Change Status for Selected Tasks"
msgstr "Muuta valittujen tehtävien tilaa"

#: app/templates/tasks/list.html:279
msgid "Assign Selected Tasks"
msgstr "Määritä valitut tehtävät"

#: app/templates/tasks/list.html:289
msgid "Assign Tasks"
msgstr "Määritä tehtäviä"

#: app/templates/tasks/list.html:299
msgid "Move Selected Tasks to Project"
msgstr "Siirrä valitut tehtävät projektiin"

#: app/templates/tasks/list.html:300 app/templates/tasks/list.html:302
msgid "Select Project"
msgstr "Valitse Projekti"

#: app/templates/tasks/list.html:309
msgid "Move Tasks"
msgstr "Siirrä tehtävät"

#: app/templates/tasks/list.html:324
msgid "Are you sure you want to delete the task \"{name}\"?"
msgstr ""

#: app/templates/tasks/list.html:325
msgid ""
"Cannot delete task \"{name}\" because it has time entries. Please delete the"
" time entries first."
msgstr ""
"Tehtävää \"{name}\" ei voi poistaa, koska siinä on aikamerkintöjä. Poista "
"ensin aikamerkinnät."

#: app/templates/tasks/list.html:508 app/templates/tasks/view.html:39
msgid "Delete Task"
msgstr "Poista tehtävä"

#: app/templates/tasks/my_tasks.html:3 app/templates/tasks/my_tasks.html:23
msgid "My Tasks"
msgstr "Omat tehtäväni"

#: app/templates/tasks/my_tasks.html:20
msgid "New Task"
msgstr "Uusi tehtävä"

#: app/templates/tasks/my_tasks.html:23
msgid "Tasks assigned to or created by you"
msgstr "Sinulle määrätyt tai itse luomat tehtävät"

#: app/templates/tasks/my_tasks.html:23
msgid "total"
msgstr "kokonais-"

#: app/templates/tasks/my_tasks.html:105
msgid "Filter My Tasks"
msgstr ""

#: app/templates/tasks/my_tasks.html:119
msgid "Task name or description"
msgstr "Tehtävän nimi tai kuvaus"

#: app/templates/tasks/my_tasks.html:136
msgid "All Priorities"
msgstr "Kaikki prioriteetit"

#: app/templates/tasks/my_tasks.html:155
msgid "Task Type"
msgstr "Tehtävän tyyppi"

#: app/templates/tasks/my_tasks.html:158
msgid "Assigned to Me"
msgstr "Määrätty minulle"

#: app/templates/tasks/my_tasks.html:159
msgid "Created by Me"
msgstr "Luonut minä"

#: app/templates/tasks/my_tasks.html:166
msgid "Show overdue only"
msgstr "Näytä vain myöhässä"

#: app/templates/tasks/my_tasks.html:173
msgid "Apply Filters"
msgstr ""

#: app/templates/tasks/my_tasks.html:289
msgid "Created by me"
msgstr "Minun luoma"

#: app/templates/tasks/my_tasks.html:317 app/templates/weekly_goals/index.html:122
msgid "View Details"
msgstr "Näytä tiedot"

#: app/templates/tasks/my_tasks.html:340
msgid "My tasks pagination"
msgstr ""

#: app/templates/tasks/my_tasks.html:363
msgid "..."
msgstr ""

#: app/templates/tasks/my_tasks.html:387
msgid "No tasks found"
msgstr "Tehtäviä ei löytynyt"

#: app/templates/tasks/my_tasks.html:388
msgid "You don't have any tasks assigned to you or created by you yet."
msgstr "Sinulle ei ole vielä määrätty tai luotuja tehtäviä."

#: app/templates/tasks/my_tasks.html:391
msgid "Create Your First Task"
msgstr "Luo ensimmäinen tehtäväsi"

#: app/templates/tasks/my_tasks.html:394 app/templates/tasks/overdue.html:140
msgid "View All Tasks"
msgstr "Näytä kaikki tehtävät"

#: app/templates/tasks/overdue.html:3 app/templates/tasks/overdue.html:13
msgid "Overdue Tasks"
msgstr "Myöhästyneet tehtävät"

#: app/templates/tasks/overdue.html:13
msgid "Requires immediate attention"
msgstr "Vaatii välitöntä huomiota"

#: app/templates/tasks/overdue.html:13
msgid "items"
msgstr "kohteita"

#: app/templates/tasks/overdue.html:18
msgid "Overdue Tasks Detected"
msgstr "Myöhästyneet tehtävät havaittu"

#: app/templates/tasks/overdue.html:21
msgid "There are"
msgstr "On"

#: app/templates/tasks/overdue.html:21
msgid "overdue tasks that require immediate attention."
msgstr "viivästyneitä tehtäviä, jotka vaativat välitöntä huomiota."

#: app/templates/tasks/overdue.html:22
msgid "Please review and update these tasks to prevent further delays."
msgstr "Tarkista ja päivitä nämä tehtävät estääksesi lisäviivästykset."

#: app/templates/tasks/overdue.html:63
msgid "Due:"
msgstr ""

#: app/templates/tasks/overdue.html:68
msgid "Est:"
msgstr "Arvioitu:"

#: app/templates/tasks/overdue.html:73
msgid "Actual:"
msgstr "Todellinen:"

#: app/templates/tasks/overdue.html:137
msgid "No Overdue Tasks!"
msgstr "Ei myöhässä olevia tehtäviä!"

#: app/templates/tasks/overdue.html:138
msgid "Great job! All tasks are currently on schedule."
msgstr "Hienoa työtä! Kaikki tehtävät ovat tällä hetkellä aikataulussa."

#: app/templates/tasks/overdue.html:148
msgid "Enter new due date (YYYY-MM-DD):"
msgstr "Anna uusi eräpäivä (VVVV-KK-PP):"

#: app/templates/tasks/overdue.html:149
msgid "Are you sure you want to extend the due date to"
msgstr "Haluatko varmasti pidentää eräpäivää"

#: app/templates/tasks/overdue.html:150 app/templates/tasks/overdue.html:154
msgid "for all overdue tasks?"
msgstr "kaikkiin myöhässä oleviin tehtäviin?"

#: app/templates/tasks/overdue.html:151
msgid "Bulk due date update feature coming soon!"
msgstr "Eräpäivän joukkopäivitysominaisuus tulossa pian!"

#: app/templates/tasks/overdue.html:152
msgid "Enter new priority (low/medium/high/urgent):"
msgstr ""

#: app/templates/tasks/overdue.html:153
msgid "Are you sure you want to set priority to"
msgstr "Haluatko varmasti asettaa etusijalle"

#: app/templates/tasks/overdue.html:155
msgid "Bulk priority update feature coming soon!"
msgstr "Joukkoprioriteettipäivitysominaisuus tulossa pian!"

#: app/templates/tasks/overdue.html:156
msgid "Invalid priority. Please use: low, medium, high, or urgent"
msgstr "Virheellinen prioriteetti. Käytä: matala, keskitaso, korkea tai kiireellinen"

#: app/templates/tasks/view.html:14
msgid "Start task and mark as In Progress?"
msgstr "Aloitetaanko tehtävä ja merkitään kesken?"

#: app/templates/tasks/view.html:14 app/templates/tasks/view.html:20
msgid "Change Task Status"
msgstr "Muuta tehtävän tilaa"

#: app/templates/tasks/view.html:20
msgid "Mark task as To Do?"
msgstr "Merkitäänkö tehtävä tehtäväksi?"

#: app/templates/tasks/view.html:23
msgid "Pause"
msgstr "Tauko"

#: app/templates/tasks/view.html:25
msgid "Mark task as Done?"
msgstr "Merkitäänkö tehtävä valmiiksi?"

#: app/templates/tasks/view.html:25
msgid "Complete Task"
msgstr "Suorita tehtävä"

#: app/templates/tasks/view.html:25 app/templates/tasks/view.html:28
msgid "Complete"
msgstr "Täydellinen"

#: app/templates/tasks/view.html:31
msgid "Reopen task to Review?"
msgstr "Avataanko tehtävä uudelleen tarkistettavaksi?"

#: app/templates/tasks/view.html:31
msgid "Reopen Task"
msgstr "Avaa tehtävä uudelleen"

#: app/templates/tasks/view.html:31 app/templates/tasks/view.html:34
msgid "Reopen"
msgstr "Avaa uudelleen"

#: app/templates/time_entry_templates/create.html:13
msgid "Create Time Entry Template"
msgstr "Luo ajansyöttömalli"

#: app/templates/time_entry_templates/create.html:33
#: app/templates/time_entry_templates/edit.html:33
msgid "e.g., Daily Standup, Client Meeting"
msgstr "esim. Daily Standup, Client Meeting"

#: app/templates/time_entry_templates/create.html:82
#: app/templates/time_entry_templates/edit.html:86
msgid "e.g., 1.0, 0.5"
msgstr "esim. 1,0, 0,5"

#: app/templates/time_entry_templates/create.html:97
#: app/templates/time_entry_templates/edit.html:101
msgid "Pre-fill notes for this type of time entry"
msgstr "Esitäytä muistiinpanot tämän tyyppiselle aikamerkinnälle"

#: app/templates/time_entry_templates/create.html:110
#: app/templates/time_entry_templates/edit.html:114
msgid "e.g., meeting, development, admin"
msgstr "esim. kokous, kehitys, järjestelmänvalvoja"

#: app/templates/time_entry_templates/edit.html:13
msgid "Edit Template"
msgstr "Muokkaa mallia"

#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
msgid "Are you sure you want to delete this template?"
msgstr "Haluatko varmasti poistaa tämän mallin?"

#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
msgid "Delete Template"
msgstr "Poista malli"

#: app/templates/time_entry_templates/view.html:96
msgid "Usage Statistics"
msgstr "Käyttötilastot"

#: app/templates/timer/manual_entry.html:7
msgid "Duplicate Entry"
msgstr "Päällekkäinen merkintä"

#: app/templates/timer/manual_entry.html:12
msgid "Duplicate Time Entry"
msgstr "Päällekkäinen aikamerkintä"

#: app/templates/timer/manual_entry.html:12
msgid "Log Time Manually"
msgstr "Kirjaa aika manuaalisesti"

#: app/templates/timer/manual_entry.html:13
msgid "Create a copy of a previous entry with new times"
msgstr "Luo kopio aiemmasta merkinnästä uusilla kellonajoilla"

#: app/templates/timer/manual_entry.html:13
msgid "Create a new time entry"
msgstr "Luo uusi aikamerkintä"

#: app/templates/timer/manual_entry.html:24
msgid "Duplicating entry:"
msgstr "Päällekkäinen merkintä:"

#: app/templates/timer/manual_entry.html:27
msgid "Original:"
msgstr "Alkuperäinen:"

#: app/templates/timer/manual_entry.html:27
msgid "to"
msgstr "to"

#: app/templates/timer/manual_entry.html:51
#: app/templates/timer/manual_entry.html:122
#: app/templates/timer/timer_page.html:127
msgid "No task"
msgstr "Ei tehtävää"

#: app/templates/timer/manual_entry.html:53
msgid "Tasks load after selecting a project"
msgstr "Tehtävät latautuvat projektin valinnan jälkeen"

#: app/templates/timer/manual_entry.html:82
msgid "What did you work on?"
msgstr "Mitä työskentelit?"

#: app/templates/timer/manual_entry.html:87
msgid "tag1, tag2"
msgstr "tag1, tag2"

#: app/templates/timer/manual_entry.html:123
msgid "Failed to load tasks"
msgstr "Tehtävien lataaminen epäonnistui"

#: app/templates/timer/timer_page.html:12
msgid "Track your time with a visual timer"
msgstr "Seuraa aikaasi visuaalisen ajastimen avulla"

#: app/templates/timer/timer_page.html:75
msgid "Estimated Completion"
msgstr "Arvioitu valmistuminen"

#: app/templates/timer/timer_page.html:77
msgid "Calculating..."
msgstr "Lasketaan..."

#: app/templates/timer/timer_page.html:80
msgid "Based on average session duration"
msgstr ""

#: app/templates/timer/timer_page.html:97
msgid "No active timer. Start one below!"
msgstr "Ei aktiivista ajastinta. Aloita yksi alta!"

#: app/templates/timer/timer_page.html:105
msgid "Start New Timer"
msgstr "Käynnistä uusi ajastin"

#: app/templates/timer/timer_page.html:115
msgid "Select a project..."
msgstr "Valitse projekti..."

#: app/templates/timer/timer_page.html:135
msgid "Add notes about what you're working on..."
msgstr "Lisää muistiinpanoja työstäsi..."

#: app/templates/timer/timer_page.html:184
msgid "Recent Projects"
msgstr ""

#: app/templates/timer/timer_page.html:202
msgid "Today's Stats"
msgstr "Tämän päivän tilastot"

#: app/templates/user/profile.html:31 app/templates/user/settings.html:2
#: app/templates/user/settings.html:7
msgid "Settings"
msgstr "Asetukset"

#: app/templates/user/profile.html:60 app/templates/user/profile.html:98
msgid "No project"
msgstr "Ei projektia"

#: app/templates/user/profile.html:106
msgid "In progress"
msgstr "Käynnissä"

#: app/templates/user/profile.html:120
msgid "View all time entries"
msgstr "Näytä kaikkien aikojen merkinnät"

#: app/templates/user/profile.html:124
msgid "No recent time entries"
msgstr "Ei viimeaikaisia ​​aikamerkintöjä"

#: app/templates/user/settings.html:8
msgid "Manage your account settings and preferences"
msgstr "Hallinnoi tilisi asetuksia ja asetuksia"

#: app/templates/user/settings.html:17
msgid "Profile Information"
msgstr "Profiilin tiedot"

#: app/templates/user/settings.html:27
msgid "Username cannot be changed"
msgstr "Käyttäjätunnusta ei voi muuttaa"

#: app/templates/user/settings.html:40
msgid "Email Address"
msgstr "Sähköpostiosoite"

#: app/templates/user/settings.html:45
msgid "Required for email notifications"
msgstr "Vaaditaan sähköposti-ilmoituksia varten"

#: app/templates/user/settings.html:53
msgid "Notification Preferences"
msgstr "Ilmoitusasetukset"

#: app/templates/user/settings.html:62
msgid "Enable Email Notifications"
msgstr "Ota sähköposti-ilmoitukset käyttöön"

#: app/templates/user/settings.html:63
msgid "Master switch for all email notifications"
msgstr "Pääkytkin kaikille sähköposti-ilmoituksille"

#: app/templates/user/settings.html:73
msgid "Overdue Invoice Notifications"
msgstr "Myöhästyneiden laskujen ilmoitukset"

#: app/templates/user/settings.html:82
msgid "Task Assignment Notifications"
msgstr "Tehtävätehtävien ilmoitukset"

#: app/templates/user/settings.html:91
msgid "Comment & Mention Notifications"
msgstr "Kommentti- ja mainintailmoitukset"

#: app/templates/user/settings.html:100
msgid "Weekly Time Summary Email"
msgstr "Viikoittainen ajan yhteenveto sähköposti"

#: app/templates/user/settings.html:110
msgid "Display Preferences"
msgstr "Näyttöasetukset"

#: app/templates/user/settings.html:120 app/templates/user/settings.html:132
#: app/templates/user/settings.html:253
msgid "System Default"
msgstr "Järjestelmän oletusarvo"

#: app/templates/user/settings.html:121
msgid "Light"
msgstr "Kevyt"

#: app/templates/user/settings.html:144
msgid "Time Rounding Preferences"
msgstr "Ajan pyöristysasetukset"

#: app/templates/user/settings.html:147
msgid ""
"Configure how your time entries are rounded. This affects how durations are "
"calculated when you stop timers."
msgstr ""
"Määritä, miten aikamerkinnät pyöristetään. Tämä vaikuttaa siihen, miten "
"kestot lasketaan, kun pysäytät ajastimet."

#: app/templates/user/settings.html:157
msgid "Enable Time Rounding"
msgstr "Ota ajanpyöristys käyttöön"

#: app/templates/user/settings.html:158
msgid "Round time entries to configured intervals"
msgstr "Pyöreäajan merkinnät määritettyihin aikaväleihin"

#: app/templates/user/settings.html:165
msgid "Rounding Interval"
msgstr "Pyöristysväli"

#: app/templates/user/settings.html:173
msgid "Time entries will be rounded to this interval"
msgstr "Aikamerkinnät pyöristetään tähän väliin"

#: app/templates/user/settings.html:178
msgid "Rounding Method"
msgstr "Pyöristysmenetelmä"

#: app/templates/user/settings.html:206
msgid "Overtime Settings"
msgstr "Ylityöasetukset"

#: app/templates/user/settings.html:209
msgid ""
"Set your standard working hours per day. Any time worked beyond this will be"
" counted as overtime."
msgstr ""
"Aseta normaali työaikasi päivässä. Kaikki tämän jälkeen tehty työaika "
"lasketaan ylityöksi."

#: app/templates/user/settings.html:215
msgid "Standard Hours Per Day"
msgstr "Normaali tuntia päivässä"

#: app/templates/user/settings.html:224
msgid "Typically 8 hours for a full-time job"
msgstr "Tyypillisesti 8 tuntia kokoaikatyössä"

#: app/templates/user/settings.html:230
msgid "How it works"
msgstr "Miten se toimii"

#: app/templates/user/settings.html:233
msgid ""
"If you work more than your standard hours in a day, the extra time will be "
"tracked as overtime in reports and analytics."
msgstr ""

#: app/templates/user/settings.html:243
msgid "Regional Settings"
msgstr ""

#: app/templates/user/settings.html:249
msgid "Timezone"
msgstr "Aikavyöhyke"

#: app/templates/user/settings.html:262
msgid "Date Format"
msgstr "Päivämäärän muoto"

#: app/templates/user/settings.html:275
msgid "Time Format"
msgstr "Aikamuoto"

#: app/templates/user/settings.html:286
msgid "Week Starts On"
msgstr "Viikko alkaa"

#: app/templates/user/settings.html:290
msgid "Sunday"
msgstr "sunnuntai"

#: app/templates/user/settings.html:291
msgid "Monday"
msgstr "maanantai"

#: app/templates/user/settings.html:292
msgid "Saturday"
msgstr "lauantai"

#: app/templates/user/settings.html:370
msgid "Time rounding is disabled. All times will be recorded exactly as tracked."
msgstr ""
"Ajan pyöristys ei ole käytössä. Kaikki ajat tallennetaan täsmälleen "
"seurannan mukaan."

#: app/templates/user/settings.html:375
msgid "No rounding - times will be recorded exactly as tracked."
msgstr "Ei pyöristystä – ajat kirjataan täsmälleen seurannan mukaan."

#: app/templates/user/settings.html:401
msgid "Actual time:"
msgstr "Todellinen aika:"

#: app/templates/user/settings.html:401
msgid "Rounded:"
msgstr "Pyöristetty:"

#: app/templates/user/settings.html:402
msgid "With "
msgstr "Kanssa"

#: app/templates/user/settings.html:402
msgid " minute intervals"
msgstr "minuutin välein"

#: app/templates/weekly_goals/create.html:3
msgid "Create Weekly Goal"
msgstr "Luo viikkotavoite"

#: app/templates/weekly_goals/create.html:11
msgid "Create Weekly Time Goal"
msgstr "Luo viikoittainen aikatavoite"

#: app/templates/weekly_goals/create.html:14
msgid "Set a target for hours to work this week"
msgstr ""

#: app/templates/weekly_goals/create.html:26
#: app/templates/weekly_goals/edit.html:42
#: app/templates/weekly_goals/index.html:83
#: app/templates/weekly_goals/view.html:34
msgid "Target Hours"
msgstr "Tavoitetunnit"

#: app/templates/weekly_goals/create.html:41
msgid "How many hours do you want to work this week?"
msgstr ""

#: app/templates/weekly_goals/create.html:48
msgid "Week Start Date"
msgstr "Viikon aloituspäivä"

#: app/templates/weekly_goals/create.html:55
msgid "Leave blank to use current week (starting Monday)"
msgstr "Jätä tyhjäksi käyttääksesi kuluvaa viikkoa (maanantaista alkaen)"

#: app/templates/weekly_goals/create.html:67
#: app/templates/weekly_goals/edit.html:81
msgid "Optional notes about your goal..."
msgstr "Valinnaisia ​​huomautuksia tavoitteestasi..."

#: app/templates/weekly_goals/create.html:74
msgid "Quick Presets"
msgstr ""

#: app/templates/weekly_goals/create.html:122
msgid "Tips for Setting Goals"
msgstr "Vinkkejä tavoitteiden asettamiseen"

#: app/templates/weekly_goals/create.html:126
msgid "Be realistic: Consider holidays, meetings, and other commitments"
msgstr "Ole realistinen: Harkitse lomia, kokouksia ja muita sitoumuksia"

#: app/templates/weekly_goals/create.html:127
msgid "Start conservative: You can always adjust your goal later"
msgstr "Aloita konservatiivisesti: Voit aina muuttaa tavoitettasi myöhemmin"

#: app/templates/weekly_goals/create.html:128
msgid "Track progress: Check your dashboard regularly to stay on track"
msgstr ""
"Seuraa edistymistä: Tarkista kojelautasi säännöllisesti, jotta pysyt ajan "
"tasalla"

#: app/templates/weekly_goals/create.html:129
msgid "Typical full-time: 40 hours per week (8 hours/day, 5 days)"
msgstr "Tyypillinen kokoaika: 40 tuntia viikossa (8 tuntia/päivä, 5 päivää)"

#: app/templates/weekly_goals/edit.html:3
msgid "Edit Weekly Goal"
msgstr "Muokkaa viikkotavoitetta"

#: app/templates/weekly_goals/edit.html:11
msgid "Edit Weekly Time Goal"
msgstr "Muokkaa viikoittaista aikatavoitetta"

#: app/templates/weekly_goals/edit.html:27
msgid "Week Period"
msgstr "Viikon jakso"

#: app/templates/weekly_goals/edit.html:31
msgid "Current Progress"
msgstr "Nykyinen edistyminen"

#: app/templates/weekly_goals/edit.html:93
msgid "Are you sure you want to delete this goal?"
msgstr "Haluatko varmasti poistaa tämän tavoitteen?"

#: app/templates/weekly_goals/edit.html:93
msgid "Delete Goal"
msgstr "Poista tavoite"

#: app/templates/weekly_goals/index.html:4
#: app/templates/weekly_goals/index.html:13
msgid "Weekly Time Goals"
msgstr "Viikoittaiset aikatavoitteet"

#: app/templates/weekly_goals/index.html:14
msgid "Set and track your weekly hour targets"
msgstr "Aseta ja seuraa viikoittaisia ​​tuntitavoitteitasi"

#: app/templates/weekly_goals/index.html:16
msgid "New Goal"
msgstr "Uusi tavoite"

#: app/templates/weekly_goals/index.html:27
msgid "Total Goals"
msgstr "Tavoitteet yhteensä"

#: app/templates/weekly_goals/index.html:63
msgid "Success Rate"
msgstr "Onnistumisprosentti"

#: app/templates/weekly_goals/index.html:75
msgid "Current Week Goal"
msgstr "Nykyisen viikon tavoite"

#: app/templates/weekly_goals/index.html:106
#: app/templates/weekly_goals/view.html:101
msgid "Remaining Hours"
msgstr "Jäljellä olevat tunnit"

#: app/templates/weekly_goals/index.html:110
#: app/templates/weekly_goals/view.html:105
msgid "Days Remaining"
msgstr "Päiviä jäljellä"

#: app/templates/weekly_goals/index.html:114
#: app/templates/weekly_goals/view.html:109
msgid "Avg Hours/Day Needed"
msgstr "Keskimääräinen tarvittava tunti/päivä"

#: app/templates/weekly_goals/index.html:126
msgid "Edit Goal"
msgstr "Muokkaa tavoitetta"

#: app/templates/weekly_goals/index.html:139
msgid "No goal set for this week"
msgstr "Tälle viikolle ei ole asetettu tavoitetta"

#: app/templates/weekly_goals/index.html:142
msgid "Create a weekly time goal to start tracking your progress"
msgstr "Luo viikoittainen aikatavoite alkaaksesi seurata edistymistäsi"

#: app/templates/weekly_goals/index.html:158
msgid "Goal History"
msgstr "Maalihistoria"

#: app/templates/weekly_goals/index.html:185
msgid "Target"
msgstr "Kohde"

#: app/templates/weekly_goals/view.html:3 app/templates/weekly_goals/view.html:12
msgid "Weekly Goal Details"
msgstr "Viikoittaisen tavoitteen tiedot"

#: app/templates/weekly_goals/view.html:119
msgid "Daily Breakdown"
msgstr "Päivittäinen erittely"

#: app/templates/weekly_goals/view.html:162
msgid "Time Entries This Week"
msgstr "Aikakirjaukset tällä viikolla"

#: app/templates/weekly_goals/view.html:171
msgid "No Project"
msgstr "Ei projektia"

#: app/templates/weekly_goals/view.html:206
msgid "No time entries recorded for this week yet"
msgstr "Tälle viikolle ei ole vielä tallennettu aikamerkintöjä"

#: app/utils/i18n_helpers.py:108 app/utils/i18n_helpers.py:119
msgid "Overpaid"
msgstr "Ylimaksettu"

#: app/utils/i18n_helpers.py:127 app/utils/i18n_helpers.py:143
msgid "Cash"
msgstr "käteistä"

#: app/utils/i18n_helpers.py:128 app/utils/i18n_helpers.py:144
msgid "Check"
msgstr "Tarkista"

#: app/utils/i18n_helpers.py:129 app/utils/i18n_helpers.py:145
msgid "Bank Transfer"
msgstr "Pankkisiirto"

#: app/utils/i18n_helpers.py:130 app/utils/i18n_helpers.py:146
msgid "Credit Card"
msgstr "Luottokortti"

#: app/utils/i18n_helpers.py:131 app/utils/i18n_helpers.py:147
msgid "Debit Card"
msgstr "Pankkikortti"

#: app/utils/i18n_helpers.py:132 app/utils/i18n_helpers.py:148
msgid "PayPal"
msgstr "PayPal"

#: app/utils/i18n_helpers.py:133 app/utils/i18n_helpers.py:149
msgid "Stripe"
msgstr "Raita"

#: app/utils/i18n_helpers.py:134 app/utils/i18n_helpers.py:150
msgid "Company Card"
msgstr "Yrityskortti"

#: app/utils/i18n_helpers.py:160 app/utils/i18n_helpers.py:171
msgid "Approved"
msgstr "Hyväksytty"

#: app/utils/i18n_helpers.py:162 app/utils/i18n_helpers.py:173
msgid "Reimbursed"
msgstr "Korvataan"

#: app/utils/i18n_helpers.py:238 app/utils/i18n_helpers.py:250
msgid "Processing"
msgstr "Käsittely"

#: app/utils/i18n_helpers.py:241 app/utils/i18n_helpers.py:253
msgid "Partial"
msgstr "Osittainen"

#: app/utils/i18n_helpers.py:283
msgid "80% Budget Warning"
msgstr "80 %:n budjettivaroitus"

#: app/utils/i18n_helpers.py:284
msgid "Budget Limit Reached"
msgstr "Budjettiraja saavutettu"

#: app/utils/i18n_helpers.py:293 app/utils/i18n_helpers.py:303
msgid "Info"
msgstr "Tiedot"

#: app/utils/pdf_generator_fallback.py:163
#, python-format
msgid "Invoice #: %(num)s"
msgstr "Laskun numero: %(num)s"

#: app/utils/pdf_generator_fallback.py:166 app/utils/pdf_generator_fallback.py:169
#, python-format
msgid "Issue Date: %(date)s"
msgstr "Julkaisupäivä: %(date)s"

#: app/utils/pdf_generator_fallback.py:167 app/utils/pdf_generator_fallback.py:170
#, python-format
msgid "Due Date: %(date)s"
msgstr "Eräpäivä: %(date)s"

#: app/utils/pdf_generator_fallback.py:457
msgid "Quote For:"
msgstr "Lainaus:"

#: app/utils/pdf_generator_fallback.py:467
msgid "Quote Details:"
msgstr "Lainauksen tiedot:"

#: app/utils/pdf_generator_fallback.py:479
msgid "Items:"
msgstr "Tuotteet:"

#: app/utils/pdf_generator_fallback.py:523
msgid "Total:"
msgstr "Kokonais:"

#: app/utils/permissions.py:29 app/utils/permissions.py:61
msgid "Please log in to access this page"
msgstr "Kirjaudu sisään päästäksesi tälle sivulle"

# Navigation and Common
#~ msgid "Time Tracker"
#~ msgstr "Ajanseuranta"

#~ msgid "Dashboard"
#~ msgstr "Kojelauta"

#~ msgid "Projects"
#~ msgstr "Projektit"

#~ msgid "Clients"
#~ msgstr "Asiakkaat"

#~ msgid "Tasks"
#~ msgstr "Tehtävät"

#~ msgid "Log Time"
#~ msgstr "Kirjaa aika"

#~ msgid "Bulk Time Entry"
#~ msgstr "Massakirjaus"

#~ msgid "Calendar"
#~ msgstr "Kalenteri"

#~ msgid "Reports"
#~ msgstr "Raportit"

#~ msgid "Invoices"
#~ msgstr "Laskut"

#~ msgid "Analytics"
#~ msgstr "Analytiikka"

#~ msgid "Admin"
#~ msgstr "Ylläpito"

#~ msgid "Profile"
#~ msgstr "Profiili"

#~ msgid "Logout"
#~ msgstr "Kirjaudu ulos"

#~ msgid "Language"
#~ msgstr "Kieli"

#~ msgid "Home"
#~ msgstr "Etusivu"

#~ msgid "Log"
#~ msgstr "Loki"

#~ msgid "About"
#~ msgstr "Tietoja"

#~ msgid "Help"
#~ msgstr "Ohje"

#~ msgid "Buy me a coffee"
#~ msgstr "Tarjoa minulle kahvi"

#~ msgid "All rights reserved."
#~ msgstr "Kaikki oikeudet pidätetään."

#~ msgid "Skip to content"
#~ msgstr "Siirry sisältöön"

#~ msgid "Work"
#~ msgstr "Työ"

#~ msgid "Insights"
#~ msgstr "Oivallukset"

#~ msgid "Search"
#~ msgstr "Haku"

#~ msgid "Open Command Palette"
#~ msgstr "Avaa komentopalkki"

#~ msgid "Ctrl"
#~ msgstr "Ctrl"

#~ msgid "Keyboard Shortcuts"
#~ msgstr "Pikanäppäimet"

#~ msgid "Install App"
#~ msgstr "Asenna sovellus"

#~ msgid "App installed"
#~ msgstr "Sovellus asennettu"

#~ msgid "Close"
#~ msgstr "Sulje"

#~ msgid "Cancel"
#~ msgstr "Peruuta"

#~ msgid "Confirm"
#~ msgstr "Vahvista"

#~ msgid "Please confirm"
#~ msgstr "Ole hyvä ja vahvista"

# Dashboard
#~ msgid "Welcome back,"
#~ msgstr "Tervetuloa takaisin,"

#~ msgid "h today"
#~ msgstr "t tänään"

#~ msgid "Timer Status"
#~ msgstr "Ajastimen tila"

#~ msgid "Timer Running"
#~ msgstr "Ajastin käynnissä"

#~ msgid "No Active Timer"
#~ msgstr "Ei aktiivista ajastinta"

#~ msgid "Choose a project or one of its tasks to start tracking."
#~ msgstr "Valitse projekti tai sen tehtävä aloittaaksesi seurannan."

#~ msgid "Idle"
#~ msgstr "Tyhjäkäynti"

#~ msgid "Started at"
#~ msgstr "Aloitettu klo"

#~ msgid "Stop Timer"
#~ msgstr "Pysäytä ajastin"

#~ msgid "Start Timer"
#~ msgstr "Käynnistä ajastin"

#~ msgid "Hours Today"
#~ msgstr "Tuntia tänään"

#~ msgid "Hours This Week"
#~ msgstr "Tuntia tällä viikolla"

#~ msgid "Hours This Month"
#~ msgstr "Tuntia tässä kuussa"

#~ msgid "Quick Actions"
#~ msgstr "Pikatoiminnot"

#~ msgid "Manual entry"
#~ msgstr "Manuaalinen syöttö"

#~ msgid "Bulk Entry"
#~ msgstr "Massakirjaus"

#~ msgid "Multi-day time entry"
#~ msgstr "Useampipäiväinen aikakirjaus"

#~ msgid "Manage projects"
#~ msgstr "Hallinnoi projekteja"

#~ msgid "View analytics"
#~ msgstr "Näytä analytiikka"

#~ msgid "Find entries"
#~ msgstr "Etsi merkintöjä"

#~ msgid "Today by Task"
#~ msgstr "Tänään tehtävittäin"

#~ msgid "Loading..."
#~ msgstr "Ladataan..."

#~ msgid "Recent Entries"
#~ msgstr "Viimeisimmät merkinnät"

#~ msgid "View All"
#~ msgstr "Näytä kaikki"

#~ msgid "Select all"
#~ msgstr "Valitse kaikki"

#~ msgid "Delete"
#~ msgstr "Poista"

#~ msgid "Set Billable"
#~ msgstr "Aseta laskutettavaksi"

#~ msgid "Set Non-billable"
#~ msgstr "Aseta ei-laskutettavaksi"

#~ msgid "Project"
#~ msgstr "Projekti"

#~ msgid "Duration"
#~ msgstr "Kesto"

#~ msgid "Date"
#~ msgstr "Päivämäärä"

#~ msgid "Notes"
#~ msgstr "Muistiinpanot"

#~ msgid "Actions"
#~ msgstr "Toiminnot"

#~ msgid "No notes"
#~ msgstr "Ei muistiinpanoja"

#~ msgid "Edit entry"
#~ msgstr "Muokkaa merkintää"

#~ msgid "Delete entry"
#~ msgstr "Poista merkintä"

#~ msgid "No recent entries"
#~ msgstr "Ei viimeaikaisia merkintöjä"

#~ msgid "Start tracking your time to see entries here"
#~ msgstr "Aloita ajanseuranta nähdäksesi merkinnät täällä"

#~ msgid "Log Your First Entry"
#~ msgstr "Kirjaa ensimmäinen merkintä"

#~ msgid "Select Project"
#~ msgstr "Valitse projekti"

#~ msgid "Choose a project..."
#~ msgstr "Valitse projekti..."

#~ msgid "Select Task (Optional)"
#~ msgstr "Valitse tehtävä (Valinnainen)"

#~ msgid "Choose a task..."
#~ msgstr "Valitse tehtävä..."

#~ msgid ""
#~ "Tasks list updates after choosing a "
#~ "project. Leave empty to log at "
#~ "project level."
#~ msgstr ""
#~ "Tehtäväluettelo päivittyy projektin valinnan "
#~ "jälkeen. Jätä tyhjäksi kirjataksesi "
#~ "projektitasolla."

#~ msgid "Notes (Optional)"
#~ msgstr "Muistiinpanot (Valinnainen)"

#~ msgid "What are you working on?"
#~ msgstr "Mitä olet tekemässä?"

#~ msgid "Delete Time Entry"
#~ msgstr "Poista aikamerkintä"

#~ msgid "Warning:"
#~ msgstr "Varoitus:"

#~ msgid "This action cannot be undone."
#~ msgstr "Tätä toimintoa ei voi peruuttaa."

#~ msgid "Are you sure you want to delete the time entry for"
#~ msgstr "Haluatko varmasti poistaa aikamerkinnän kohteelle"

#~ msgid "Duration:"
#~ msgstr "Kesto:"

#~ msgid "Delete Entry"
#~ msgstr "Poista merkintä"

#~ msgid "Please select a project"
#~ msgstr "Valitse projekti"

#~ msgid "Starting..."
#~ msgstr "Käynnistetään..."

#~ msgid "Deleting..."
#~ msgstr "Poistetaan..."

#~ msgid "No time tracked yet today"
#~ msgstr "Aikaa ei ole vielä kirjattu tänään"

#~ msgid "h"
#~ msgstr "t"

#~ msgid "Bulk action completed"
#~ msgstr "Massatoiminto suoritettu"

#~ msgid "Bulk action failed"
#~ msgstr "Massatoiminto epäonnistui"

# Login
#~ msgid "Login"
#~ msgstr "Kirjaudu"

#~ msgid "Company Logo"
#~ msgstr "Yrityksen logo"

#~ msgid "DryTrix Logo"
#~ msgstr "DryTrix Logo"

#~ msgid "TimeTracker"
#~ msgstr "TimeTracker"

#~ msgid "Professional Time Management"
#~ msgstr "Ammattimainen ajanhallinta"

#~ msgid "Sign in to your account to start tracking your time"
#~ msgstr "Kirjaudu tilillesi aloittaaksesi ajanseurannan"

#~ msgid "Welcome to TimeTracker"
#~ msgstr "Tervetuloa TimeTrackeriin"

#~ msgid "Powered by"
#~ msgstr "Toteuttanut"

#~ msgid "Enter your username to start tracking time"
#~ msgstr "Syötä käyttäjätunnuksesi aloittaaksesi ajanseurannan"

#~ msgid "Username"
#~ msgstr "Käyttäjätunnus"

#~ msgid "Enter your username"
#~ msgstr "Syötä käyttäjätunnuksesi"

#~ msgid "Sign In"
#~ msgstr "Kirjaudu sisään"

#~ msgid "Signing in..."
#~ msgstr "Kirjaudutaan sisään..."

#~ msgid "Continue"
#~ msgstr "Jatka"

#~ msgid "or"
#~ msgstr "tai"

#~ msgid "Sign in with SSO"
#~ msgstr "Kirjaudu SSO:lla"

#~ msgid "Internal Tool"
#~ msgstr "Sisäinen työkalu"

#~ msgid "Internal Tool:"
#~ msgstr "Sisäinen työkalu:"

#~ msgid "This is a private time tracking application for internal use only."
#~ msgstr "Tämä on yksityinen ajanseurantasovellus vain sisäiseen käyttöön."

#~ msgid "New users will be created automatically"
#~ msgstr "Uudet käyttäjät luodaan automaattisesti"

#~ msgid "Version"
#~ msgstr "Versio"

#~ msgid "Please enter a username"
#~ msgstr "Syötä käyttäjätunnus"

# Tasks
#~ msgid "Board"
#~ msgstr "Taulu"

#~ msgid "Table"
#~ msgstr "Taulukko"

#~ msgid "New Task"
#~ msgstr "Uusi tehtävä"

#~ msgid "Plan and track work"
#~ msgstr "Suunnittele ja seuraa työtä"

#~ msgid "total"
#~ msgstr "yhteensä"

#~ msgid "To Do"
#~ msgstr "Tehtävä"

#~ msgid "In Progress"
#~ msgstr "Käynnissä"

#~ msgid "Review"
#~ msgstr "Tarkistus"

#~ msgid "Completed"
#~ msgstr "Valmis"

#~ msgid "Filter Tasks"
#~ msgstr "Suodata tehtäviä"

#~ msgid "Toggle Filters"
#~ msgstr "Vaihda suodattimet"

#~ msgid "Task name or description"
#~ msgstr "Tehtävän nimi tai kuvaus"

#~ msgid "Status"
#~ msgstr "Tila"

#~ msgid "All Statuses"
#~ msgstr "Kaikki tilat"

#~ msgid "Done"
#~ msgstr "Valmis"

#~ msgid "Cancelled"
#~ msgstr "Peruutettu"

#~ msgid "Priority"
#~ msgstr "Prioriteetti"

#~ msgid "All Priorities"
#~ msgstr "Kaikki prioriteetit"

#~ msgid "Low"
#~ msgstr "Matala"

#~ msgid "Medium"
#~ msgstr "Keskitaso"

#~ msgid "High"
#~ msgstr "Korkea"

#~ msgid "Urgent"
#~ msgstr "Kiireellinen"

#~ msgid "All Projects"
#~ msgstr "Kaikki projektit"

# Command Palette
#~ msgid "Command Palette"
#~ msgstr "Komentopalkki"

#~ msgid "Type a command or search..."
#~ msgstr "Kirjoita komento tai hae..."

# Socket.IO messages
#~ msgid "Timer started for"
#~ msgstr "Ajastin käynnistetty kohteelle"

#~ msgid "Timer stopped. Duration:"
#~ msgstr "Ajastin pysäytetty. Kesto:"

# Theme toggle
#~ msgid "Switch to light mode"
#~ msgstr "Vaihda vaalean tilaan"

#~ msgid "Switch to dark mode"
#~ msgstr "Vaihda tummaan tilaan"

#~ msgid "Light mode"
#~ msgstr "Vaalea tila"

#~ msgid "Dark mode"
#~ msgstr "Tumma tila"

# Mobile
#~ msgid "Log time"
#~ msgstr "Kirjaa aika"

# About page
#~ msgid "About TimeTracker"
#~ msgstr "Tietoja TimeTrackeristä"

#~ msgid "Developed by DryTrix"
#~ msgstr "Kehittänyt DryTrix"

#~ msgid "What is"
#~ msgstr "Mikä on"

#~ msgid "A simple, efficient time tracking solution for teams and individuals."
#~ msgstr ""
#~ "Yksinkertainen, tehokas ajanseurantaratkaisu tiimeille"
#~ " ja yksityishenkilöille."

#~ msgid ""
#~ "It provides a simple and intuitive "
#~ "interface for tracking time spent on "
#~ "various projects and tasks."
#~ msgstr ""
#~ "Se tarjoaa yksinkertaisen ja intuitiivisen "
#~ "käyttöliittymän eri projekteihin ja tehtäviin "
#~ "käytetyn ajan seuraamiseen."

#~ msgid ""
#~ "%(app)s is a web-based time tracking"
#~ " application designed for internal use "
#~ "within organizations."
#~ msgstr ""
#~ "%(app)s on verkkopohjainen ajanseurantasovellus, "
#~ "joka on suunniteltu organisaatioiden sisäiseen"
#~ " käyttöön."

#~ msgid "Learn more about "
#~ msgstr "Lue lisää "

#~ msgid "Privacy First"
#~ msgstr "Yksityisyys ensin"

#~ msgid "Self-hosted on your server"
#~ msgstr "Oma palvelin"

#~ msgid "Anonymous telemetry (opt-in)"
#~ msgstr "Anonyymi telemetria (valinnainen)"

#~ msgid "No PII collected ever"
#~ msgstr "Henkilötietoja ei koskaan kerätä"

#~ msgid "Open source & transparent"
#~ msgstr "Avoin lähdekoodi ja läpinäkyvä"

#~ msgid "Let's get you set up in just a moment"
#~ msgstr "Asetetaan sinut hetkessä käyttöön"

#~ msgid "Thank you for choosing TimeTracker!"
#~ msgstr "Kiitos, että valitsit TimeTrackerin!"

#~ msgid "Your data stays on your server, and you have complete control."
#~ msgstr "Tietosi pysyvät palvelimellasi ja sinulla on täysi kontrolli."

#~ msgid "Help Us Improve (Optional)"
#~ msgstr "Auta meitä parantamaan (Valinnainen)"

#~ msgid "Enable anonymous telemetry"
#~ msgstr "Ota anonyymi telemetria käyttöön"

#~ msgid "Help us understand usage patterns to improve TimeTracker"
#~ msgstr "Auta meitä ymmärtämään käyttömalleja parantaaksemme TimeTrackeria"

#~ msgid "What data is collected?"
#~ msgstr "Mitä tietoja kerätään?"

#~ msgid "What we collect:"
#~ msgstr "Mitä keräämme:"

#~ msgid "Anonymous installation fingerprint (hashed)"
#~ msgstr "Anonyymi asennuksen sormenjälki (hash)"

#~ msgid "Application version & platform info"
#~ msgstr "Sovelluksen versio ja alustatiedot"

#~ msgid "Feature usage statistics"
#~ msgstr "Ominaisuuksien käyttötilastot"

#~ msgid "Internal numeric IDs only"
#~ msgstr "Vain sisäiset numeeriset ID:t"

#~ msgid "What we DON'T collect:"
#~ msgstr "Mitä emme kerää:"

#~ msgid "No usernames or emails"
#~ msgstr "Ei käyttäjänimiä tai sähköposteja"

#~ msgid "No project names or descriptions"
#~ msgstr "Ei projektinimiä tai kuvauksia"

#~ msgid "No time entry data or notes"
#~ msgstr "Ei ajan kirjaustietoja tai muistiinpanoja"

#~ msgid "No client or business data"
#~ msgstr "Ei asiakas- tai liiketoimintatietoja"

#~ msgid "No IP addresses or PII"
#~ msgstr "Ei IP-osoitteita tai henkilötietoja"

#~ msgid "Why?"
#~ msgstr "Miksi?"

#~ msgid "Anonymous usage data helps us prioritize features and fix issues."
#~ msgstr ""
#~ "Anonyymi käyttötieto auttaa meitä priorisoimaan"
#~ " ominaisuuksia ja korjaamaan ongelmia."

#~ msgid "You can change this anytime in"
#~ msgstr "Voit muuttaa tämän milloin tahansa"

#~ msgid "Admin → Settings"
#~ msgstr "Admin → Asetukset"

#~ msgid "Privacy & Analytics section"
#~ msgstr "Yksityisyys ja analytiikka -osio"

#~ msgid "Complete Setup & Continue"
#~ msgstr "Viimeistele asennus ja jatka"

#~ msgid "By continuing, you agree to use TimeTracker under the"
#~ msgstr "Jatkamalla hyväksyt TimeTrackerin käytön"

#~ msgid "GPL-3.0 License"
#~ msgstr "GPL-3.0-lisenssi"

#~ msgid "Duplicate Time Entry"
#~ msgstr "Monista ajan kirjaus"

#~ msgid "Log Time Manually"
#~ msgstr "Kirjaa aika manuaalisesti"

#~ msgid "Create a copy of a previous entry with new times"
#~ msgstr "Luo kopio aiemmasta merkinnästä uusilla ajoilla"

#~ msgid "Create a new time entry"
#~ msgstr "Luo uusi ajan kirjaus"

#~ msgid "Duplicating entry:"
#~ msgstr "Monistetaan merkintää:"

#~ msgid "Original:"
#~ msgstr "Alkuperäinen:"

#~ msgid "to"
#~ msgstr "–"

#~ msgid "N/A"
#~ msgstr "E/T"

#~ msgid "What did you work on?"
#~ msgstr "Mitä teit?"

#~ msgid "tag1, tag2"
#~ msgstr "tag1, tag2"

#~ msgid "Failed to load tasks"
#~ msgstr "Tehtävien lataaminen epäonnistui"

#~ msgid "Move Selected Tasks to Project"
#~ msgstr "Siirrä valitut tehtävät projektiin"

#~ msgid "Move Tasks"
#~ msgstr "Siirrä tehtävät"

#~ msgid "Add notes about what you're working on..."
#~ msgstr "Lisää muistiinpanoja siitä, mitä teet..."

#~ msgid "Set as default template"
#~ msgstr "Aseta oletusmalliksi"

#~ msgid "HTML Template"
#~ msgstr "HTML-malli"

#~ msgid "Invoice Number"
#~ msgstr "Laskunumero"

#~ msgid "Company Name"
#~ msgstr "Yrityksen nimi"

#~ msgid "Custom Message"
#~ msgstr "Mukautettu viesti"

#~ msgid "More Variables"
#~ msgstr "Lisää muuttujia"

#~ msgid "Invoice number or client"
#~ msgstr "Laskunumero tai asiakas"

#~ msgid "Receipt/Invoice Number"
#~ msgstr "Kuitti-/Laskunumero"

#~ msgid "Your session expired or the page was open too long. Please try again."
#~ msgstr ""

#~ msgid "Administrator access required"
#~ msgstr ""

#~ msgid "Could not update PDF layout due to a database error."
#~ msgstr ""

#~ msgid "PDF layout updated successfully"
#~ msgstr ""

#~ msgid "Could not reset PDF layout due to a database error."
#~ msgstr ""

#~ msgid "PDF layout reset to defaults"
#~ msgstr ""

#~ msgid "Username is required"
#~ msgstr ""

#~ msgid ""
#~ "Could not create your account due to"
#~ " a database error. Please try again "
#~ "later."
#~ msgstr ""

#~ msgid "Welcome! Your account has been created."
#~ msgstr ""

#~ msgid "User not found. Please contact an administrator."
#~ msgstr ""

#~ msgid "Could not update your account role due to a database error."
#~ msgstr ""

#~ msgid "Account is disabled. Please contact an administrator."
#~ msgstr ""

#~ msgid "Welcome back, %(username)s!"
#~ msgstr ""

#~ msgid "Unexpected error during login. Please try again or check server logs."
#~ msgstr ""

#~ msgid "Goodbye, %(username)s!"
#~ msgstr ""

#~ msgid "Invalid avatar file type. Allowed: PNG, JPG, JPEG, GIF, WEBP"
#~ msgstr ""

#~ msgid "Invalid image file."
#~ msgstr ""

#~ msgid "Failed to save avatar on server."
#~ msgstr ""

#~ msgid "Profile updated successfully"
#~ msgstr ""

#~ msgid "Could not update your profile due to a database error."
#~ msgstr ""

#~ msgid "Avatar removed"
#~ msgstr ""

#~ msgid "Failed to remove avatar."
#~ msgstr ""

#~ msgid "Single Sign-On is not configured yet. Please contact an administrator."
#~ msgstr ""

#~ msgid "Single Sign-On is not configured."
#~ msgstr ""

#~ msgid ""
#~ "Authentication failed: missing issuer or "
#~ "subject claim. Please check OIDC "
#~ "configuration."
#~ msgstr ""

#~ msgid "User account does not exist and self-registration is disabled."
#~ msgstr ""

#~ msgid "Could not create your account due to a database error."
#~ msgstr ""

#~ msgid "Unexpected error during SSO login. Please try again or contact support."
#~ msgstr ""

#~ msgid "Event created successfully"
#~ msgstr ""

#~ msgid "Event updated successfully"
#~ msgstr ""

#~ msgid "You do not have permission to delete this event."
#~ msgstr ""

#~ msgid "Failed to delete event"
#~ msgstr ""

#~ msgid "Event deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting event: %(error)s"
#~ msgstr ""

#~ msgid "Event moved successfully"
#~ msgstr ""

#~ msgid "Event resized successfully"
#~ msgstr ""

#~ msgid "You do not have permission to view this event."
#~ msgstr ""

#~ msgid "You do not have permission to edit this event."
#~ msgstr ""

#~ msgid "Note content cannot be empty"
#~ msgstr ""

#~ msgid "Note added successfully"
#~ msgstr ""

#~ msgid "Error adding note"
#~ msgstr ""

#~ msgid "Error adding note: %(error)s"
#~ msgstr ""

#~ msgid "Note does not belong to this client"
#~ msgstr ""

#~ msgid "You do not have permission to edit this note"
#~ msgstr ""

#~ msgid "Error updating note"
#~ msgstr ""

#~ msgid "Note updated successfully"
#~ msgstr ""

#~ msgid "Error updating note: %(error)s"
#~ msgstr ""

#~ msgid "You do not have permission to delete this note"
#~ msgstr ""

#~ msgid "Error deleting note"
#~ msgstr ""

#~ msgid "Note deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting note: %(error)s"
#~ msgstr ""

#~ msgid "You do not have permission to create clients"
#~ msgstr ""

#~ msgid "Comment content cannot be empty"
#~ msgstr ""

#~ msgid "Comment must be associated with a project or task"
#~ msgstr ""

#~ msgid "Comment cannot be associated with both a project and a task"
#~ msgstr ""

#~ msgid "Invalid parent comment"
#~ msgstr ""

#~ msgid "Comment added successfully"
#~ msgstr ""

#~ msgid "Error adding comment"
#~ msgstr ""

#~ msgid "Error adding comment: %(error)s"
#~ msgstr ""

#~ msgid "You do not have permission to edit this comment"
#~ msgstr ""

#~ msgid "Comment updated successfully"
#~ msgstr ""

#~ msgid "Error updating comment: %(error)s"
#~ msgstr ""

#~ msgid "You do not have permission to delete this comment"
#~ msgstr ""

#~ msgid "Comment deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting comment: %(error)s"
#~ msgstr ""

#~ msgid "Category name is required"
#~ msgstr ""

#~ msgid "Expense category created successfully"
#~ msgstr ""

#~ msgid "Error creating expense category"
#~ msgstr ""

#~ msgid "Expense category updated successfully"
#~ msgstr ""

#~ msgid "Error updating expense category"
#~ msgstr ""

#~ msgid "Expense category deactivated successfully"
#~ msgstr ""

#~ msgid "Error deactivating expense category"
#~ msgstr ""

#~ msgid "Title is required"
#~ msgstr ""

#~ msgid "Category is required"
#~ msgstr ""

#~ msgid "Amount is required"
#~ msgstr ""

#~ msgid "Expense date is required"
#~ msgstr ""

#~ msgid "Invalid date format"
#~ msgstr ""

#~ msgid "Invalid amount format"
#~ msgstr ""

#~ msgid "Expense created successfully"
#~ msgstr ""

#~ msgid "Error creating expense"
#~ msgstr ""

#~ msgid "You do not have permission to view this expense"
#~ msgstr ""

#~ msgid "You do not have permission to edit this expense"
#~ msgstr ""

#~ msgid "Cannot edit approved or reimbursed expenses"
#~ msgstr ""

#~ msgid "Please fill in all required fields"
#~ msgstr ""

#~ msgid "Expense updated successfully"
#~ msgstr ""

#~ msgid "Error updating expense"
#~ msgstr ""

#~ msgid "You do not have permission to delete this expense"
#~ msgstr ""

#~ msgid "Cannot delete approved or invoiced expenses"
#~ msgstr ""

#~ msgid "Expense deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting expense"
#~ msgstr ""

#~ msgid "Only administrators can approve expenses"
#~ msgstr ""

#~ msgid "Only pending expenses can be approved"
#~ msgstr ""

#~ msgid "Expense approved successfully"
#~ msgstr ""

#~ msgid "Error approving expense"
#~ msgstr ""

#~ msgid "Only administrators can reject expenses"
#~ msgstr ""

#~ msgid "Only pending expenses can be rejected"
#~ msgstr ""

#~ msgid "Rejection reason is required"
#~ msgstr ""

#~ msgid "Expense rejected"
#~ msgstr ""

#~ msgid "Error rejecting expense"
#~ msgstr ""

#~ msgid "Only administrators can mark expenses as reimbursed"
#~ msgstr ""

#~ msgid "Only approved expenses can be marked as reimbursed"
#~ msgstr ""

#~ msgid "This expense is not marked as reimbursable"
#~ msgstr ""

#~ msgid "Expense marked as reimbursed"
#~ msgstr ""

#~ msgid "Error marking expense as reimbursed"
#~ msgstr ""

#~ msgid "OCR is not available. Please contact your administrator."
#~ msgstr ""

#~ msgid "No file provided"
#~ msgstr ""

#~ msgid "No file selected"
#~ msgstr ""

#~ msgid "Invalid file type. Allowed types: png, jpg, jpeg, gif, pdf"
#~ msgstr ""

#~ msgid ""
#~ "Receipt scanned successfully! You can now"
#~ " create an expense with the extracted"
#~ " data."
#~ msgstr ""

#~ msgid "Error scanning receipt. Please try again or enter the expense manually."
#~ msgstr ""

#~ msgid "No scanned receipt data found. Please scan a receipt first."
#~ msgstr ""

#~ msgid "Expense created successfully from scanned receipt"
#~ msgstr ""

#~ msgid "You do not have permission to export this invoice"
#~ msgstr ""

#~ msgid "PDF generation failed: %(err)s. Fallback also failed: %(fb)s"
#~ msgstr ""

#~ msgid "Mileage entry created successfully"
#~ msgstr ""

#~ msgid "Error creating mileage entry"
#~ msgstr ""

#~ msgid "You do not have permission to view this mileage entry"
#~ msgstr ""

#~ msgid "You do not have permission to edit this mileage entry"
#~ msgstr ""

#~ msgid "Cannot edit approved or reimbursed mileage entries"
#~ msgstr ""

#~ msgid "Mileage entry updated successfully"
#~ msgstr ""

#~ msgid "Error updating mileage entry"
#~ msgstr ""

#~ msgid "You do not have permission to delete this mileage entry"
#~ msgstr ""

#~ msgid "Mileage entry deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting mileage entry"
#~ msgstr ""

#~ msgid "Only administrators can approve mileage entries"
#~ msgstr ""

#~ msgid "Only pending mileage entries can be approved"
#~ msgstr ""

#~ msgid "Mileage entry approved successfully"
#~ msgstr ""

#~ msgid "Error approving mileage entry"
#~ msgstr ""

#~ msgid "Only administrators can reject mileage entries"
#~ msgstr ""

#~ msgid "Only pending mileage entries can be rejected"
#~ msgstr ""

#~ msgid "Mileage entry rejected"
#~ msgstr ""

#~ msgid "Error rejecting mileage entry"
#~ msgstr ""

#~ msgid "Only administrators can mark mileage entries as reimbursed"
#~ msgstr ""

#~ msgid "Only approved mileage entries can be marked as reimbursed"
#~ msgstr ""

#~ msgid "Mileage entry marked as reimbursed"
#~ msgstr ""

#~ msgid "Error marking mileage entry as reimbursed"
#~ msgstr ""

#~ msgid "Start date must be before end date"
#~ msgstr ""

#~ msgid "No per diem rate found for this location. Please configure rates first."
#~ msgstr ""

#~ msgid "Per diem claim created successfully"
#~ msgstr ""

#~ msgid "Error creating per diem claim"
#~ msgstr ""

#~ msgid "You do not have permission to view this per diem claim"
#~ msgstr ""

#~ msgid "You do not have permission to edit this per diem claim"
#~ msgstr ""

#~ msgid "Cannot edit approved or reimbursed per diem claims"
#~ msgstr ""

#~ msgid "Per diem claim updated successfully"
#~ msgstr ""

#~ msgid "Error updating per diem claim"
#~ msgstr ""

#~ msgid "You do not have permission to delete this per diem claim"
#~ msgstr ""

#~ msgid "Per diem claim deleted successfully"
#~ msgstr ""

#~ msgid "Error deleting per diem claim"
#~ msgstr ""

#~ msgid "Only administrators can approve per diem claims"
#~ msgstr ""

#~ msgid "Only pending per diem claims can be approved"
#~ msgstr ""

#~ msgid "Per diem claim approved successfully"
#~ msgstr ""

#~ msgid "Error approving per diem claim"
#~ msgstr ""

#~ msgid "Only administrators can reject per diem claims"
#~ msgstr ""

#~ msgid "Only pending per diem claims can be rejected"
#~ msgstr ""

#~ msgid "Per diem claim rejected"
#~ msgstr ""

#~ msgid "Error rejecting per diem claim"
#~ msgstr ""

#~ msgid "Per diem rate created successfully"
#~ msgstr ""

#~ msgid "Error creating per diem rate"
#~ msgstr ""

#~ msgid "You do not have permission to access this page"
#~ msgstr ""

#~ msgid "Role name is required"
#~ msgstr ""

#~ msgid "A role with this name already exists"
#~ msgstr ""

#~ msgid "Could not create role due to a database error"
#~ msgstr ""

#~ msgid "Role created successfully"
#~ msgstr ""

#~ msgid "System roles cannot be edited"
#~ msgstr ""

#~ msgid "Could not update role due to a database error"
#~ msgstr ""

#~ msgid "Role updated successfully"
#~ msgstr ""

#~ msgid "You do not have permission to perform this action"
#~ msgstr ""

#~ msgid "System roles cannot be deleted"
#~ msgstr ""

#~ msgid "Cannot delete role that is assigned to users. Please reassign users first."
#~ msgstr ""

#~ msgid "Could not delete role due to a database error"
#~ msgstr ""

#~ msgid "Role \"%(name)s\" deleted successfully"
#~ msgstr ""

#~ msgid "Could not update user roles due to a database error"
#~ msgstr ""

#~ msgid "User roles updated successfully"
#~ msgstr ""

#~ msgid "Project code already in use"
#~ msgstr ""

#~ msgid "Project is already in favorites"
#~ msgstr ""

#~ msgid "Project added to favorites"
#~ msgstr ""

#~ msgid "Failed to add project to favorites"
#~ msgstr ""

#~ msgid "Project is not in favorites"
#~ msgstr ""

#~ msgid "Project removed from favorites"
#~ msgstr ""

#~ msgid "Failed to remove project from favorites"
#~ msgstr ""

#~ msgid "Description, category, amount, and date are required"
#~ msgstr ""

#~ msgid "Could not add cost due to a database error. Please check server logs."
#~ msgstr ""

#~ msgid "Cost added successfully"
#~ msgstr ""

#~ msgid "Cost not found"
#~ msgstr ""

#~ msgid "You do not have permission to edit this cost"
#~ msgstr ""

#~ msgid "Could not update cost due to a database error. Please check server logs."
#~ msgstr ""

#~ msgid "Cost updated successfully"
#~ msgstr ""

#~ msgid "You do not have permission to delete this cost"
#~ msgstr ""

#~ msgid "Cannot delete cost that has been invoiced"
#~ msgstr ""

#~ msgid "Could not delete cost due to a database error. Please check server logs."
#~ msgstr ""

#~ msgid "Name and unit price are required"
#~ msgstr ""

#~ msgid "Invalid quantity format"
#~ msgstr ""

#~ msgid "Invalid unit price format"
#~ msgstr ""

#~ msgid ""
#~ "Could not add extra good due to "
#~ "a database error. Please check server "
#~ "logs."
#~ msgstr ""

#~ msgid "Extra good added successfully"
#~ msgstr ""

#~ msgid "Extra good not found"
#~ msgstr ""

#~ msgid "You do not have permission to edit this extra good"
#~ msgstr ""

#~ msgid ""
#~ "Could not update extra good due to"
#~ " a database error. Please check server"
#~ " logs."
#~ msgstr ""

#~ msgid "Extra good updated successfully"
#~ msgstr ""

#~ msgid "You do not have permission to delete this extra good"
#~ msgstr ""

#~ msgid "Cannot delete extra good that has been added to an invoice"
#~ msgstr ""

#~ msgid ""
#~ "Could not delete extra good due to"
#~ " a database error. Please check server"
#~ " logs."
#~ msgstr ""

#~ msgid "Invalid project selected"
#~ msgstr ""

#~ msgid ""
#~ "Cannot start timer for an archived "
#~ "project. Please unarchive the project "
#~ "first."
#~ msgstr ""

#~ msgid "Cannot start timer for an inactive project"
#~ msgstr ""

#~ msgid ""
#~ "Cannot create time entries for an "
#~ "archived project. Please unarchive the "
#~ "project first."
#~ msgstr ""

#~ msgid "Cannot create time entries for an inactive project"
#~ msgstr ""

#~ msgid "Invalid timezone selected"
#~ msgstr ""

#~ msgid "Standard hours per day must be between 0.5 and 24"
#~ msgstr ""

#~ msgid "Settings saved successfully"
#~ msgstr ""

#~ msgid "Error saving settings"
#~ msgstr ""

#~ msgid "Error saving settings: %(error)s"
#~ msgstr ""

#~ msgid "Preferences updated"
#~ msgstr ""

#~ msgid "Language updated successfully"
#~ msgstr ""

#~ msgid "Invalid language"
#~ msgstr ""

#~ msgid "Language updated to %(language)s"
#~ msgstr ""

#~ msgid "Please enter a valid target hours (greater than 0)"
#~ msgstr ""

#~ msgid ""
#~ "A goal already exists for this week."
#~ " Please edit the existing goal instead."
#~ msgstr ""

#~ msgid "Weekly time goal created successfully!"
#~ msgstr ""

#~ msgid "Failed to create goal. Please try again."
#~ msgstr ""

#~ msgid "You do not have permission to view this goal"
#~ msgstr ""

#~ msgid "You do not have permission to edit this goal"
#~ msgstr ""

#~ msgid "Weekly time goal updated successfully!"
#~ msgstr ""

#~ msgid "Failed to update goal. Please try again."
#~ msgstr ""

#~ msgid "You do not have permission to delete this goal"
#~ msgstr ""

#~ msgid "Weekly time goal deleted successfully"
#~ msgstr ""

#~ msgid "Failed to delete goal. Please try again."
#~ msgstr ""

#~ msgid "remaining"
#~ msgstr ""

#~ msgid "Success"
#~ msgstr ""

#~ msgid "Error"
#~ msgstr ""

#~ msgid "Warning"
#~ msgstr ""

#~ msgid "Information"
#~ msgstr ""

#~ msgid "Saving..."
#~ msgstr ""

#~ msgid "Save"
#~ msgstr ""

#~ msgid "Edit"
#~ msgstr ""

#~ msgid "Add"
#~ msgstr ""

#~ msgid "Remove"
#~ msgstr ""

#~ msgid "Yes"
#~ msgstr ""

#~ msgid "No"
#~ msgstr ""

#~ msgid "OK"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this?"
#~ msgstr ""

#~ msgid "You have unsaved changes. Are you sure you want to leave?"
#~ msgstr ""

#~ msgid "Operation failed"
#~ msgstr ""

#~ msgid "Operation completed successfully"
#~ msgstr ""

#~ msgid "No items selected"
#~ msgstr ""

#~ msgid "Invalid input"
#~ msgstr ""

#~ msgid "This field is required"
#~ msgstr ""

#~ msgid "No active timer"
#~ msgstr ""

#~ msgid "Timer stopped"
#~ msgstr ""

#~ msgid "Failed to stop timer"
#~ msgstr ""

#~ msgid "Error stopping timer"
#~ msgstr ""

#~ msgid "No form to save"
#~ msgstr ""

#~ msgid "No timer found"
#~ msgstr ""

#~ msgid "Timer stopped due to inactivity"
#~ msgstr ""

#~ msgid "Navigation"
#~ msgstr ""

#~ msgid "Time Tracking"
#~ msgstr ""

#~ msgid "Kanban Board"
#~ msgstr ""

#~ msgid "Weekly Goals"
#~ msgstr ""

#~ msgid "Templates"
#~ msgstr ""

#~ msgid "Finance & Expenses"
#~ msgstr ""

#~ msgid "Payments"
#~ msgstr ""

#~ msgid "Expenses"
#~ msgstr ""

#~ msgid "Mileage"
#~ msgstr ""

#~ msgid "Per Diem"
#~ msgstr ""

#~ msgid "Budget Alerts"
#~ msgstr ""

#~ msgid "Tools & Data"
#~ msgstr ""

#~ msgid "Import / Export"
#~ msgstr ""

#~ msgid "Saved Filters"
#~ msgstr ""

#~ msgid "Admin Dashboard"
#~ msgstr ""

#~ msgid "Users"
#~ msgstr ""

#~ msgid "API Tokens"
#~ msgstr ""

#~ msgid "Roles & Permissions"
#~ msgstr ""

#~ msgid "System Settings"
#~ msgstr ""

#~ msgid "PDF Layout"
#~ msgstr ""

#~ msgid "Expense Categories"
#~ msgstr ""

#~ msgid "Per Diem Rates"
#~ msgstr ""

#~ msgid "System Info"
#~ msgstr ""

#~ msgid "Backups"
#~ msgstr ""

#~ msgid "OIDC Settings"
#~ msgstr ""

#~ msgid "Support TimeTracker"
#~ msgstr ""

#~ msgid ""
#~ "Enjoying TimeTracker? Consider buying me a"
#~ " coffee to support continued development!"
#~ msgstr ""

#~ msgid "Made with"
#~ msgstr ""

#~ msgid "by"
#~ msgstr ""

#~ msgid "Support TimeTracker development"
#~ msgstr ""

#~ msgid "Support"
#~ msgstr ""

#~ msgid "Enjoying TimeTracker?"
#~ msgstr ""

#~ msgid "Support continued development with a coffee"
#~ msgstr ""

#~ msgid "Dismiss"
#~ msgstr ""

#~ msgid "Toggle dark mode"
#~ msgstr ""

#~ msgid "Change language"
#~ msgstr ""

#~ msgid "User menu"
#~ msgstr ""

#~ msgid "Guest"
#~ msgstr ""

#~ msgid "My Profile"
#~ msgstr ""

#~ msgid "My Settings"
#~ msgstr ""

#~ msgid "Are you sure you want to"
#~ msgstr ""

#~ msgid "deactivate"
#~ msgstr ""

#~ msgid "activate"
#~ msgstr ""

#~ msgid "this token?"
#~ msgstr ""

#~ msgid "Deactivate Token"
#~ msgstr ""

#~ msgid "Activate Token"
#~ msgstr ""

#~ msgid "Deactivate"
#~ msgstr ""

#~ msgid "Activate"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this token? This action cannot be undone."
#~ msgstr ""

#~ msgid "Delete Token"
#~ msgstr ""

#~ msgid "Email Configuration & Testing"
#~ msgstr ""

#~ msgid "Configure and test email delivery"
#~ msgstr ""

#~ msgid "Back to Admin"
#~ msgstr ""

#~ msgid "Email Configuration"
#~ msgstr ""

#~ msgid ""
#~ "Configure email settings here to save "
#~ "them in the database. Database settings "
#~ "take precedence over environment variables."
#~ msgstr ""

#~ msgid "Enable Database Email Configuration"
#~ msgstr ""

#~ msgid "Mail Server"
#~ msgstr ""

#~ msgid "Mail Port"
#~ msgstr ""

#~ msgid "Use TLS"
#~ msgstr ""

#~ msgid "Use SSL"
#~ msgstr ""

#~ msgid "Password"
#~ msgstr ""

#~ msgid "Leave empty to keep current"
#~ msgstr ""

#~ msgid "Default Sender"
#~ msgstr ""

#~ msgid "Save Configuration"
#~ msgstr ""

#~ msgid "Reset"
#~ msgstr ""

#~ msgid "Email Configuration Status"
#~ msgstr ""

#~ msgid "Refresh"
#~ msgstr ""

#~ msgid "Email is configured!"
#~ msgstr ""

#~ msgid "Your email settings are properly set up."
#~ msgstr ""

#~ msgid "Email is not configured"
#~ msgstr ""

#~ msgid "Please configure email settings in your environment variables."
#~ msgstr ""

#~ msgid "Configuration Errors"
#~ msgstr ""

#~ msgid "Configuration Warnings"
#~ msgstr ""

#~ msgid "Current Email Settings"
#~ msgstr ""

#~ msgid "Port"
#~ msgstr ""

#~ msgid "Password Set"
#~ msgstr ""

#~ msgid "Send Test Email"
#~ msgstr ""

#~ msgid "Recipient Email Address"
#~ msgstr ""

#~ msgid "Configuration Guide"
#~ msgstr ""

#~ msgid "To configure email, set the following environment variables:"
#~ msgstr ""

#~ msgid "Basic SMTP Settings"
#~ msgstr ""

#~ msgid "Authentication"
#~ msgstr ""

#~ msgid "Sender Information"
#~ msgstr ""

#~ msgid "Common SMTP Providers"
#~ msgstr ""

#~ msgid "Requires app password"
#~ msgstr ""

#~ msgid "Important Notes"
#~ msgstr ""

#~ msgid "Gmail requires an App Password if 2FA is enabled"
#~ msgstr ""

#~ msgid "Restart the application after changing email settings"
#~ msgstr ""

#~ msgid "Check firewall rules if emails are not sending"
#~ msgstr ""

#~ msgid "For production, use a dedicated email service like SendGrid or Amazon SES"
#~ msgstr ""

#~ msgid "password is set"
#~ msgstr ""

#~ msgid "no password set"
#~ msgstr ""

#~ msgid "Failed to save configuration. Please try again."
#~ msgstr ""

#~ msgid "Success!"
#~ msgstr ""

#~ msgid "Failed to refresh status. Please try again."
#~ msgstr ""

#~ msgid "Please enter a valid email address"
#~ msgstr ""

#~ msgid "Sending..."
#~ msgstr ""

#~ msgid "Failed to send test email. Please check your configuration."
#~ msgstr ""

#~ msgid "OIDC Debug Dashboard"
#~ msgstr ""

#~ msgid "Inspect configuration, provider metadata and OIDC users"
#~ msgstr ""

#~ msgid "Test Configuration"
#~ msgstr ""

#~ msgid "OIDC Configuration"
#~ msgstr ""

#~ msgid "Enabled"
#~ msgstr ""

#~ msgid "Disabled"
#~ msgstr ""

#~ msgid "Auth Method"
#~ msgstr ""

#~ msgid "Issuer"
#~ msgstr ""

#~ msgid "Not configured"
#~ msgstr ""

#~ msgid "Client ID"
#~ msgstr ""

#~ msgid "Client Secret"
#~ msgstr ""

#~ msgid "Set"
#~ msgstr ""

#~ msgid "Not set"
#~ msgstr ""

#~ msgid "Redirect URI"
#~ msgstr ""

#~ msgid "Auto-generated"
#~ msgstr ""

#~ msgid "Scopes"
#~ msgstr ""

#~ msgid "Claim Mapping"
#~ msgstr ""

#~ msgid "Username Claim"
#~ msgstr ""

#~ msgid "Email Claim"
#~ msgstr ""

#~ msgid "Full Name Claim"
#~ msgstr ""

#~ msgid "Groups Claim"
#~ msgstr ""

#~ msgid "Admin Group"
#~ msgstr ""

#~ msgid "Admin Emails"
#~ msgstr ""

#~ msgid "Post-Logout URI"
#~ msgstr ""

#~ msgid "Provider Metadata"
#~ msgstr ""

#~ msgid "Error loading metadata:"
#~ msgstr ""

#~ msgid "Discovery endpoint:"
#~ msgstr ""

#~ msgid "Successfully loaded provider metadata"
#~ msgstr ""

#~ msgid "Endpoints"
#~ msgstr ""

#~ msgid "Authorization"
#~ msgstr ""

#~ msgid "Token"
#~ msgstr ""

#~ msgid "UserInfo"
#~ msgstr ""

#~ msgid "End Session"
#~ msgstr ""

#~ msgid "JWKS URI"
#~ msgstr ""

#~ msgid "Supported Features"
#~ msgstr ""

#~ msgid "Response Types"
#~ msgstr ""

#~ msgid "Grant Types"
#~ msgstr ""

#~ msgid "Auth Methods"
#~ msgstr ""

#~ msgid "Claims"
#~ msgstr ""

#~ msgid "Provider metadata not loaded. Click \"Test Configuration\" to fetch."
#~ msgstr ""

#~ msgid "OIDC Users"
#~ msgstr ""

#~ msgid "Email"
#~ msgstr ""

#~ msgid "Full Name"
#~ msgstr ""

#~ msgid "Role"
#~ msgstr ""

#~ msgid "Last Login"
#~ msgstr ""

#~ msgid "OIDC Subject"
#~ msgstr ""

#~ msgid "Inactive"
#~ msgstr ""

#~ msgid "User"
#~ msgstr ""

#~ msgid "Never"
#~ msgstr ""

#~ msgid "Details"
#~ msgstr ""

#~ msgid "No users have logged in via OIDC yet."
#~ msgstr ""

#~ msgid "Environment Variables Reference"
#~ msgstr ""

#~ msgid "Configure OIDC using these environment variables:"
#~ msgstr ""

#~ msgid "Variable"
#~ msgstr ""

#~ msgid "Description"
#~ msgstr ""

#~ msgid "Example"
#~ msgstr ""

#~ msgid "Authentication method"
#~ msgstr ""

#~ msgid "OIDC provider issuer URL"
#~ msgstr ""

#~ msgid "Client ID from OIDC provider"
#~ msgstr ""

#~ msgid "Client secret from OIDC provider"
#~ msgstr ""

#~ msgid "Callback URL (optional, auto-generated)"
#~ msgstr ""

#~ msgid "Requested scopes"
#~ msgstr ""

#~ msgid "Claim containing username"
#~ msgstr ""

#~ msgid "Claim containing email"
#~ msgstr ""

#~ msgid "Claim containing full name"
#~ msgstr ""

#~ msgid "Claim containing groups"
#~ msgstr ""

#~ msgid "Group name for admin role (optional)"
#~ msgstr ""

#~ msgid "Comma-separated admin emails (optional)"
#~ msgstr ""

#~ msgid "OIDC User Details"
#~ msgstr ""

#~ msgid "Profile and OIDC identity for this user"
#~ msgstr ""

#~ msgid "Back to OIDC Debug"
#~ msgstr ""

#~ msgid "User Profile"
#~ msgstr ""

#~ msgid "Active"
#~ msgstr ""

#~ msgid "Preferred Language"
#~ msgstr ""

#~ msgid "Theme"
#~ msgstr ""

#~ msgid "Created At"
#~ msgstr ""

#~ msgid "Unknown"
#~ msgstr ""

#~ msgid "OIDC Information"
#~ msgstr ""

#~ msgid "OIDC Issuer"
#~ msgstr ""

#~ msgid "OIDC Subject (sub)"
#~ msgstr ""

#~ msgid "Authentication Method"
#~ msgstr ""

#~ msgid "Local"
#~ msgstr ""

#~ msgid ""
#~ "This user was created or linked via"
#~ " OIDC. The issuer and subject are "
#~ "used to uniquely identify the user "
#~ "across login sessions."
#~ msgstr ""

#~ msgid ""
#~ "This user has no OIDC information. "
#~ "They may have been created manually "
#~ "or via self-registration without OIDC."
#~ msgstr ""

#~ msgid "Activity Statistics"
#~ msgstr ""

#~ msgid "Time Entries"
#~ msgstr ""

#~ msgid "None"
#~ msgstr ""

#~ msgid "Active Timer"
#~ msgstr ""

#~ msgid "Tasks Created"
#~ msgstr ""

#~ msgid "Edit User"
#~ msgstr ""

#~ msgid "View All Users"
#~ msgstr ""

#~ msgid "Are you sure you want to remove the company logo?"
#~ msgstr ""

#~ msgid "Remove Logo"
#~ msgstr ""

#~ msgid "Admin Access"
#~ msgstr ""

#~ msgid "Migrate to new role system"
#~ msgstr ""

#~ msgid "Migrate"
#~ msgstr ""

#~ msgid "Roles"
#~ msgstr ""

#~ msgid "No users found."
#~ msgstr ""

#~ msgid ""
#~ "Cannot delete user \"{name}\" because they"
#~ " have {count} time entries. Users with"
#~ " existing time entries cannot be "
#~ "deleted."
#~ msgstr ""

#~ msgid "Cannot Delete User"
#~ msgstr ""

#~ msgid ""
#~ "Are you sure you want to delete "
#~ "user \"{name}\"? This action cannot be "
#~ "undone."
#~ msgstr ""

#~ msgid "Delete User"
#~ msgstr ""

#~ msgid "System Permissions"
#~ msgstr ""

#~ msgid "All available permissions in the system"
#~ msgstr ""

#~ msgid "Back to Roles"
#~ msgstr ""

#~ msgid "permissions"
#~ msgstr ""

#~ msgid "No description available"
#~ msgstr ""

#~ msgid "About Permissions"
#~ msgstr ""

#~ msgid ""
#~ "Permissions define what actions users can"
#~ " perform in the system. These "
#~ "permissions are assigned to roles, and "
#~ "roles are assigned to users. This "
#~ "provides a flexible and granular access "
#~ "control system."
#~ msgstr ""

#~ msgid "Edit Role"
#~ msgstr ""

#~ msgid "Create New Role"
#~ msgstr ""

#~ msgid "Role Name"
#~ msgstr ""

#~ msgid "A unique name for this role"
#~ msgstr ""

#~ msgid "Optional description of this role"
#~ msgstr ""

#~ msgid "Permissions"
#~ msgstr ""

#~ msgid "Select the permissions this role should have:"
#~ msgstr ""

#~ msgid "Toggle All"
#~ msgstr ""

#~ msgid "Update Role"
#~ msgstr ""

#~ msgid "Create Role"
#~ msgstr ""

#~ msgid "Manage roles and their permissions"
#~ msgstr ""

#~ msgid "View Permissions"
#~ msgstr ""

#~ msgid "Total Roles"
#~ msgstr ""

#~ msgid "System Roles"
#~ msgstr ""

#~ msgid "Custom Roles"
#~ msgstr ""

#~ msgid "Assigned Users"
#~ msgstr ""

#~ msgid "Type"
#~ msgstr ""

#~ msgid "Default role"
#~ msgstr ""

#~ msgid "user"
#~ msgstr ""

#~ msgid "users"
#~ msgstr ""

#~ msgid "No users"
#~ msgstr ""

#~ msgid "System"
#~ msgstr ""

#~ msgid "Custom"
#~ msgstr ""

#~ msgid "View"
#~ msgstr ""

#~ msgid "Permissions for"
#~ msgstr ""

#~ msgid "No permissions assigned."
#~ msgstr ""

#~ msgid "No roles found."
#~ msgstr ""

#~ msgid "About Roles & Permissions"
#~ msgstr ""

#~ msgid ""
#~ "Roles are collections of permissions that"
#~ " can be assigned to users. System "
#~ "roles are predefined and cannot be "
#~ "deleted or renamed, but custom roles "
#~ "can be created for your specific "
#~ "needs."
#~ msgstr ""

#~ msgid "Are you sure you want to delete the role"
#~ msgstr ""

#~ msgid "Delete Role"
#~ msgstr ""

#~ msgid "No description"
#~ msgstr ""

#~ msgid "Role Information"
#~ msgstr ""

#~ msgid "System Role"
#~ msgstr ""

#~ msgid "Custom Role"
#~ msgstr ""

#~ msgid "Total Permissions"
#~ msgstr ""

#~ msgid "Created"
#~ msgstr ""

#~ msgid "Users with this Role"
#~ msgstr ""

#~ msgid "No users assigned to this role yet."
#~ msgstr ""

#~ msgid "This role has no permissions assigned."
#~ msgstr ""

#~ msgid "Back to User"
#~ msgstr ""

#~ msgid "Manage Roles for"
#~ msgstr ""

#~ msgid "Assign Roles"
#~ msgstr ""

#~ msgid ""
#~ "Select the roles this user should "
#~ "have. Users inherit all permissions from"
#~ " their assigned roles."
#~ msgstr ""

#~ msgid "Update Roles"
#~ msgstr ""

#~ msgid "Current Effective Permissions"
#~ msgstr ""

#~ msgid "These are all the permissions the user currently has through their roles:"
#~ msgstr ""

#~ msgid "No permissions (assign roles to grant permissions)"
#~ msgstr ""

#~ msgid "Analytics Dashboard"
#~ msgstr ""

#~ msgid "Last 7 days"
#~ msgstr ""

#~ msgid "Last 30 days"
#~ msgstr ""

#~ msgid "Last 90 days"
#~ msgstr ""

#~ msgid "Last year"
#~ msgstr ""

#~ msgid "Key metrics and insights about your time tracking"
#~ msgstr ""

#~ msgid "Total Hours"
#~ msgstr ""

#~ msgid "Billable Hours"
#~ msgstr ""

#~ msgid "Active Projects"
#~ msgstr ""

#~ msgid "Avg Daily Hours"
#~ msgstr ""

#~ msgid "Daily Hours Trend"
#~ msgstr ""

#~ msgid "Billable vs Non-Billable"
#~ msgstr ""

#~ msgid "Hours by Project"
#~ msgstr ""

#~ msgid "Weekly Trends"
#~ msgstr ""

#~ msgid "Hours by Time of Day"
#~ msgstr ""

#~ msgid "Project Efficiency"
#~ msgstr ""

#~ msgid "User Performance"
#~ msgstr ""

#~ msgid "Failed to load charts. Please try again."
#~ msgstr ""

#~ msgid "Failed to refresh charts. Please try again."
#~ msgstr ""

#~ msgid "Hours"
#~ msgstr ""

#~ msgid "Hour of Day"
#~ msgstr ""

#~ msgid "Revenue"
#~ msgstr ""

#~ msgid "Key metrics and actionable insights"
#~ msgstr ""

#~ msgid "Export"
#~ msgstr ""

#~ msgid "vs previous period"
#~ msgstr ""

#~ msgid "of total"
#~ msgstr ""

#~ msgid "Potential Revenue"
#~ msgstr ""

#~ msgid "Avg rate:"
#~ msgstr ""

#~ msgid "Trend"
#~ msgstr ""

#~ msgid "active projects"
#~ msgstr ""

#~ msgid "Insights & Recommendations"
#~ msgstr ""

#~ msgid "Cumulative"
#~ msgstr ""

#~ msgid "Billable Distribution"
#~ msgstr ""

#~ msgid "Task Status Overview"
#~ msgstr ""

#~ msgid "Tasks Completed"
#~ msgstr ""

#~ msgid "Revenue by Project"
#~ msgstr ""

#~ msgid "Payments Over Time"
#~ msgstr ""

#~ msgid "Payment Status"
#~ msgstr ""

#~ msgid "Payment Methods"
#~ msgstr ""

#~ msgid "Revenue vs Payments"
#~ msgstr ""

#~ msgid "Collection Rate"
#~ msgstr ""

#~ msgid "Project Completion Rate"
#~ msgstr ""

#~ msgid "Billable"
#~ msgstr ""

#~ msgid "Non-Billable"
#~ msgstr ""

#~ msgid "Completion Rate (%)"
#~ msgstr ""

#~ msgid "Mobile insights overview"
#~ msgstr ""

#~ msgid "Daily Avg"
#~ msgstr ""

#~ msgid "Daily Hours"
#~ msgstr ""

#~ msgid "Top Projects"
#~ msgstr ""

#~ msgid "Track time. Stay organized."
#~ msgstr ""

#~ msgid "Sign in to your account"
#~ msgstr ""

#~ msgid "Sign in"
#~ msgstr ""

#~ msgid "Tip: Enter a new username to create your account."
#~ msgstr ""

#~ msgid "Or continue with"
#~ msgstr ""

#~ msgid "Single Sign-On"
#~ msgstr ""

#~ msgid "Budget Alerts & Forecasting"
#~ msgstr ""

#~ msgid "Monitor project budgets and forecast completion"
#~ msgstr ""

#~ msgid "Unacknowledged Alerts"
#~ msgstr ""

#~ msgid "Critical Alerts"
#~ msgstr ""

#~ msgid "Projects with Budgets"
#~ msgstr ""

#~ msgid "Warning Alerts"
#~ msgstr ""

#~ msgid "Active Alerts"
#~ msgstr ""

#~ msgid "Acknowledge"
#~ msgstr ""

#~ msgid "Project Budget Status"
#~ msgstr ""

#~ msgid "Budget"
#~ msgstr ""

#~ msgid "Consumed"
#~ msgstr ""

#~ msgid "Remaining"
#~ msgstr ""

#~ msgid "Progress"
#~ msgstr ""

#~ msgid "over"
#~ msgstr ""

#~ msgid "Over Budget"
#~ msgstr ""

#~ msgid "Critical"
#~ msgstr ""

#~ msgid "Healthy"
#~ msgstr ""

#~ msgid "No projects with budgets found"
#~ msgstr ""

#~ msgid "Alert acknowledged successfully"
#~ msgstr ""

#~ msgid "Failed to acknowledge alert"
#~ msgstr ""

#~ msgid "Budget Analysis & Forecasting"
#~ msgstr ""

#~ msgid "Back to Dashboard"
#~ msgstr ""

#~ msgid "View Project"
#~ msgstr ""

#~ msgid "Total Budget"
#~ msgstr ""

#~ msgid "Burn Rate Analysis"
#~ msgstr ""

#~ msgid "Daily Burn Rate"
#~ msgstr ""

#~ msgid "Weekly Burn Rate"
#~ msgstr ""

#~ msgid "Monthly Burn Rate"
#~ msgstr ""

#~ msgid "Period Total"
#~ msgstr ""

#~ msgid "Based on last"
#~ msgstr ""

#~ msgid "days"
#~ msgstr ""

#~ msgid "No burn rate data available"
#~ msgstr ""

#~ msgid "Completion Estimate"
#~ msgstr ""

#~ msgid "Estimated Completion Date"
#~ msgstr ""

#~ msgid "days remaining"
#~ msgstr ""

#~ msgid "Confidence Level"
#~ msgstr ""

#~ msgid "No completion estimate available"
#~ msgstr ""

#~ msgid "Cost Trend Analysis"
#~ msgstr ""

#~ msgid "Average"
#~ msgstr ""

#~ msgid "Change"
#~ msgstr ""

#~ msgid "Resource Allocation"
#~ msgstr ""

#~ msgid "Total Cost"
#~ msgstr ""

#~ msgid "Hourly Rate"
#~ msgstr ""

#~ msgid "Team Member"
#~ msgstr ""

#~ msgid "Cost"
#~ msgstr ""

#~ msgid "Hours %"
#~ msgstr ""

#~ msgid "Cost %"
#~ msgstr ""

#~ msgid "Entries"
#~ msgstr ""

#~ msgid "Date & Time"
#~ msgstr ""

#~ msgid "Location"
#~ msgstr ""

#~ msgid "Task"
#~ msgstr ""

#~ msgid "Client"
#~ msgstr ""

#~ msgid "Reminder"
#~ msgstr ""

#~ msgid "minutes before"
#~ msgstr ""

#~ msgid "hours before"
#~ msgstr ""

#~ msgid "days before"
#~ msgstr ""

#~ msgid "Recurring"
#~ msgstr ""

#~ msgid "Until"
#~ msgstr ""

#~ msgid "Last Updated"
#~ msgstr ""

#~ msgid "Back to Calendar"
#~ msgstr ""

#~ msgid "Delete Event"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this event? This action cannot be undone."
#~ msgstr ""

#~ msgid "Edit Event"
#~ msgstr ""

#~ msgid "New Event"
#~ msgstr ""

#~ msgid "Title"
#~ msgstr ""

#~ msgid "Start Date"
#~ msgstr ""

#~ msgid "Start Time"
#~ msgstr ""

#~ msgid "End Date"
#~ msgstr ""

#~ msgid "End Time"
#~ msgstr ""

#~ msgid "All Day Event"
#~ msgstr ""

#~ msgid "Event Type"
#~ msgstr ""

#~ msgid "Event"
#~ msgstr ""

#~ msgid "Meeting"
#~ msgstr ""

#~ msgid "Appointment"
#~ msgstr ""

#~ msgid "Deadline"
#~ msgstr ""

#~ msgid "-- None --"
#~ msgstr ""

#~ msgid "No reminder"
#~ msgstr ""

#~ msgid "5 minutes before"
#~ msgstr ""

#~ msgid "15 minutes before"
#~ msgstr ""

#~ msgid "30 minutes before"
#~ msgstr ""

#~ msgid "1 hour before"
#~ msgstr ""

#~ msgid "1 day before"
#~ msgstr ""

#~ msgid "Color"
#~ msgstr ""

#~ msgid "Choose a color for this event"
#~ msgstr ""

#~ msgid "Private Event"
#~ msgstr ""

#~ msgid "Private events are only visible to you"
#~ msgstr ""

#~ msgid "Recurring Event"
#~ msgstr ""

#~ msgid "This is a recurring event"
#~ msgstr ""

#~ msgid "Recurrence Pattern"
#~ msgstr ""

#~ msgid "Use RRULE format (e.g., FREQ=WEEKLY;BYDAY=MO,WE,FR)"
#~ msgstr ""

#~ msgid "Recurrence End Date"
#~ msgstr ""

#~ msgid "Update Event"
#~ msgstr ""

#~ msgid "Create Event"
#~ msgstr ""

#~ msgid "View and manage your events, tasks, and time entries"
#~ msgstr ""

#~ msgid "Day"
#~ msgstr ""

#~ msgid "Week"
#~ msgstr ""

#~ msgid "Month"
#~ msgstr ""

#~ msgid "Today"
#~ msgstr ""

#~ msgid "Events"
#~ msgstr ""

#~ msgid "Loading calendar..."
#~ msgstr ""

#~ msgid "Event Details"
#~ msgstr ""

#~ msgid "Edit Client Note"
#~ msgstr ""

#~ msgid "Back to Client"
#~ msgstr ""

#~ msgid "Client:"
#~ msgstr ""

#~ msgid "Created on"
#~ msgstr ""

#~ msgid "Last edited on"
#~ msgstr ""

#~ msgid "Note Content"
#~ msgstr ""

#~ msgid "Internal note visible only to your team."
#~ msgstr ""

#~ msgid "Mark as important"
#~ msgstr ""

#~ msgid "Save Changes"
#~ msgstr ""

#~ msgid "Create Client"
#~ msgstr ""

#~ msgid "Add a new client to manage related projects and billing."
#~ msgstr ""

#~ msgid "Back to Clients"
#~ msgstr ""

#~ msgid "Client Name"
#~ msgstr ""

#~ msgid "Enter client name"
#~ msgstr ""

#~ msgid "Default Hourly Rate"
#~ msgstr ""

#~ msgid "e.g. 75.00"
#~ msgstr ""

#~ msgid ""
#~ "This rate will be automatically filled "
#~ "when creating projects for this client"
#~ msgstr ""

#~ msgid "Supports Markdown"
#~ msgstr ""

#~ msgid "Brief description of the client or project scope"
#~ msgstr ""

#~ msgid "Contact Person"
#~ msgstr ""

#~ msgid "Primary contact name"
#~ msgstr ""

#~ msgid "contact@client.com"
#~ msgstr ""

#~ msgid "Phone"
#~ msgstr ""

#~ msgid "+1 (555) 123-4567"
#~ msgstr ""

#~ msgid "Address"
#~ msgstr ""

#~ msgid "Client address"
#~ msgstr ""

#~ msgid "Choose a clear, descriptive name for the client organization."
#~ msgstr ""

#~ msgid ""
#~ "Set the standard hourly rate for this"
#~ " client. This will automatically populate "
#~ "when creating new projects."
#~ msgstr ""

#~ msgid "Contact Information"
#~ msgstr ""

#~ msgid "Add contact details for easy communication and record keeping."
#~ msgstr ""

#~ msgid "Provide context about the client relationship or typical project types."
#~ msgstr ""

#~ msgid "Edit Client"
#~ msgstr ""

#~ msgid "Update Client"
#~ msgstr ""

#~ msgid "Client Statistics"
#~ msgstr ""

#~ msgid "Total Projects"
#~ msgstr ""

#~ msgid "Est. Total Cost"
#~ msgstr ""

#~ msgid "Mark client as Inactive?"
#~ msgstr ""

#~ msgid "Change Client Status"
#~ msgstr ""

#~ msgid "Mark Inactive"
#~ msgstr ""

#~ msgid "Activate client?"
#~ msgstr ""

#~ msgid "Activate Client"
#~ msgstr ""

#~ msgid "Delete Client"
#~ msgstr ""

#~ msgid "Archived"
#~ msgstr ""

#~ msgid "Internal Notes"
#~ msgstr ""

#~ msgid "Add Note"
#~ msgstr ""

#~ msgid "Add an internal note about this client..."
#~ msgstr ""

#~ msgid "Save Note"
#~ msgstr ""

#~ msgid "edited"
#~ msgstr ""

#~ msgid "Important"
#~ msgstr ""

#~ msgid "Unmark"
#~ msgstr ""

#~ msgid "Mark Important"
#~ msgstr ""

#~ msgid ""
#~ "No notes yet. Add a note to "
#~ "keep track of important information about"
#~ " this client."
#~ msgstr ""

#~ msgid "Are you sure you want to delete this note?"
#~ msgstr ""

#~ msgid "Delete Note"
#~ msgstr ""

#~ msgid "Edited on"
#~ msgstr ""

#~ msgid "Reply"
#~ msgstr ""

#~ msgid "Write your reply..."
#~ msgstr ""

#~ msgid "Comments"
#~ msgstr ""

#~ msgid "Add Comment"
#~ msgstr ""

#~ msgid "Your Comment"
#~ msgstr ""

#~ msgid "Share your thoughts, updates, or questions..."
#~ msgstr ""

#~ msgid "You can use line breaks to format your comment."
#~ msgstr ""

#~ msgid "Add Image"
#~ msgstr ""

#~ msgid "Post Comment"
#~ msgstr ""

#~ msgid "No comments yet"
#~ msgstr ""

#~ msgid "Start the conversation by adding the first comment."
#~ msgstr ""

#~ msgid "Add First Comment"
#~ msgstr ""

#~ msgid "Edit Comment"
#~ msgstr ""

#~ msgid "Back"
#~ msgstr ""

#~ msgid "Editing comment on:"
#~ msgstr ""

#~ msgid "Originally posted on"
#~ msgstr ""

#~ msgid "Comment Content"
#~ msgstr ""

#~ msgid "Recent Activity"
#~ msgstr ""

#~ msgid "All Activities"
#~ msgstr ""

#~ msgid "Time Templates"
#~ msgstr ""

#~ msgid "No recent activity"
#~ msgstr ""

#~ msgid "Activity will appear here as you work"
#~ msgstr ""

#~ msgid "Load More"
#~ msgstr ""

#~ msgid "Failed to load activities"
#~ msgstr ""

#~ msgid "400 Bad Request"
#~ msgstr ""

#~ msgid "Invalid Request"
#~ msgstr ""

#~ msgid "The request you made is invalid or contains errors. This could be due to:"
#~ msgstr ""

#~ msgid "Missing or invalid form data"
#~ msgstr ""

#~ msgid "Malformed request parameters"
#~ msgstr ""

#~ msgid "Go to Dashboard"
#~ msgstr ""

#~ msgid "Go Back"
#~ msgstr ""

#~ msgid "403 Forbidden"
#~ msgstr ""

#~ msgid "Access Denied"
#~ msgstr ""

#~ msgid "You don't have permission to access this resource. This could be due to:"
#~ msgstr ""

#~ msgid "Insufficient privileges"
#~ msgstr ""

#~ msgid "Not logged in"
#~ msgstr ""

#~ msgid "Resource access restrictions"
#~ msgstr ""

#~ msgid "Page Not Found"
#~ msgstr ""

#~ msgid "The page you're looking for doesn't exist or has been moved."
#~ msgstr ""

#~ msgid "Server Error"
#~ msgstr ""

#~ msgid "Something went wrong on our end. Please try again later."
#~ msgstr ""

#~ msgid "Try Again"
#~ msgstr ""

#~ msgid "An error occurred while processing your request."
#~ msgstr ""

#~ msgid "Are you sure you want to delete this expense?"
#~ msgstr ""

#~ msgid "Delete Expense"
#~ msgstr ""

#~ msgid "Import/Export Data"
#~ msgstr ""

#~ msgid "Import/Export"
#~ msgstr ""

#~ msgid ""
#~ "Import data from other time trackers "
#~ "or export your data for GDPR "
#~ "compliance and backups"
#~ msgstr ""

#~ msgid "Import Data"
#~ msgstr ""

#~ msgid "CSV Import"
#~ msgstr ""

#~ msgid "Import time entries from a CSV file"
#~ msgstr ""

#~ msgid "Choose CSV File"
#~ msgstr ""

#~ msgid "Download Template"
#~ msgstr ""

#~ msgid "Import from Toggl Track"
#~ msgstr ""

#~ msgid "Import time entries from Toggl Track"
#~ msgstr ""

#~ msgid "Import from Toggl"
#~ msgstr ""

#~ msgid "Import from Harvest"
#~ msgstr ""

#~ msgid "Import time entries from Harvest"
#~ msgstr ""

#~ msgid "Restore from Backup"
#~ msgstr ""

#~ msgid "Restore data from a backup file"
#~ msgstr ""

#~ msgid "Restore Backup"
#~ msgstr ""

#~ msgid "Import History"
#~ msgstr ""

#~ msgid "Export Data"
#~ msgstr ""

#~ msgid "Full Data Export (GDPR)"
#~ msgstr ""

#~ msgid "Export all your personal data"
#~ msgstr ""

#~ msgid "Export as JSON"
#~ msgstr ""

#~ msgid "Export as ZIP"
#~ msgstr ""

#~ msgid "Filtered Export"
#~ msgstr ""

#~ msgid "Export specific data with filters"
#~ msgstr ""

#~ msgid "Export with Filters"
#~ msgstr ""

#~ msgid "Create Backup"
#~ msgstr ""

#~ msgid "Create a full database backup"
#~ msgstr ""

#~ msgid "Export History"
#~ msgstr ""

#~ msgid "API Token"
#~ msgstr ""

#~ msgid "Workspace ID"
#~ msgstr ""

#~ msgid "Import"
#~ msgstr ""

#~ msgid "Account ID"
#~ msgstr ""

#~ msgid "Create Invoice"
#~ msgstr ""

#~ msgid "Generate a new invoice for a project and client"
#~ msgstr ""

#~ msgid "Back to Invoices"
#~ msgstr ""

#~ msgid "Select a project"
#~ msgstr ""

#~ msgid "Selecting a project will auto-fill client details"
#~ msgstr ""

#~ msgid "Client Email"
#~ msgstr ""

#~ msgid "Due Date"
#~ msgstr ""

#~ msgid "Client Address"
#~ msgstr ""

#~ msgid "Tax Rate (%)"
#~ msgstr ""

#~ msgid "Terms"
#~ msgstr ""

#~ msgid "Tips"
#~ msgstr ""

#~ msgid "Choose the correct project to auto-fill client details."
#~ msgstr ""

#~ msgid "You can customize notes and terms before sending the invoice."
#~ msgstr ""

#~ msgid "Edit Invoice"
#~ msgstr ""

#~ msgid "Update invoice details, items, and terms"
#~ msgstr ""

#~ msgid "Invoice Items"
#~ msgstr ""

#~ msgid "Time-based services and hourly work"
#~ msgstr ""

#~ msgid "Add Item"
#~ msgstr ""

#~ msgid "Quantity"
#~ msgstr ""

#~ msgid "Unit Price"
#~ msgstr ""

#~ msgid "Action"
#~ msgstr ""

#~ msgid "e.g., Web Development Services"
#~ msgstr ""

#~ msgid "Remove item"
#~ msgstr ""

#~ msgid "Items Subtotal"
#~ msgstr ""

#~ msgid "Billable expenses such as travel, meals, and materials"
#~ msgstr ""

#~ msgid "Add Expense"
#~ msgstr ""

#~ msgid "Category"
#~ msgstr ""

#~ msgid "Amount"
#~ msgstr ""

#~ msgid "e.g., Travel to Client Meeting"
#~ msgstr ""

#~ msgid "Linked expense - title cannot be edited"
#~ msgstr ""

#~ msgid "Linked expense - description cannot be edited"
#~ msgstr ""

#~ msgid "Linked expense - category cannot be edited"
#~ msgstr ""

#~ msgid "Travel"
#~ msgstr ""

#~ msgid "Meals"
#~ msgstr ""

#~ msgid "Accommodation"
#~ msgstr ""

#~ msgid "Supplies"
#~ msgstr ""

#~ msgid "Software"
#~ msgstr ""

#~ msgid "Equipment"
#~ msgstr ""

#~ msgid "Services"
#~ msgstr ""

#~ msgid "Marketing"
#~ msgstr ""

#~ msgid "Training"
#~ msgstr ""

#~ msgid "Other"
#~ msgstr ""

#~ msgid "Linked expense - amount cannot be edited"
#~ msgstr ""

#~ msgid "Linked expense - date cannot be edited"
#~ msgstr ""

#~ msgid "Unlink expense from invoice"
#~ msgstr ""

#~ msgid "Expenses Subtotal"
#~ msgstr ""

#~ msgid "Extra Goods"
#~ msgstr ""

#~ msgid "Products, materials, licenses, and other goods"
#~ msgstr ""

#~ msgid "Add Good"
#~ msgstr ""

#~ msgid "Name"
#~ msgstr ""

#~ msgid "Qty"
#~ msgstr ""

#~ msgid "Price"
#~ msgstr ""

#~ msgid "SKU"
#~ msgstr ""

#~ msgid "e.g., Software License"
#~ msgstr ""

#~ msgid "Product"
#~ msgstr ""

#~ msgid "Service"
#~ msgstr ""

#~ msgid "Material"
#~ msgstr ""

#~ msgid "License"
#~ msgstr ""

#~ msgid "Remove good"
#~ msgstr ""

#~ msgid "Goods Subtotal"
#~ msgstr ""

#~ msgid "Live Preview"
#~ msgstr ""

#~ msgid "Issue Date"
#~ msgstr ""

#~ msgid "Payment"
#~ msgstr ""

#~ msgid "Currency"
#~ msgstr ""

#~ msgid "Items"
#~ msgstr ""

#~ msgid "Goods"
#~ msgstr ""

#~ msgid "Subtotal"
#~ msgstr ""

#~ msgid "Tax"
#~ msgstr ""

#~ msgid "Total"
#~ msgstr ""

#~ msgid "Amount Paid"
#~ msgstr ""

#~ msgid "Outstanding"
#~ msgstr ""

#~ msgid "Generate from Time/Costs"
#~ msgstr ""

#~ msgid "Record Payment"
#~ msgstr ""

#~ msgid "Export PDF"
#~ msgstr ""

#~ msgid "Export CSV"
#~ msgstr ""

#~ msgid "Duplicate Invoice"
#~ msgstr ""

#~ msgid "Are you sure you want to unlink this expense from the invoice?"
#~ msgstr ""

#~ msgid "Unlink Expense"
#~ msgstr ""

#~ msgid "Unlink"
#~ msgstr ""

#~ msgid "Please add at least one item, expense, or extra good to the invoice"
#~ msgstr ""

#~ msgid "Generate from Time, Costs & Goods"
#~ msgstr ""

#~ msgid ""
#~ "Select unbilled time entries, project "
#~ "costs, and extra goods to add to "
#~ "this invoice"
#~ msgstr ""

#~ msgid "Back to Edit"
#~ msgstr ""

#~ msgid "Unbilled Time Entries"
#~ msgstr ""

#~ msgid "Time Entry"
#~ msgstr ""

#~ msgid "No unbilled time entries found for this project."
#~ msgstr ""

#~ msgid "Uninvoiced Project Costs"
#~ msgstr ""

#~ msgid "No uninvoiced costs found for this project."
#~ msgstr ""

#~ msgid "Uninvoiced Billable Expenses"
#~ msgstr ""

#~ msgid "Vendor"
#~ msgstr ""

#~ msgid "No uninvoiced billable expenses found for this project."
#~ msgstr ""

#~ msgid "Project Extra Goods"
#~ msgstr ""

#~ msgid "No extra goods found for this project."
#~ msgstr ""

#~ msgid "Add Selected to Invoice"
#~ msgstr ""

#~ msgid "Selection Summary"
#~ msgstr ""

#~ msgid "Total available hours"
#~ msgstr ""

#~ msgid "Total available costs"
#~ msgstr ""

#~ msgid "Total available expenses"
#~ msgstr ""

#~ msgid "Total available goods"
#~ msgstr ""

#~ msgid "You can select multiple time entries, costs, expenses, and extra goods."
#~ msgstr ""

#~ msgid "Time entries are grouped by task or project at item creation."
#~ msgstr ""

#~ msgid "Costs and extra goods are added as individual invoice items."
#~ msgstr ""

#~ msgid "Expenses are linked to the invoice and appear in a separate section."
#~ msgstr ""

#~ msgid "Please select at least one time entry, cost, expense, or extra good"
#~ msgstr ""

#~ msgid "Delete Invoice"
#~ msgstr ""

#~ msgid "Are you sure you want to delete invoice"
#~ msgstr ""

#~ msgid ""
#~ "All invoice items, extra goods, and "
#~ "payment records associated with this "
#~ "invoice will be permanently deleted."
#~ msgstr ""

#~ msgid "Invoice"
#~ msgstr ""

#~ msgid "Website"
#~ msgstr ""

#~ msgid "Tax ID"
#~ msgstr ""

#~ msgid "INVOICE"
#~ msgstr ""

#~ msgid "Invoice #"
#~ msgstr ""

#~ msgid "Bill To"
#~ msgstr ""

#~ msgid "Quantity (Hours)"
#~ msgstr ""

#~ msgid "Total Amount"
#~ msgstr ""

#~ msgid "Generated from %(num)d time entries"
#~ msgstr ""

#~ msgid "Expense"
#~ msgstr ""

#~ msgid "Subtotal:"
#~ msgstr ""

#~ msgid "Tax (%(rate).2f%%):"
#~ msgstr ""

#~ msgid "Total Amount:"
#~ msgstr ""

#~ msgid "Notes:"
#~ msgstr ""

#~ msgid "Terms:"
#~ msgstr ""

#~ msgid "Payment Information:"
#~ msgstr ""

#~ msgid "Terms & Conditions:"
#~ msgstr ""

#~ msgid "Kanban"
#~ msgstr ""

#~ msgid "All"
#~ msgstr ""

#~ msgid "Manage Columns"
#~ msgstr ""

#~ msgid "Drag tasks between columns to update their status"
#~ msgstr ""

#~ msgid "Kanban board"
#~ msgstr ""

#~ msgid "moved to"
#~ msgstr ""

#~ msgid "No tasks in this column."
#~ msgstr ""

#~ msgid "Manage Kanban Columns"
#~ msgstr ""

#~ msgid "Customize your kanban board columns and task states"
#~ msgstr ""

#~ msgid "Add Column"
#~ msgstr ""

#~ msgid "Kanban columns list"
#~ msgstr ""

#~ msgid "Key"
#~ msgstr ""

#~ msgid "Label"
#~ msgstr ""

#~ msgid "Icon"
#~ msgstr ""

#~ msgid "Complete?"
#~ msgstr ""

#~ msgid "Drag to reorder"
#~ msgstr ""

#~ msgid "Edit column"
#~ msgstr ""

#~ msgid "Toggle active state"
#~ msgstr ""

#~ msgid "No kanban columns found. Create your first column to get started."
#~ msgstr ""

#~ msgid "Tips:"
#~ msgstr ""

#~ msgid "Drag and drop rows to reorder columns"
#~ msgstr ""

#~ msgid ""
#~ "System columns (todo, in_progress, done) "
#~ "cannot be deleted but can be "
#~ "customized"
#~ msgstr ""

#~ msgid ""
#~ "Columns marked as \"Complete\" will mark"
#~ " tasks as completed when dragged to "
#~ "that column"
#~ msgstr ""

#~ msgid ""
#~ "Inactive columns are hidden from the "
#~ "kanban board but tasks with that "
#~ "status remain accessible"
#~ msgstr ""

#~ msgid "Delete Kanban Column"
#~ msgstr ""

#~ msgid "Are you sure you want to delete the column?"
#~ msgstr ""

#~ msgid "Key:"
#~ msgstr ""

#~ msgid ""
#~ "Note: Tasks with this status will "
#~ "remain accessible but the column will "
#~ "no longer appear on the kanban board."
#~ msgstr ""

#~ msgid "Delete Column"
#~ msgstr ""

#~ msgid "Columns reordered successfully"
#~ msgstr ""

#~ msgid "Failed to reorder columns. Please try again."
#~ msgstr ""

#~ msgid "Create Kanban Column"
#~ msgstr ""

#~ msgid "Add a new column to your kanban board"
#~ msgstr ""

#~ msgid "Create Kanban Column form"
#~ msgstr ""

#~ msgid "Column Label"
#~ msgstr ""

#~ msgid "e.g., In Review, Blocked, Testing"
#~ msgstr ""

#~ msgid "The display name shown on the kanban board"
#~ msgstr ""

#~ msgid "Column Key"
#~ msgstr ""

#~ msgid "e.g., in_review, blocked, testing"
#~ msgstr ""

#~ msgid ""
#~ "Unique identifier (lowercase, no spaces, "
#~ "use underscores). Auto-generated from label"
#~ " if empty."
#~ msgstr ""

#~ msgid "Icon Class"
#~ msgstr ""

#~ msgid "Font Awesome icon class"
#~ msgstr ""

#~ msgid "Browse icons"
#~ msgstr ""

#~ msgid "Primary (Blue)"
#~ msgstr ""

#~ msgid "Secondary (Gray)"
#~ msgstr ""

#~ msgid "Success (Green)"
#~ msgstr ""

#~ msgid "Danger (Red)"
#~ msgstr ""

#~ msgid "Warning (Yellow)"
#~ msgstr ""

#~ msgid "Info (Cyan)"
#~ msgstr ""

#~ msgid "Dark"
#~ msgstr ""

#~ msgid "Bootstrap color class for styling"
#~ msgstr ""

#~ msgid "Mark as Complete State"
#~ msgstr ""

#~ msgid "Tasks moved to this column will be marked as completed"
#~ msgstr ""

#~ msgid "Create Column"
#~ msgstr ""

#~ msgid "Note:"
#~ msgstr ""

#~ msgid ""
#~ "The column will be added at the "
#~ "end of the board. You can reorder "
#~ "columns later from the management page."
#~ msgstr ""

#~ msgid "Edit Kanban Column"
#~ msgstr ""

#~ msgid "Modify column settings"
#~ msgstr ""

#~ msgid "Edit Kanban Column form"
#~ msgstr ""

#~ msgid "The key cannot be changed after creation"
#~ msgstr ""

#~ msgid "Preview"
#~ msgstr ""

#~ msgid "Inactive columns are hidden from the kanban board"
#~ msgstr ""

#~ msgid "System Column:"
#~ msgstr ""

#~ msgid ""
#~ "This is a system column. You can "
#~ "customize its appearance but cannot delete"
#~ " it."
#~ msgstr ""

#~ msgid "Professional time tracking and project management"
#~ msgstr ""

#~ msgid ""
#~ "A comprehensive web-based time tracking "
#~ "application built with Flask, featuring "
#~ "project management, client organization, task "
#~ "management, invoicing, and advanced analytics."
#~ msgstr ""

#~ msgid "Project Management"
#~ msgstr ""

#~ msgid "Invoicing"
#~ msgstr ""

#~ msgid "Smart Timers"
#~ msgstr ""

#~ msgid "Real-time tracking with idle detection and live updates"
#~ msgstr ""

#~ msgid "Client Management"
#~ msgstr ""

#~ msgid "Organize clients with contacts, rates, and project relations"
#~ msgstr ""

#~ msgid "Task System"
#~ msgstr ""

#~ msgid "Break down projects into tasks with progress tracking"
#~ msgstr ""

#~ msgid "PDF Invoices"
#~ msgstr ""

#~ msgid "Generate professional invoices from tracked time"
#~ msgstr ""

#~ msgid "Core Features"
#~ msgstr ""

#~ msgid "Start/stop timers with project and task association"
#~ msgstr ""

#~ msgid "Manual time entry with notes and tags"
#~ msgstr ""

#~ msgid "Client and project organization"
#~ msgstr ""

#~ msgid "Role-based access and user profiles"
#~ msgstr ""

#~ msgid "Advanced Features"
#~ msgstr ""

#~ msgid "Branded PDF invoicing with tax and payment tracking"
#~ msgstr ""

#~ msgid "Visual analytics and detailed reporting"
#~ msgstr ""

#~ msgid "REST API for integrations"
#~ msgstr ""

#~ msgid "PWA capabilities and mobile-friendly UI"
#~ msgstr ""

#~ msgid "Platform Support"
#~ msgstr ""

#~ msgid "Web Application"
#~ msgstr ""

#~ msgid "Desktop browsers (Chrome, Firefox, Safari, Edge)"
#~ msgstr ""

#~ msgid "Mobile responsive design"
#~ msgstr ""

#~ msgid "Progressive Web App (PWA)"
#~ msgstr ""

#~ msgid "Touch-friendly tablet interface"
#~ msgstr ""

#~ msgid "Operating Systems"
#~ msgstr ""

#~ msgid "Windows, macOS, Linux"
#~ msgstr ""

#~ msgid "Android and iOS (browser)"
#~ msgstr ""

#~ msgid "Raspberry Pi support"
#~ msgstr ""

#~ msgid "Dockerized deployment"
#~ msgstr ""

#~ msgid "Database Support"
#~ msgstr ""

#~ msgid "PostgreSQL (recommended)"
#~ msgstr ""

#~ msgid "SQLite (dev/test)"
#~ msgstr ""

#~ msgid "Automatic migrations with Flask-Migrate"
#~ msgstr ""

#~ msgid "Backup and restoration tools"
#~ msgstr ""

#~ msgid "Technical Specifications"
#~ msgstr ""

#~ msgid "Technology Stack"
#~ msgstr ""

#~ msgid "Backend"
#~ msgstr ""

#~ msgid "Frontend"
#~ msgstr ""

#~ msgid "Database"
#~ msgstr ""

#~ msgid "Deployment"
#~ msgstr ""

#~ msgid "Key Capabilities"
#~ msgstr ""

#~ msgid "Real-time"
#~ msgstr ""

#~ msgid "i18n"
#~ msgstr ""

#~ msgid "Security"
#~ msgstr ""

#~ msgid "Mobile"
#~ msgstr ""

#~ msgid "Open Source & Community"
#~ msgstr ""

#~ msgid "Open Source Benefits"
#~ msgstr ""

#~ msgid "Full source code available on GitHub"
#~ msgstr ""

#~ msgid "Licensed under GPL v3.0"
#~ msgstr ""

#~ msgid "Community-driven development"
#~ msgstr ""

#~ msgid "Transparent issue tracking and bug reports"
#~ msgstr ""

#~ msgid "Deployment Options"
#~ msgstr ""

#~ msgid "Docker images (GHCR)"
#~ msgstr ""

#~ msgid "Self-hosted deployment with full control"
#~ msgstr ""

#~ msgid "Cloud-ready with Compose configs"
#~ msgstr ""

#~ msgid "View on GitHub"
#~ msgstr ""

#~ msgid "Support Development"
#~ msgstr ""

#~ msgid "Getting Help & Resources"
#~ msgstr ""

#~ msgid "Documentation"
#~ msgstr ""

#~ msgid "Step-by-step guides for all features."
#~ msgstr ""

#~ msgid "View Help"
#~ msgstr ""

#~ msgid "System Information"
#~ msgstr ""

#~ msgid "Status, versions, and configuration details."
#~ msgstr ""

#~ msgid "Admin access required"
#~ msgstr ""

#~ msgid "Community Support"
#~ msgstr ""

#~ msgid "Report issues, request features, contribute."
#~ msgstr ""

#~ msgid "GitHub Issues"
#~ msgstr ""

#~ msgid "Here's a quick overview of your work."
#~ msgstr ""

#~ msgid "Timer"
#~ msgstr "Ajastin"

#~ msgid "No active timer."
#~ msgstr "Ei aktiivista ajastinta."

#~ msgid "Tags"
#~ msgstr "Tagit"

#~ msgid "Duplicate entry"
#~ msgstr "Kaksoiskappale"

#~ msgid "No recent entries found."
#~ msgstr "Ei viimeaikaisia merkintöjä löytynyt."

#~ msgid "Weekly Goal"
#~ msgstr "Viikoittainen Tavoite"

#~ msgid "Days Left"
#~ msgstr "Päiviä Jäljellä"

#~ msgid "Need"
#~ msgstr "Tarvitaan"

#~ msgid "to reach goal"
#~ msgstr "tavoitteen saavuttamiseksi"

#~ msgid "No Weekly Goal"
#~ msgstr "Ei Viikoittaista Tavoitetta"

#~ msgid "Set a weekly time goal to track your progress"
#~ msgstr "Aseta viikoittainen aikatavoite seurataksesi edistymistäsi"

#~ msgid "Create Goal"
#~ msgstr "Luo Tavoite"

#~ msgid "Top Projects (30 days)"
#~ msgstr "Parhaat Projektit (30 päivää)"

#~ msgid "No activity in the last 30 days."
#~ msgstr "Ei toimintaa viimeisten 30 päivän aikana."

#~ msgid "Task (optional)"
#~ msgstr "Tehtävä (valinnainen)"

#~ msgid "Notes (optional)"
#~ msgstr "Muistiinpanot (valinnainen)"

#~ msgid "Or use a template"
#~ msgstr "Tai käytä mallipohjaa"

#~ msgid "View all templates"
#~ msgstr "Näytä kaikki mallipohjat"

#~ msgid "Start"
#~ msgstr "Aloita"

#~ msgid "Complete documentation and user guide"
#~ msgstr "Täydellinen dokumentaatio ja käyttöopas"

#~ msgid "Quick Navigation"
#~ msgstr "Pikasuunnistus"

#~ msgid "Filter sections..."
#~ msgstr "Suodata osioita..."

#~ msgid "Quick Start"
#~ msgstr "Pika-aloitus"

#~ msgid "Task Management"
#~ msgstr "Tehtävien Hallinta"

#~ msgid "Reports & Analytics"
#~ msgstr "Raportit ja Analyysit"

#~ msgid "Productivity Features"
#~ msgstr "Tuottavuusominaisuudet"

#~ msgid "Admin Features"
#~ msgstr "Ylläpitotoiminnot"

#~ msgid "Mobile Usage"
#~ msgstr "Mobiilikäyttö"

#~ msgid "Troubleshooting"
#~ msgstr "Vianetsintä"

#~ msgid "TimeTracker Help Center"
#~ msgstr "TimeTracker Ohjekeskus"

#~ msgid "Everything you need to know to get the most out of TimeTracker"
#~ msgstr "Kaikki mitä sinun tarvitsee tietää saadaksesi parhaan irti TimeTrackerista"

#~ msgid "Start Tracking Time"
#~ msgstr "Aloita Ajanseuranta"

#~ msgid "View Projects"
#~ msgstr "Näytä Projektit"

#~ msgid "Generate Reports"
#~ msgstr "Luo Raportit"

#~ msgid "Quick Start Guide"
#~ msgstr "Pika-aloitusopas"

#~ msgid "For New Users"
#~ msgstr "Uusille Käyttäjille"

#~ msgid "Log in with your username (no password required)"
#~ msgstr "Kirjaudu sisään käyttäjänimelläsi (salasanaa ei vaadita)"

#~ msgid "Explore the dashboard to see your overview"
#~ msgstr "Tutustu kojetauluun nähdäksesi yleiskuvasi"

#~ msgid "Start your first timer on an existing project"
#~ msgstr "Käynnistä ensimmäinen ajastimesi olemassa olevassa projektissa"

#~ msgid "View your time entries in reports"
#~ msgstr "Näytä aikamerkintäsi raporteissa"

#~ msgid "For Administrators"
#~ msgstr "Ylläpitäjille"

#~ msgid "Set up clients in the Client Management section"
#~ msgstr "Aseta asiakkaat Asiakashallinta-osiossa"

#~ msgid "Create projects and assign them to clients"
#~ msgstr "Luo projekteja ja määritä ne asiakkaille"

#~ msgid "Configure system settings (timezone, currency, etc.)"
#~ msgstr "Määritä järjestelmäasetukset (aikavyöhyke, valuutta jne.)"

#~ msgid "Manage users and permissions"
#~ msgstr "Hallitse käyttäjiä ja käyttöoikeuksia"

#~ msgid "Pro Tip:"
#~ msgstr "Pro-vinkki:"

#~ msgid ""
#~ "Use the mobile-friendly interface to "
#~ "track time on the go. The timer "
#~ "continues running even if you close "
#~ "your browser!"
#~ msgstr ""
#~ "Käytä mobiiliystävällistä käyttöliittymää "
#~ "ajanseurantaan liikkeellä. Ajastin jatkaa "
#~ "toimintaansa, vaikka suljet selaimen!"

#~ msgid "Real-time tracking with automatic idle detection and WebSocket updates"
#~ msgstr ""
#~ "Reaaliaikainen seuranta automaattisella "
#~ "inaktiivisuustunnistuksella ja WebSocket-päivityksillä"

#~ msgid "Manual Entry"
#~ msgstr "Manuaalinen Syöttö"

#~ msgid "Log time manually with custom start and end times"
#~ msgstr "Kirjaa aika manuaalisesti mukautetuilla alku- ja loppuajoilla"

#~ msgid "Starting a Timer"
#~ msgstr "Ajastimen Käynnistäminen"

#~ msgid "Navigate to the Timer page or dashboard"
#~ msgstr "Siirry Ajastin-sivulle tai kojetauluun"

#~ msgid "Select a project from the dropdown"
#~ msgstr "Valitse projekti avattavasta valikosta"

#~ msgid "Optionally select a task for more detailed tracking"
#~ msgstr "Valitse valinnainen tehtävä tarkempaa seurantaa varten"

#~ msgid "Add notes about what you're working on (optional)"
#~ msgstr "Lisää muistiinpanot siitä, mitä työstät (valinnainen)"

#~ msgid "Add tags separated by commas (optional)"
#~ msgstr "Lisää pilkuilla erotettuja tageja (valinnainen)"

#~ msgid "Click \"Start Timer\""
#~ msgstr "Klikkaa \"Käynnistä Ajastin\""

#~ msgid "Timer Features"
#~ msgstr "Ajastimen Ominaisuudet"

#~ msgid "Real-time duration display"
#~ msgstr "Reaaliaikainen keston näyttö"

#~ msgid "Continues running if browser closes"
#~ msgstr "Jatkaa toimintaansa, jos selain sulkeutuu"

#~ msgid "Automatic idle detection (configurable)"
#~ msgstr "Automaattinen inaktiivisuustunnistus (muokattavissa)"

#~ msgid "One active timer per user (configurable)"
#~ msgstr "Yksi aktiivinen ajastin käyttäjää kohti (muokattavissa)"

#~ msgid "WebSocket live updates"
#~ msgstr "WebSocket live-päivitykset"

#~ msgid "Manual Time Entry"
#~ msgstr ""

#~ msgid ""
#~ "Create time entries manually when you "
#~ "need to record time spent away from"
#~ " the computer or adjust existing "
#~ "entries."
#~ msgstr ""

#~ msgid "Required Information"
#~ msgstr ""

#~ msgid "Project selection"
#~ msgstr ""

#~ msgid "Start date and time"
#~ msgstr ""

#~ msgid "End date and time"
#~ msgstr ""

#~ msgid "Optional Information"
#~ msgstr ""

#~ msgid "Task assignment"
#~ msgstr ""

#~ msgid "Description/notes"
#~ msgstr ""

#~ msgid "Tags for categorization"
#~ msgstr ""

#~ msgid "Billable status override"
#~ msgstr ""

#~ msgid "Advanced Time Entry Features"
#~ msgstr ""

#~ msgid ""
#~ "Create multiple time entries for "
#~ "consecutive days with the same project "
#~ "and duration. Perfect for regular work "
#~ "patterns."
#~ msgstr ""

#~ msgid ""
#~ "Save frequently used time entries as "
#~ "templates for quick reuse. Saves project,"
#~ " task, and notes."
#~ msgstr ""

#~ msgid "Calendar View"
#~ msgstr ""

#~ msgid ""
#~ "Visualize your time entries on a "
#~ "calendar. Drag-and-drop to reschedule "
#~ "or click dates to add entries."
#~ msgstr ""

#~ msgid "Project Information"
#~ msgstr ""

#~ msgid "Descriptive project name"
#~ msgstr ""

#~ msgid "Associated client organization"
#~ msgstr ""

#~ msgid "Project details and scope"
#~ msgstr ""

#~ msgid "Active, completed, or archived"
#~ msgstr ""

#~ msgid "Billing Information"
#~ msgstr ""

#~ msgid "Whether time should be tracked for billing"
#~ msgstr ""

#~ msgid "Rate for billable time calculations"
#~ msgstr ""

#~ msgid "Billing Reference"
#~ msgstr ""

#~ msgid "PO number or billing code"
#~ msgstr ""

#~ msgid "Project Operations"
#~ msgstr ""

#~ msgid "Create new projects with client relationships"
#~ msgstr ""

#~ msgid "Edit existing projects to update details"
#~ msgstr ""

#~ msgid "Archive projects to hide from timers (preserves data)"
#~ msgstr ""

#~ msgid "Delete projects (removes all associated time entries)"
#~ msgstr ""

#~ msgid "Best Practices"
#~ msgstr ""

#~ msgid "Use descriptive project names"
#~ msgstr ""

#~ msgid "Set accurate hourly rates for billing"
#~ msgstr ""

#~ msgid "Archive instead of delete when possible"
#~ msgstr ""

#~ msgid "Use billing references for external tracking"
#~ msgstr ""

#~ msgid ""
#~ "The client management system helps organize"
#~ " your work by client organizations, "
#~ "preventing errors and streamlining project "
#~ "creation."
#~ msgstr ""

#~ msgid "Client Information"
#~ msgstr ""

#~ msgid "Organization Name"
#~ msgstr ""

#~ msgid "Company or client name"
#~ msgstr ""

#~ msgid "Primary contact details"
#~ msgstr ""

#~ msgid "Email & Phone"
#~ msgstr ""

#~ msgid "Contact information"
#~ msgstr ""

#~ msgid "Business address"
#~ msgstr ""

#~ msgid "Benefits"
#~ msgstr ""

#~ msgid "Dropdown selection prevents typos"
#~ msgstr ""

#~ msgid "Default rates auto-populate projects"
#~ msgstr ""

#~ msgid "Consistent client naming"
#~ msgstr ""

#~ msgid "Easier project organization"
#~ msgstr ""

#~ msgid "Project Count"
#~ msgstr ""

#~ msgid "Total and active projects"
#~ msgstr ""

#~ msgid "Total hours worked"
#~ msgstr ""

#~ msgid "Cost Estimation"
#~ msgstr ""

#~ msgid "Estimated billing amounts"
#~ msgstr ""

#~ msgid ""
#~ "Break down projects into manageable tasks"
#~ " with detailed tracking and progress "
#~ "monitoring."
#~ msgstr ""

#~ msgid "Task Properties"
#~ msgstr ""

#~ msgid "Name & Description"
#~ msgstr ""

#~ msgid "Clear task identification"
#~ msgstr ""

#~ msgid "Priority Levels"
#~ msgstr ""

#~ msgid "Low, Medium, High, Urgent"
#~ msgstr ""

#~ msgid "Due Dates"
#~ msgstr ""

#~ msgid "Deadline tracking"
#~ msgstr ""

#~ msgid "Assignment"
#~ msgstr ""

#~ msgid "Task ownership"
#~ msgstr ""

#~ msgid "Status Tracking"
#~ msgstr ""

#~ msgid "To Do - Not started"
#~ msgstr ""

#~ msgid "In Progress - Currently working"
#~ msgstr ""

#~ msgid "Review - Ready for review"
#~ msgstr ""

#~ msgid "Done - Completed"
#~ msgstr ""

#~ msgid "Cancelled - Not needed"
#~ msgstr ""

#~ msgid "Time Tracking Features"
#~ msgstr ""

#~ msgid "Start timers directly from tasks"
#~ msgstr ""

#~ msgid "Link time entries to specific tasks"
#~ msgstr ""

#~ msgid "Track estimated vs actual hours"
#~ msgstr ""

#~ msgid "Monitor task progress automatically"
#~ msgstr ""

#~ msgid "Task Views"
#~ msgstr ""

#~ msgid "My Tasks - Your assigned tasks"
#~ msgstr ""

#~ msgid "All Tasks - Complete task list"
#~ msgstr ""

#~ msgid "Overdue Tasks - Past due items"
#~ msgstr ""

#~ msgid "Project Tasks - Tasks within projects"
#~ msgstr ""

#~ msgid "Collaboration Features"
#~ msgstr ""

#~ msgid "Task Comments - Threaded discussions on tasks"
#~ msgstr ""

#~ msgid "Markdown Support - Rich formatting in descriptions"
#~ msgstr ""

#~ msgid "User Mentions - Tag team members (if enabled)"
#~ msgstr ""

#~ msgid "File Attachments - Attach files to tasks (if enabled)"
#~ msgstr ""

#~ msgid "Markdown Formatting"
#~ msgstr ""

#~ msgid "Task and project descriptions support Markdown:"
#~ msgstr ""

#~ msgid "**Bold**, *Italic*, ~~Strikethrough~~"
#~ msgstr ""

#~ msgid "# Headings, - Lists, [Links](url)"
#~ msgstr ""

#~ msgid "```code blocks```, tables, images"
#~ msgstr ""

#~ msgid ""
#~ "Visualize your workflow with a drag-"
#~ "and-drop Kanban board for intuitive task"
#~ " management."
#~ msgstr ""

#~ msgid "Board Features"
#~ msgstr ""

#~ msgid "Customizable columns matching task statuses"
#~ msgstr ""

#~ msgid "Drag-and-drop tasks between columns"
#~ msgstr ""

#~ msgid "Filter by project, user, or priority"
#~ msgstr ""

#~ msgid "Quick search across all tasks"
#~ msgstr ""

#~ msgid "Using the Kanban Board"
#~ msgstr ""

#~ msgid "Access from the Tasks menu or project page"
#~ msgstr ""

#~ msgid "Drag tasks to different columns to change status"
#~ msgstr ""

#~ msgid "Click on a task card to view/edit details"
#~ msgstr ""

#~ msgid "Use filters to focus on specific work"
#~ msgstr ""

#~ msgid ""
#~ "The Kanban board is perfect for "
#~ "sprint planning and daily standups. Each"
#~ " column represents a stage in your "
#~ "workflow!"
#~ msgstr ""

#~ msgid "Expense Tracking"
#~ msgstr ""

#~ msgid ""
#~ "Track business expenses, manage receipts, "
#~ "and handle reimbursements efficiently."
#~ msgstr ""

#~ msgid "Expense Features"
#~ msgstr ""

#~ msgid "Categorize expenses (travel, meals, supplies, etc.)"
#~ msgstr ""

#~ msgid "Attach receipt images and documents"
#~ msgstr ""

#~ msgid "Track amounts, tax, and payment methods"
#~ msgstr ""

#~ msgid "Approval workflow for expense requests"
#~ msgstr ""

#~ msgid "Billing & Reimbursement"
#~ msgstr ""

#~ msgid "Mark expenses as billable to clients"
#~ msgstr ""

#~ msgid "Include expenses in client invoices"
#~ msgstr ""

#~ msgid "Track reimbursement status"
#~ msgstr ""

#~ msgid "Link expenses to specific projects"
#~ msgstr ""

#~ msgid "Record Expense"
#~ msgstr ""

#~ msgid "Enter details and upload receipt"
#~ msgstr ""

#~ msgid "Submit for Approval"
#~ msgstr ""

#~ msgid "Admin reviews and approves"
#~ msgstr ""

#~ msgid "Invoice/Reimburse"
#~ msgstr ""

#~ msgid "Add to invoice or reimburse"
#~ msgstr ""

#~ msgid "Track Payment"
#~ msgstr ""

#~ msgid "Monitor reimbursement status"
#~ msgstr ""

#~ msgid "Professional Invoicing"
#~ msgstr ""

#~ msgid "Professional PDF generation"
#~ msgstr ""

#~ msgid "Company branding and logos"
#~ msgstr ""

#~ msgid "Automatic invoice numbering"
#~ msgstr ""

#~ msgid "Tax calculations"
#~ msgstr ""

#~ msgid "Time Integration"
#~ msgstr ""

#~ msgid "Generate from time entries"
#~ msgstr ""

#~ msgid "Smart grouping by task/project"
#~ msgstr ""

#~ msgid "Prevent double-billing"
#~ msgstr ""

#~ msgid "Use project hourly rates"
#~ msgstr ""

#~ msgid "Set up client and project details"
#~ msgstr ""

#~ msgid "Add Items"
#~ msgstr ""

#~ msgid "Generate from time or add manually"
#~ msgstr ""

#~ msgid "Review & Send"
#~ msgstr ""

#~ msgid "Export PDF and update status"
#~ msgstr ""

#~ msgid "Monitor status and payments"
#~ msgstr ""

#~ msgid "Standard Reports"
#~ msgstr ""

#~ msgid "Project Report - Time breakdown by project"
#~ msgstr ""

#~ msgid "User Report - Individual performance metrics"
#~ msgstr ""

#~ msgid "Summary Report - Key metrics and trends"
#~ msgstr ""

#~ msgid "Time Entry Report - Detailed time logs"
#~ msgstr ""

#~ msgid "Export Options"
#~ msgstr ""

#~ msgid "CSV Export - For external analysis"
#~ msgstr ""

#~ msgid "Configurable delimiters"
#~ msgstr ""

#~ msgid "Custom date ranges"
#~ msgstr ""

#~ msgid "Filtered data export"
#~ msgstr ""

#~ msgid "Filter Options"
#~ msgstr ""

#~ msgid "Date Range - Custom start and end dates"
#~ msgstr ""

#~ msgid "Project - Filter by specific projects"
#~ msgstr ""

#~ msgid "User - Filter by team members"
#~ msgstr ""

#~ msgid "Client - Filter by client organization"
#~ msgstr ""

#~ msgid "Saved Filters - Save frequently used filters"
#~ msgstr ""

#~ msgid "Visual Analytics"
#~ msgstr ""

#~ msgid "Interactive bar charts"
#~ msgstr ""

#~ msgid "Time distribution pie charts"
#~ msgstr ""

#~ msgid "Trend analysis over time"
#~ msgstr ""

#~ msgid "Mobile-optimized charts"
#~ msgstr ""

#~ msgid ""
#~ "Use Saved Filters to quickly access "
#~ "your most common report views. Save "
#~ "filters for weekly reviews, monthly "
#~ "billing, or specific project tracking!"
#~ msgstr ""

#~ msgid ""
#~ "Boost your efficiency with keyboard "
#~ "shortcuts, command palette, and automation "
#~ "features."
#~ msgstr ""

#~ msgid "Access any feature instantly without leaving the keyboard"
#~ msgstr ""

#~ msgid "Opening the Command Palette"
#~ msgstr ""

#~ msgid "Press the question mark key"
#~ msgstr ""

#~ msgid "Quick search"
#~ msgstr ""

#~ msgid "Go to Projects"
#~ msgstr ""

#~ msgid "Go to Tasks"
#~ msgstr ""

#~ msgid "New Time Entry"
#~ msgstr ""

#~ msgid ""
#~ "Navigate faster with keyboard-driven "
#~ "commands. Press Shift+? to see all "
#~ "shortcuts."
#~ msgstr ""

#~ msgid "Global Search"
#~ msgstr ""

#~ msgid ""
#~ "Quickly find projects, tasks, clients, and"
#~ " time entries from anywhere in the "
#~ "app."
#~ msgstr ""

#~ msgid "Email Notifications"
#~ msgstr ""

#~ msgid ""
#~ "Get notified about task assignments, "
#~ "overdue invoices, and weekly summaries via"
#~ " email."
#~ msgstr ""

#~ msgid "Administrator Features"
#~ msgstr ""

#~ msgid "User Management"
#~ msgstr ""

#~ msgid "Create new users with flexible authentication"
#~ msgstr ""

#~ msgid "Assign custom roles with specific permissions"
#~ msgstr ""

#~ msgid "Activate/deactivate user accounts"
#~ msgstr ""

#~ msgid "View user statistics and activity"
#~ msgstr ""

#~ msgid "Generate API tokens for users"
#~ msgstr ""

#~ msgid "Access Control"
#~ msgstr ""

#~ msgid "Granular role-based permissions system"
#~ msgstr ""

#~ msgid "Custom roles with fine-grained access"
#~ msgstr ""

#~ msgid "User data access controls"
#~ msgstr ""

#~ msgid "OIDC/SSO integration (Azure AD, Authelia, etc.)"
#~ msgstr ""

#~ msgid "API token management for integrations"
#~ msgstr ""

#~ msgid "Authentication Methods"
#~ msgstr ""

#~ msgid "Username-only (simple internal use)"
#~ msgstr ""

#~ msgid "OIDC/SSO (enterprise authentication)"
#~ msgstr ""

#~ msgid "Both methods simultaneously"
#~ msgstr ""

#~ msgid "Automatic role assignment via groups"
#~ msgstr ""

#~ msgid "Role & Permission Management"
#~ msgstr ""

#~ msgid "Create custom roles beyond Admin/User"
#~ msgstr ""

#~ msgid "Set granular permissions per feature"
#~ msgstr ""

#~ msgid "Assign users to multiple roles"
#~ msgstr ""

#~ msgid "View and manage all permissions"
#~ msgstr ""

#~ msgid "General Settings"
#~ msgstr ""

#~ msgid "Timezone and locale settings"
#~ msgstr ""

#~ msgid "Currency configuration"
#~ msgstr ""

#~ msgid "Time rounding rules"
#~ msgstr ""

#~ msgid "Self-registration settings"
#~ msgstr ""

#~ msgid "Timer Settings"
#~ msgstr ""

#~ msgid "Idle timeout configuration"
#~ msgstr ""

#~ msgid "Single active timer mode"
#~ msgstr ""

#~ msgid "Timer display preferences"
#~ msgstr ""

#~ msgid "Notification settings"
#~ msgstr ""

#~ msgid "Database Management"
#~ msgstr ""

#~ msgid "Create manual database backups"
#~ msgstr ""

#~ msgid "View database migration status"
#~ msgstr ""

#~ msgid "Monitor database performance"
#~ msgstr ""

#~ msgid "Clean up old data and logs"
#~ msgstr ""

#~ msgid "System Monitoring"
#~ msgstr ""

#~ msgid "View system information and health"
#~ msgstr ""

#~ msgid "Monitor application performance"
#~ msgstr ""

#~ msgid "Review system logs and errors"
#~ msgstr ""

#~ msgid "Mobile-Friendly Features"
#~ msgstr ""

#~ msgid "Optimized for phones and tablets"
#~ msgstr ""

#~ msgid "Touch-friendly interface"
#~ msgstr ""

#~ msgid "Adaptive layouts for all screen sizes"
#~ msgstr ""

#~ msgid "High contrast for outdoor visibility"
#~ msgstr ""

#~ msgid "Mobile Navigation"
#~ msgstr ""

#~ msgid "Bottom tab bar for easy access"
#~ msgstr ""

#~ msgid "Quick access to dashboard"
#~ msgstr ""

#~ msgid "One-tap time logging"
#~ msgstr ""

#~ msgid "Mobile-optimized reports"
#~ msgstr ""

#~ msgid "Installation"
#~ msgstr ""

#~ msgid "Open TimeTracker in your mobile browser"
#~ msgstr ""

#~ msgid "Look for \"Add to Home Screen\" option"
#~ msgstr ""

#~ msgid "Follow browser-specific installation prompts"
#~ msgstr ""

#~ msgid "Launch from your home screen like a native app"
#~ msgstr ""

#~ msgid "PWA Benefits"
#~ msgstr ""

#~ msgid "Offline capability for basic functions"
#~ msgstr ""

#~ msgid "Faster loading times"
#~ msgstr ""

#~ msgid "Native app-like experience"
#~ msgstr ""

#~ msgid "Push notifications (where supported)"
#~ msgstr ""

#~ msgid "Troubleshooting & FAQ"
#~ msgstr ""

#~ msgid "What happens if I forget to stop my timer?"
#~ msgstr ""

#~ msgid ""
#~ "The timer will continue running until "
#~ "you stop it manually. You can see "
#~ "your active timer on the dashboard "
#~ "and timer page. The timer persists "
#~ "even if you close your browser or "
#~ "restart your device. If idle detection "
#~ "is enabled, the timer may pause "
#~ "automatically after the configured timeout "
#~ "period."
#~ msgstr ""

#~ msgid "Can I edit time entries after they're created?"
#~ msgstr ""

#~ msgid ""
#~ "Yes, you can edit any time entry "
#~ "by clicking the edit button in the"
#~ " time entry list. You can modify "
#~ "the project, start/end times, notes, tags,"
#~ " billable status, and task assignment. "
#~ "Admins can edit all time entries, "
#~ "while regular users can only edit "
#~ "their own entries."
#~ msgstr ""

#~ msgid "How do I track time for multiple projects?"
#~ msgstr ""

#~ msgid ""
#~ "By default, you can only have one "
#~ "active timer at a time. To switch "
#~ "projects, stop your current timer and "
#~ "start a new one for the different "
#~ "project. Alternatively, you can create "
#~ "manual time entries for past work or"
#~ " configure the system to allow multiple"
#~ " active timers (admin setting)."
#~ msgstr ""

#~ msgid "How do I export my time data?"
#~ msgstr ""

#~ msgid ""
#~ "Go to the Reports page and use "
#~ "the \"Export CSV\" feature. You can "
#~ "apply filters to export specific data, "
#~ "or export all time entries. The CSV"
#~ " file includes all time entry details"
#~ " and can be opened in Excel or "
#~ "other spreadsheet applications. You can "
#~ "also configure the delimiter for different"
#~ " regional standards."
#~ msgstr ""

#~ msgid "What's the difference between billable and non-billable time?"
#~ msgstr ""

#~ msgid ""
#~ "Billable time is tracked for client "
#~ "billing purposes and can have an "
#~ "hourly rate associated with it. Non-"
#~ "billable time is for internal work "
#~ "that doesn't get charged to clients. "
#~ "You can mark individual time entries "
#~ "as billable or non-billable, and "
#~ "projects can have default billable "
#~ "settings. This distinction is crucial for"
#~ " accurate invoicing and profitability "
#~ "analysis."
#~ msgstr ""

#~ msgid "How do I create an invoice from my time entries?"
#~ msgstr ""

#~ msgid ""
#~ "Navigate to Invoices → Create Invoice, "
#~ "set up the client and project "
#~ "details, then use \"Generate from Time "
#~ "Entries\" to automatically create invoice "
#~ "items from your tracked time. You can"
#~ " filter by date range and project, "
#~ "and the system will group time "
#~ "entries intelligently. Review the generated "
#~ "items and export as a professional "
#~ "PDF."
#~ msgstr ""

#~ msgid "Can I use TimeTracker on my mobile device?"
#~ msgstr ""

#~ msgid ""
#~ "Yes! TimeTracker is fully responsive and"
#~ " works great on mobile devices. You "
#~ "can install it as a Progressive Web"
#~ " App (PWA) for a native-like "
#~ "experience. The mobile interface includes a"
#~ " bottom tab bar for easy navigation "
#~ "and touch-optimized controls for time "
#~ "tracking on the go."
#~ msgstr ""

#~ msgid "How do I use the command palette and keyboard shortcuts?"
#~ msgstr ""

#~ msgid ""
#~ "Press the question mark key (?) to"
#~ " open the command palette. From there,"
#~ " you can type to search for any"
#~ " action or navigation target. Use "
#~ "keyboard sequences like \"g d\" for "
#~ "Dashboard, \"g p\" for Projects, or "
#~ "\"n e\" for New Entry. Press Shift+?"
#~ " to see all available shortcuts. Press"
#~ " Ctrl+K (or Cmd+K on Mac) for "
#~ "quick search."
#~ msgstr ""

#~ msgid "How do I create bulk time entries for multiple days?"
#~ msgstr ""

#~ msgid ""
#~ "Navigate to Work → Bulk Time Entry."
#~ " Select your project, choose a date "
#~ "range, set your daily start and end"
#~ " times, and optionally skip weekends. "
#~ "The system will create identical time "
#~ "entries for each day in the range."
#~ " This is perfect for logging regular "
#~ "work patterns or filling in past time"
#~ " when you worked consistent hours."
#~ msgstr ""

#~ msgid "What are time entry templates and how do I use them?"
#~ msgstr ""

#~ msgid ""
#~ "Time entry templates let you save "
#~ "frequently used time entry configurations. "
#~ "When creating a manual time entry, "
#~ "check \"Save as Template\" to save "
#~ "the project, task, and notes. Later, "
#~ "when creating new entries, you can "
#~ "select a template to quickly fill in"
#~ " these details. Templates are personal "
#~ "and only visible to you."
#~ msgstr ""

#~ msgid "How do I track expenses and add them to invoices?"
#~ msgstr ""

#~ msgid ""
#~ "Go to Expenses → New Expense to "
#~ "record business expenses. Upload receipt "
#~ "images, categorize the expense, and mark"
#~ " it as billable if needed. When "
#~ "creating invoices, you can include these"
#~ " expenses as line items. Expenses "
#~ "support approval workflows, reimbursement "
#~ "tracking, and can be linked to "
#~ "specific projects."
#~ msgstr ""

#~ msgid "Can I use Markdown in descriptions?"
#~ msgstr ""

#~ msgid ""
#~ "Yes! Project and task descriptions support"
#~ " full Markdown formatting. You can use"
#~ " bold, italic, headings, lists, links, "
#~ "code blocks, tables, and images. This "
#~ "allows you to create rich, well-"
#~ "formatted documentation directly in your "
#~ "projects and tasks. The Markdown editor "
#~ "includes a preview mode and supports "
#~ "dark theme."
#~ msgstr ""

#~ msgid "Where can I get additional help?"
#~ msgstr ""

#~ msgid "This help page covers most common questions and features."
#~ msgstr ""

#~ msgid "Report issues and request features on"
#~ msgstr ""

#~ msgid ""
#~ "As an admin, you can access "
#~ "additional system information and diagnostics "
#~ "in the"
#~ msgstr ""

#~ msgid "section."
#~ msgstr ""

#~ msgid "Still Need Help?"
#~ msgstr ""

#~ msgid "Can't find what you're looking for? Here are additional resources:"
#~ msgstr ""

#~ msgid "GitHub Repository"
#~ msgstr ""

#~ msgid "Report Issue"
#~ msgstr ""

#~ msgid "Search Results"
#~ msgstr ""

#~ msgid "Search notes or tags"
#~ msgstr ""

#~ msgid "Results"
#~ msgstr ""

#~ msgid "End"
#~ msgstr ""

#~ msgid ""
#~ "Are you sure you want to delete "
#~ "this time entry? This action cannot "
#~ "be undone."
#~ msgstr ""

#~ msgid "Previous"
#~ msgstr ""

#~ msgid "Page"
#~ msgstr ""

#~ msgid "of"
#~ msgstr ""

#~ msgid "Next"
#~ msgstr ""

#~ msgid "No results found"
#~ msgstr ""

#~ msgid "Try a different query or check your spelling."
#~ msgstr ""

#~ msgid "Kanban board columns"
#~ msgstr ""

#~ msgid "Edit swimlane"
#~ msgstr ""

#~ msgid "Column"
#~ msgstr ""

#~ msgid "Add Extra Good"
#~ msgstr ""

#~ msgid "Add a product or service to"
#~ msgstr ""

#~ msgid "Back to Project"
#~ msgstr ""

#~ msgid "SKU/Product Code"
#~ msgstr ""

#~ msgid "What happens when you archive a project?"
#~ msgstr ""

#~ msgid "The project will be hidden from active project lists"
#~ msgstr ""

#~ msgid "No new time entries can be added to this project"
#~ msgstr ""

#~ msgid "Existing data and time entries are preserved"
#~ msgstr ""

#~ msgid "You can unarchive the project later if needed"
#~ msgstr ""

#~ msgid "Reason for Archiving"
#~ msgstr ""

#~ msgid "Optional"
#~ msgstr ""

#~ msgid "e.g., Project completed, Client contract ended, Project cancelled, etc."
#~ msgstr ""

#~ msgid "Adding a reason helps with project organization and future reference."
#~ msgstr ""

#~ msgid "Quick Select"
#~ msgstr ""

#~ msgid "Project completed successfully"
#~ msgstr ""

#~ msgid "Project Completed"
#~ msgstr ""

#~ msgid "Client contract ended"
#~ msgstr ""

#~ msgid "Contract Ended"
#~ msgstr ""

#~ msgid "Project cancelled by client"
#~ msgstr ""

#~ msgid "Project on hold indefinitely"
#~ msgstr ""

#~ msgid "On Hold"
#~ msgstr ""

#~ msgid "Maintenance period ended"
#~ msgstr ""

#~ msgid "Maintenance Ended"
#~ msgstr ""

#~ msgid "Archive Project"
#~ msgstr ""

#~ msgid "Create Project"
#~ msgstr ""

#~ msgid "Set up a new project to organize your work and track time effectively"
#~ msgstr ""

#~ msgid "Back to Projects"
#~ msgstr ""

#~ msgid "Project Name"
#~ msgstr ""

#~ msgid "Enter a descriptive project name"
#~ msgstr ""

#~ msgid "Choose a clear, descriptive name that explains the project scope"
#~ msgstr ""

#~ msgid "Project Code"
#~ msgstr ""

#~ msgid "Short code, e.g., ABC"
#~ msgstr ""

#~ msgid "Optional: Short tag shown on Kanban cards"
#~ msgstr ""

#~ msgid "Select a client..."
#~ msgstr ""

#~ msgid "Create new client"
#~ msgstr ""

#~ msgid ""
#~ "Provide detailed information about the "
#~ "project, objectives, and deliverables..."
#~ msgstr ""

#~ msgid ""
#~ "Optional: Add context, objectives, or "
#~ "specific requirements for the project"
#~ msgstr ""

#~ msgid "Billable Project"
#~ msgstr ""

#~ msgid "Enable billing for this project"
#~ msgstr ""

#~ msgid "Leave empty for non-billable projects"
#~ msgstr ""

#~ msgid "PO number, contract reference, etc."
#~ msgstr ""

#~ msgid "Optional: Add a reference number or identifier for billing purposes"
#~ msgstr ""

#~ msgid "Budget Amount"
#~ msgstr ""

#~ msgid "e.g. 10000.00"
#~ msgstr ""

#~ msgid "Optional: Set a total project budget to monitor spend"
#~ msgstr ""

#~ msgid "Alert Threshold (%)"
#~ msgstr ""

#~ msgid "Notify when consumed budget exceeds this threshold"
#~ msgstr ""

#~ msgid "Project Creation Tips"
#~ msgstr ""

#~ msgid "Clear Naming"
#~ msgstr ""

#~ msgid "Use descriptive names that clearly indicate the project's purpose"
#~ msgstr ""

#~ msgid "Billing Setup"
#~ msgstr ""

#~ msgid "Set appropriate hourly rates based on project complexity and client budget"
#~ msgstr ""

#~ msgid "Detailed Description"
#~ msgstr ""

#~ msgid "Include project objectives, deliverables, and key requirements"
#~ msgstr ""

#~ msgid "Client Selection"
#~ msgstr ""

#~ msgid "Choose the right client to ensure proper project organization"
#~ msgstr ""

#~ msgid "Creating..."
#~ msgstr ""

#~ msgid "Could not create client. Please try again."
#~ msgstr ""

#~ msgid "Client created"
#~ msgstr ""

#~ msgid "Network error while creating client"
#~ msgstr ""

#~ msgid "Project Dashboard & Analytics"
#~ msgstr ""

#~ msgid "Budget Analysis"
#~ msgstr ""

#~ msgid "All Time"
#~ msgstr ""

#~ msgid "Last 7 Days"
#~ msgstr ""

#~ msgid "Last 30 Days"
#~ msgstr ""

#~ msgid "Last 3 Months"
#~ msgstr ""

#~ msgid "Last Year"
#~ msgstr ""

#~ msgid "estimated"
#~ msgstr ""

#~ msgid "Budget Used"
#~ msgstr ""

#~ msgid "of budget"
#~ msgstr ""

#~ msgid "Tasks Complete"
#~ msgstr ""

#~ msgid "completion"
#~ msgstr ""

#~ msgid "Team Members"
#~ msgstr ""

#~ msgid "contributing"
#~ msgstr ""

#~ msgid "Budget vs. Actual"
#~ msgstr ""

#~ msgid "No budget set for this project"
#~ msgstr ""

#~ msgid "Task Status Distribution"
#~ msgstr ""

#~ msgid "No tasks created yet"
#~ msgstr ""

#~ msgid "Team Member Contributions"
#~ msgstr ""

#~ msgid "No time entries recorded yet"
#~ msgstr ""

#~ msgid "Time Tracking Timeline"
#~ msgstr ""

#~ msgid "Select a time period to view timeline"
#~ msgstr ""

#~ msgid "Team Member Details"
#~ msgstr ""

#~ msgid "entries"
#~ msgstr ""

#~ msgid "tasks"
#~ msgstr ""

#~ msgid "No team members have logged time yet"
#~ msgstr ""

#~ msgid "Attention Required"
#~ msgstr ""

#~ msgid "task(s) are overdue"
#~ msgstr ""

#~ msgid "Edit Project"
#~ msgstr ""

#~ msgid "Edit Extra Good"
#~ msgstr ""

#~ msgid "Manage products and services for this project"
#~ msgstr ""

#~ msgid "Total Goods"
#~ msgstr ""

#~ msgid "Billable Amount"
#~ msgstr ""

#~ msgid "Categories"
#~ msgstr ""

#~ msgid "Invoiced"
#~ msgstr ""

#~ msgid "Non-billable"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this extra good?"
#~ msgstr ""

#~ msgid "Delete Extra Good"
#~ msgstr ""

#~ msgid "No extra goods found for this project"
#~ msgstr ""

#~ msgid "Add Your First Good"
#~ msgstr ""

#~ msgid "Breakdown by Category"
#~ msgstr ""

#~ msgid "item(s)"
#~ msgstr ""

#~ msgid "Mark project as Inactive?"
#~ msgstr ""

#~ msgid "Change Project Status"
#~ msgstr ""

#~ msgid "Activate project?"
#~ msgstr ""

#~ msgid "Activate Project"
#~ msgstr ""

#~ msgid "Archive"
#~ msgstr ""

#~ msgid "Unarchive project?"
#~ msgstr ""

#~ msgid "Unarchive Project"
#~ msgstr ""

#~ msgid "Unarchive"
#~ msgstr ""

#~ msgid "Delete Project"
#~ msgstr ""

#~ msgid "Archive Information"
#~ msgstr ""

#~ msgid "Archived on:"
#~ msgstr ""

#~ msgid "Archived by:"
#~ msgstr ""

#~ msgid "Reason:"
#~ msgstr ""

#~ msgid "Budget Overview"
#~ msgstr ""

#~ msgid "Over"
#~ msgstr ""

#~ msgid "View Full Budget Analysis"
#~ msgstr ""

#~ msgid "Tasks for this project"
#~ msgstr ""

#~ msgid "Due"
#~ msgstr ""

#~ msgid "No tasks for this project."
#~ msgstr ""

#~ msgid "Are you sure you want to delete this filter?"
#~ msgstr ""

#~ msgid "Delete Filter"
#~ msgstr ""

#~ msgid "This will reset all keyboard shortcuts to their default values. Continue?"
#~ msgstr ""

#~ msgid "Reset to Defaults"
#~ msgstr ""

#~ msgid "Edit Task"
#~ msgstr ""

#~ msgid "Overdue"
#~ msgstr ""

#~ msgid "Failed to update status"
#~ msgstr ""

#~ msgid "Failed to update task status"
#~ msgstr ""

#~ msgid "Kanban column created"
#~ msgstr ""

#~ msgid "Kanban column deleted"
#~ msgstr ""

#~ msgid "Kanban columns reordered"
#~ msgstr ""

#~ msgid "Kanban column visibility changed"
#~ msgstr ""

#~ msgid "Kanban columns updated"
#~ msgstr ""

#~ msgid "Update"
#~ msgstr ""

#~ msgid "Failed to refresh kanban columns"
#~ msgstr ""

#~ msgid "Loading task details..."
#~ msgstr ""

#~ msgid "Assigned To"
#~ msgstr ""

#~ msgid "Tracked"
#~ msgstr ""

#~ msgid "Estimated"
#~ msgstr ""

#~ msgid "View Full Details"
#~ msgstr ""

#~ msgid "Create Task"
#~ msgstr ""

#~ msgid ""
#~ "Add a new task to your project "
#~ "to break down work into manageable "
#~ "components"
#~ msgstr ""

#~ msgid "Back to Tasks"
#~ msgstr ""

#~ msgid "Task Name"
#~ msgstr ""

#~ msgid "Enter a descriptive task name"
#~ msgstr ""

#~ msgid "Choose a clear, descriptive name that explains what needs to be done"
#~ msgstr ""

#~ msgid ""
#~ "Provide detailed information about the "
#~ "task, requirements, and any specific "
#~ "instructions..."
#~ msgstr ""

#~ msgid "Optional: Add context, requirements, or specific instructions for the task"
#~ msgstr ""

#~ msgid "Select the project this task belongs to"
#~ msgstr ""

#~ msgid "Initial Status"
#~ msgstr ""

#~ msgid "Optional: Set a deadline for this task"
#~ msgstr ""

#~ msgid "Estimated Hours"
#~ msgstr ""

#~ msgid "Optional: Estimate how long this task will take"
#~ msgstr ""

#~ msgid "Assign To"
#~ msgstr ""

#~ msgid "Unassigned"
#~ msgstr ""

#~ msgid "Optional: Assign this task to a team member"
#~ msgstr ""

#~ msgid "Task Creation Tips"
#~ msgstr ""

#~ msgid "Use action verbs and be specific about what needs to be done"
#~ msgstr ""

#~ msgid "Realistic Estimates"
#~ msgstr ""

#~ msgid "Consider complexity and dependencies when estimating time"
#~ msgstr ""

#~ msgid "Set Deadlines"
#~ msgstr ""

#~ msgid "Due dates help prioritize work and track progress"
#~ msgstr ""

#~ msgid "Priority Matters"
#~ msgstr ""

#~ msgid "Use priority levels to help team members focus on what's most important"
#~ msgstr ""

#~ msgid "Update task details and settings for \"%(task)s\""
#~ msgstr ""

#~ msgid "Back to Task"
#~ msgstr ""

#~ msgid "Task Information"
#~ msgstr ""

#~ msgid "Update Task"
#~ msgstr ""

#~ msgid "Estimate used"
#~ msgstr ""

#~ msgid "Actual"
#~ msgstr ""

#~ msgid "Current Task Info"
#~ msgstr ""

#~ msgid "Current Status"
#~ msgstr ""

#~ msgid "Current Priority"
#~ msgstr ""

#~ msgid "Currently Assigned To"
#~ msgstr ""

#~ msgid "Current Due Date"
#~ msgstr ""

#~ msgid "Current Estimate"
#~ msgstr ""

#~ msgid "hours"
#~ msgstr ""

#~ msgid "Actual Hours"
#~ msgstr ""

#~ msgid "Updated"
#~ msgstr ""

#~ msgid "Started"
#~ msgstr ""

#~ msgid "View Task"
#~ msgstr ""

#~ msgid "Edit Tips"
#~ msgstr ""

#~ msgid "Status Changes"
#~ msgstr ""

#~ msgid "Changing status may affect time tracking and progress calculations"
#~ msgstr ""

#~ msgid "Due Date Updates"
#~ msgstr ""

#~ msgid "Consider team workload when adjusting deadlines"
#~ msgstr ""

#~ msgid "Assignment Changes"
#~ msgstr ""

#~ msgid "Notify team members when reassigning tasks"
#~ msgstr ""

#~ msgid "Updating..."
#~ msgstr ""

#~ msgid "Are you sure you want to delete the task \"{name}\"?"
#~ msgstr ""

#~ msgid ""
#~ "Cannot delete task \"{name}\" because it"
#~ " has time entries. Please delete the "
#~ "time entries first."
#~ msgstr ""

#~ msgid "Delete Task"
#~ msgstr ""

#~ msgid "Hide Filters"
#~ msgstr ""

#~ msgid "Show Filters"
#~ msgstr ""

#~ msgid "My Tasks"
#~ msgstr ""

#~ msgid "Tasks assigned to or created by you"
#~ msgstr ""

#~ msgid "Filter My Tasks"
#~ msgstr ""

#~ msgid "Task Type"
#~ msgstr ""

#~ msgid "All Types"
#~ msgstr ""

#~ msgid "Assigned to Me"
#~ msgstr ""

#~ msgid "Created by Me"
#~ msgstr ""

#~ msgid "Show overdue only"
#~ msgstr ""

#~ msgid "Apply Filters"
#~ msgstr ""

#~ msgid "Clear"
#~ msgstr ""

#~ msgid "Created by me"
#~ msgstr ""

#~ msgid "View Details"
#~ msgstr ""

#~ msgid "My tasks pagination"
#~ msgstr ""

#~ msgid "..."
#~ msgstr ""

#~ msgid "No tasks found"
#~ msgstr ""

#~ msgid "You don't have any tasks assigned to you or created by you yet."
#~ msgstr ""

#~ msgid "Create Your First Task"
#~ msgstr ""

#~ msgid "View All Tasks"
#~ msgstr ""

#~ msgid "Overdue Tasks"
#~ msgstr ""

#~ msgid "Requires immediate attention"
#~ msgstr ""

#~ msgid "items"
#~ msgstr ""

#~ msgid "Overdue Tasks Detected"
#~ msgstr ""

#~ msgid "There are"
#~ msgstr ""

#~ msgid "overdue tasks that require immediate attention."
#~ msgstr ""

#~ msgid "Please review and update these tasks to prevent further delays."
#~ msgstr ""

#~ msgid "Due:"
#~ msgstr ""

#~ msgid "Est:"
#~ msgstr ""

#~ msgid "Actual:"
#~ msgstr ""

#~ msgid "No Overdue Tasks!"
#~ msgstr ""

#~ msgid "Great job! All tasks are currently on schedule."
#~ msgstr ""

#~ msgid "Enter new due date (YYYY-MM-DD):"
#~ msgstr ""

#~ msgid "Are you sure you want to extend the due date to"
#~ msgstr ""

#~ msgid "for all overdue tasks?"
#~ msgstr ""

#~ msgid "Bulk due date update feature coming soon!"
#~ msgstr ""

#~ msgid "Enter new priority (low/medium/high/urgent):"
#~ msgstr ""

#~ msgid "Are you sure you want to set priority to"
#~ msgstr ""

#~ msgid "Bulk priority update feature coming soon!"
#~ msgstr ""

#~ msgid "Invalid priority. Please use: low, medium, high, or urgent"
#~ msgstr ""

#~ msgid "Start task and mark as In Progress?"
#~ msgstr ""

#~ msgid "Change Task Status"
#~ msgstr ""

#~ msgid "Mark task as To Do?"
#~ msgstr ""

#~ msgid "Pause"
#~ msgstr ""

#~ msgid "Mark task as Done?"
#~ msgstr ""

#~ msgid "Complete Task"
#~ msgstr ""

#~ msgid "Complete"
#~ msgstr ""

#~ msgid "Reopen task to Review?"
#~ msgstr ""

#~ msgid "Reopen Task"
#~ msgstr ""

#~ msgid "Reopen"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this template?"
#~ msgstr ""

#~ msgid "Delete Template"
#~ msgstr ""

#~ msgid "Settings"
#~ msgstr ""

#~ msgid "No project"
#~ msgstr ""

#~ msgid "Member Since"
#~ msgstr ""

#~ msgid "Recent Time Entries"
#~ msgstr ""

#~ msgid "In progress"
#~ msgstr ""

#~ msgid "View all time entries"
#~ msgstr ""

#~ msgid "No recent time entries"
#~ msgstr ""

#~ msgid "Manage your account settings and preferences"
#~ msgstr ""

#~ msgid "Profile Information"
#~ msgstr ""

#~ msgid "Username cannot be changed"
#~ msgstr ""

#~ msgid "Email Address"
#~ msgstr ""

#~ msgid "Required for email notifications"
#~ msgstr ""

#~ msgid "Notification Preferences"
#~ msgstr ""

#~ msgid "Enable Email Notifications"
#~ msgstr ""

#~ msgid "Master switch for all email notifications"
#~ msgstr ""

#~ msgid "Overdue Invoice Notifications"
#~ msgstr ""

#~ msgid "Task Assignment Notifications"
#~ msgstr ""

#~ msgid "Comment & Mention Notifications"
#~ msgstr ""

#~ msgid "Weekly Time Summary Email"
#~ msgstr ""

#~ msgid "Display Preferences"
#~ msgstr ""

#~ msgid "System Default"
#~ msgstr ""

#~ msgid "Light"
#~ msgstr ""

#~ msgid "Time Rounding Preferences"
#~ msgstr ""

#~ msgid ""
#~ "Configure how your time entries are "
#~ "rounded. This affects how durations are "
#~ "calculated when you stop timers."
#~ msgstr ""

#~ msgid "Enable Time Rounding"
#~ msgstr ""

#~ msgid "Round time entries to configured intervals"
#~ msgstr ""

#~ msgid "Rounding Interval"
#~ msgstr ""

#~ msgid "Time entries will be rounded to this interval"
#~ msgstr ""

#~ msgid "Rounding Method"
#~ msgstr ""

#~ msgid "Overtime Settings"
#~ msgstr ""

#~ msgid ""
#~ "Set your standard working hours per "
#~ "day. Any time worked beyond this will"
#~ " be counted as overtime."
#~ msgstr ""

#~ msgid "Standard Hours Per Day"
#~ msgstr ""

#~ msgid "Typically 8 hours for a full-time job"
#~ msgstr ""

#~ msgid "How it works"
#~ msgstr ""

#~ msgid ""
#~ "If you work more than your standard"
#~ " hours in a day, the extra time"
#~ " will be tracked as overtime in "
#~ "reports and analytics."
#~ msgstr ""

#~ msgid "Regional Settings"
#~ msgstr ""

#~ msgid "Timezone"
#~ msgstr ""

#~ msgid "Date Format"
#~ msgstr ""

#~ msgid "Time Format"
#~ msgstr ""

#~ msgid "Week Starts On"
#~ msgstr ""

#~ msgid "Sunday"
#~ msgstr ""

#~ msgid "Monday"
#~ msgstr ""

#~ msgid "Saturday"
#~ msgstr ""

#~ msgid "Save Settings"
#~ msgstr ""

#~ msgid "Time rounding is disabled. All times will be recorded exactly as tracked."
#~ msgstr ""

#~ msgid "No rounding - times will be recorded exactly as tracked."
#~ msgstr ""

#~ msgid "Actual time:"
#~ msgstr ""

#~ msgid "Rounded:"
#~ msgstr ""

#~ msgid "With "
#~ msgstr ""

#~ msgid " minute intervals"
#~ msgstr ""

#~ msgid "Create Weekly Goal"
#~ msgstr ""

#~ msgid "Create Weekly Time Goal"
#~ msgstr ""

#~ msgid "Set a target for hours to work this week"
#~ msgstr ""

#~ msgid "Target Hours"
#~ msgstr ""

#~ msgid "How many hours do you want to work this week?"
#~ msgstr ""

#~ msgid "Week Start Date"
#~ msgstr ""

#~ msgid "Leave blank to use current week (starting Monday)"
#~ msgstr ""

#~ msgid "Optional notes about your goal..."
#~ msgstr ""

#~ msgid "Quick Presets"
#~ msgstr ""

#~ msgid "Tips for Setting Goals"
#~ msgstr ""

#~ msgid "Be realistic: Consider holidays, meetings, and other commitments"
#~ msgstr ""

#~ msgid "Start conservative: You can always adjust your goal later"
#~ msgstr ""

#~ msgid "Track progress: Check your dashboard regularly to stay on track"
#~ msgstr ""

#~ msgid "Typical full-time: 40 hours per week (8 hours/day, 5 days)"
#~ msgstr ""

#~ msgid "Edit Weekly Goal"
#~ msgstr ""

#~ msgid "Edit Weekly Time Goal"
#~ msgstr ""

#~ msgid "Week Period"
#~ msgstr ""

#~ msgid "Current Progress"
#~ msgstr ""

#~ msgid "Failed"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this goal?"
#~ msgstr ""

#~ msgid "Delete Goal"
#~ msgstr ""

#~ msgid "Weekly Time Goals"
#~ msgstr ""

#~ msgid "Set and track your weekly hour targets"
#~ msgstr ""

#~ msgid "New Goal"
#~ msgstr ""

#~ msgid "Total Goals"
#~ msgstr ""

#~ msgid "Success Rate"
#~ msgstr ""

#~ msgid "Current Week Goal"
#~ msgstr ""

#~ msgid "Remaining Hours"
#~ msgstr ""

#~ msgid "Days Remaining"
#~ msgstr ""

#~ msgid "Avg Hours/Day Needed"
#~ msgstr ""

#~ msgid "Edit Goal"
#~ msgstr ""

#~ msgid "No goal set for this week"
#~ msgstr ""

#~ msgid "Create a weekly time goal to start tracking your progress"
#~ msgstr ""

#~ msgid "Goal History"
#~ msgstr ""

#~ msgid "Target"
#~ msgstr ""

#~ msgid "Weekly Goal Details"
#~ msgstr ""

#~ msgid "Daily Breakdown"
#~ msgstr ""

#~ msgid "Time Entries This Week"
#~ msgstr ""

#~ msgid "No Project"
#~ msgstr ""

#~ msgid "No time entries recorded for this week yet"
#~ msgstr ""

#~ msgid "Draft"
#~ msgstr ""

#~ msgid "Sent"
#~ msgstr ""

#~ msgid "Paid"
#~ msgstr ""

#~ msgid "Unpaid"
#~ msgstr ""

#~ msgid "Partially Paid"
#~ msgstr ""

#~ msgid "Fully Paid"
#~ msgstr ""

#~ msgid "Overpaid"
#~ msgstr ""

#~ msgid "Cash"
#~ msgstr ""

#~ msgid "Check"
#~ msgstr ""

#~ msgid "Bank Transfer"
#~ msgstr ""

#~ msgid "Credit Card"
#~ msgstr ""

#~ msgid "Debit Card"
#~ msgstr ""

#~ msgid "PayPal"
#~ msgstr ""

#~ msgid "Stripe"
#~ msgstr ""

#~ msgid "Company Card"
#~ msgstr ""

#~ msgid "Pending"
#~ msgstr ""

#~ msgid "Approved"
#~ msgstr ""

#~ msgid "Rejected"
#~ msgstr ""

#~ msgid "Reimbursed"
#~ msgstr ""

#~ msgid "Processing"
#~ msgstr ""

#~ msgid "Partial"
#~ msgstr ""

#~ msgid "80% Budget Warning"
#~ msgstr ""

#~ msgid "Budget Limit Reached"
#~ msgstr ""

#~ msgid "Info"
#~ msgstr ""

#~ msgid "Invoice #: %(num)s"
#~ msgstr ""

#~ msgid "Issue Date: %(date)s"
#~ msgstr ""

#~ msgid "Due Date: %(date)s"
#~ msgstr ""

#~ msgid "Please log in to access this page"
#~ msgstr ""

#~ msgid "PDF Invoice Designer"
#~ msgstr ""

#~ msgid "Visual Invoice Designer"
#~ msgstr ""

#~ msgid "Drag and drop elements to design your invoice layout"
#~ msgstr ""

#~ msgid "How to use:"
#~ msgstr ""

#~ msgid ""
#~ "Click elements from the left sidebar "
#~ "to add them to the canvas. Click "
#~ "elements to select and customize them "
#~ "in the properties panel. Use the "
#~ "alignment tools and keyboard shortcuts for"
#~ " faster editing."
#~ msgstr ""

#~ msgid "Keyboard Shortcuts:"
#~ msgstr ""

#~ msgid "Clear Canvas"
#~ msgstr ""

#~ msgid "Generate Preview"
#~ msgstr ""

#~ msgid "Save Design"
#~ msgstr ""

#~ msgid "View Code"
#~ msgstr ""

#~ msgid "Toolbox"
#~ msgstr ""

#~ msgid "Search elements & variables..."
#~ msgstr ""

#~ msgid "Elements"
#~ msgstr ""

#~ msgid "Variables"
#~ msgstr ""

#~ msgid "Basic Elements"
#~ msgstr ""

#~ msgid "Custom Text"
#~ msgstr ""

#~ msgid "Text"
#~ msgstr ""

#~ msgid "Heading"
#~ msgstr ""

#~ msgid "Line"
#~ msgstr ""

#~ msgid "Rectangle"
#~ msgstr ""

#~ msgid "Circle"
#~ msgstr ""

#~ msgid "Company Info"
#~ msgstr ""

#~ msgid "Company Details"
#~ msgstr ""

#~ msgid "Invoice Data"
#~ msgstr ""

#~ msgid "Invoice Date"
#~ msgstr ""

#~ msgid "Client Info"
#~ msgstr ""

#~ msgid "Items Table"
#~ msgstr ""

#~ msgid "Payment & Project"
#~ msgstr ""

#~ msgid "Payment Date"
#~ msgstr ""

#~ msgid "Payment Method"
#~ msgstr ""

#~ msgid "Client Phone"
#~ msgstr ""

#~ msgid "Advanced"
#~ msgstr ""

#~ msgid "QR Code"
#~ msgstr ""

#~ msgid "Barcode"
#~ msgstr ""

#~ msgid "Page Number"
#~ msgstr ""

#~ msgid "Current Date"
#~ msgstr ""

#~ msgid "Watermark"
#~ msgstr ""

#~ msgid "Bank Info"
#~ msgstr ""

#~ msgid "Invoice Fields"
#~ msgstr ""

#~ msgid "Invoice number"
#~ msgstr ""

#~ msgid "Invoice status (draft/sent/paid/overdue)"
#~ msgstr ""

#~ msgid "Issue date"
#~ msgstr ""

#~ msgid "Due date"
#~ msgstr ""

#~ msgid "Subtotal amount"
#~ msgstr ""

#~ msgid "Tax rate (%)"
#~ msgstr ""

#~ msgid "Tax amount"
#~ msgstr ""

#~ msgid "Total amount"
#~ msgstr ""

#~ msgid "Currency code (EUR, USD, etc)"
#~ msgstr ""

#~ msgid "Invoice notes"
#~ msgstr ""

#~ msgid "Terms & conditions"
#~ msgstr ""

#~ msgid "Client Fields"
#~ msgstr ""

#~ msgid "Client company name"
#~ msgstr ""

#~ msgid "Client email address"
#~ msgstr ""

#~ msgid "Client full address"
#~ msgstr ""

#~ msgid "Client contact person"
#~ msgstr ""

#~ msgid "Client phone number"
#~ msgstr ""

#~ msgid "Payment Fields"
#~ msgstr ""

#~ msgid "Payment status"
#~ msgstr ""

#~ msgid "Payment date"
#~ msgstr ""

#~ msgid "Payment method"
#~ msgstr ""

#~ msgid "Payment reference number"
#~ msgstr ""

#~ msgid "Amount paid"
#~ msgstr ""

#~ msgid "Outstanding amount"
#~ msgstr ""

#~ msgid "Payment notes"
#~ msgstr ""

#~ msgid "Project Fields"
#~ msgstr ""

#~ msgid "Project name"
#~ msgstr ""

#~ msgid "Project code"
#~ msgstr ""

#~ msgid "Project description"
#~ msgstr ""

#~ msgid "Project billing reference"
#~ msgstr ""

#~ msgid "Company/Settings Fields"
#~ msgstr ""

#~ msgid "Your company name"
#~ msgstr ""

#~ msgid "Your company address"
#~ msgstr ""

#~ msgid "Your company email"
#~ msgstr ""

#~ msgid "Your company phone"
#~ msgstr ""

#~ msgid "Your company website"
#~ msgstr ""

#~ msgid "Your tax ID number"
#~ msgstr ""

#~ msgid "Your bank account info"
#~ msgstr ""

#~ msgid "Default invoice terms"
#~ msgstr ""

#~ msgid "Default invoice notes"
#~ msgstr ""

#~ msgid "Date/Time Fields"
#~ msgstr ""

#~ msgid "Current date"
#~ msgstr ""

#~ msgid "Invoice creation date"
#~ msgstr ""

#~ msgid "Invoice last update date"
#~ msgstr ""

#~ msgid "Invoice Items Loop"
#~ msgstr ""

#~ msgid "Loop through invoice items"
#~ msgstr ""

#~ msgid "Item description"
#~ msgstr ""

#~ msgid "Item quantity"
#~ msgstr ""

#~ msgid "Item unit price"
#~ msgstr ""

#~ msgid "Item total amount"
#~ msgstr ""

#~ msgid "End loop"
#~ msgstr ""

#~ msgid "Design Canvas"
#~ msgstr ""

#~ msgid "Zoom In"
#~ msgstr ""

#~ msgid "Zoom Out"
#~ msgstr ""

#~ msgid "Delete Selected"
#~ msgstr ""

#~ msgid "Properties"
#~ msgstr ""

#~ msgid "Select an element to edit its properties"
#~ msgstr ""

#~ msgid "Generating..."
#~ msgstr ""

#~ msgid "Generated Code"
#~ msgstr ""

#~ msgid "Clear all elements?"
#~ msgstr ""

#~ msgid "Reset to defaults?"
#~ msgstr ""

#~ msgid "Reset PDF Layout"
#~ msgstr ""

#~ msgid "Danger Operation"
#~ msgstr ""

#~ msgid "Upload Backup Archive (.zip)"
#~ msgstr ""

#~ msgid ""
#~ "Restoring a backup will overwrite your "
#~ "current database and files. Ensure you "
#~ "have a recent backup before proceeding."
#~ msgstr ""

#~ msgid "Status:"
#~ msgstr ""

#~ msgid "Backup Archive (.zip)"
#~ msgstr ""

#~ msgid "Select a .zip archive previously created via the Backup action."
#~ msgstr ""

#~ msgid "Restore"
#~ msgstr ""

#~ msgid "Safety Tips"
#~ msgstr ""

#~ msgid "Verify the backup archive integrity before restoring."
#~ msgstr ""

#~ msgid "Ensure no active writes are occurring during restore."
#~ msgstr ""

#~ msgid "Keep a copy of the current data in case you need to roll back."
#~ msgstr ""

#~ msgid "After restore, review settings and re-run migrations if required."
#~ msgstr ""

#~ msgid "Add Cost"
#~ msgstr ""

#~ msgid "Add Cost to Project"
#~ msgstr ""

#~ msgid "e.g., Travel expenses to client site"
#~ msgstr ""

#~ msgid "Brief description of the cost"
#~ msgstr ""

#~ msgid "Select category"
#~ msgstr ""

#~ msgid "Materials"
#~ msgstr ""

#~ msgid "Software/Licenses"
#~ msgstr ""

#~ msgid "Additional details about this cost"
#~ msgstr ""

#~ msgid "Billable to client"
#~ msgstr ""

#~ msgid "If checked, this cost will be included in invoices"
#~ msgstr ""

#~ msgid "Edit Cost"
#~ msgstr ""

#~ msgid "This cost has been invoiced. Changes may affect existing invoices."
#~ msgstr ""

#~ msgid "Update Cost"
#~ msgstr ""

#~ msgid "Single Entry"
#~ msgstr ""

#~ msgid "Create multiple time entries for consecutive days"
#~ msgstr ""

#~ msgid "Bulk Entry Form"
#~ msgstr ""

#~ msgid "Select the project to log time for"
#~ msgstr ""

#~ msgid "Tasks load after selecting a project"
#~ msgstr ""

#~ msgid "Date Range"
#~ msgstr ""

#~ msgid "Skip weekends (Saturday & Sunday)"
#~ msgstr ""

#~ msgid "Entries will be created for these dates"
#~ msgstr ""

#~ msgid "Same start time for all days"
#~ msgstr ""

#~ msgid "Same end time for all days"
#~ msgstr ""

#~ msgid "What did you work on? (same notes for all entries)"
#~ msgstr ""

#~ msgid "tag1, tag2, tag3"
#~ msgstr ""

#~ msgid "Separate tags with commas (same for all entries)"
#~ msgstr ""

#~ msgid "Include in invoices"
#~ msgstr ""

#~ msgid "Create Entries"
#~ msgstr ""

#~ msgid "Bulk Entry Tips"
#~ msgstr ""

#~ msgid ""
#~ "Select start and end dates. Entries "
#~ "will be created for each day in "
#~ "the range."
#~ msgstr ""

#~ msgid "Skip Weekends"
#~ msgstr ""

#~ msgid "Enable to automatically skip Saturdays and Sundays from the date range."
#~ msgstr ""

#~ msgid "Same Time Daily"
#~ msgstr ""

#~ msgid "All entries will use the same start and end time each day."
#~ msgstr ""

#~ msgid "Conflict Check"
#~ msgstr ""

#~ msgid "System will check for existing time entries and prevent overlaps."
#~ msgstr ""

#~ msgid "No task"
#~ msgstr ""

#~ msgid "Total days"
#~ msgstr ""

#~ msgid "Weekdays only"
#~ msgstr ""

#~ msgid "Total hours"
#~ msgstr ""

#~ msgid "Entries will be created for"
#~ msgstr ""

#~ msgid "Agenda"
#~ msgstr ""

#~ msgid "iCal Format"
#~ msgstr ""

#~ msgid "CSV Format"
#~ msgstr ""

#~ msgid "All Tasks"
#~ msgstr ""

#~ msgid "Filter by tags..."
#~ msgstr ""

#~ msgid "Show billable entries only"
#~ msgstr ""

#~ msgid "Billable Only"
#~ msgstr ""

#~ msgid "Assign to project for new events..."
#~ msgstr ""

#~ msgid "Total Hours:"
#~ msgstr ""

#~ msgid "Colors assigned by project"
#~ msgstr ""

#~ msgid "Create Time Entry"
#~ msgstr ""

#~ msgid "Select a project..."
#~ msgstr ""

#~ msgid "Comma-separated tags"
#~ msgstr ""

#~ msgid "Create"
#~ msgstr ""

#~ msgid "Time Entry Details"
#~ msgstr ""

#~ msgid "Duplicate"
#~ msgstr ""

#~ msgid "Recurring Time Blocks"
#~ msgstr ""

#~ msgid "Manage your recurring time entry templates."
#~ msgstr ""

#~ msgid "New Recurring Block"
#~ msgstr ""

#~ msgid "Jump to Today"
#~ msgstr ""

#~ msgid "Next Week/Month"
#~ msgstr ""

#~ msgid "Previous Week/Month"
#~ msgstr ""

#~ msgid "Navigate Days"
#~ msgstr ""

#~ msgid "Views"
#~ msgstr ""

#~ msgid "Day View"
#~ msgstr ""

#~ msgid "Week View"
#~ msgstr ""

#~ msgid "Month View"
#~ msgstr ""

#~ msgid "Agenda View"
#~ msgstr ""

#~ msgid "Create New Entry"
#~ msgstr ""

#~ msgid "Focus Filter"
#~ msgstr ""

#~ msgid "Clear All Filters"
#~ msgstr ""

#~ msgid "Close Modal"
#~ msgstr ""

#~ msgid "Show This Help"
#~ msgstr ""

#~ msgid "Got it!"
#~ msgstr ""

#~ msgid "Failed to load events"
#~ msgstr ""

#~ msgid "Please select a project for new entries"
#~ msgstr ""

#~ msgid "Please select a project first"
#~ msgstr ""

#~ msgid "Showing billable entries only"
#~ msgstr ""

#~ msgid "Entry created successfully"
#~ msgstr ""

#~ msgid "Failed to create entry"
#~ msgstr ""

#~ msgid "Entry updated"
#~ msgstr ""

#~ msgid "Failed to update entry"
#~ msgstr ""

#~ msgid "Source"
#~ msgstr ""

#~ msgid "Automatic Timer"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this entry?"
#~ msgstr ""

#~ msgid "Entry deleted"
#~ msgstr ""

#~ msgid "Failed to delete entry"
#~ msgstr ""

#~ msgid "Export started"
#~ msgstr ""

#~ msgid "No recurring blocks yet"
#~ msgstr ""

#~ msgid "Unknown Project"
#~ msgstr ""

#~ msgid "Failed to load recurring blocks"
#~ msgstr ""

#~ msgid "No events in this period"
#~ msgstr ""

#~ msgid "Failed to load agenda view"
#~ msgstr ""

#~ msgid "Failed to load event details"
#~ msgstr ""

#~ msgid "Are you sure you want to delete this recurring block?"
#~ msgstr ""

#~ msgid "Delete Recurring Block"
#~ msgstr ""

#~ msgid "Recurring block deleted"
#~ msgstr ""

#~ msgid "Failed to delete recurring block"
#~ msgstr ""

#~ msgid "Enter new start time (YYYY-MM-DD HH:MM):"
#~ msgstr ""

#~ msgid "Entry duplicated successfully"
#~ msgstr ""

#~ msgid "Failed to duplicate entry"
#~ msgstr ""

#~ msgid "Jumped to today"
#~ msgstr ""

#~ msgid "💡 Press ? to see keyboard shortcuts"
#~ msgstr ""

#~ msgid "Edit Time Entry"
#~ msgstr ""

#~ msgid "These updates will modify this time entry permanently."
#~ msgstr ""

#~ msgid "Confirm Changes"
#~ msgstr ""

#~ msgid "Confirm & Save"
#~ msgstr ""

#~ msgid "Admin Mode"
#~ msgstr ""

#~ msgid "Admin Mode:"
#~ msgstr ""

#~ msgid ""
#~ "You can edit all fields of this "
#~ "time entry, including project, task, "
#~ "start/end times, and source."
#~ msgstr ""

#~ msgid "Select the project this time entry belongs to"
#~ msgstr ""

#~ msgid "Task (Optional)"
#~ msgstr ""

#~ msgid "Select a specific task within the project"
#~ msgstr ""

#~ msgid "When the work started"
#~ msgstr ""

#~ msgid "Time the work started"
#~ msgstr ""

#~ msgid "When the work ended (leave empty if still running)"
#~ msgstr ""

#~ msgid "Time the work ended"
#~ msgstr ""

#~ msgid "Manual"
#~ msgstr ""

#~ msgid "Automatic"
#~ msgstr ""

#~ msgid "How this entry was created"
#~ msgstr ""

#~ msgid "Describe what you worked on"
#~ msgstr ""

#~ msgid "Separate tags with commas"
#~ msgstr ""

#~ msgid "Project:"
#~ msgstr ""

#~ msgid "Task:"
#~ msgstr ""

#~ msgid "Start:"
#~ msgstr ""

#~ msgid "End:"
#~ msgstr ""

#~ msgid "Running"
#~ msgstr ""

#~ msgid "Entry Details"
#~ msgstr ""

#~ msgid "Entry ID"
#~ msgstr ""

#~ msgid "Admin Notice"
#~ msgstr ""

#~ msgid ""
#~ "As an admin, you have full editing"
#~ " privileges for this time entry. Changes"
#~ " will be logged for audit purposes."
#~ msgstr ""

#~ msgid "{editor}: Editing failed"
#~ msgstr ""

#~ msgid "{editor}: Editing failed: {e}"
#~ msgstr ""

#~ msgid "{text} {deprecated_message}"
#~ msgstr ""

#~ msgid "Options"
#~ msgstr ""

#~ msgid "Got unexpected extra argument ({args})"
#~ msgid_plural "Got unexpected extra arguments ({args})"
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "DeprecationWarning: The command {name!r} is deprecated.{extra_message}"
#~ msgstr ""

#~ msgid "Aborted!"
#~ msgstr ""

#~ msgid "Commands"
#~ msgstr ""

#~ msgid "Missing command."
#~ msgstr ""

#~ msgid "No such command {name!r}."
#~ msgstr ""

#~ msgid "Value must be an iterable."
#~ msgstr ""

#~ msgid "Takes {nargs} values but 1 was given."
#~ msgid_plural "Takes {nargs} values but {len} were given."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid ""
#~ "DeprecationWarning: The {param_type} {name!r} is"
#~ " deprecated.{extra_message}"
#~ msgstr ""

#~ msgid "env var: {var}"
#~ msgstr ""

#~ msgid "default: {default}"
#~ msgstr ""

#~ msgid "required"
#~ msgstr ""

#~ msgid "(dynamic)"
#~ msgstr ""

#~ msgid "%(prog)s, version %(version)s"
#~ msgstr ""

#~ msgid "Show the version and exit."
#~ msgstr ""

#~ msgid "Show this message and exit."
#~ msgstr ""

#~ msgid "Error: {message}"
#~ msgstr ""

#~ msgid "Try '{command} {option}' for help."
#~ msgstr ""

#~ msgid "Invalid value: {message}"
#~ msgstr ""

#~ msgid "Invalid value for {param_hint}: {message}"
#~ msgstr ""

#~ msgid "Missing argument"
#~ msgstr ""

#~ msgid "Missing option"
#~ msgstr ""

#~ msgid "Missing parameter"
#~ msgstr ""

#~ msgid "Missing {param_type}"
#~ msgstr ""

#~ msgid "Missing parameter: {param_name}"
#~ msgstr ""

#~ msgid "No such option: {name}"
#~ msgstr ""

#~ msgid "Did you mean {possibility}?"
#~ msgid_plural "(Possible options: {possibilities})"
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "unknown error"
#~ msgstr ""

#~ msgid "Could not open file {filename!r}: {message}"
#~ msgstr ""

#~ msgid "Usage:"
#~ msgstr ""

#~ msgid "Argument {name!r} takes {nargs} values."
#~ msgstr ""

#~ msgid "Option {name!r} does not take a value."
#~ msgstr ""

#~ msgid "Option {name!r} requires an argument."
#~ msgid_plural "Option {name!r} requires {nargs} arguments."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "Shell completion is not supported for Bash versions older than 4.4."
#~ msgstr ""

#~ msgid "Couldn't detect Bash version, shell completion is not supported."
#~ msgstr ""

#~ msgid "Repeat for confirmation"
#~ msgstr ""

#~ msgid "Error: The value you entered was invalid."
#~ msgstr ""

#~ msgid "Error: {e.message}"
#~ msgstr ""

#~ msgid "Error: The two entered values do not match."
#~ msgstr ""

#~ msgid "Error: invalid input"
#~ msgstr ""

#~ msgid "Press any key to continue..."
#~ msgstr ""

#~ msgid ""
#~ "Choose from:\n"
#~ "\t{choices}"
#~ msgstr ""

#~ msgid "{value!r} is not {choice}."
#~ msgid_plural "{value!r} is not one of {choices}."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "{value!r} does not match the format {format}."
#~ msgid_plural "{value!r} does not match the formats {formats}."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "{value!r} is not a valid {number_type}."
#~ msgstr ""

#~ msgid "{value} is not in the range {range}."
#~ msgstr ""

#~ msgid "{value!r} is not a valid boolean. Recognized values: {states}"
#~ msgstr ""

#~ msgid "{value!r} is not a valid UUID."
#~ msgstr ""

#~ msgid "file"
#~ msgstr ""

#~ msgid "directory"
#~ msgstr ""

#~ msgid "path"
#~ msgstr ""

#~ msgid "{name} {filename!r} does not exist."
#~ msgstr ""

#~ msgid "{name} {filename!r} is a file."
#~ msgstr ""

#~ msgid "{name} {filename!r} is a directory."
#~ msgstr ""

#~ msgid "{name} {filename!r} is not readable."
#~ msgstr ""

#~ msgid "{name} {filename!r} is not writable."
#~ msgstr ""

#~ msgid "{name} {filename!r} is not executable."
#~ msgstr ""

#~ msgid "{len_type} values are required, but {len_value} was given."
#~ msgid_plural "{len_type} values are required, but {len_value} were given."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "This field is required."
#~ msgstr ""

#~ msgid "File does not have an approved extension: {extensions}"
#~ msgstr ""

#~ msgid "File does not have an approved extension."
#~ msgstr ""

#~ msgid "File must be between {min_size} and {max_size} bytes."
#~ msgstr ""

#~ msgid "show this help message and exit"
#~ msgstr ""

#~ msgid "%(prog)s: error: %(message)s\n"
#~ msgstr ""

#~ msgid "Arguments"
#~ msgstr ""

#~ msgid "(deprecated) "
#~ msgstr ""

#~ msgid "[default: {}]"
#~ msgstr ""

#~ msgid "[env var: {}]"
#~ msgstr ""

#~ msgid "[required]"
#~ msgstr ""

#~ msgid "Aborted."
#~ msgstr ""

#~ msgid "Try [blue]'{command_path} {help_option}'[/] for help."
#~ msgstr ""

#~ msgid "Invalid field name '%s'."
#~ msgstr ""

#~ msgid "Field must be equal to %(other_name)s."
#~ msgstr ""

#~ msgid "Field must be at least %(min)d character long."
#~ msgid_plural "Field must be at least %(min)d characters long."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "Field cannot be longer than %(max)d character."
#~ msgid_plural "Field cannot be longer than %(max)d characters."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "Field must be exactly %(max)d character long."
#~ msgid_plural "Field must be exactly %(max)d characters long."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "Field must be between %(min)d and %(max)d characters long."
#~ msgstr ""

#~ msgid "Number must be at least %(min)s."
#~ msgstr ""

#~ msgid "Number must be at most %(max)s."
#~ msgstr ""

#~ msgid "Number must be between %(min)s and %(max)s."
#~ msgstr ""

#~ msgid "Invalid input."
#~ msgstr ""

#~ msgid "Invalid email address."
#~ msgstr ""

#~ msgid "Invalid IP address."
#~ msgstr ""

#~ msgid "Invalid Mac address."
#~ msgstr ""

#~ msgid "Invalid URL."
#~ msgstr ""

#~ msgid "Invalid UUID."
#~ msgstr ""

#~ msgid "Invalid value, must be one of: %(values)s."
#~ msgstr ""

#~ msgid "Invalid value, can't be any of: %(values)s."
#~ msgstr ""

#~ msgid "This field cannot be edited."
#~ msgstr ""

#~ msgid "This field is disabled and cannot have a value."
#~ msgstr ""

#~ msgid "Invalid CSRF Token."
#~ msgstr ""

#~ msgid "CSRF token missing."
#~ msgstr ""

#~ msgid "CSRF failed."
#~ msgstr ""

#~ msgid "CSRF token expired."
#~ msgstr ""

#~ msgid "Invalid Choice: could not coerce."
#~ msgstr ""

#~ msgid "Choices cannot be None."
#~ msgstr ""

#~ msgid "Not a valid choice."
#~ msgstr ""

#~ msgid "Invalid choice(s): one or more data inputs could not be coerced."
#~ msgstr ""

#~ msgid "'%(value)s' is not a valid choice for this field."
#~ msgid_plural "'%(value)s' are not valid choices for this field."
#~ msgstr[0] ""
#~ msgstr[1] ""

#~ msgid "Not a valid datetime value."
#~ msgstr ""

#~ msgid "Not a valid date value."
#~ msgstr ""

#~ msgid "Not a valid time value."
#~ msgstr ""

#~ msgid "Not a valid week value."
#~ msgstr ""

#~ msgid "Not a valid integer value."
#~ msgstr ""

#~ msgid "Not a valid decimal value."
#~ msgstr ""

#~ msgid "Not a valid float value."
#~ msgstr ""

