﻿// ***************************************************************************
// *
// * 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
// *
// ***************************************************************************
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 “ ” ( ) \\[ \\] \\{ \\}]"}
    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"}
    }
}
