sig
type category =
[ `LC_ALL
| `LC_COLLATE
| `LC_CTYPE
| `LC_MESSAGES
| `LC_MONETARY
| `LC_NUMERIC
| `LC_TIME ]
and numeric_lconv = {
decimal_point : string;
thousands_sep : string;
grouping : string;
}
and sign_pos =
[ `SignPrecedesBoth
| `SignPrecedesCS
| `SignSucceedsBoth
| `SignSucceedsCS
| `SurroundBoth
| `UnknownOrder ]
and monetary_lconv = {
int_curr_symbol : string;
currency_symbol : string;
decimal_point : string;
thousands_sep : string;
grouping : string;
positive_sign : string;
negative_sign : string;
int_frac_digits : int;
frac_digits : int;
p_cs_precedes : bool;
p_sep_by_space : bool;
n_cs_precedes : bool;
n_sep_by_space : bool;
p_sign_posn : Locale.sign_pos;
n_sign_posn : Locale.sign_pos;
}
val set : ?name:string -> Locale.category -> string option
val set_from_env : Locale.category -> string option
val get : Locale.category -> string
val numeric_info : unit -> Locale.numeric_lconv
val monetary_info : unit -> Locale.monetary_lconv
end