// I18N constants
//
// LANG: "en", ENCODING: UTF-8
// Author: Translator-Name, <email@example.com>
//
// Last revision: 2018-04-12
// Please don´t remove this information
// If you modify any source, please insert a comment with your name and e-mail
//
// Distributed under the same terms as HTMLArea itself.
// This notice MUST stay intact for use (see license.txt).
//
// (Please, remove information below)
// FOR TRANSLATORS:
//
//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
//      (at least a valid email address)
//
//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
//      (if this is not possible, please include a comment
//       that states what encoding is necessary.)

{
    "Absbottom": "",
    "Absmiddle": "",
    "Alignment:": "",
    "Baseline": "",
    "Border": "",
    "Border thickness:": "",
    "Bottom": "",
    "Cancel": "",
    "Caption": "",
    "Caption for the table": "",
    "Cell padding:": "",
    "Cell spacing:": "",
    "Collapse borders:": "",
    "Cols:": "",
    "Em": "",
    "Fixed width columns": "",
    "Insert Table": "",
    "Layou": "",
    "Layout": "",
    "Leave empty for no border": "",
    "Left": "",
    "Middle": "",
    "Not set": "",
    "Number of columns": "",
    "Number of rows": "",
    "OK": "",
    "Percent": "",
    "Pixels": "",
    "Positioning of this table": "",
    "Right": "",
    "Rows:": "",
    "Space between adjacent cells": "",
    "Space between content and border in cell": "",
    "Spacing": "",
    "Style of the border": "",
    "Texttop": "",
    "Top": "",
    "Width of the table": "",
    "Width unit": "",
    "Width:": "",
    "You must enter a number of columns": "",
    "You must enter a number of rows": ""
}