﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fr_CA.xml
// *
// ***************************************************************************
fr_CA{
    PaperSize:intvector{
        279,
        216,
    }
    Version{"2.0.75.99"}
    calendar{
        gregorian{
            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{"E M-d"}
                MMd{"MM-d"}
                MMdd{"MM-dd"}
                Md{"M-d"}
                yM{"yyyy-MM"}
                yMEd{"E yyyy-MM-dd"}
                yMd{"yyyy-MM-dd"}
                yyMM{"yy-MM"}
            }
            fields{
                month{
                    relative{
                        "-1"{"Le mois dernier"}
                        "0"{"Ce mois-ci"}
                        "1"{"Le mois prochain"}
                    }
                }
                week{
                    relative{
                        "-1"{"La semaine dernière"}
                        "0"{"Cette semaine"}
                        "1"{"La semaine prochaine"}
                    }
                }
                year{
                    relative{
                        "-1"{"L'année dernière"}
                        "0"{"Cette année"}
                        "1"{"L'année prochaine"}
                    }
                }
            }
            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"}
                }
                MEd{
                    M{"E MM-dd – E MM-dd"}
                    d{"E MM-dd – E MM-dd"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – MM-dd"}
                }
                d{
                    d{"d–d"}
                }
                h{
                    h{"h–h a"}
                }
                hm{
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    h{"h–h a 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"}
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"›"}
        alternateQuotationStart{"‹"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    measurementSystemNames{
        UK{"R-U"}
    }
    units{
        day-future{
            one{"Dans {0} jour"}
            other{"Dans {0} jours"}
        }
        day-past{
            one{"Il y a {0} jour"}
            other{"Il y a {0} jours"}
        }
        hour-future{
            one{"Dans {0} heure"}
            other{"Dans {0} heures"}
        }
        hour-past{
            one{"Il y a {0} heure"}
            other{"Il y a {0} heures"}
        }
        minute-future{
            one{"Dans {0} minute"}
            other{"Dans {0} minutes"}
        }
        minute-past{
            one{"Il y a {0} minute"}
            other{"Il y a {0} minutes"}
        }
        month-future{
            one{"Dans {0} mois"}
            other{"Dans {0} mois"}
        }
        month-past{
            one{"Il y a {0} mois"}
            other{"Il y a {0} mois"}
        }
        second-future{
            one{"Dans {0} seconde"}
            other{"Dans {0} secondes"}
        }
        second-past{
            one{"Il y a {0} seconde"}
            other{"Il y a {0} secondes"}
        }
        week-future{
            one{"Dans {0} semaine"}
            other{"Dans {0} semaines"}
        }
        week-past{
            one{"Il y a {0} semaine"}
            other{"Il y a {0} semaines"}
        }
        year-future{
            one{"Dans {0} an"}
            other{"Dans {0} ans"}
        }
        year-past{
            one{"Il y a {0} an"}
            other{"Il y a {0} ans"}
        }
    }
    unitsShort{
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
    }
}
