///|
fn main {
  let french = @runtime.Bundle::new(
    "fr-FR",
    @intl.provider(),
    use_isolating=false,
  )
  ignore(
    french.add_resource(
      "rows = { $count ->\n    [one] Une ligne\n   *[other] { NUMBER($count) } lignes\n}\n",
    ),
  )
  let english = @runtime.Bundle::new(
    "en-US",
    @intl.provider(),
    use_isolating=false,
  )
  ignore(
    english.add_resource("summary = Report complete\nrows = { $count } rows\n"),
  )
  let localizer = @runtime.Localizer::new([french, english])
  let rows = localizer.format("rows", arguments={ "count": @runtime.number(2) })
  let summary = localizer.format("summary")
  let missing = localizer.format("unknown")
  if rows.value != "2 lignes" ||
    rows.locale != "fr-FR" ||
    summary.value != "Report complete" ||
    summary.locale != "en-US" {
    abort("Report fallback mismatch")
  }
  if missing.errors.length() != 1 {
    abort("Missing-key diagnostics were lost")
  }
  println(rows.value)
  println(summary.value)
  println("missing key handled: " + missing.value)
}