I18n.translations || (I18n.translations = {});

// English
I18n.translations["en"] = I18n.extend((I18n.translations["en"] || {}), {
    parser: {
        title: "Reading settings",
        infer: "infer column types from first row identifiers",
        trim: "trim leading and trailing whitespace",
        commas: "separated by commas",
        semicolons: "separated by semicolons",
        tabs: "separated by tabs",
    },

    buttons: {
        reloading: "Reloading...",
        reload_groups: "Reload groups",
    },

    status: {
        no_data_to_display: "(No data to display)",
        fetching_current_users: "Fetching a list of current users from the server...",
        comparing_data: "Comparing data...",
        synchronising: "Doing the operation...",
        complete: "Complete",
        aborted: "The operation was aborted",
        stopping: "Stopping the operation, please wait until the current batch has been processed...",
        stopping_impatient: "Calm down, the operation will stop in any second now!",
        stopped: "The operation was stopped",
        success: "success",
        partial_success: "partial success",
        failed: "failed",
        total_rows: "rows total",
        selected_rows: "rows selected",
        importing_rows: "Importing rows",
        table_messages: "Messages",
    },

    messages: {
        already_in_school: "Already in school %{schools}",
    },

    alerts: {
        already_imported: "You already have imported some of the table data. Are you sure you want to overwrite it?",
        no_file: "Select a file to be imported, or switch to manual input.",
        no_selected_rows: "There are no selected rows.",
        no_matching_rows: "The table has no rows matching your selection.",
        delete_everything: "Are you sure you want to remove ALL rows? You have to read the source data again if you want to continue after this.",
        delete_selected_rows: "Are you sure you want to remove %{count} rows?",
        cant_remove_rows_after_stopping: "Unfortunately table rows cannot be deleted if you have stopped the import. You have to finish the operation or start from the beginning.",
        delete_column: "Are you sure you want to delete this column?",
        are_you_sure: "Are you sure?",
        resume_previous: "The previous import was stopped. Do you want to resume it?",
        need_one_first_name: "You need exactly one first name column for this",
        need_one_last_name: "You need exactly one last name column for this",
        need_one_raw_group: "You need exactly one raw group column for this",
        no_groups: "There are no groups. Try reloading the groups list first.",
        could_not_generate_all_usernames: "Found one or more rows that had empty or missing first/last name. No username was generated for these rows.",
        unconvertible_characters: "Found %{count} names that did not have any letters that could be used to generate a username with.",
        first_five: "Here are the first five names:",
        unconvertible_name: "Row %{row}: first name \"%{first}\", last name \"%{last}\"",
        could_not_parse_all_groups: "Found one or more rows that had empty or missing raw group data. No groups were parsed for these rows.",
        same_password: "Giving the same password to multiple users is a severe security hazard. Are you sure you want to do this?",
        too_short_password: "The password must be at least %{length} characters long",
        check_something: "You need to select at least something for the new passwords",
        no_data_to_import: "The table has no rows suitable for the selected update method.",
        fix_errors_first: "You need to fix the errors first.",
        cant_parse_server_response: "The reply sent by the server cannot be interpreted. Details have been logged in the console.\n\nTry again and if the problem persists, note the message in the console and contact the technical support of Opinsys.",
        data_retrieval_failed_unknown: "Data retrieval from the server failed for some unknown reason.",
        data_retrieval_failed_known: "Data retrieval from the server failed:",
        too_short_uid: "The username must be at least 3 characters long.",
        invalid_uid: "The username is not valid.",
        no_data_for_the_pdf: "The table does not have a column for usernames or passwords.",
        still_no_data_for_the_pdf: "The table does not have any users whose password could be listed in a PDF.",
        empty_rows_skipped: "The table has rows with missing username and/or password. These rows will be excluded from the generated PDF.\n\nDo you want to continue?",
        no_failed_rows: "There are no failed rows",
        no_selected_rows: "There are no selected rows",
        no_duplicate_uids: "There are no duplicate usernames.",
        passwords_out_of_sync: "The table contains passwords that have not been imported yet. Thus the generated PDF won't contain passwords that are actually in use. You should import the data first.\n\nAre you sure you want to continue?",
        list_created: "List created",
        list_missing_users: "List not created. The following users do not exist on the server:",
        list_failed: "List not created. Unknown error:",
        list_not_found: "The list could not be found on the server. Maybe it has been downloaded or deleted? Try reloading the page.",
        list_missing_users: "The list was not created. The table contains %{count} users who could not be found. They might have been deleted, or they could be in a school you do not have access to:",
        list_loading_failed: "List loading failed:",
        download_template_nothing_selected: "Please select at least one column.",
        server_sent_invalid_filename: "The server sent an invalid filename for the generated PDF. You will have to rename the file yourself.",
        pdf_generation_failed: "PDF generation failed:\n\n%{message}\n\nThe server log might contain more information.",
    },

    errors: {
        multiple_columns: "Multiple \"%{title}\" columns",
        required_column_missing: "A required column \"%{title}\" is missing",
        need_uid_column_in_update_mode: "The username column is required in the update only -mode.",
        need_something_to_update_in_update_mode: "In the update only -mode, you need at least one column (in addition to the username column) that contains data you want to update",

        empty_first: "%{count} row(s) with an empty first name",
        empty_last: "%{count} row(s) with an empty last name",

        empty_uid: "%{count} row(s) with an empty username",
        duplicate_uid: "%{count} row(s) with duplicate usernames (indicated with red borders). First %{first_n} are: %{values}.",
        invalid_uid: "%{count} row(s) with invalid username (indicated with red borders). First %{first_n} are: %{values}.",
        short_uid: "%{count} row(s) with usernames that are less than 3 characters long (indicated with red borders). First %{first_n} are: %{values}.",

        missing_role: "%{count} row(s) with missing or invalid role (indicated with red borders)",
        no_role_mass_change: "The roles of existing users cannot be mass changed, so the Role column is useless and it will be always ignored",

        duplicate_eid: "%{count} row(s) with a duplicate external ID (indicated with red borders). First %{first_n} are: %{values}.",
        eid_already_in_use: "%{count} row(s) with an external ID that is already used by someone else (indicated with red borders). First %{first_n} are: %{values}.",

        invalid_email: "%{count} row(s) with an invalid email address (indicated with red borders). First %{first_n} are: %{values}.",
        duplicate_email: "%{count} row(s) with a duplicate email address (indicated with red borders). First %{first_n} are: %{values}.",
        email_already_in_use: "%{count} row(s) with an email address that is already used by someone else (indicated with red borders). First %{first_n} are: %{values}.",
        automatic_emails: "Automatic email address generation is enabled in this school, so the email address column must be removed",

        invalid_phone: "%{count} row(s) with an invalid phone number (indicated with red borders). First %{first_n} are: %{values}.",
        duplicate_phone: "%{count} rows(s) with a duplicate telephone number (indicated with red borders). First %{first_n} are: %{values}.",
        phone_already_in_use: "%{count} rows(s) with a telephone number that is already used by someone else (indicated with red borders). First %{first_n} are: %{values}.",

        common_password: "%{count} row(s) with a common, poor-quality password",

        no_group_column: "No group column (new users are usually added to a teaching group when their accounts are created)",
        no_password_column: "No password column (here it's easy to set passwords for new users)",
    },
});

// Finnish
I18n.translations["fi"] = I18n.extend((I18n.translations["fi"] || {}), {
    parser: {
        title: "Lukuasetukset",
        infer: "päättele sarakkeiden tyypit ensimmäisestä rivistä",
        trim: "poista välilyönnit alusta ja lopusta",
        commas: "eroteltu pilkuilla",
        semicolons: "eroteltu puolipisteillä",
        tabs: "eroteltu tabeilla",
    },

    buttons: {
        reloading: "Päivitetään...",
        reload_groups: "Päivitä ryhmät",
    },

    status: {
        no_data_to_display: "(Ei näytettävää dataa)",
        fetching_current_users: "Haetaan palvelimelta lista nykyisistä käyttäjistä...",
        comparing_data: "Vertaillaan dataa...",
        synchronising: "Suoritetaan operaatiota...",
        complete: "Valmis",
        aborted: "Operaatio keskeytyi",
        stopping: "Pysäytetään operaatiota, odota kunnes nykyinen sarja valmistuu...",
        stopping_impatient: "Älä nyt hätäile, operaatio pysähtyy ihan justiinsa!",
        stopped: "Operaatio pysäytettiin",
        success: "onnistui",
        partial_success: "onnistui osittain",
        failed: "epäonnistui",
        total_rows: "riviä yhteensä",
        selected_rows: "riviä valittu",
        importing_rows: "Tuodaan rivit",
        table_messages: "Viestit",
    },

    messages: {
        already_in_school: "On jo koulussa %{schools}",
    },

    alerts: {
        already_imported: "Sinulla on jo keskeneräistä dataa taulukossa. Oletko varma että haluat ylikirjoittaa sen?",
        no_file: "Valitse tuotava tiedosto, tai vaihda käsisyötteeseen.",
        no_selected_rows: "Valittuja rivejä ei ole.",
        no_matching_rows: "Taulukossa ei ole valintaasi täsmäävää riviä.",
        delete_everything: "Oletko varma että haluat poistaa KAIKKi rivit? Joudut lukemaan lähdetiedot uudelleen jos haluat jatkaa tämä jälkeen.",
        delete_selected_rows: "Oletko varma, että haluat poistaa %{count} riviä?",
        cant_remove_rows_after_stopping: "Ikävä kyllä taulukosta ei voi poistaa rivejä jos olet pysäyttänyt tuonnin. Sinun on joko jatkettava nykyinen tuonti loppuun, tai aloitettava alusta.",
        delete_column: "Oletko varma, että haluat poistaa tämän sarakkeen?",
        are_you_sure: "Oletko varma?",
        resume_previous: "Edellinen tuonti pysäytettiin. Jatketaanko tuontia siitä mihin jäätiin?",
        need_one_first_name: "Tarvitset tasan yhden etunimi-sarakkeen tätä varten",
        need_one_last_name: "Tarvitset tasan yhden sukunimi-sarakkeen tätä varten",
        need_one_raw_group: "Tarvitset tasan yhden käsittelemätön ryhmä -sarakkeen tätä varten",
        no_groups: "Ryhmiä ei ole. Kokeile päivittää ryhmälista ensin.",
        could_not_generate_all_usernames: "Löydettiin yksi tai useampi rivi joissa oli tyhjä tai puuttuva etu- ja/tai sukunimi. Käyttäjänimiä ei luotu näille riveille.",
        unconvertible_characters: "Löydettiin %{count} nimeä joissa ei ollut yhtään sellaista merkkiä joka säilyisi muunnoksesta.",
        first_five: "Tässä ensimmäiset viisi nimeä:",
        unconvertible_name: "Rivi %{row}: etunumi \"%{first}\", sukunimi \"%{last}\"",
        could_not_parse_all_groups: "Löydettiin yksi tai useampi rivi ilman vastaavaa käsittelemätöntä ryhmätietoa. Näiden rivien ryhmiä ei pystytty tulkitsemaan.",
        same_password: "Saman salasanan asetus usealle käyttäjälle on vakava tietoturvariski. Oletko varma että haluat tehdä tämän?",
        too_short_password: "Salasanan on oltava vähintään %{length} merkkiä pitkä",
        check_something: "Valitse edes jotain mitä salasana saa sisältää.",
        no_data_to_import: "Taulukossa ei ole yhtään valittua päivitysmenetelmää vastaavaa riviä.",
        fix_errors_first: "Sinun on ensin korjattava havaitut virheet.",
        cant_parse_server_response: "Palvelimen lähettämää viestiä ei voitu tulkita. Yksityiskohdat on tallennettu selaimen konsoliin.\n\nYritä uudelleen ja jos virhe toistuu, ota konsolissa oleva viesti talteen ja ota sitten yhteys Opinsys Oy:n tukeen.",
        data_retrieval_failed_unknown: "Tietojen haku palvelimelta epäonnistui tuntemattomasta syystä.",
        data_retrieval_failed_known: "Tietojen haku palvelimelta epäonnistui:",
        too_short_uid: "Käyttäjätunnuksen on oltava vähintään 3 merkkiä pitkä.",
        invalid_uid: "Käyttäjätunnus ei ole oikean muotoinen.",
        no_data_for_the_pdf: "Taulukossa ei ole käyttäjätunnus- ja/tai salasanasaraketta.",
        still_no_data_for_the_pdf: "Taulukossa ei ole käyttäjiä joiden salasanan voisi listata PDF-tiedostossa.",
        empty_rows_skipped: "Taulukossa on rivejä joilta puuttuu käyttäjätunnus tai salasana. Nämä rivit jätetään pois luodusta salasanalistasta.\n\nHaluatko jatkaa?",
        no_failed_rows: "Epäonnistuneita rivejä ei ole",
        no_selected_rows: "Valittuja rivejä ei ole",
        no_duplicate_uids: "Duplikaatteja käyttäjätunnuksia ei ole.",
        passwords_out_of_sync: "Taulukossa on salasanoja joita ei ole vielä tuotu. Luotava PDF ei näin ollen sisällä oikeasti käytössä olevia salasanoja. Sinun pitäisi tuoda taulukon tiedot ensin.\n\nHaluatko varmasti jatkaa?",
        list_created: "Lista luotu",
        list_missing_users: "Listaa ei luotu. Seuraavia käyttäjiä ei löydy palvelimelta:",
        list_failed: "Listaa ei luotu. Tuntematon virhe:",
        list_not_found: "Listaa ei löytynyt palvelimelta. Ehkä se on ladattu tai poistettu? Kokeile ladata sivu uudelleen.",
        list_missing_users: "Listaa ei luotu. Taulukko sisältää %{count} käyttäjää joita ei löydy. Heidät on ehkä poistettu, tai he ovat koulussa johon sinulla ei ole pääsyoikeutta:",
        list_loading_failed: "Listan lataus epäonnistui:",
        download_template_nothing_selected: "Valitse edes yksi sarake.",
        server_sent_invalid_filename: "Palvelin lähetti PDF-tiedoston virheellisellä tiedostonimellä. Sinun on nimettävä tiedosto uudelleen itse.",
        pdf_generation_failed: "PDF:n luonti epäonnistui:\n\n%{message}\n\nPalvelimen lokissa voi olla lisätietoa.",
    },

    errors: {
        multiple_columns: "Monta \"%{title}\" -saraketta",
        required_column_missing: "Vaadittu sarake \"%{title}\" puuttuu",
        need_uid_column_in_update_mode: "Päivitys-tilassa tarvitset käyttäjänimisarakkeen",
        need_something_to_update_in_update_mode: "Päivitys-tilassa tarvitset vähintään yhden ei-käyttäjänimi -sarakkeen jonka sisällön haluat päivittää",

        empty_first: "%{count} rivi(ä) joissa on tyhjä etunimi",
        empty_last: "%{count} rivi(ä) joissa on tyhjä sukunimi",

        empty_uid: "%{count} rivi(ä) joissa on tyhjä käyttäjänimi",
        duplicate_uid: "%{count} rivi(ä) joilla esiintyy sama käyttäjänimi useaan kertaan (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        invalid_uid: "%{count} rivi(ä) joilla esiintyy virheellinen tai väärän muotoinen käyttäjänimi (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        short_uid: "%{count} rivi(ä) joissa on alle 3 merkkiä pitkä käyttäjänimi (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",

        missing_role: "%{count} rivi(ä) joissa on puuttuva tai virheellinen rooli (merkitty punaisilla reunoilla)",
        no_role_mass_change: "Olemassaolevien käyttäjien rooleja ei voi massavaihtaa, joten Rooli-sarake on turha ja se ohitetaan aina",

        duplicate_eid: "%{count} rivi(ä) joilla esiintyy sama ulkoinen ID useaan kertaan (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        eid_already_in_use: "%{count} rivi(ä) joilla esiintyy ulkoinen ID joka on jo jollain muulla käyttäjällä (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",

        invalid_email: "%{count} rivi(ä) joilla esiintyy virheellinen sähköpostiosoite (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        duplicate_email: "%{count} rivi(ä) joilla esiintyy sama sähköpostiosoite useaan kertaan (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        email_already_in_use: "%{count} rivi(ä) joilla esiintyy sähköpostiosoite joka on jo jollain muulla käyttäjällä (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        automatic_emails: "Automaattinen sähköpostiosoitteiden muodostus on päällä tässä koulussa, joten sähköpostisarake on poistettava",

        invalid_phone: "%{count} rivi(ä) joilla esiintyy virheellinen puhelinnumero (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        duplicate_phone: "%{count} rivi(ä) joilla esiintyy sama puhelinnumero useaan kertaan (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",
        phone_already_in_use: "%{count} rivi(ä) joilla esiintyy puhelinnumero joka on jo jollain muulla käyttäjällä (merkitty punaisilla reunoilla). Ensimmäiset %{first_n}: %{values}.",

        common_password: "%{count} rivi(ä) joilla esiintyy huonolaatuinen yleisesti käytetty salasana",

        no_group_column: "Ryhmäsarake puuttuu (uudet käyttäjät yleensä lisätään johonkin opetusryhmään tuonnin aikana)",
        no_password_column: "Salasanasarake puuttuu (uusille käyttäjille on helppo asettaa tässä salasanat)",
    },
});
