sig
  type t = java'util'Locale java_instance
  val make :
    ?country:JavaString.t ->
    ?variant:JavaString.t -> language:JavaString.t -> JavaLocale.t
  val get_available_locales : unit -> JavaLocale.t list
  val get_default : unit -> JavaLocale.t
  val set_default : JavaLocale.t -> unit
  val get_display_name : JavaLocale.t -> JavaString.t
  val get_language : JavaLocale.t -> JavaString.t
  val get_display_language : JavaLocale.t -> JavaString.t
  val get_iso3_language : JavaLocale.t -> JavaString.t
  val get_country : JavaLocale.t -> JavaString.t
  val get_display_country : JavaLocale.t -> JavaString.t
  val get_iso3_country : JavaLocale.t -> JavaString.t
  val get_variant : JavaLocale.t -> JavaString.t
  val get_display_variant : JavaLocale.t -> JavaString.t
  val get_script : JavaLocale.t -> JavaString.t
  val get_display_script : JavaLocale.t -> JavaString.t
  val to_language_tag : JavaLocale.t -> JavaString.t
  val chinese : unit -> JavaLocale.t
  val english : unit -> JavaLocale.t
  val french : unit -> JavaLocale.t
  val german : unit -> JavaLocale.t
  val italian : unit -> JavaLocale.t
  val japanese : unit -> JavaLocale.t
  val korean : unit -> JavaLocale.t
  val simplified_chinese : unit -> JavaLocale.t
  val traditional_chinese : unit -> JavaLocale.t
  val canada : unit -> JavaLocale.t
  val canada_french : unit -> JavaLocale.t
  val china : unit -> JavaLocale.t
  val france : unit -> JavaLocale.t
  val germany : unit -> JavaLocale.t
  val italy : unit -> JavaLocale.t
  val japan : unit -> JavaLocale.t
  val korea : unit -> JavaLocale.t
  val prc : unit -> JavaLocale.t
  val taiwan : unit -> JavaLocale.t
  val uk : unit -> JavaLocale.t
  val us : unit -> JavaLocale.t
  val null : JavaLocale.t
  external is_null : JavaLocale.t -> bool = "java is_null"
  external is_not_null : JavaLocale.t -> bool = "java is_not_null"
  val wrap : JavaLocale.t -> JavaLocale.t option
  val unwrap : JavaLocale.t option -> JavaLocale.t
end