// ******************************************************************************* // * // * Copyright (C) 1997-2001, International Business Machines // * Corporation and others. All Rights Reserved. // * // ******************************************************************************* fr { Version{"1.0.1"} CollationElements { Version { "1.0" } Sequence { "[backwards 2]&A<<\u00e6/e<<<\u00c6/E" } } Countries { AR { "Argentine" } AT { "Autriche" } AU { "Australie" } BE { "Belgique" } BM { "Bermudes" } BR { "Br\u00E9zil" } CA { "Canada" } CH { "Suisse" } CL { "Chili" } CN { "Chine" } CO { "Colombie" } CU { "Cuba" } CY { "Chypre" } CZ { "R\u00E9publique Tch\u00e8que" } DE { "Allemagne" } DK { "Danemark" } DO { "R\u00E9publique Dominicaine" } DZ { "Alg\u00E9rie" } ES { "Espagne" } FI { "Finlande" } FR { "France" } GB { "Royaume Uni" } GR { "Gr\u00E8ce" } HR { "Croatie" } ID { "Indon\u00E9sie" } IE { "Irlande" } IL { "Isra\u00EBl" } IT { "Italie" } JP { "Japon" } MT { "Malte" } MX { "Mexique" } NL { "Pays-Bas" } NO { "Norv\u00E8ge" } NZ { "Nouvelle-Z\u00E9lande" } PT { "Portugal" } RU { "Russie" } SE { "Su\u00E8de" } TR { "Turquie" } US { "\u00C9tats-Unis" } VE { "Venezuela" } YU { "Yougoslavie" } ZA { "Afrique du Sud" } } Languages { root { "racine" } cs { "tch\u00e8que" } da { "danois" } de { "allemand" } el { "grec" } en { "anglais" } es { "espagnol" } fi { "finnois" } fr { "fran\u00E7ais" } hr { "croate" } it { "italien" } ja { "japonais" } mt { "maltais" } nl { "hollandais" } // ne'erlandais ? no { "norv\u00E9gien" } pt { "portugais" } ru { "russe" } sv { "su\u00E9dois" } tr { "turc" } zh { "chinois" } } DateTimeElements { "2", "1", } DateTimePatterns { "HH' h 'mm z", "HH:mm:ss z", "HH:mm:ss", "HH:mm", "EEEE d MMMM yyyy", "d MMMM yyyy", "d MMM yy", "dd/MM/yy", "{1} {0}", } DayAbbreviations { "dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam.", } DayNames { "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", } Eras { "av. J.-C.", "ap. J.-C.", } LocaleID { "0c" } LocaleString { "fr" } MonthAbbreviations { "janv.", "f\u00E9vr.", "mars", "avr.", "mai", "juin", "juil.", "ao\u00FBt", "sept.", "oct.", "nov.", "d\u00E9c.", "", } MonthNames { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", "", } NumberElements { ",", "\u00A0", ";", "%", "0", "#", "-", "E", "\u2030", "\u221E", "\uFFFD", } NumberPatterns { "#,##0.###;-#,##0.###", "#,##0.00 \u00A4;-#,##0.00 \u00A4", "#,##0%", } ShortLanguage { "fra" } localPatternChars { "GanjkHmsSEDFwWxhKzAe" } zoneStrings { { "Africa/Casablanca", "GMT", "GMT", "GMT", "GMT", } // http://www.elections.ca/gen_info/backgrounders/ec90815_f.html // http://lcweb.loc.gov/standards/iso639-2/frenchlangn.html // http://www.egt.ie/standards/iso3166/iso3166-1-fr.html } LocaleScript{ "Latin", // Script Name "Latn", // ISO 15924 Name "Latf", // ISO 15924 Name "Latg", // ISO 15924 Name } //------------------------------------------------------------ // Rule Based Number Format Support //------------------------------------------------------------ // * Spellout rules for French. French adds some interesting quirks of its // * own: 1) The word "et" is interposed between the tens and ones digits, // * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux," // * but 21 is "vingt-et-un." 2) There are no words for 70, 80, or 90. // * "quatre-vingts" ("four twenties") is used for 80, and values proceed // * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]). // * Numbers from 1,100 to 1,199 are rendered as hundreds rather than // * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than // * "mille cent" ("one thousand one hundred") SpelloutRules { // the main rule set "%main:\n" " -x: moins >>;\n" " x.x: << virgule >>;\n" // words for numbers from 0 to 10 " z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n" " dix; onze; douze; treize; quatorze; quinze; seize;\n" " dix-sept; dix-huit; dix-neuf;\n" // ords for the multiples of 10: %%alt-ones inserts "et" // when needed " 20: vingt[->%%alt-ones>];\n" " 30: trente[->%%alt-ones>];\n" " 40: quarante[->%%alt-ones>];\n" " 50: cinquante[->%%alt-ones>];\n" // rule for 60. The /20 causes this rule's multiplier to be // 20 rather than 10, allowinhg us to recurse for all values // from 60 to 79... " 60/20: soixante[->%%alt-ones>];\n" // ...except for 71, which must be special-cased " 71: soixante et onze;\n" // at 72, we have to repeat the rule for 60 to get us to 79 " 72/20: soixante->%%alt-ones>;\n" // at 80, we state a new rule with the phrase for 80. Since // it changes form when there's a ones digit, we need a second // rule at 81. This rule also includes "/20," allowing it to // be used correctly for all values up to 99 " 80: quatre-vingts; 81/20: quatre-vingt->>;\n" // "cent" becomes plural when preceded by a multiplier, and // the multiplier is omitted from the singular form " 100: cent[ >>];\n" " 200: << cents[ >>];\n" " 1000: mille[ >>];\n" // values from 1,100 to 1,199 are rendered as "onze cents..." // instead of "mille cent..." The > after "1000" decreases // the rule's exponent, causing its multiplier to be 100 instead // of 1,000. This prevents us from getting "onze cents cent // vingt-deux" ("eleven hundred one hundred twenty-two"). " 1100>: onze cents[ >>];\n" // at 1,200, we go back to formating in thousands, so we // repeat the rule for 1,000 " 1200: mille >>;\n" // at 2,000, the multiplier is added " 2000: << mille[ >>];\n" " 1,000,000: << million[ >>];\n" " 1,000,000,000: << milliarde[ >>];\n" " 1,000,000,000,000: << billion[ >>];\n" " 1,000,000,000,000,000: =#,##0=;\n" // %%alt-ones is used to insert "et" when the ones digit is 1 "%%alt-ones:\n" " ; et-un; =%main=;\n" "%%lenient-parse:\n" " &\u0000 << ' ' << ',' << '-';\n" } }