// I18N constants
// LANG: "it", 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": "Informazioni su Xinha",
    "Background Color": "Colore sfondo",
    "Bold": "Grassetto",
    "Bulleted List": "Lista non numerata",
    "Copy selection": "Copia",
    "Current style": "Stile corrente",
    "Cut selection": "Taglia",
    "Decrease Indent": "Diminuisci indentazione",
    "Direction left to right": "Testo da sx a dx",
    "Direction right to left": "Testo da dx a sx",
    "Font Color": "Colore font",
    "Help using editor": "Aiuto",
    "Horizontal Rule": "Righello orizzontale",
    "Increase Indent": "Aumenta indentazione",
    "Insert Table": "Inserisci tabella",
    "Insert Web Link": "Inserisci link",
    "Insert/Modify Image": "Inserisci/modifica Immagine",
    "Italic": "Corsivo",
    "Justify Center": "Centrato",
    "Justify Full": "Giustificato",
    "Justify Left": "Sinistra",
    "Justify Right": "Destra",
    "Ordered List": "Lista numerata",
    "Paste from clipboard": "Incolla",
    "Path": "Percorso",
    "Redoes your last action": "Ripeti ultima azione",
    "Strikethrough": "Barrato",
    "Subscript": "Pedice",
    "Superscript": "Apice",
    "Toggle HTML Source": "Visualizza/nascondi sorgente HTML",
    "Underline": "Sottolineato",
    "Undoes your last action": "Annulla ultima azione",
    "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Sei in MODALITA",
    "__OBSOLETE__": {
        "Cancel": "Annulla",
        "Enlarge Editor": "Allarga editor",
        "Insert/Modify Link": "Inserisci/modifica link",
        "New window (_blank)": "Nuova finestra (_blank)",
        "None (use implicit)": "Niente (usa implicito)",
        "OK": "OK",
        "Other": "Altro",
        "Same frame (_self)": "Stessa frame (_self)",
        "Target:": "Target:",
        "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "E",
        "Title (tooltip):": "Title (suggerimento):",
        "Top frame (_top)": "Pagina intera (_top)",
        "URL:": "URL:",
        "You must enter the URL where this link points to": "Devi inserire l'indirizzo a cui punta il link"
    }
};