// I18N constants
// LANG: "nl", 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.
//
{
    "Choose list style type (for ordered lists)": "Kies stijl type (voor ordered lists)",
    "Decimal numbers": "Decimale nummers",
    "Lower greek letters": "Griekse letters",
    "Lower latin letters": "Latijnse letters klein",
    "Lower roman numbers": "Romeinse nummers klein",
    "Upper latin letters": "Latijnse letters groot",
    "Upper roman numbers": "Romeinse nummers groot"
};