From f81cc8a5fe157e034716e95ef51b4f9fe48be86b Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Tue, 14 Oct 2025 11:27:47 +0300 Subject: [PATCH] Translate to Finnish --- hledger-web/Hledger/Web/Foundation.hs | 1 + hledger-web/Hledger/Web/Handler/AddR.hs | 8 +-- hledger-web/Hledger/Web/Handler/EditR.hs | 8 +-- hledger-web/Hledger/Web/Handler/JournalR.hs | 10 +-- hledger-web/Hledger/Web/Handler/MiscR.hs | 20 +++--- hledger-web/Hledger/Web/Handler/RegisterR.hs | 16 ++--- hledger-web/Hledger/Web/Handler/UploadR.hs | 14 ++-- hledger-web/Hledger/Web/Widget/AddForm.hs | 6 +- hledger-web/hledger-web.cabal | 1 + hledger-web/static/hledger.js | 9 +-- .../js/locales/bootstrap-datepicker.fi.min.js | 1 + hledger-web/templates/add-form.hamlet | 8 +-- hledger-web/templates/balance-report.hamlet | 8 +-- hledger-web/templates/default-layout.hamlet | 72 +++++++++---------- hledger-web/templates/edit-form.hamlet | 10 +-- hledger-web/templates/journal.hamlet | 12 ++-- hledger-web/templates/manage.hamlet | 10 +-- hledger-web/templates/register.hamlet | 8 +-- hledger-web/templates/upload-form.hamlet | 8 +-- 19 files changed, 117 insertions(+), 113 deletions(-) create mode 100644 hledger-web/static/js/locales/bootstrap-datepicker.fi.min.js diff --git a/hledger-web/Hledger/Web/Foundation.hs b/hledger-web/Hledger/Web/Foundation.hs index 6b5073bd1..00684e381 100644 --- a/hledger-web/Hledger/Web/Foundation.hs +++ b/hledger-web/Hledger/Web/Foundation.hs @@ -154,6 +154,7 @@ instance Yesod App where |] addScript $ StaticR js_bootstrap_min_js addScript $ StaticR js_bootstrap_datepicker_min_js + addScript $ StaticR js_locales_bootstrap_datepicker_fi_min_js addScript $ StaticR js_jquery_url_js addScript $ StaticR js_jquery_cookie_js addScript $ StaticR js_jquery_hotkeys_js diff --git a/hledger-web/Hledger/Web/Handler/AddR.hs b/hledger-web/Hledger/Web/Handler/AddR.hs index 80ac72f68..d81b03071 100644 --- a/hledger-web/Hledger/Web/Handler/AddR.hs +++ b/hledger-web/Hledger/Web/Handler/AddR.hs @@ -31,7 +31,7 @@ postAddR :: Handler () postAddR = do checkServerSideUiEnabled VD{caps, j, today} <- getViewData - when (CapAdd `notElem` caps) (permissionDenied "Missing the 'add' capability") + when (CapAdd `notElem` caps) (permissionDenied "Ei oikeutta lisätä kirjauksia ('add')") ((res, view), enctype) <- runFormPost $ addForm j today case res of @@ -40,7 +40,7 @@ postAddR = do liftIO $ do ensureJournalFileExists f appendToJournalFileOrStdout f (showTransaction t') - setMessage "Transaction added." + setMessage "Kirjaus lisätty." redirect JournalR FormMissing -> showForm view enctype FormFailure errs -> do @@ -49,7 +49,7 @@ postAddR = do where showForm view enctype = sendResponse =<< defaultLayout [whamlet| -

Add transaction +

Uusi kirjaus
^{view} @@ -60,7 +60,7 @@ postAddR = do putAddR :: Handler RepJson putAddR = do VD{caps, j, opts} <- getViewData - when (CapAdd `notElem` caps) (permissionDenied "Missing the 'add' capability") + when (CapAdd `notElem` caps) (permissionDenied "Ei oikeutta lisätä kirjauksia ('add')") (r :: Result Transaction) <- parseCheckJsonBody case r of diff --git a/hledger-web/Hledger/Web/Handler/EditR.hs b/hledger-web/Hledger/Web/Handler/EditR.hs index 9e83ead40..17e18aac4 100644 --- a/hledger-web/Hledger/Web/Handler/EditR.hs +++ b/hledger-web/Hledger/Web/Handler/EditR.hs @@ -32,20 +32,20 @@ postEditR :: FilePath -> Handler () postEditR f = do checkServerSideUiEnabled VD {caps, j} <- getViewData - when (CapManage `notElem` caps) (permissionDenied "Missing the 'manage' capability") + when (CapManage `notElem` caps) (permissionDenied "Ei oikeutta muokata kirjanpitoa ('manage')") (f', txt) <- journalFile404 f j ((res, view), enctype) <- runFormPost (editForm f' txt) newtxt <- fromFormSuccess (showForm view enctype) res runExceptT (writeJournalTextIfValidAndChanged f newtxt) >>= \case Left e -> do - setMessage $ "Failed to load journal: " <> toHtml e + setMessage $ "Kirjanpidon lataaminen epäonnistui: " <> toHtml e showForm view enctype Right () -> do - setMessage $ "Saved journal " <> toHtml f <> "\n" + setMessage $ "Kirjanpito tallennettu tiedostoon " <> toHtml f <> "\n" redirect JournalR where showForm view enctype = sendResponse <=< defaultLayout $ do - setTitle "Edit journal" + setTitle "Muokkaa kirjanpitoa" [whamlet|
^{view}|] diff --git a/hledger-web/Hledger/Web/Handler/JournalR.hs b/hledger-web/Hledger/Web/Handler/JournalR.hs index 7799cde65..c90d53819 100644 --- a/hledger-web/Hledger/Web/Handler/JournalR.hs +++ b/hledger-web/Hledger/Web/Handler/JournalR.hs @@ -21,16 +21,16 @@ getJournalR :: Handler Html getJournalR = do checkServerSideUiEnabled VD{caps, j, m, opts, q, qopts, today} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") let title = case inAccount qopts of - Nothing -> "General Journal" - Just (a, inclsubs) -> "Transactions in " <> a <> if inclsubs then "" else " (excluding subaccounts)" - title' = title <> if m /= Any then ", filtered" else "" + Nothing -> "Kaikki kirjaukset" + Just (a, inclsubs) -> "Tapahtumat tilillä " <> a <> if inclsubs then "" else " (poislukien alatilit)" + title' = title <> if m /= Any then ", suodatettu" else "" acctlink a = (RegisterR, [("q", replaceInacct q $ accountQuery a)]) rspec = (reportspec_ $ cliopts_ opts){_rsQuery = m} items = reverse $ entriesReport rspec j transactionFrag = transactionFragment j defaultLayout $ do - setTitle "journal - hledger-web" + setTitle "päiväkirja - hledger-web" $(widgetFile "journal") diff --git a/hledger-web/Hledger/Web/Handler/MiscR.hs b/hledger-web/Hledger/Web/Handler/MiscR.hs index 613869a28..0839d6957 100644 --- a/hledger-web/Hledger/Web/Handler/MiscR.hs +++ b/hledger-web/Hledger/Web/Handler/MiscR.hs @@ -39,16 +39,16 @@ getManageR :: Handler Html getManageR = do checkServerSideUiEnabled VD{caps, j} <- getViewData - when (CapManage `notElem` caps) (permissionDenied "Missing the 'manage' capability") + when (CapManage `notElem` caps) (permissionDenied "Ei oikeutta muokata kirjanpitoa ('manage')") defaultLayout $ do - setTitle "Manage journal" + setTitle "Muokkaa kirjanpitoa" $(widgetFile "manage") getDownloadR :: FilePath -> Handler TypedContent getDownloadR f = do checkServerSideUiEnabled VD{caps, j} <- getViewData - when (CapManage `notElem` caps) (permissionDenied "Missing the 'manage' capability") + when (CapManage `notElem` caps) (permissionDenied "Ei oikeutta muokata kirjanpitoa ('manage')") (f', txt) <- journalFile404 f j addHeader "Content-Disposition" ("attachment; filename=\"" <> T.pack f' <> "\"") sendResponse ("text/plain" :: ByteString, toContent txt) @@ -58,49 +58,49 @@ getDownloadR f = do getVersionR :: Handler TypedContent getVersionR = do VD{caps} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ packageversion getAccountnamesR :: Handler TypedContent getAccountnamesR = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ journalAccountNames j getTransactionsR :: Handler TypedContent getTransactionsR = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ jtxns j getPricesR :: Handler TypedContent getPricesR = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ map priceDirectiveToMarketPrice $ jpricedirectives j getCommoditiesR :: Handler TypedContent getCommoditiesR = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ (M.keys . jinferredcommodities) j getAccountsR :: Handler TypedContent getAccountsR = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") selectRep $ do provideJson $ laccounts $ ledgerFromJournal Any j getAccounttransactionsR :: Text -> Handler TypedContent getAccounttransactionsR a = do VD{caps, j} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") let rspec = defreportspec thisacctq = Acct $ accountNameToAccountRegex a -- includes subs diff --git a/hledger-web/Hledger/Web/Handler/RegisterR.hs b/hledger-web/Hledger/Web/Handler/RegisterR.hs index dad399963..741d0e378 100644 --- a/hledger-web/Hledger/Web/Handler/RegisterR.hs +++ b/hledger-web/Hledger/Web/Handler/RegisterR.hs @@ -27,11 +27,11 @@ getRegisterR :: Handler Html getRegisterR = do checkServerSideUiEnabled VD{caps, j, m, opts, q, qopts, today} <- getViewData - when (CapView `notElem` caps) (permissionDenied "Missing the 'view' capability") + when (CapView `notElem` caps) (permissionDenied "Ei oikeutta katsella kirjanpitoa ('view')") - let (a,inclsubs) = fromMaybe ("all accounts",True) $ inAccount qopts - s1 = if inclsubs then "" else " (excluding subaccounts)" - s2 = if m /= Any then ", filtered" else "" + let (a,inclsubs) = fromMaybe ("kaikki tilit",True) $ inAccount qopts + s1 = if inclsubs then "" else " (poislukien alitilit)" + s2 = if m /= Any then ", suodatettu" else "" header = a <> s1 <> s2 let rspec = reportspec_ (cliopts_ opts) @@ -47,12 +47,12 @@ getRegisterR = do tail $ (", "<$xs) ++ [""] items = accountTransactionsReport rspec{_rsQuery=m} j acctQuery balancelabel - | isJust (inAccount qopts), balanceaccum_ (_rsReportOpts rspec) == Historical = "Historical Total" - | isJust (inAccount qopts) = "Period Total" - | otherwise = "Total" + | isJust (inAccount qopts), balanceaccum_ (_rsReportOpts rspec) == Historical = "Historiallinen saldo" + | isJust (inAccount qopts) = "Kauden saldo" + | otherwise = "Saldo" transactionFrag = transactionFragment j defaultLayout $ do - setTitle "register - hledger-web" + setTitle "kirjaukset - hledger-web" $(widgetFile "register") -- cf. Hledger.Reports.AccountTransactionsReport.accountTransactionsReportItems diff --git a/hledger-web/Hledger/Web/Handler/UploadR.hs b/hledger-web/Hledger/Web/Handler/UploadR.hs index 2b657eb1d..41865de7b 100644 --- a/hledger-web/Hledger/Web/Handler/UploadR.hs +++ b/hledger-web/Hledger/Web/Handler/UploadR.hs @@ -36,7 +36,7 @@ postUploadR :: FilePath -> Handler () postUploadR f = do checkServerSideUiEnabled VD {caps, j} <- getViewData - when (CapManage `notElem` caps) (permissionDenied "Missing the 'manage' capability") + when (CapManage `notElem` caps) (permissionDenied "Ei oikeutta muokata kirjanpitoa ('manage')") (f', _) <- journalFile404 f j ((res, view), enctype) <- runFormPost (uploadForm f') @@ -48,20 +48,20 @@ postUploadR f = do newtxt <- case TE.decodeUtf8' lbs of Left e -> do setMessage $ - "Encoding error: '" <> toHtml (show e) <> "'. " <> - "If your file is not UTF-8 encoded, try the 'edit form', " <> - "where the transcoding should be handled by the browser." + "Merkistövirhe: '" <> toHtml (show e) <> "'. " <> + "Jos tiedostosi ei käytä UTF-8 merkistöä, kokeile 'muokkaa'-sivua," <> + "jolla selaimesi pitäisi huolehtia merkistön muuntamisesta puolestasi." showForm view enctype Right newtxt -> return newtxt runExceptT (writeJournalTextIfValidAndChanged f newtxt) >>= \case Left e -> do - setMessage $ "Failed to load journal: " <> toHtml e + setMessage $ "Kirjanpidon lataaminen epäonnistui: " <> toHtml e showForm view enctype Right () -> do - setMessage $ "File " <> toHtml f <> " uploaded successfully" + setMessage $ "Tiedoston " <> toHtml f <> " lataaminen onnistui!" redirect JournalR where showForm view enctype = sendResponse <=< defaultLayout $ do - setTitle "Upload journal" + setTitle "Korvaa tiedosto" [whamlet|^{view}|] diff --git a/hledger-web/Hledger/Web/Widget/AddForm.hs b/hledger-web/Hledger/Web/Widget/AddForm.hs index 01618e009..903d4aa62 100644 --- a/hledger-web/Hledger/Web/Widget/AddForm.hs +++ b/hledger-web/Hledger/Web/Widget/AddForm.hs @@ -38,7 +38,7 @@ addModal addR j today = do