﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/be.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/be.xml
 */
be{
    Version{"2.1.10.93"}
    units{
        duration{
            day{
                few{"{0} дні"}
                many{"{0} дзён"}
                one{"{0} дзень"}
                other{"{0} дня"}
            }
            hour{
                few{"{0} гадзіны"}
                many{"{0} гадзін"}
                one{"{0} гадзіна"}
                other{"{0} гадзіны"}
            }
            minute{
                few{"{0} хвіліны"}
                many{"{0} хвілін"}
                one{"{0} хвіліна"}
                other{"{0} хвіліны"}
            }
            month{
                few{"{0} месяца"}
                many{"{0} месяцаў"}
                one{"{0} месяц"}
                other{"{0} месяца"}
            }
            second{
                few{"{0} сэкунды"}
                many{"{0} сэкунд"}
                one{"{0} сэкунда"}
                other{"{0} сэкунды"}
            }
            week{
                few{"{0} тыдні"}
                many{"{0} тыдняў"}
                one{"{0} тыдзень"}
                other{"{0} тыдня"}
            }
            year{
                few{"{0} гады"}
                many{"{0} гадоў"}
                one{"{0} год"}
                other{"{0} году"}
            }
        }
    }
}
