// ***************************************************************************
// *
// *   Copyright (C) 2001-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

tt_RU {
    Version { "x0.3" }

    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "#,##0.00\u00A4;-#,##0.00\u00A4",
        "#,##0%",
        "#E0",
    }
    calendar{
        gregorian{
          // Same as in ru_RU
          DateTimeElements:intvector { 
              2,
              1,
          }
          DateTimePatterns{
              "h:mm:ss a",
              "H:mm:ss",
              "H:mm:ss",
              "H:mm:ss",
              "d MMMM yyyy",
              "d MMMM yyyy",
              "dd.MM.yyyy",
              "dd.MM.yyyy",
              "{1} {0}",
          }
       }
    }
}
