// I18N constants
// LANG: "fi", ENCODING: UTF-8
//
// IMPORTANT NOTICE FOR TRANSLATORS
// ============================================================================
//
// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root 
// Directory.  Unless you are making a new plugin or module it is unlikely 
// that you want to be editing this file directly.
//
{
    "About this editor": "Tietoja editorista",
    "Background Color": "Taustaväri",
    "Bold": "Lihavoitu",
    "Bulleted List": "Luettelomerkit",
    "Copy selection": "Kopioi maalattu",
    "Current style": "Nykyinen tyyli",
    "Cut selection": "Leikkaa maalattu",
    "Decrease Indent": "Pienennä sisennystä",
    "Font Color": "Fontin väri",
    "Help using editor": "Näytä ohje",
    "Horizontal Rule": "Vaakaviiva",
    "Increase Indent": "Lisää sisennystä",
    "Insert Table": "Lisää taulukko",
    "Insert Web Link": "Lisää linkki",
    "Insert/Modify Image": "Lisää kuva",
    "Italic": "Kursivoitu",
    "Justify Center": "Keskitä",
    "Justify Full": "Tasaa molemmat reunat",
    "Justify Left": "Tasaa vasemmat reunat",
    "Justify Right": "Tasaa oikeat reunat",
    "Ordered List": "Numerointi",
    "Paste from clipboard": "Liitä leikepyödältä",
    "Redoes your last action": "Palauta viimeinen toiminto",
    "Strikethrough": "Yliviivattu",
    "Subscript": "Alaindeksi",
    "Superscript": "Yläindeksi",
    "Toggle HTML Source": "HTML-lähdekoodi vs WYSIWYG",
    "Underline": "Alleviivattu",
    "Undoes your last action": "Peruuta viimeinen toiminto",
    "__OBSOLETE__": {
        "Cancel": "Peruuta",
        "Enlarge Editor": "Suurenna editori",
        "OK": "Hyväksy"
    }
};