diff --git a/js/src/i18n/fi.json b/js/src/i18n/fi.json
index 782e94b84..5ec30e5bc 100644
--- a/js/src/i18n/fi.json
+++ b/js/src/i18n/fi.json
@@ -16,12 +16,19 @@
"@{username}'s follow request was rejected": "Käyttäjän @{username} seuraamispyyntö hylättiin",
"A cookie is a small file containing information that is sent to your computer when you visit a website. When you visit the site again, the cookie allows that site to recognize your browser. Cookies may store user preferences and other information. You can configure your browser to refuse all cookies. However, this may result in some website features or services partially working. Local storage works the same way but allows you to store more data.": "Evästeellä tarkoitetaan sellaista tietoa, jonka palvelun tarjoajan palvelin lähettää käyttäjän selainohjelmalle pyytäen selainta tallentamaan tiedon käyttäjän päätelaitteelle ja jota kyseinen palvelun tarjoajan palvelin voi myöhemmin pyytää takaisin. Kyse on käytännössä pienestä tietomäärästä, tyypillisesti lyhyestä tekstistä. Voit asettaa selaimen kieltäytymään kaikista evästeistä, mutta tämä saattaa rikkoa joitakin toiminnallisuuksia.",
"A cookie is a small file containing informations that is sent to your computer when you visit a website. When you visit the site again, the cookie allows that site to recognize your browser. Cookies may store user preferences and other information. You can configure your browser to refuse all cookies. However, this may result in some website features or services partially working. Local storage works the same way but allows to store more data.": "Evästeet ovat pieniä tiedostoja, joita verkkosivut lähettävät käyttäjän tietokoneelle käyttäjän vieraillessa verkkosivuilla. Kun käyttäjä vierailee sivulla uudelleen, sivusto tunnistaa käyttäjän selaimen evästeen avulla. Evästeisiin voidaan tallentaa käyttäjän valintoja ja muuta tietoa. Selaimen voi asettaa hylkäämään kaikki evästeet. Tällöin kuitenkin osa verkkosivun toiminnoista tai palveluista voi lakata toimimasta. Paikallisesti tallennettavat tiedot toimivat samalla tavoin, mutta niihin voidaan tallentaa suurempia tietomääriä.",
+ "A discussion has been created or updated": "Keskustelu on luotu tai päivitetty",
"A federated software": "Federoitu ohjelmisto",
+ "A member has been updated": "Käyttäjä on päivitetty",
+ "A member requested to join one of my groups": "Käyttäjä pyysi liittyä yhteen ryhmistäni",
+ "A new version is available.": "Uusi versio on saatavilla.",
"A place for your code of conduct, rules or guidelines. You can use HTML tags.": "Käytössäännöille, säännöille ja ohjeille varattu tila. HTML-tunnisteita voi käyttää.",
"A place to explain who you are and the things that set your instance apart. You can use HTML tags.": "Tässä voi esitellä ylläpitäjätahoa ja tämän palvelimen erityispiirteitä. HTML-tunnisteita voi käyttää.",
"A place to publish something to the whole world, your community or just your group members.": "Paikka, jossa voit julkaista asioita koko maailmalle, yhteisöllesi tai pelkästään ryhmäsi jäsenille.",
"A place to store links to documents or resources of any type.": "Paikka, johon voit tallentaa linkkejä dokumentteihin tai muihin resursseihin.",
+ "A post has been published": "Viesti on julkaistu",
+ "A post has been updated": "Viesti on päivitetty",
"A practical tool": "Kätevä työkalu",
+ "A resource has been created or updated": "Resurssi on luotu tai päivitetty",
"A short tagline for your instance homepage. Defaults to \"Gather ⋅ Organize ⋅ Mobilize\"": "Lyhyt teksti instanssisi kotisivulle. Oletuksena \"Kokoonnu ⋅ Järjestä ⋅ Mobilizoi\"",
"A user-friendly, emancipatory and ethical tool for gathering, organising, and mobilising.": "Käyttäjäystävällinen, vapauttava ja eettinen työkalu tapahtumien järjestämiseen, organisointiin ja mobilisointiin.",
"A validation email was sent to {email}": "Vahvistussähköposti lähetettiin osoitteeseen {email}",
@@ -40,6 +47,7 @@
"Accessible through link": "Pääsy linkin kautta",
"Account": "Tili",
"Actions": "Toimenpiteet",
+ "Activate browser push notifications": "Ota käyttöön selaimen push-ilmoitukset",
"Activated": "Käytössä",
"Active": "Aktiivinen",
"Activity": "Toiminta",
@@ -68,18 +76,22 @@
"Allow all comments": "Salli kaikki kommentit",
"Allow all comments from users with accounts": "Salli kommentit kirjautuneilta käyttäjiltä",
"Allow registrations": "Salli rekisteröityminen",
+ "An error has occured while refreshing the page.": "Virhe tapahtui kun sivua päivitettiin.",
"An error has occured. Sorry about that. You may try to reload the page.": "Tapahtui virhe. Yritä ladata sivu uudelleen.",
"An error has occurred.": "Tapahtui virhe.",
"An ethical alternative": "Eettinen vaihtoehto",
"An event I'm going to has been updated": "Tapahtuma, jonne olen menossa, on päivitetty",
+ "An event from one of my groups has been published": "Tapahtuma ryhmästäni on julkaistu",
+ "An event from one of my groups has been updated or deleted": "Tapahtuma ryhmistäni on päivitetty tai poistettu",
"An instance is an installed version of the Mobilizon software running on a server. An instance can be run by anyone using the {mobilizon_software} or other federated apps, aka the “fediverse”. This instance's name is {instance_name}. Mobilizon is a federated network of multiple instances (just like email servers), users registered on different instances may communicate even though they didn't register on the same instance.": "Palvelin tarkoittaa palvelintietokoneelle asennettua Mobilizon-ohjelmaa. Palvelinta voi käyttää kuka tahansa, jolla on käytössään {mobilizon_software} tai jokin muu federoituva sovellus, eli se on osa niin kutsuttua fediversumia. Tämän palvelimen nimi on {instance_name}. Mobilizon on useiden palvelinten muodostama federoituva verkosto (sähköpostipalvelinten tavaan), eli eri palvelimille rekisteröityneet käyttäjät voivat olla yhteydessä toisiinsa vaikka eivät olisi rekisteröityneet samalle palvelimelle.",
"An “application programming interface” or “API” is a communication protocol that allows software components to communicate with each other. The Mobilizon API, for example, can allow third-party software tools to communicate with Mobilizon instances to carry out certain actions, such as posting events on your behalf, automatically and remotely.": "API eli ohjelmointirajapinta on tietoliikenneprotokolla, jonka avulla ohjelmistokomponentit voivat olla yhteydessä keskenään. Mobilizon-API voi esimerkiksi tarjota kolmansien osapuolten ohjelmistotyökaluille yhteyden Mobilizon-palvelimiin erilaisten toimintojen, kuten tapahtumien julkaisemisen, suorittamiseksi automaattisesti ja etänä.",
"And {number} comments": "{number} kommenttia",
+ "Announcements and mentions notifications are always sent straight away.": "Ilmoitukset julkistuksista ja maininnoista lähetetään aina heti.",
"Anonymous participant": "Nimetön osallistuja",
"Anonymous participants will be asked to confirm their participation through e-mail.": "Anonyymejä osallistujia pyydetään vahvistamaan osallistumisensa sähköpostitse.",
"Anonymous participations": "Anonyymit osallistujat",
"Any day": "Milloin vain",
- "Anyone can join freely": "Kuka tahansa voi liittyä",
+ "Anyone can join freely": "Kaikki voivat liittyä",
"Anyone wanting to be a member from your group will be able to from your group page.": "Kaikki ryhmäsi jäsenet voivat liittyä ryhmäsi sivuilta.",
"Application": "Sovellus",
"Approve": "Hyväksy",
@@ -95,6 +107,7 @@
"Are you sure you want to delete this entire discussion?": "Oletko varma, että haluat poistaa koko tämän keskustelun?",
"Are you sure you want to delete this event? This action cannot be reverted.": "Haluatko varmasti poistaa tämän tapahtuman? Toimintoa ei voi perua.",
"As the event organizer has chosen to manually validate participation requests, your participation will be really confirmed only once you receive an email stating it's being accepted.": "Tapahtuman järjestäjä vahvistaa osallistumispyynnöt käsin, joten osallistumisesi on vahvistettu vasta sitten, kun saat vahvistuksesta kertovan sähköpostin.",
+ "Ask your instance admin to {enable_feature}.": "Kysy instanssisi ylläpitäjältä {enable_feature}.",
"Assigned to": "Yhdistetty",
"Atom feed for events and posts": "Tapahtumien ja julkaisujen Atom-syöte",
"Avatar": "Avatar",
@@ -153,6 +166,7 @@
"Contact": "Yhteystieto",
"Continue editing": "Jatka muokkausta",
"Cookies and Local storage": "Evästeet ja paikallisesti tallennettavat tiedot",
+ "Copy URL to clipboard": "Kopioi URL leikepöydälle",
"Copy details to clipboard": "Kopioi yksityiskohdat leikepöydälle",
"Country": "Maa",
"Create": "Luo",
@@ -273,12 +287,15 @@
"Error while login with {provider}. This login provider doesn't exist.": "Virhe kirjauduttaessa {provider}-tilillä. Tätä sisäänkirjautumispalvelua ei ole olemassa.",
"Error while reporting group {groupTitle}": "Tapahtui virhe raportoidessa ryhmää {groupTitle}",
"Error while saving report.": "Virhe raportin tallennuksessa.",
+ "Error while subscribing to push notifications": "Virhe kun tilattiin push-ilmoitukset",
"Error while suspending group": "Virhe tapahtui kun ryhmää hyllytettiin",
+ "Error while updating participation status inside this browser": "Virhe kun päivitettiin osallistumisen tilaa tämän selaimen sisällä",
"Error while validating account": "Virhe tilin vahvistamisessa",
"Error while validating participation": "Virhe osallistumisen vahvistamisessa",
"Error while validating participation request": "Virhe osallistumispyyntöä vahvistettaessa",
"Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you. Period.": "Eettinen vaihtoehto Facebookin tapahtumille, ryhmille ja sivuille. Mobilizon on työkalu, joka on suunniteltu palvelemaan sinua. Piste.",
"Event": "Tapahtuma",
+ "Event URL": "Tapahtuman URL",
"Event already passed": "Tapahtuma on jo mennyt",
"Event cancelled": "Tapahtuma peruttu",
"Event creation": "Tapahtuman luonti",
@@ -335,6 +352,7 @@
"Group Followers": "Ryhmän seuraajat",
"Group List": "Ryhmäluettelo",
"Group Members": "Ryhmän jäsenet",
+ "Group URL": "Ryhmän URL",
"Group address": "Ryhmän osoite",
"Group display name": "Ryhmän näyttönimi",
"Group full name": "Ryhmän koko nimi",
@@ -377,6 +395,7 @@
"If you are being asked for your federated indentity, it's composed of your username and your instance. For instance, the federated identity for your first profile is:": "Jos sinulta kysytään federoitua käyttäjätunnustasi, se koostuu käyttäjätunnuksestasi ja palvelimestasi. Esimerkiksi ensimmäisellä profiilillasi se on:",
"If you have opted for manual validation of participants, Mobilizon will send you an email to inform you of new participations to be processed. You can choose the frequency of these notifications below.": "Jos olet valinnut osallistujien manuaalisen vahvistuksen, Mobilizon lähettää sinulle viestin uusista osallistujista jotka voit vahvistaa. Voit alla valita näiden viestien tiheyden.",
"If you want, you may send a message to the event organizer here.": "Tästä voit halutessasi lähettää tapahtuman järjestäjälle viestin.",
+ "Ignore": "Sivuuta",
"Impossible to login, your email or password seems incorrect.": "Sisäänkirjautuminen ei onnistu, sähköposti tai salasana on väärin.",
"In the following context, an application is a software, either provided by the Mobilizon team or by a 3rd-party, used to interact with your instance.": "Seuraavassa sovellus tarkoittaa Mobilizon-tiimin tai kolmannen osapuolen toimittamaa ohjelmaa, jonka kautta palvelinta käytetään.",
"In the meantime, please consider that the software is not (yet) finished. More information {onBlog}.": "Huomaathan, että tämä ohjelma ei ole (vielä) kokonaan valmis. Lue lisää: {onBlog}.",
@@ -411,6 +430,7 @@
"Italic": "Kursivoitu",
"Join {instance}, a Mobilizon instance": "Liity Mobilizon-palvelimelle {instance}",
"Join group": "Liity ryhmään",
+ "Join group {group}": "Liity ryhmään {group}",
"Join {instance}, a Mobilizon instance": "Liity Mobilizon-palvelimelle {instance}",
"Keep the entire conversation about a specific topic together on a single page.": "Pidä kaikki aiheeseen liittyvä keskustelu samassa paikassa.",
"Key words": "Avainsanat",
@@ -479,6 +499,7 @@
"Moderator": "Moderaattori",
"Move": "Siirrä",
"Move \"{resourceName}\"": "Siirrä ”{resourceName}”",
+ "Move resource to the root folder": "Siirrä resurssi juurikansioon",
"Move resource to {folder}": "Siirrä resurssi kansioon {folder}",
"My account": "Oma tili",
"My events": "Omat tapahtumat",
@@ -566,6 +587,7 @@
"On {date} ending at {endTime}": "{date}, päättyy {endTime}",
"On {date} from {startTime} to {endTime}": "{date} klo {startTime}–{endTime}",
"On {date} starting at {startTime}": "{date} klo {startTime}",
+ "On {instance} and other federated instances": "Instanssilla {instance} ja muilla federoiduilla instansseilla",
"One person is going": "Kukaan ei ole menossa | Yksi henkilö menossa | {approved} henkilöä menossa",
"Ongoing tasks": "Meneillään olevat tehtävät",
"Only accessible through link": "Pääsy vain linkistä",
@@ -584,6 +606,7 @@
"Organize and take action, freely": "Organisoidu ja toimi vapaasti",
"Organized": "Järjestetty",
"Organized by": "Järjestäjä",
+ "Organized by you": "Järjestämäsi",
"Organized by {name}": "Järjestää {name}",
"Organizer": "Järjestäjä",
"Organizer notifications": "Järjestäjän ilmoitukset",
@@ -655,6 +678,7 @@
"Public feeds": "Julkiset syötteet",
"Public iCal Feed": "Julkinen iCal-syöte",
"Public page": "Julkinen sivu",
+ "Public preview": "Julkinen esikatselu",
"Publication date": "Julkaisupäivä",
"Publish": "Julkaise",
"Published events": "Julkaistut tapahtumat",
@@ -664,6 +688,7 @@
"Radius": "Säde",
"Read Framasoft’s statement of intent on the Framablog": "Lue Framasoftin päämääräjulkilausuma Framablogista",
"Recap every week": "Muistutus joka viikko",
+ "Receive one email for each activity": "Vastaanota yksi sähköposti jokaista toimintoa kohden",
"Receive one email per request": "Vastaanota sähköposti jokaisesta pyynnöstä",
"Redirecting to content…": "Ohjataan sisältöön…",
"Redirecting to event…": "Siirrytään tapahtumaan…",
@@ -731,12 +756,15 @@
"Send email": "Lähetä sähköposti",
"Send me an email to reset my password": "Lähetä salasananpalautusviesti",
"Send me the confirmation email once again": "Lähetä vahvistussähköposti uudelleen",
+ "Send notification e-mails": "Lähetä ilmoitusten sähköpostit",
"Send the confirmation email again": "Lähetä vahvistussähköposti uudelleen",
"Send the report": "Lähetä raportti",
"Set an URL to a page with your own privacy policy.": "Aseta osoitteeksi oman tietosuojakäytäntösivun osoite.",
"Set an URL to a page with your own terms.": "Aseta palvelimen käyttöehdot sisältävän sivun URL.",
"Settings": "Asetukset",
+ "Share": "Jaa",
"Share this event": "Jaa tapahtuma",
+ "Share this group": "Jaa tämä ryhmä",
"Short bio": "Lyhyt kuvaus",
"Show map": "Näytä kartta",
"Show remaining number of places": "Näytä vapaana olevien paikkojen määrä",
@@ -825,11 +853,13 @@
"This event has been cancelled.": "Tapahtuma on peruttu.",
"This event is accessible only through it's link. Be careful where you post this link.": "Tapahtumasivulle on pääsy vain linkin kautta. Ole tarkkana, missä julkaiset linkin.",
"This group doesn't have a description yet.": "Ryhmällä ei ole vielä kuvausta.",
+ "This group is accessible only through it's link. Be careful where you post this link.": "Tähän ryhmään pääsee vain linkin kautta. Ole varovainen minne jaat tämän linkin.",
"This group is invite-only": "Tämä ryhmä on vain kutsun saaneille",
"This identifier is unique to your profile. It allows others to find you.": "Tämä on yksilöllinen tunniste profiiliisi. Sen avulla muut voivat löytää sinut.",
"This identity is not a member of any group.": "Tämä identiteetti ei ole jäsenenä missään ryhmässä.",
"This information is saved only on your computer. Click for details": "Nämä tiedot tallennetaan vain omalle tietokoneellesi. Katso lisätietoja napsauttamalla",
"This installation (called “instance“) can easily {interconnect}, thanks to {protocol}.": "{protocol}-protokollan ansiosta tämä palvelin on vaivattomasti yhteydessä muihin ({interconnect}).",
+ "This instance hasn't got push notifications enabled.": "Tämä instanssi ei ole ottanut käyttöön push-ilmoituksia.",
"This instance isn't opened to registrations, but you can register on other instances.": "Tälle palvelimelle ei voi rekisteröityä, mutta voit rekisteröityä muille palvelimille.",
"This instance, {instanceName} ({domain}), hosts your profile, so remember its name.": "Tämä palvelin, {instanceName} ({domain}), sisältää profiilisi joten älä unohda sen nimeä.",
"This is a demonstration site to test Mobilizon.": "Tämä on koekäyttöön tarkoitettu Mobilizonin esittelysivu.",
@@ -878,10 +908,12 @@
"Unknown value for the openness setting.": "Tuntematon arvo avoimuuden asetukselle.",
"Unsaved changes": "Tallentamattomia muutoksia",
"Unset group": "Ryhmää ei asetettu",
+ "Unsubscribe to browser push notifications": "Peruuta selaimen push-ilmoitukset",
"Unsuspend": "Poista esto",
"Upcoming": "Tulossa",
"Upcoming events": "Tulevat tapahtumat",
"Update": "Päivitä",
+ "Update app": "Päivitä sovellus",
"Update event {name}": "Päivitä tapahtumaa {name}",
"Update group": "Päivitä ryhmä",
"Update my event": "Päivitä omaa tapahtumaa",
@@ -890,6 +922,7 @@
"Uploaded media size": "Lähetetyn median koko",
"Use my location": "Käytä sijaintiani",
"User": "Käyttäjä",
+ "User settings": "Käyttäjän asetukset",
"Username": "Käyttäjänimi",
"Users": "Käyttäjät",
"View a reply": "|Näytä vastaus|Näytä {totalReplies} vastausta",
@@ -912,6 +945,7 @@
"Waiting list": "Odotuslista",
"Warning": "Varoitus",
"We asked professional designers to help us develop our vision for Mobilizon. We took time to study the {digital_habits} in order to understand the features they need to gather, organize, and mobilize.": "Pyysimme ammattisuunnittelijoita auttamaan Mobilizon-visiomme kehittämisessä. Perehdyimme {digital_habits}, jotta ymmärtäisimme, mitä ominaisuuksia he tarvitsevat kokoontumisessaan, organisoitumisessaan ja mobilisoitumisessaan.",
+ "We couldn't save your participation inside this browser. Not to worry, you have successfully confirmed your participation, we just couldn't save it's status in this browser because of a technical issue.": "Emme voineet tallentaa osallistumistasi tämän selaimen sisällä. Älä hätäile, olet onnistuneesti varmistanut osallistumisesi, emme vain voineet tallentaa sen tilaa tässä selaimessa teknisen ongelman vuoksi.",
"We improve this software thanks to your feedback. To let us know about this issue, two possibilities (both unfortunately require user account creation):": "Parannamme tätä ohjelmistoa palautteesi takia. Jotta saamme tietää tästä ongelmasta, kaksi mahdollisuutta (molemmat vaativat ikävä kyllä käyttäjätunnuksen luomista):",
"We just sent an email to {email}": "Lähetimme juuri sähköpostia osoitteeseen {email}",
"We use your timezone to make sure you get notifications for an event at the correct time.": "Aikavyöhyketiedon avulla saat tapahtumailmoitukset oikeaan aikaan.",
@@ -923,6 +957,7 @@
"We'll use your timezone settings to send a recap of the morning of the event.": "Tapahtumapäivän aamuna lähetetään muistutus, ja siihen hyödynnetään aikavyöhykeasetusta.",
"Website": "Verkkosivu",
"Website / URL": "Verkkosivu/URL",
+ "Weekly email summary": "Viikottainen koostesähköposti",
"Welcome back {username}!": "Tervetuloa takaisin, {username}!",
"Welcome back!": "Tervetuloa takaisin!",
"Welcome on your administration panel": "Tervetuloa hallintapaneeliin",
@@ -957,6 +992,8 @@
"You can't change your password because you are registered through {provider}.": "Et voi vaihtaa salasanaa, koska olet rekisteröitynyt palvelussa {provider}.",
"You can't remove your last identity.": "Et voi poistaa viimeistä identiteettiäsi.",
"You can't reset your password because you use a 3rd-party auth provider to login.": "Et voi palauttaa salasanaa, koska käytät kirjautumiseen ulkopuolista tunnistautumispalvelua.",
+ "You can't use push notifications in this browser.": "Et voi käyttää push-ilmoituksia tässä selaimessa.",
+ "You changed your email or password": "Muutit sähköpostisi tai salasanasi",
"You created the discussion {discussion}.": "Loit keskustelun {discussion}.",
"You created the event {event}.": "Loit tapahtuman {event}.",
"You created the folder {resource}.": "Loit kansion {resource}.",
@@ -1070,6 +1107,7 @@
"default Mobilizon terms": "Mobilizonin oletuskäyttöehdot",
"digital habits of activists": "aktivistien digitaalisiin käytäntöihin",
"e.g. 10 Rue Jangot": "esim. Hämeenkatu 10",
+ "enable the feature": "salli ominaisuus",
"explore the events": "tutustua tapahtumiin",
"explore the groups": "tutustua ryhmiin",
"firstDayOfWeek": "0",
@@ -1091,6 +1129,7 @@
"{approved} / {total} seats": "{approved} / {total} paikkaa",
"{available}/{capacity} available places": "Ei paikkoja jäljellä|{available}/{capacity} paikkaa jäljellä",
"{count} km": "{count} km",
+ "{count} members": "Ei jäseniä|Yksi jäsen|{count} jäsentä",
"{count} participants": "Ei osallistujia vielä | Yksi osallistuja | {count} osallistujaa",
"{count} requests waiting": "{count} pyyntöä odottamassa",
"{count} team members": "tiimissä {count} jäsentä",