﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zh_Hant_HK.xml
// *
// ***************************************************************************
zh_Hant_HK{
    Version{"2.1.19.94"}
    units{
        acceleration{
            meter-per-second-squared{
                dnam{"米/平方秒"}
                other{"{0} 米/平方秒"}
            }
        }
        angle{
            degree{
                dnam{"度"}
            }
            revolution{
                dnam{"周"}
                other{"{0} 周"}
            }
        }
        area{
            square-centimeter{
                dnam{"平方厘米"}
                other{"{0} 平方厘米"}
                per{"{0} 每平方厘米"}
            }
            square-foot{
                dnam{"平方呎"}
                other{"{0} 平方呎"}
            }
            square-inch{
                dnam{"平方吋"}
                other{"{0} 平方吋"}
                per{"{0} 每平方吋"}
            }
            square-meter{
                dnam{"平方米"}
                other{"{0} 平方米"}
                per{"{0} 每平方米"}
            }
        }
        compound{
            per{"{0}每{1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"公升/公里"}
                other{"{0} 公升/公里"}
            }
            mile-per-gallon{
                dnam{"英里每加侖"}
            }
        }
        coordinate{
            east{"東經 {0}"}
            north{"北緯 {0}"}
            south{"南緯 {0}"}
            west{"西經 {0}"}
        }
        digital{
            bit{
                dnam{"位元"}
                other{"{0} 個位元"}
            }
            byte{
                dnam{"位元組"}
                other{"{0} 位元組"}
            }
        }
        duration{
            century{
                other{"{0} 世紀"}
            }
            day{
                dnam{"日"}
                other{"{0} 日"}
                per{"{0} 每日"}
            }
            hour{
                per{"{0} 每小時"}
            }
            minute{
                per{"{0} 每分鐘"}
            }
            month{
                dnam{"個月"}
                per{"{0} 每個月"}
            }
            nanosecond{
                dnam{"納秒"}
                other{"{0} 納秒"}
            }
            second{
                per{"{0}每秒"}
            }
            week{
                dnam{"星期"}
                other{"{0} 星期"}
                per{"{0} 每星期"}
            }
            year{
                per{"{0} 每年"}
            }
        }
        energy{
            foodcalorie{
                other{"{0} 卡路里"}
            }
            kilocalorie{
                dnam{"千卡"}
                other{"{0} 千卡"}
            }
        }
        length{
            centimeter{
                dnam{"厘米"}
                other{"{0} 厘米"}
                per{"{0} 每厘米"}
            }
            decimeter{
                dnam{"分米"}
                other{"{0} 分米"}
            }
            foot{
                other{"{0} 呎"}
                per{"{0} 每呎"}
            }
            inch{
                other{"{0} 吋"}
                per{"{0} 每吋"}
            }
            kilometer{
                per{"{0} 每公里"}
            }
            meter{
                dnam{"米"}
                other{"{0} 米"}
                per{"{0} 每米"}
            }
            millimeter{
                dnam{"毫米"}
                other{"{0} 毫米"}
            }
            nanometer{
                dnam{"納米"}
                other{"{0} 納米"}
            }
        }
        mass{
            gram{
                per{"{0} 每克"}
            }
            kilogram{
                per{"{0} 每公斤"}
            }
            ounce{
                dnam{"安士"}
                other{"{0} 安士"}
                per{"{0} 每安士"}
            }
            ounce-troy{
                dnam{"金衡安士"}
                other{"{0} 金衡安士"}
            }
            pound{
                per{"{0} 每磅"}
            }
        }
        power{
            horsepower{
                dnam{"匹"}
                other{"{0} 匹"}
            }
            kilowatt{
                dnam{"千瓦"}
                other{"{0} 千瓦"}
            }
            megawatt{
                dnam{"兆瓦"}
                other{"{0} 兆瓦"}
            }
            milliwatt{
                dnam{"毫瓦"}
                other{"{0} 毫瓦"}
            }
        }
        pressure{
            hectopascal{
                dnam{"百帕斯卡"}
                other{"{0} 百帕斯卡"}
            }
            inch-hg{
                dnam{"英吋汞柱"}
                other{"{0} 英吋汞柱"}
            }
            pound-per-square-inch{
                dnam{"磅/平方吋"}
                other{"{0} 磅/平方吋"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"公里每小時"}
            }
            meter-per-second{
                dnam{"米/秒"}
                other{"{0} 米/秒"}
            }
            mile-per-hour{
                dnam{"英里每小時"}
            }
        }
        temperature{
            celsius{
                dnam{"攝氏度"}
            }
            fahrenheit{
                dnam{"華氏度"}
            }
            kelvin{
                dnam{"開爾文"}
                other{"{0} 開爾文"}
            }
        }
        volume{
            acre-foot{
                dnam{"英畝呎"}
                other{"{0} 英畝呎"}
            }
            centiliter{
                dnam{"厘升"}
                other{"{0} 厘升"}
            }
            cubic-centimeter{
                dnam{"立方厘米"}
                other{"{0} 立方厘米"}
                per{"{0} 每立方厘米"}
            }
            cubic-foot{
                dnam{"立方呎"}
                other{"{0} 立方呎"}
            }
            cubic-inch{
                dnam{"立方吋"}
                other{"{0} 立方吋"}
            }
            cubic-meter{
                dnam{"立方米"}
                other{"{0} 立方米"}
                per{"{0} 每立方米"}
            }
            cup{
                other{"{0} 量杯"}
            }
            cup-metric{
                other{"{0} 公制量杯"}
            }
            fluid-ounce{
                dnam{"液安士"}
                other{"{0} 液安士"}
            }
            gallon{
                per{"{0} 每加侖"}
            }
            liter{
                per{"{0} 每公升"}
            }
        }
    }
    unitsNarrow{
        area{
            square-foot{
                other{"{0}ft²"}
            }
            square-mile{
                other{"{0}mi²"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        duration{
            day{
                dnam{"日"}
                other{"{0}日"}
            }
            hour{
                other{"{0}小時"}
            }
            minute{
                dnam{"分"}
            }
            month{
                other{"{0}個月"}
            }
        }
        length{
            centimeter{
                dnam{"厘米"}
                other{"{0}厘米"}
            }
            meter{
                dnam{"米"}
                other{"{0}米"}
            }
            millimeter{
                dnam{"毫米"}
                other{"{0}毫米"}
            }
        }
        mass{
            ounce{
                other{"{0} 安士"}
            }
        }
        pressure{
            inch-hg{
                other{"{0}″ Hg"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"公里每小時"}
                other{"{0}kph"}
            }
            meter-per-second{
                other{"{0}m/s"}
            }
            mile-per-hour{
                other{"{0}mph"}
            }
        }
        volume{
            cubic-mile{
                other{"{0}mi³"}
            }
            liter{
                dnam{"升"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"米每平方秒"}
                other{"{0} 米每平方秒"}
            }
        }
        angle{
            arc-minute{
                dnam{"分"}
            }
            degree{
                dnam{"度"}
            }
            revolution{
                dnam{"周"}
                other{"{0} 周"}
            }
        }
        area{
            square-centimeter{
                dnam{"平方厘米"}
                other{"{0} 平方厘米"}
                per{"{0} 每平方厘米"}
            }
            square-foot{
                dnam{"平方呎"}
                other{"{0} 平方呎"}
            }
            square-inch{
                dnam{"平方吋"}
                other{"{0} 平方吋"}
                per{"{0} 每平方吋"}
            }
            square-meter{
                dnam{"平方米"}
                other{"{0} 平方米"}
                per{"{0} 每平方米"}
            }
        }
        coordinate{
            east{"{0} 東"}
            north{"{0} 北"}
            south{"{0} 南"}
            west{"{0} 西"}
        }
        duration{
            day{
                dnam{"日"}
                other{"{0} 日"}
                per{"{0} 每日"}
            }
            hour{
                per{"{0} 每小時"}
            }
            minute{
                per{"{0} 每分鐘"}
            }
            month{
                dnam{"個月"}
                per{"{0} 每月"}
            }
            nanosecond{
                dnam{"納秒"}
                other{"{0} 納秒"}
            }
            second{
                per{"{0}每秒"}
            }
            week{
                dnam{"星期"}
                per{"{0} 每週"}
            }
            year{
                per{"{0} 每年"}
            }
        }
        electric{
            volt{
                other{"{0} 伏特"}
            }
        }
        energy{
            foodcalorie{
                dnam{"千卡"}
                other{"{0} 千卡"}
            }
            joule{
                other{"{0} 焦耳"}
            }
            kilojoule{
                dnam{"千焦"}
            }
        }
        length{
            centimeter{
                dnam{"厘米"}
                other{"{0} 厘米"}
                per{"{0} 每厘米"}
            }
            decimeter{
                dnam{"分米"}
                other{"{0} 分米"}
            }
            foot{
                dnam{"呎"}
                per{"{0} 每呎"}
            }
            inch{
                dnam{"吋"}
                per{"{0} 每吋"}
            }
            kilometer{
                per{"{0} 每公里"}
            }
            meter{
                dnam{"米"}
                other{"{0} 米"}
                per{"{0} 每米"}
            }
            mile{
                dnam{"哩"}
                other{"{0} 哩"}
            }
            millimeter{
                dnam{"毫米"}
                other{"{0} 毫米"}
            }
            nanometer{
                dnam{"納米"}
                other{"{0} 納米"}
            }
            nautical-mile{
                dnam{"浬"}
                other{"{0} 浬"}
            }
        }
        mass{
            gram{
                per{"{0} 每克"}
            }
            kilogram{
                per{"{0} 每公斤"}
            }
            ounce{
                dnam{"安士"}
                other{"{0} 安士"}
                per{"{0} 每安士"}
            }
            ounce-troy{
                dnam{"金衡安士"}
                other{"{0} 金衡安士"}
            }
            pound{
                per{"{0} 每磅"}
            }
        }
        power{
            megawatt{
                dnam{"兆瓦"}
                other{"{0} 兆瓦"}
            }
            watt{
                dnam{"瓦"}
            }
        }
        pressure{
            inch-hg{
                dnam{"英吋汞柱"}
                other{"{0} 英吋汞柱"}
            }
            pound-per-square-inch{
                dnam{"磅每平方吋"}
                other{"{0} 磅每平方吋"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"公里每小時"}
                other{"{0} 公里每小時"}
            }
            meter-per-second{
                dnam{"米每秒"}
                other{"{0} 米/秒"}
            }
            mile-per-hour{
                dnam{"英里每小時"}
                other{"{0} 英里每小時"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
            }
            fahrenheit{
                dnam{"°F"}
            }
        }
        volume{
            acre-foot{
                dnam{"英畝呎"}
                other{"{0} 英畝呎"}
            }
            centiliter{
                dnam{"厘升"}
                other{"{0} 厘升"}
            }
            cubic-centimeter{
                dnam{"立方厘米"}
                other{"{0} 立方厘米"}
                per{"{0} 每立方厘米"}
            }
            cubic-foot{
                dnam{"立方呎"}
                other{"{0} 立方呎"}
            }
            cubic-inch{
                dnam{"立方吋"}
                other{"{0} 立方吋"}
            }
            cubic-meter{
                dnam{"立方米"}
                other{"{0} 立方米"}
                per{"{0} 每立方米"}
            }
            cup{
                other{"{0} 量杯"}
            }
            cup-metric{
                other{"{0} 公制量杯"}
            }
            fluid-ounce{
                dnam{"液安士"}
                other{"{0} 液安士"}
            }
            gallon{
                per{"{0} 每加侖"}
            }
            liter{
                dnam{"升"}
                per{"{0} 每升"}
            }
        }
    }
}
