﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/fr_CA.xml
// *
// ***************************************************************************
fr_CA{
    Currencies{
        CAD{
            "$",
            "dollar canadien",
        }
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤;(#,##0.00 ¤)",
        "#,##0 %",
        "#E0",
    }
    PaperSize:intvector{
        279,
        216,
    }
    Version{"1.66"}
    calendar{
        gregorian{
            DateTimeElements:intvector{
                1,
                4,
            }
            DateTimePatterns{
                "HH 'h' mm 'min' ss 's' zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "yyyy-MM-dd",
                "yy-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"EEE M-d"}
                MMd{"MM-d"}
                MMdd{"MM-dd"}
                Md{"M-d"}
                yM{"yyyy-MM"}
                yMEd{"EEE yyyy-MM-dd"}
                yyMM{"yy-MM"}
            }
            intervalFormats{
                MEd{
                    M{"E MM-dd – E MM-dd"}
                    d{"E MM-dd – E MM-dd"}
                }
                MMMM{
                    M{"LLLL-LLLL"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – MM-dd"}
                }
                d{
                    d{"d–d"}
                }
                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"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"yy-MM – yy-MM"}
                    y{"yy-MM – yy-MM"}
                }
                yMEd{
                    M{"'du' E yy-MM-dd 'au' E yy-MM-dd"}
                    d{"'du' E yy-MM-dd 'au' E yy-MM-dd"}
                    y{"'du' E yy-MM-dd 'au' E yy-MM-dd"}
                }
                yMMM{
                    y{"'de' MMM y 'à' MMM y"}
                }
                yMMMEd{
                    M{"'du' E d MMM 'au' E d MMM y"}
                    d{"'du' E d 'au' E d MMM y"}
                    y{"'du' E d MMM y 'au' E d MMM y"}
                }
                yMMMM{
                    M{"MMMM – MMMM y"}
                }
                yMMMd{
                    M{"'du' d MMM 'au' d MMM y"}
                    y{"'du' d MMM y 'au' d MMM y"}
                }
                yMd{
                    M{"yy-MM-dd – yy-MM-dd"}
                    d{"yy-MM-dd – yy-MM-dd"}
                    y{"yy-MM-dd – yy-MM-dd"}
                }
            }
        }
    }
    zoneStrings{
        "meta:Alaska"{
            cu:int{1}
        }
        "meta:America_Central"{
            cu:int{1}
        }
        "meta:America_Eastern"{
            cu:int{1}
        }
        "meta:America_Mountain"{
            cu:int{1}
        }
        "meta:America_Pacific"{
            cu:int{1}
        }
        "meta:Atlantic"{
            cu:int{1}
        }
        "meta:Europe_Central"{
            cu:int{0}
        }
        "meta:Europe_Eastern"{
            cu:int{0}
        }
        "meta:Newfoundland"{
            cu:int{1}
        }
    }
}
