﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/af.xml
 */
af{
    AuxExemplarCharacters{"[á à â ä ã æ ç é è ê ë í ì î ï ó ò ô ö ú ù û ü ý]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{"[a á â b c d e é è ê ë f g h i î ï j k l m n o ô ö p q r s t u û v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I 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{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 duisend"}
                        other{"0 duisend"}
                    }
                    10000{
                        one{"00 duisend"}
                        other{"00 duisend"}
                    }
                    100000{
                        one{"000 duisend"}
                        other{"000 duisend"}
                    }
                    1000000{
                        one{"0 miljoen"}
                        other{"0 miljoen"}
                    }
                    10000000{
                        one{"00 miljoen"}
                        other{"00 miljoen"}
                    }
                    100000000{
                        one{"000 miljoen"}
                        other{"000 miljoen"}
                    }
                    1000000000{
                        one{"0 miljard"}
                        other{"0 miljard"}
                    }
                    10000000000{
                        one{"00 miljard"}
                        other{"00 miljard"}
                    }
                    100000000000{
                        one{"000 miljard"}
                        other{"000 miljard"}
                    }
                    1000000000000{
                        one{"0 biljoen"}
                        other{"0 biljoen"}
                    }
                    10000000000000{
                        one{"00 biljoen"}
                        other{"00 biljoen"}
                    }
                    100000000000000{
                        one{"000 biljoen"}
                        other{"000 biljoen"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0"}
                        other{"0"}
                    }
                    10000{
                        one{"0"}
                        other{"0"}
                    }
                    100000{
                        one{"0"}
                        other{"0"}
                    }
                    1000000{
                        one{"0 m"}
                        other{"0 m"}
                    }
                    10000000{
                        one{"00 m"}
                        other{"00 m"}
                    }
                    100000000{
                        one{"000 m"}
                        other{"000 m"}
                    }
                    1000000000{
                        one{"0 mjd"}
                        other{"0 mjd"}
                    }
                    10000000000{
                        one{"00 mjd"}
                        other{"00 mjd"}
                    }
                    100000000000{
                        one{"000 mjd"}
                        other{"000 mjd"}
                    }
                    1000000000000{
                        one{"0 bn"}
                        other{"0 bn"}
                    }
                    10000000000000{
                        one{"00 bn"}
                        other{"00 bn"}
                    }
                    100000000000000{
                        one{"000 bn"}
                        other{"000 bn"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
    }
    Version{"2.0.98.52"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE dd MMMM y G",
                "dd MMMM y G",
                "dd MMM y G",
                "GGGGG y-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMMdd{"dd MMMM"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E, d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"M/d/y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y G"}
                }
                yM{
                    M{"M/y – M/y G"}
                    y{"M/y – M/y G"}
                }
                yMEd{
                    M{"E, M/d/y – E, M/d/y G"}
                    d{"E, M/d/y – E, M/d/y G"}
                    y{"E, M/d/y – E, M/d/y G"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y G"}
                    d{"E, d MMM – E, d MMM, y G"}
                    y{"E, MMM d, y – E, MMM d, y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y G"}
                    d{"d–d MMM, y G"}
                    y{"d MMM, y – d MMM, y G"}
                }
                yMd{
                    M{"M/d/y – M/d/y G"}
                    d{"M/d/y – M/d/y G"}
                    y{"M/d/y – M/d/y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "vm.",
                "nm.",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE dd MMMM y",
                "dd MMMM y",
                "dd MMM y",
                "y-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"E d"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMMdd{"dd MMMM"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yMd{"M/d/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "So",
                        "Ma",
                        "Di",
                        "Wo",
                        "Do",
                        "Vr",
                        "Sa",
                    }
                    narrow{
                        "S",
                        "M",
                        "D",
                        "W",
                        "D",
                        "V",
                        "S",
                    }
                    short{
                        "So.",
                        "Ma.",
                        "Di.",
                        "Wo.",
                        "Do.",
                        "Vr.",
                        "Sa.",
                    }
                    wide{
                        "Sondag",
                        "Maandag",
                        "Dinsdag",
                        "Woensdag",
                        "Donderdag",
                        "Vrydag",
                        "Saterdag",
                    }
                }
                stand-alone{
                    abbreviated{
                        "So",
                        "Ma",
                        "Di",
                        "Wo",
                        "Do",
                        "Vr",
                        "Sa",
                    }
                    narrow{
                        "S",
                        "M",
                        "D",
                        "W",
                        "D",
                        "V",
                        "S",
                    }
                    short{
                        "So.",
                        "Ma.",
                        "Di.",
                        "Wo.",
                        "Do.",
                        "Vr.",
                        "Sa.",
                    }
                    wide{
                        "Sondag",
                        "Maandag",
                        "Dinsdag",
                        "Woensdag",
                        "Donderdag",
                        "Vrydag",
                        "Saterdag",
                    }
                }
            }
            eras{
                abbreviated{
                    "v.C.",
                    "n.C.",
                }
                narrow{
                    "v.C.",
                    "n.C.",
                }
                wide{
                    "voor Christus",
                    "na Christus",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, M/d/y – E, M/d/y"}
                    d{"E, M/d/y – E, M/d/y"}
                    y{"E, M/d/y – E, M/d/y"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y"}
                    d{"E, d MMM – E, d MMM, y"}
                    y{"E, MMM d, y – E, MMM d, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y"}
                    d{"d–d MMM, y"}
                    y{"d MMM, y – d MMM, y"}
                }
                yMd{
                    M{"M/d/y – M/d/y"}
                    d{"M/d/y – M/d/y"}
                    y{"M/d/y – M/d/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Des",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januarie",
                        "Februarie",
                        "Maart",
                        "April",
                        "Mei",
                        "Junie",
                        "Julie",
                        "Augustus",
                        "September",
                        "Oktober",
                        "November",
                        "Desember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Des",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januarie",
                        "Februarie",
                        "Maart",
                        "April",
                        "Mei",
                        "Junie",
                        "Julie",
                        "Augustus",
                        "September",
                        "Oktober",
                        "November",
                        "Desember",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1ste kwartaal",
                        "2de kwartaal",
                        "3de kwartaal",
                        "4de kwartaal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1ste kwartaal",
                        "2de kwartaal",
                        "3de kwartaal",
                        "4de kwartaal",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"Dag"}
            relative{
                "-1"{"gister"}
                "-2"{"Die dag voor gister"}
                "0"{"vandag"}
                "1"{"môre"}
                "2"{"Die dag na môre"}
            }
            relativeTime{
                future{
                    one{"Oor {0} dag"}
                    other{"Oor {0} dae"}
                }
                past{
                    one{"{0} dag gelede"}
                    other{"{0} dae gelede"}
                }
            }
        }
        dayperiod{
            dn{"VM/NM"}
        }
        era{
            dn{"Era"}
        }
        fri{
            relative{
                "-1"{"verlede Vrydag"}
                "0"{"hierdie Vrydag"}
                "1"{"volgende Vrydag"}
            }
        }
        hour{
            dn{"Uur"}
            relativeTime{
                future{
                    one{"Oor {0} uur"}
                    other{"Oor {0} uur"}
                }
                past{
                    one{"{0} uur gelede"}
                    other{"{0} uur gelede"}
                }
            }
        }
        minute{
            dn{"Minuut"}
            relativeTime{
                future{
                    one{"Oor {0} minuut"}
                    other{"Oor {0} minute"}
                }
                past{
                    one{"{0} minuut gelede"}
                    other{"{0} minute gelede"}
                }
            }
        }
        mon{
            relative{
                "-1"{"verlede Maandag"}
                "0"{"hierdie Maandag"}
                "1"{"volgende Maandag"}
            }
        }
        month{
            dn{"Maand"}
            relative{
                "-1"{"verlede maand"}
                "0"{"vandeesmaand"}
                "1"{"volgende maand"}
            }
            relativeTime{
                future{
                    one{"Oor {0} maand"}
                    other{"Oor {0} maande"}
                }
                past{
                    one{"{0} maand gelede"}
                    other{"{0} maande gelede"}
                }
            }
        }
        sat{
            relative{
                "-1"{"verlede Saterdag"}
                "0"{"hierdie Saterdag"}
                "1"{"volgende Saterdag"}
            }
        }
        second{
            dn{"Sekonde"}
            relative{
                "0"{"nou"}
            }
            relativeTime{
                future{
                    one{"Oor {0} sekonde"}
                    other{"Oor {0} sekondes"}
                }
                past{
                    one{"{0} sekonde gelede"}
                    other{"{0} sekondes gelede"}
                }
            }
        }
        sun{
            relative{
                "-1"{"verlede Sondag"}
                "0"{"hierdie Sondag"}
                "1"{"volgende Sondag"}
            }
        }
        thu{
            relative{
                "-1"{"verlede Donderdag"}
                "0"{"hierdie Donderdag"}
                "1"{"volgende Donderdag"}
            }
        }
        tue{
            relative{
                "-1"{"verlede Dinsdag"}
                "0"{"hierdie Dinsdag"}
                "1"{"volgende Dinsdag"}
            }
        }
        wed{
            relative{
                "-1"{"verlede Woensdag"}
                "0"{"hierdie Woensdag"}
                "1"{"volgende Woensdag"}
            }
        }
        week{
            dn{"Week"}
            relative{
                "-1"{"verlede week"}
                "0"{"vandeesweek"}
                "1"{"volgende week"}
            }
            relativeTime{
                future{
                    one{"Oor {0} week"}
                    other{"Oor {0} weke"}
                }
                past{
                    one{"{0} week gelede"}
                    other{"{0} weke gelede"}
                }
            }
        }
        weekday{
            dn{"Dag van die Week"}
        }
        year{
            dn{"Jaar"}
            relative{
                "-1"{"verlede jaar"}
                "0"{"hierdie jaar"}
                "1"{"volgende jaar"}
            }
            relativeTime{
                future{
                    one{"Oor {0} jaar"}
                    other{"Oor {0} jaar"}
                }
                past{
                    one{"{0} jaar gelede"}
                    other{"{0} jaar gelede"}
                }
            }
        }
        zone{
            dn{"Tydsone"}
        }
    }
    listPattern{
        standard{
            2{"{0} en {1}"}
            end{"{0} en {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"VK"}
        US{"VSA"}
        metric{"Metriek"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Numeries"}
        Tone{"Toon"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Aksente"}
        x-Fullwidth{"Vollewydte"}
        x-Halfwidth{"halfwydte"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Publisering"}
    }
    units{
        acceleration{
            g-force{
                one{"{0} swaartekrag van die Aarde"}
                other{"{0} swaartekrag van die Aarde"}
            }
        }
        angle{
            arc-minute{
                one{"{0} boogminuut"}
                other{"{0} boogminute"}
            }
            arc-second{
                one{"{0} boogsekonde"}
                other{"{0} boogsekondes"}
            }
            degree{
                one{"{0} booggraad"}
                other{"{0} booggrade"}
            }
        }
        area{
            acre{
                one{"{0} akker"}
                other{"{0} akker"}
            }
            hectare{
                one{"{0} hektaar"}
                other{"{0} hektaar"}
            }
            square-foot{
                one{"{0} vierkante voet"}
                other{"{0} vierkante voet"}
            }
            square-kilometer{
                one{"{0} vierkante kilometer"}
                other{"{0} vierkante kilometer"}
            }
            square-meter{
                one{"{0} vierkante meter"}
                other{"{0} vierkante meter"}
            }
            square-mile{
                one{"{0} vierkante myl"}
                other{"{0} vierkante myl"}
            }
        }
        compound{
            per{"{0} per {1}"}
        }
        duration{
            day{
                one{"{0} dag"}
                other{"{0} dae"}
            }
            hour{
                one{"{0} uur"}
                other{"{0} uur"}
            }
            millisecond{
                one{"{0} millisekonde"}
                other{"{0} millisekondes"}
            }
            minute{
                one{"{0} minuut"}
                other{"{0} minute"}
            }
            month{
                one{"{0} maand"}
                other{"{0} maande"}
            }
            second{
                one{"{0} sekonde"}
                other{"{0} sekondes"}
            }
            week{
                one{"{0} week"}
                other{"{0} weke"}
            }
            year{
                one{"{0} jaar"}
                other{"{0} jaar"}
            }
        }
        length{
            centimeter{
                one{"{0} sentimeter"}
                other{"{0} sentimeter"}
            }
            foot{
                one{"{0} voet"}
                other{"{0} voete"}
            }
            inch{
                one{"{0} duim"}
                other{"{0} duim"}
            }
            kilometer{
                one{"{0} kilometer"}
                other{"{0} kilometer"}
            }
            light-year{
                one{"{0} lj"}
                other{"{0} lj"}
            }
            meter{
                one{"{0} meter"}
                other{"{0} meter"}
            }
            mile{
                one{"{0} myl"}
                other{"{0} myl"}
            }
            millimeter{
                one{"{0} millimeter"}
                other{"{0} millimeter"}
            }
            picometer{
                one{"{0} pikometer"}
                other{"{0} pikometer"}
            }
            yard{
                one{"{0} jaart"}
                other{"{0} jaart"}
            }
        }
        mass{
            gram{
                one{"{0} gram"}
                other{"{0} gram"}
            }
            kilogram{
                one{"{0} kilogram"}
                other{"{0} kilogram"}
            }
            ounce{
                one{"{0} oz."}
                other{"{0} oz."}
            }
            pound{
                one{"{0} lb."}
                other{"{0} lb."}
            }
        }
        power{
            horsepower{
                one{"{0} perdekrag"}
                other{"{0} perdekrag"}
            }
            kilowatt{
                one{"{0} kilowatt"}
                other{"{0} kilowatt"}
            }
            watt{
                one{"{0} watt"}
                other{"{0} watt"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hektopascal"}
                other{"{0} hektopascal"}
            }
            inch-hg{
                one{"{0} duim kwik"}
                other{"{0} duim kwik"}
            }
            millibar{
                one{"{0} millibar"}
                other{"{0} millibar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} kilometer per uur"}
                other{"{0} kilometer per uur"}
            }
            meter-per-second{
                one{"{0} meter per sekonde"}
                other{"{0} meter per sekonde"}
            }
            mile-per-hour{
                one{"{0} myl per uur"}
                other{"{0} myl per uur"}
            }
        }
        temperature{
            celsius{
                one{"{0} graad Celsius"}
                other{"{0} grade Celsius"}
            }
            fahrenheit{
                one{"{0} graad Fahrenheit"}
                other{"{0} grade Fahrenheit"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} kubieke kilometer"}
                other{"{0} kubieke kilometer"}
            }
            cubic-mile{
                one{"{0} kubieke myl"}
                other{"{0} kubieke myl"}
            }
            liter{
                one{"{0} liter"}
                other{"{0} liter"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}G"}
                other{"{0}G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} ak"}
                other{"{0} ak"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
            }
            square-foot{
                one{"{0} vt.²"}
                other{"{0} vt.²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                one{"{0}myl²"}
                other{"{0}myl²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0}d."}
                other{"{0}d."}
            }
            hour{
                one{"{0}u."}
                other{"{0}u."}
            }
            millisecond{
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                one{"{0}min."}
                other{"{0}min."}
            }
            month{
                one{"{0}md."}
                other{"{0}md."}
            }
            second{
                one{"{0}sek."}
                other{"{0}sek."}
            }
            week{
                one{"{0}w."}
                other{"{0}w."}
            }
        }
        length{
            centimeter{
                one{"{0}cm"}
                other{"{0}cm"}
            }
            foot{
                one{"{0} vt."}
                other{"{0} vt."}
            }
            inch{
                one{"{0} duim"}
                other{"{0} duim"}
            }
            kilometer{
                one{"{0}km"}
                other{"{0}km"}
            }
            light-year{
                one{"{0} lj"}
                other{"{0} lj"}
            }
            meter{
                one{"{0}m"}
                other{"{0}m"}
            }
            mile{
                one{"{0} myl"}
                other{"{0} myl"}
            }
            millimeter{
                one{"{0}mm"}
                other{"{0}mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
            }
            yard{
                one{"{0} jt."}
                other{"{0} jt."}
            }
        }
        mass{
            gram{
                one{"{0}g"}
                other{"{0}g"}
            }
            kilogram{
                one{"{0}kg"}
                other{"{0}kg"}
            }
            ounce{
                one{"{0} oz."}
                other{"{0} oz."}
            }
            pound{
                one{"{0} lb."}
                other{"{0} lb."}
            }
        }
        power{
            horsepower{
                one{"{0}pk."}
                other{"{0}pk."}
            }
            kilowatt{
                one{"{0}kW"}
                other{"{0}kW"}
            }
            watt{
                one{"{0}W"}
                other{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}hPa"}
                other{"{0}hPa"}
            }
            inch-hg{
                one{"{0} dm.Hg"}
                other{"{0} dm.Hg"}
            }
            millibar{
                one{"{0}mbar"}
                other{"{0}mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0}km/h"}
                other{"{0}km/h"}
            }
            meter-per-second{
                one{"{0}m/s"}
                other{"{0}m/s"}
            }
            mile-per-hour{
                one{"{0} myl/h"}
                other{"{0} myl/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°"}
                other{"{0}°"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}km³"}
                other{"{0}km³"}
            }
            cubic-mile{
                one{"{0} myl³"}
                other{"{0} myl³"}
            }
            liter{
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                one{"{0} min"}
                other{"{0} min"}
            }
            arc-second{
                one{"{0} sek"}
                other{"{0} sek"}
            }
            degree{
                one{"{0} gr."}
                other{"{0} gr."}
            }
        }
        area{
            acre{
                one{"{0} ak"}
                other{"{0} ak"}
            }
            hectare{
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-foot{
                one{"{0} vt.²"}
                other{"{0} vt.²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                one{"{0} myl²"}
                other{"{0} myl²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} dag"}
                other{"{0} dae"}
            }
            hour{
                one{"{0} u."}
                other{"{0} u."}
            }
            millisecond{
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                one{"{0} min."}
                other{"{0} min."}
            }
            month{
                one{"{0} md."}
                other{"{0} md."}
            }
            second{
                one{"{0} sek."}
                other{"{0} sek."}
            }
            week{
                one{"{0} w."}
                other{"{0} w."}
            }
            year{
                one{"{0} j."}
                other{"{0} j."}
            }
        }
        length{
            centimeter{
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                one{"{0} vt."}
                other{"{0} vt."}
            }
            inch{
                one{"{0} duim"}
                other{"{0} duim"}
            }
            kilometer{
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                one{"{0} lj"}
                other{"{0} lj"}
            }
            meter{
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                one{"{0} myl"}
                other{"{0} myl"}
            }
            millimeter{
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                one{"{0} jt."}
                other{"{0} jt."}
            }
        }
        mass{
            gram{
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                one{"{0} kg"}
                other{"{0} kg"}
            }
            ounce{
                one{"{0} oz."}
                other{"{0} oz."}
            }
            pound{
                one{"{0} lb."}
                other{"{0} lb."}
            }
        }
        power{
            horsepower{
                one{"{0} pk."}
                other{"{0} pk."}
            }
            kilowatt{
                one{"{0} kW"}
                other{"{0} kW"}
            }
            watt{
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                one{"{0} dm.Hg"}
                other{"{0} dm.Hg"}
            }
            millibar{
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} myl/h"}
                other{"{0} myl/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                one{"{0} myl³"}
                other{"{0} myl³"}
            }
            liter{
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
}
