﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mt.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/mt.xml
 */
mt{
    AuxExemplarCharacters{"[c y]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{"[a à b ċ d e è f ġ g {għ} h ħ i ì j k l m n o ò p q r s t u ù v w x ż z]"}
    ExemplarCharactersIndex{"[A B Ċ C D E F Ġ G {GĦ} H Ħ I {IE*} J K L M N O P Q R S T U V W X Y Ż Z]"}
    ExemplarCharactersPunctuation{"[\\- , ; \\: ! ? . ' ‘ ’ \u0022 “ ” ( ) \\[ \\] \\{ \\}]"}
    LocaleScript{
        "Latn",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"¤#,##0.00"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.10.93"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'ta'’ MMMM y G",
                "d 'ta'’ MMMM y G",
                "dd MMM y G",
                "dd/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'ta'’ MMMM y",
                "d 'ta'’ MMMM y",
                "dd MMM y",
                "dd/MM/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "Ħad",
                        "Tne",
                        "Tli",
                        "Erb",
                        "Ħam",
                        "Ġim",
                        "Sib",
                    }
                    narrow{
                        "Ħ",
                        "T",
                        "T",
                        "E",
                        "Ħ",
                        "Ġ",
                        "S",
                    }
                    wide{
                        "Il-Ħadd",
                        "It-Tnejn",
                        "It-Tlieta",
                        "L-Erbgħa",
                        "Il-Ħamis",
                        "Il-Ġimgħa",
                        "Is-Sibt",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Ħad",
                        "Tne",
                        "Tli",
                        "Erb",
                        "Ħam",
                        "Ġim",
                        "Sib",
                    }
                    narrow{
                        "Ħd",
                        "Tn",
                        "Tl",
                        "Er",
                        "Ħm",
                        "Ġm",
                        "Sb",
                    }
                    wide{
                        "Il-Ħadd",
                        "It-Tnejn",
                        "It-Tlieta",
                        "L-Erbgħa",
                        "Il-Ħamis",
                        "Il-Ġimgħa",
                        "Is-Sibt",
                    }
                }
            }
            eras{
                abbreviated{
                    "QK",
                    "WK",
                }
                abbreviated%variant{
                    "QEK",
                    "EK",
                }
                wide{
                    "Qabel Kristu",
                    "Wara Kristu",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Fra",
                        "Mar",
                        "Apr",
                        "Mej",
                        "Ġun",
                        "Lul",
                        "Aww",
                        "Set",
                        "Ott",
                        "Nov",
                        "Diċ",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "Ġ",
                        "L",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Jannar",
                        "Frar",
                        "Marzu",
                        "April",
                        "Mejju",
                        "Ġunju",
                        "Lulju",
                        "Awwissu",
                        "Settembru",
                        "Ottubru",
                        "Novembru",
                        "Diċembru",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Fra",
                        "Mar",
                        "Apr",
                        "Mej",
                        "Ġun",
                        "Lul",
                        "Aww",
                        "Set",
                        "Ott",
                        "Nov",
                        "Diċ",
                    }
                    narrow{
                        "Jn",
                        "Fr",
                        "Mz",
                        "Ap",
                        "Mj",
                        "Ġn",
                        "Lj",
                        "Aw",
                        "St",
                        "Ob",
                        "Nv",
                        "Dċ",
                    }
                    wide{
                        "Jannar",
                        "Frar",
                        "Marzu",
                        "April",
                        "Mejju",
                        "Ġunju",
                        "Lulju",
                        "Awwissu",
                        "Settembru",
                        "Ottubru",
                        "Novembru",
                        "Diċembru",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1el kwart",
                        "2ni kwart",
                        "3et kwart",
                        "4ba’ kwart",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1el kwart",
                        "2ni kwart",
                        "3et kwart",
                        "4ba’ kwart",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Jum"}
            relative{
                "-1"{"Ilbieraħ"}
                "0"{"Illum"}
                "1"{"Għada"}
            }
        }
        era{
            dn{"Epoka"}
        }
        hour{
            dn{"Siegħa"}
        }
        minute{
            dn{"Minuta"}
        }
        mon{
            relative{
                "-1"{"It-Tnejn li għadda"}
                "1"{"It-Tnejn li ġej"}
            }
        }
        month{
            dn{"Xahar"}
            relative{
                "-1"{"Ix-xahar li għadda"}
                "0"{"Dan ix-xahar"}
                "1"{"Ix-xahar id-dieħel"}
            }
        }
        second{
            dn{"Sekonda"}
        }
        sun{
            relative{
                "-1"{"Il-Ħadd li għadda"}
                "0"{"Dan il-Ħadd"}
                "1"{"Il-Ħadd li ġej"}
            }
        }
        week{
            dn{"Ġimgħa"}
            relative{
                "-1"{"Il-ġimgħa li għaddiet"}
                "0"{"Din il-ġimgħa"}
                "1"{"Il-ġimgħa d-dieħla"}
            }
        }
        weekday{
            dn{"Jum tal-Ġimgħa"}
        }
        year{
            dn{"Sena"}
            relative{
                "-1"{"Is-sena li għaddiet"}
                "1"{"Is-sena d-dieħla"}
            }
            relativeTime{
                past{
                    few{"{0} snin ilu"}
                    many{"{0} snin ilu"}
                    one{"{0} sena ilu"}
                    other{"{0} snin ilu"}
                }
            }
        }
        zone{
            dn{"Żona"}
        }
    }
    listPattern{
        standard{
            2{"{0} u {1}"}
            end{"{0}, u {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} u {1}"}
            end{"{0}, u {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0} u {1}"}
            end{"{0}, u {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"US"}
        metric{"Metriku"}
    }
}
